Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Primary Mentor

Backup Mentor

Assigned toTBD


PIH first introduce introduced "Diagnoses" in the emrapi module for their Mirebalais project (storing the actual data in an obs group). This has been included in the Reference Application and in Bahmni for years without any real changes being requested to the use case, so I'm pretty confident that we've got this right, and it's time to implement Encounter Diagnoses in openmrs-core, while aligning with recent developments in FHIR.


  • Introduce a new convenience class CodedOrFreeText in the Java API
  • Introduce an Enum for what we've historically called "diagnosis certainty" and FHIR refers to as ConditionVerificationStatus
  • Introduce an Enum for what we've historically called "condition status" and FHIR refers to as ConditionClinicalStatus
  • Introduce new Condition domain object, backed by a new `condition` table
  • Introduce a new EncounterDiagnosis domain object, backed by a new `encounter_diagnosis` table. 
  • Introduce new REST APIs for these domain objects (create associated tickets in the RESTWS project for this)
  • Refactor emrapi module's DiagnosisService and ConditionService to use this new functionality under the hood
  • Create a ticket for migrating existing data captured via the emrapi module and deprecating this functionality from emrapi
  • Create a ticket for updating the UIs in the reference application to use these new tables

Extra Credit