Use Long instead of Integer for internal identifiers -- ~bmamlin
Part of our goal for supporting 2+ million patients in OpenMRS will require supporting tables that contain over 2 billion rows
Use absolute times (i.e., UTC) everywhere within the API.
We can always provide convenient means for timestamps to be rendered in the current timezone; however, all stored values should be in UTC in order to eliminate issues with transferring data across timezones or implementation headaches in locations that observe DST.
Introduce an Event Bus so not everything is done via AOP
Avoid long parameter lists (break up method or create helper class to hold parameters)
Avoid return values that demand exception processing (return zero-length array or empty value, not null)
Favor unchecked exceptions
Clustering should be supported at the API level, this will be helpful as some implementations grow bigger and wish to run in clustered environments - Wyclif Luyima
I would rather us to have lotsa a lot of methods with less parameters than one method with tons of parameters. (so we won't see a call getPerson(null, null, null, null, null) in our code) – Nyoman Ribeka
Integration of a full text search engine and at least replace the existing ConceptWord engine - Wyclif Luyima