extension.json


Description

This file contains configuration for patient search tabs and consultation tabs in the Clinical App.

Steps

Configure Patient Search Queues

On navigating to Clinical app, the Patient Search queue is displayed. It contains a list of patient queues based on the configuration.

Patient Search Queue on the Clinical Home Page


Basic configuration for patient search tab is as follows:

Another example for patient search tab
"bahmniBillingPatientsSearchActivePatients": {
  "id": "bahmni.billing.patients.search.allPatients",
  "extensionPointId": "org.bahmni.patient.search",
  "type": "config",
  "extensionParams": {
    "searchHandler": "emrapi.sqlSearch.activePatients",
    "translationKey": "SEARCH_PATIENTS_ACTIVE_LABEL",
    "forwardUrl": "#/default/patient/{{patientUuid}}/dashboard/treatment"
 },
  "order": 1,
  "requiredPrivilege": "app:billing"
}

Configuration for patient search with additional params: (for example, search tab for high risk hiv patients)

Sample Patient Search tab configuration
"bahmniClinicalPatientsSearchHighRiskPatients": {
  "id": "bahmni.clinical.patients.search.allPatients",
  "extensionPointId": "org.bahmni.patient.search",
  "type": "config",
  "extensionParams": {
    "searchHandler": "emrapi.sqlSearch.highRiskPatients",
    "forwardUrl": "#/default/patient/{{patientUuid}}/dashboard?encounterUuid=active",
    "translationKey": "High Risk",
    "additionalParams": {
      "tests": "'HIV ELISA (Blood)', 'HIV ELISA (Serum)', 'ZN Stain (Sputum)', 'HbsAg ELISA'"
    }
  },
  "order": 5,
  "requiredPrivilege": "app:clinical"
}
keydescriptionMandatory
idUnique identifier for patient search queueN
extensionPointId

"org.bahmni.patient.search"

Y
typeconfig
Y
searchHandlerThis is the global property in OpenMRS. Its value is the SQL markup to fetch the patients for this queue. If not configured default search will be enabled.N
translationKeyThis can be used to configure a label for the search tab. The key and value should be defined in the locale.json and key should be assigned to this translationKey. If Key is configured and value is not defined in the locale.json, then it will show the key itself as the label. Here the key is
SEARCH_PATIENTS_ACTIVE_LABEL.
Y
forwardUrlThe URL which the page is redirected to on clicking on the patients listed in this queue.Y
additionalParamsContains tests that signify the high-risk patients. Only the patients that have negative results for the tests mentioned in this section will be displayed.(For high risk patients, additional params are mandatory. These are not mandatory for other patient search queues).N
OrderOrder of the queue to be displayed.N
requiredPrivilegePrivilege required for the user to be able to access this clinical app.N

Configure Various Consultation Tabs

Following are the possible consultation tabs that can be configured:

  • Observations
  • Diagnosis
  • Disposition
  • Consultation
  • Orders
  • Medication

Various Consultation Tabs


Configuration for various Consultation tabs
"observations": {
  "id": "bahmni.clinical.consultation.observations",
  "extensionPointId": "org.bahmni.clinical.consultation.board",
  "type": "link",
  "translationKey": "Observations",
  "url": "concept-set-group/observations",
  "default": true,
  "order": 1,
  "requiredPrivilege": "app:clinical:observationTab"
},
"diagnosis": {
  "id": "bahmni.clinical.consultation.diagnosis",
  "extensionPointId": "org.bahmni.clinical.consultation.board",
  "type": "link",
  "translationKey": "Diagnosis",
  "url": "diagnosis",
  "order": 2,
  "requiredPrivilege": "app:clinical:diagnosisTab"
},
"disposition": {
  "id": "bahmni.clinical.consultation.disposition",
  "extensionPointId": "org.bahmni.clinical.consultation.board",
  "type": "link",
  "translationKey": "Disposition",
  "url": "disposition",
  "order": 3,
  "requiredPrivilege": "app:clinical:dispositionTab"
},
"consultationSummary": {
  "id": "bahmni.clinical.consultation.summary",
  "extensionPointId": "org.bahmni.clinical.consultation.board",
  "type": "link",
  "translationKey": "Consultation",
  "url": "consultation",
  "order": 4,
  "requiredPrivilege": "app:clinical:consultationTab"
},
"bahmniClinicalConsultationOrders": {
  "id": "bahmni.clinical.consultation.orders",
  "extensionPointId": "org.bahmni.clinical.consultation.board",
  "type": "link",
  "translationKey": "Orders",
  "url": "orders",
  "order": 5,
  "requiredPrivilege": "app:clinical:diagnosisTab"
},
"bahmniClinicalBillingTreatmentMedicationTab": {
  "id": "bahmni.clinical.billing.treatment",
  "extensionPointId": "org.bahmni.clinical.consultation.board",
  "type": "link",
  "label": "Medications",
  "translationKey": "Medications",
  "extensionParams": {
    "tabConfigName": "allMedicationTabConfig"
  },
  "url": "treatment",
  "order": 6,
  "requiredPrivilege": "app:clinical:consultationTab"
}
 
KeyDescriptionMandatory
idunique identifier for the consultation tabN
extensionPointId

org.bahmni.clinical.consultation.board

Y
typelinkY
labelLabel of the tab. This will be shown only if translationKey is not specified. Mandatory if translationKey is not specified.N
translationKeyThis key is used for internationalization of the label. Mandatory if label is not specified.N
urlUrl of the tab. Refer to the above configuration for url of respective tabs.Y
orderOrder of the tab to be displayedN
tabConfigNameIt is applicable only to treatment tabs. Multiple treatment tabs can be configured but each should have a unique tabConfigNameN
requiredPrivilegePrivilege required for the user to access this tab.N

Display Observation Templates by Default

If default is set to true in the extensionParams, then that template will be shown by default as soon as the observations page is opened.

Please refer the following example config.

Config
"bahmniClinicalConceptSetGroupObservationsHistory": {
  "id": "bahmni.clinical.conceptSetGroup.observations.history",
  "extensionPointId": "org.bahmni.clinical.conceptSetGroup.observations",
  "type": "config",
  "extensionParams": {
    "conceptName": "History and Examination",
    "default": true
  },
  "requiredPrivilege": "app:clinical:history"
}
KeyDescriptionMandatory
idunique id for the configN
extensionPointId
"org.bahmni.clinical.conceptSetGroup.observations"
Y
typeconfigY
extensionParamsThis contains two variables conceptName and default.
conceptName is the name of the template. If default is set to true then this template will come by default in observation page 
Y






The Bahmni documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)