2009-05-07 Developers Conference Call

<html><head><title></title></head><body>h1. Date

7 May 2009

In Attendance

  • Ben Wolfe
  • Burke Mamlin
  • Justin Miranda
  • Hamish Fraser
  • Mike Seaton
  • Darius Jazayeri

Agenda

  • Hamish wants to talk about meeting in Boston
  • Darius will bring up some thoughts on why encounter types should be concepts
  • Automatic liquibase updates need to go away. I have 5+ development environments and I always end up forgetting to switch the database in my runtime properties before deploying a version of trunk. This ends up killing my 1.4 database that took hours to import. I am proposing a flag set in runtime properties that disables the automatic update of the database. I will add a ticket and patch this week.
  • Sync updates
  • 1.5 alpha

Minutes

  • Meeting in Boston
    • There are many groups wanting to talk about their implementations or potential implementations in developing countries
    • 60+ people
    • Can break in 3-4 group easily and talk about technical issues, implementation issues, US issues, etc
    • How its been used dev countries + US, an overview of openmrs, highlight current implementations, where we are, how its designed/structured, a panel/broad discussion at end of morning for Q+A. an afternoon of breaking out. Have the people coming to this drive what they want to talk about.
    • TODO: Hamish to draft a schedule
  • Liquibase
    • Add liquibase to modules instead of sqldiff. <strike>TODO: Mike to create ticket</strike> - #1474
    • If liquibase updates haven't been applied at startup, a "maintenance page is shown". Have a user authenticate via jdbc as a System Developer and take them to a "perform these updates" page.
  • Darius's points on encounter types should be concepts
    • Malawi asked for concepts for all enc types because they wanted to store in the obs table an answer like: "type of scheduled return visit"
    • Either obs.value_coded should store things other than concepts or enc types become concepts
    • Burke: We should figure out what enc types are before we do anything.
    • Burke: In Kenya we use enc types as just "Adult Return", Adult Initial, Peds Return, etc
    • Darius: We use the same in Rwanda
    • Darius: We should talk about how encounter should be used.
      • How to model an entire visit?
        • See registration clerk
        • Vitals taken by a nurse
        • See doctor
        • See pharm to get meds
      • How to form a group of encounters?
    • Darius: We have concepts for each of our locations in lieu of value_location
    • Burke: We need value_coded to link to any kind of code set, not just concept.
    • Burke: Direct quote: You can turn anything into a thing.
    • Burke: Look to hl7. PV1.patient_class (recurring patient, n/a, unknown, emergency, in/out patient, preadmin) chap 3 table0004
      • Not helpful.
    • We need to model 1-n forms per encounter. But its a matza ball B
      • TODO: Burke create ticket for it. → #1476
  • Annotations for spring controllers are in trunk
    • Pro: You no longer have to have just one formbackingobject
    • Con: mappings are split up into different controllers instead of one xml file
    • Pro: Quick and easy to create new mappings/pages/controllers
  • Convenience methods on services
    • Darius wants PersonService.addPreferredName(Person person, String prefix, String given, String, middle, String family, String familyName2, String suffix)
    • Burke likes it
    • Ben does not
    • TODO ?
    • Investigate @Service Spring annotations
    • Investigate whether we can get rid of Service interfaces and just use classes
  • Crud for domain objects
    • We don't need Service.saveEncounterType/ServiceImpl.saveEncounterType/DAO.saveEncounterType/DAOImpl.saveEncounterType
    • We could reduce all of these down to Service.saveEncounterType/ServiceImpl.saveEncounterType/DAO.saveEncounterType/DAOImpl.saveEncounterType
  • Persistence of different objects
    • TODO: Ben look into possible solution
  • Transactions
    • Darius: transactions should be around the whole http request, not just each API save
    • TODO: Darius to look into possible solution
  • Sync updates
    • uuids has been merged to trunk
  • 1.5 alpha released
    • We need to do some testing
    • TODO: Darius to post the PIH's script for checking on things
  • Nightly trunk (bleeding edge) builds need to be put up somewhere: http://nightly.openmrs.org ?

    </body></html>