Configure Programs tab in Clinical Patient Search
Add the following configuration to the extension.json file present in the clinical apps config folder.
"bahmniCLinicalPatientsSearchActicePatientsForPrograms" : { "id": "bahmni.clinical.patients.search.allPatients", "extensionPointId": "org.bahmni.patient.search", "type": "config", "extensionParams": { "searchHandler": "emrapi.sqlSearch.activePatientsByProvider", "display":"Programs", "forwardUrl" : "#/patient/PROGRAMS/{{patientUuid}}/consultationContext" }, "label": "Programs", "order": 1, "requiredPrivilege": "app:clinical" }
A new tab "Programs" will be shown in the clinical patient search page
Configuring Programs app in dashboard
Implementer can configure a separate app for 'programs' on the application dashboard. The program app would be the same as the clinical app with separate configuration for patient queues.
The name of the extension config will be picked up from app's url. The convention to introduce is that the first param after # in the app's url would be the name of the extension config that needs to be picked up.
As an example, The app's url should look like https://172.18.2.10/bahmni/clinical/#/{{extension_name}}/patient/search
"programs": { "id": "bahmni.programs", "extensionPointId": "org.bahmni.home.dashboard", "type": "link", "label": "Programs", "url": "../clinical/#/PROGRAMS/patient/search", "icon": "fa-tasks", "order": 2, "requiredPrivilege": "app:clinical" }
And the programs can have its own configuration
{ "bahmniClinicalPatientsSearchActivePatientsForPrograms": { "id": "bahmni.clinical.patients.search.activePatients", "extensionPointId": "org.bahmni.patient.search", "type": "config", "extensionParams": { "searchHandler": "emrapi.sqlSearch.activePatients", "display": "Programs", "forwardUrl": "#/patient/{{patientUuid}}/consultationContext" }, "label": "Active", "order": 1, "requiredPrivilege": "app:clinical" }, "bahmniClinicalPatientsSearchAllPatients": { "id": "bahmni.clinical.patients.search.allPatients", "extensionPointId": "org.bahmni.patient.search", "type": "config", "extensionParams": { "display": "All", "forwardUrl": "#/patient/{{patientUuid}}/dashboard" }, "label": "All", "order": 2, "requiredPrivilege": "app:clinical" } }
Creating new Programs in OpenMRS
Programs creation is done in OpenMRS app as shown in the gif below.
Having more than one workflow for a program is not supported
Initial & terminal states flags should not be used as they are not supported by Bahmni
Associating program to encounter type
TODO
Association observation template to a program
TODO
To associate programs to patients, please use this user guide