We are introducing conditions list in Bahmni and we are using the conditions list module that was already available in OpenMRS (Wiki Page).
However, there are a few changes that we had to do for our requirements. These are summarised below:
Summary of Changes done for supporting Conditions Lists in Bahmni thus far
- Modified org.openmrs.Condition to have the following statuses ‘ACTIVE’, ‘IN_ACTIVE’, ‘HISTORY_OF’
- On status change, a new condition shall be created with a link to the previous condition with the modified status. The previous condition before status change shall be voided.
- Introduced new org.openmrs.module.emrapi.web.controller.ConditionController for handling the following requests:
- GET “/rest/emrapi/conditionhistory?patientUuid=” used for getting all the ConditionHistories of the given patient.
- POST “/rest/emrapi/condition” BODY: used for creating or updating a Condition.
- For supporting follow up diagnosis, a complex obs called “Follow up” shall be created for that encounter which shall have condition marked as diagnosis as its coded value.
- While creating a condition, the concept_id in Condition table shall be mapped to the concept linked to diagnosis which has been added as a diagnosis.
- For free text condition, the condition shall contain concept_id mapped to “Non-coded Condition” and the field “condition_non_coded” shall contain the free text value.
- New models and mappers:
- org.openmrs.api.contract.Condition
- org.openmrs.api.contract.ConditionHistory
- org.openmrs.api.contract.ConditionMapper
- org.openmrs.api.contract.ConditionHistoryMapper
- Files Changed/Modified:
- New org.openmrs.api.contract.Condition
- New org.openmrs.api.contract.ConditionHistory
- New org.openmrs.api.contract.ConditionMapper
- New org.openmrs.api.contract.ConditionHistoryMapper
- New org.openmrs.module.emrapi.web.controller.ConditionController