2009-10-22 Developers Conference Call


22 October 2009

In Attendance

  • Mike Seaton
  • Ben Wolfe
  • Darius Jazayeri
  • Justin Miranda
  • Burke Mamlin
  • Michael Downey (who?)
  • Tammy Dugan
  • Win Ribeka


  • Discretely define what determines that something becomes part of core OpenMRS.
  • Puntable Agenda Refactor the program and workflow to person from patient.
  • Discuss queryparser package maintenance (grammar file and generating java files)
  • Discuss proposed changes to LogicCriteria (archive:Ticket #1847)
  • Determine proper behavior with regard to SQL wildcard characters in HTML forms (archive:Ticket #1824)
    • Filter or escape wildcard characters?
    • Put filter/escaping in DAO layer, service layer, or both?
    • What feedback should be present to the user when a wildcard is input?
  • What characters to consider wildcards (%,,others)?


  • Maintenance of LogicQueryParser
    • Issue: we have grammar to generate java source and the source java itself in the repository
    • TODO (Burke): see if the ANTLR have a way to generate comments – archive:Ticket #1883
  • archive:Ticket #1847
    • Tammy: AND is explicit because it will give a separate criteria
    • Burke: Turn the criteria as efficient as possible into SQL and get the hibernate result.
    • Tammy: Focus to perfect the QueryParser so we don't need the .(dot) operator notion
    • Abstract representation of the logic criteria so the datasource can interpret the criteria
    • Changes: CD4(left operand) GT(operator) 350(right operand) and then apply the --> AFTER(operator) A-DATE(right operand)
    • The changes can be implemented as an implied "AND" operator and give it to the datasource layer
      • x.gt(350).last() --> get all 350 and then return the last one
      • x.last().gt(350) --> return the last if it's greater than 350
    • TODO: Write what kind of logic query will be executed (string representation and the .(dot) notion of the logic criteria) and then expected result. Important for the LogicService documentation and further development.
      • Example query: last cd4 count is greater than 350 before hiv enrollment
      • Another example: relative date query (which i can't recall, sorry)
    • TODO: Need to expose the greatness of Tammy's Logic Service (smile)
    • Mike: The Result object failed miserably in his jsp page and Burke blame JSTL on that. Bogus JSTL!!!!
    • TODO: Reimplement the Result
  • Determine proper behavior with regard to SQL wildcard characters in HTML forms (archive:Ticket #1824)
    • Burke: %%% means search for person with % in their names
  • Escape the character and search for that person. Who knows in the coming year people will start adding %, or ; on their name
    • TODO: Burke will put comment on the ticket