Versions Compared

Key

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

 

A display control is a widget that displays a specific medical domain object. It takes in configuration that specifies the context (patient, visit etc) and other parameters (display specific feature toggles), retrieves relevant data on its own and displays it where it is placed on the application.

...

KeyInfo
TitleIndicates the title that will be displayed on the dashboard/visit page for the section
NameThe name/id for the control that needs to be picked from the code
conceptNamesSpecify the concept names of the concepts that need to be displayed in this section
scopeCan be latest/blank. If "latest", then the latest value of the observation across visits is shown. If a scope is not mentioned, then the number of visits has to be mentioned. Otherwise if the scope is blank then the observation values across all visits are displayed
isObservationSpecifies whether the given section is an observation control or a disease template control. If this is set to true then the section behaves as an observation control
observationGraphIndicates the configuration for the pivot table/flowsheet
numberOfVisitsSpecifies the number of visits for which data has to be displayed on the pivot table
groupByCan be encounters/visits. If grouped by the encounter, then the data is displayed per encounter in the pivot table. If grouped by the visit, then the latest value of the observations in each visit is displayed in the pivot table.
obsConceptImplementor must specify the concept names of the observations that need to be displayed in the pivot table
drugConceptImplementor must specify the concept names of the drugs that need to be displayed in the pivot table
labConceptImplementor must specify the concept names of the lab tests that need to be displayed in the pivot table
dashboardParamsIndicates the configuration for the dashboard
allObservationDetailsIndicates the configuration for the details page (All Observations Page)
showDetailsButtonConfiguration to display audit information when '+ ' sign is clicked. If set to false, the '+' button will not be displayed.
showGroupDateTimeConfiguration to display grouped encounter date time. If set to false, it is hidden. Default value is true(which means it is treated as true, if nothing specified). Should be separately configured for both dashboard and allDetails page

...


For Initial And Latest Observations

Sample config

"atAdmission": {
"type": "observation",
"title": "At Admission",
"config": {
"conceptNames": ["Weight", "Height", "BMI"],
"scope": "initial"
}
}

"atDischarge": {
"type": "observation",
"title": "At Discharge",
"config": {
"conceptNames": ["Weight"],
"scope": "latest"
}
}

...

Disease Template Control

Sample config

...

KeyInfo
titleIndicates the title that will be displayed on the dashboard/visit page for the section
templateNameindicates the name of the disease template in openMRS that needs to be displayed
namethe name/id for the control that needs to be picked from the code
showOnly

specify the concept names of the concepts that need to be displayed in this section. If blank, then all the concepts in that disease template will be displayed

pivotTableindicates the configuration for the pivot table/flowsheet
observationGraphindicates the configuration for the observationGraph (OPTIONAL)
numberOfVisits

specifies the number of visits for which data has to be displayed on the pivot table

groupBycan be encounters/visits. If grouped by the encounter, then the data is displayed per encounter in the pivot table. If grouped by the visit, then the latest value of the observations in each visit is displayed in the pivot table.
obsConceptsimplementor must specify the concept names of the observations that need to be displayed in the pivot table
drugConcepts

implementor must specify the concept names of the drugs that need to be displayed in the pivot table

labConceptsimplementor must specify the concept names of the lab tests that need to be displayed in the pivot table
dashboardParamsindicates the configuration for the dashboard
allDiseaseDetails

indicates the configuration for the details page (All Disease Details Page)

showDetailsButtonConfiguration to display audit information when '+ ' sign is clicked. If set to false, the '+' button will not be displayed.
showGroupDateTimeConfiguration to display grouped encounter date time. If set to false, it is hidden. Default value is true(which means it is treated as true, if nothing specified). Should be separately configured for both dashboard and allDetails page.

...

KeyInfo
title

Indicates the title that will be displayed on the dashboard/visit page for the section

namethe name/id for the control that needs to be picked from the code
showFlowSheetconfiguration to display the flowsheet (treatment chart). If it is on, the flowsheet will be displayed along with the treatment details for IPD patients.
showListViewconfiguration to display the treatment details list. If set to false along with showFlowSheet, only the header will be displayed.
showRouteconfiguration to display the route information. If you don't specify the "showRoute" in the treatment section, the default value will be false.
showDrugFormconfiguration to display the drug form information. If you don't specify the "showDrugForm" in the treatment section, the default value will be false.
numberOfVisitsspecifies the number of visits for which data has to be displayed
showOtherActiveif set to true, then display a separate section "Other Active Drugs" which displays active drugs from other visits.
showDetailsButtonConfiguration to display audit information when '+ ' sign is clicked. If set to false, the '+' button will not be displayed.
dashboardParamsindicates the configuration for the dashboard
allTreatmentDetailsIndicates the configuration for the details page (All Treatments Page)

...

 "title": "Lab Results",
"name": "labOrders",
"dashboardParams": {
   "title": null,
   "numberOfVisits": 1,
   "showChart": false,
   "showTable": true,
   "showDetailsButton": false,
"showNormalLabResults": true,
"showCommentsExpanded": true,
"showAccessionNotes": true,
"visitUuids": null, //ignores numberOfVisits if provided
"patientUuid: null, //mandatory if numberOfVisits provided
},
"allLabDetails": {
   "numberOfVisits": 3,
"observationGraph" : {
"type": "observationGraph",
"name": "observationGraph",
"title": "Temperature",
"config": {
    "yAxisConcepts": ["Temperature"],
    "numberOfVisits": 3
}
 }
}
KeyInfo
dashboardParamsindicates the configuration for the dashboard
titleIndicates the title that will be displayed on the dashboard/visit page for the section
namethe name/id for the control that needs to be picked from the code
numberOfVisitsspecifies the number of visits for which data has to be displayed
showChartconfiguration to display the investigation chart. If it is on, the investigation chart will be displayed along with the lab results table for IPD patients
showTableconfiguration to display the lab results table. If set to false along with showFlowSheet, only the header will be displayed.
showDetailsButtonConfiguration to display audit information when '+ ' sign is clicked. If set to false, the '+' button will not be displayed.
showNormalLabResultsShow lab results that are not marked abnormal in OpenElis. 
showCommentsExpandedShow comments expanded where they are present. The comments section will be collapsed by default if there are no comments mentioned in OpenElis
showAccessionNotesDisplay Accession Notes provided by Lab Manager in OpenElis
allLabDetailsindicates the configuration for the details page (All LabDetails Page)
observationGraphindicates the configuration for the observationGraph (OPTIONAL)

...

Diagnosis Control

Sample config

"diagnosis": {
"title": "Diagnosis",
"showRuledOutDiagnoses": false,
"name": "diagnosis",
"showCertainty": true,
"showOrder": true,
},

 

KeyInfo
titleIndicates the title that will be displayed on the dashboard/visit page for the section
namethe name/id for the control that needs to be picked from the code
showRuledOutDiagnoses

Indicates whether to filter out ruled out diagnoses or not. If set to false, ruled out diagnoses will not be displayed in the display control

showCertainty

Indicates whether certainty(CONFIRMED/PRESUMED) of the diagnosis should be displayed for each diagnosis in the display control.

If set to false, certainty of the diagnosis will not be displayed for the diagnoses.

showOrder

Indicates whether order(PRIMARY/SECONDARY) of the diagnosis should be displayed for each diagnosis in the display control.

If set to false, orders for the diagnosis will not be displayed for the diagnoses.

...

Graph Control Config becomes Chart With Reference Data Config with the addition of the 'referenceData' in the config section referring to the .csv file as shown below

"growthChart": {
"type": "observationGraph",
"name": "observationGraph",
"title": "Growth Chart",
"config": {
"yAxisConcepts": [ "Weight" ],
"referenceData": "growthChartReference.csv",
"numberOfVisits": 20
  }
}
KeyInfo
yAxisConcepts
It can be any Numeric Concept name.
It has to be a single value.
It can't be multiple values or empty. (Required)
referenceData
It would be name of the csv file to be loaded.
The csv file has to be in the same folder as this config file. (Required**)
**If the referenceData is not mentioned, the config will become Graph Control Config. Then, Graph Control Config specifications are applicable.
 numberOfVisits
It is the number of visits for which data has to be displayed.

...

KeyInfo
orderTypetype of the order you want to display (Required)
namethe name/id for the control that needs to be picked from the code. (Required)
titleindicates the title that will be displayed on the dashboard/visit page for the section. (Required)
conceptNamesSpecify the concept names of the concepts that need to be displayed in this section. (Required)
numberOfVisits

specifies the number of visits for which orders has to be displayed. (Optional)

dashboardParamsindicates the configuration for the dashboard
allOrdersDetailsIndicates the configuration for the details page (All Orders Page)

...

Programs Control

"programs": {

    "title": "Programs",
"name": "programs"
}
KeyInformation
titleThe title to be shown in the display control
nameShould be 'programs'

...

Pacs Orders Control

"allPackOrders": {
"orderType": "Pacs Order",
"name": "pacsOrders",
"title": "ALL PACS ORDER",
"dashboardParams":{
"pacsImageUrl":"http://10.0.0.10:8080/oviyam2/viewer.html?patientID={{patientID}}&accessionNumber={{orderNumber}}",
"numberOfVisits":4
  }
}
KeyInformation
titleThe title to be shown in the display control
nameShould be 'pacsOrders'
orderTypeOnly the orders of this type will shown in the display control
dashboardParams
KeyInformation
pacsImageurl

The url template of the pacs image link. (For ex. It could be the Oviyam2 DICOM image viewer link)

PlacholdersReplaced with
{{patientID}}The identifier of the patient
{{orderNumber}}The order number of the order

These placholders has to be parts of the url template

numberOfVisitsIt is the number of visits for which data has to be displayed

...

KeyInfoRequired
nameobsToObsFlowSheet (If you configure the name with obsToObsFlowSheet, it will show the obs in tabular view)Yes
numberOfVisitsWhich is used to see specific number of visits data. If you don't provide, it will show data from all visits.

No

initialCountInitial set of observations to be displayed within number of visitsNo
latestCountLatest set of observations to be displayed within number of visitsNo
templateNameName of the template which has to be shown in flowsheetYes
groupByConceptThe member of template which is used for groupingYes
name

The name which specifies the file name(groovy extension), so that you can configure extensions for individual obsToObsFlowSheet (DST, ECG READINGS, CHEST X-RAY etc) to support month calculation.

No

conceptNamesThe concept names which you want to see in that table. By default it will show all leaf member in that template.

No

pivotOnThe orientation of the table. By default it will display row oriented table.No
isEditableThe configuration that enables you to edit the each line entry of the flow sheetNo

Month Extension

Sample Groovy Code: DstExtension.groovy, you can find it at

...

In the code at line "Specimen Collection Date" is groupByConcept for the Flowsheet.

Note:  Make sure that the extension file is copied to "/home/Username/.OpenMRS/bahmni_config/openmrs/treatmentRegimenExtension/" directory.

...

KeyInfo
title

Indicates the title that will be displayed on the dashboard for the section

namethe name/id for the control that needs to be picked from the code
drugNamesList of drug concepts to be displayed

dashboardParams

indicates the configuration for the dashboard

showOnlyActiveSet this to "true" to display only active drug orders. If "false" or not configured anything will show all the drugs

...