Core Data Model should support Encounter Diagnoses
Primary Mentor |
|
Backup Mentor | TBD |
Assigned to | TBD |
Background
PIH first 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.
Scope
It's important to design and implement Conditions and Encounter Diagnoses together, so this is intentionally a large ticket, with broad scope. Whoever picks this up should break down the work further. (For example, implement Diagnosis first, and Condition next.)
Required Skills
Strong Java skills
Familiarity with the OpenMRS API
An basic understanding of how Concepts are modeled within OpenMRS
Objectives
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
Update the OpenMRS data model to reflect these changes.
Resources
- Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.