2009-10-22 Developers Conference Call
Date
22 October 2009
In Attendance
Mike Seaton
Ben Wolfe
Darius Jazayeri
Justin Miranda
Burke Mamlin
Michael Downey (who?)
Tammy Dugan
Win Ribeka
Agenda
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)?
Minutes
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
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
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