Patient Summary Widget Documentation

Featured add: 2.6

This page provides documentation of widgets that can be added to the patient dashboard. To add or modify go to System administration → Manage apps.

If you want to override the behavior of existing one, make sure to use the exact appId of the existing one in all places ( app ID input and json config)

If you want to create a new one based on one of the following examples, make sure you use a different appID in all places

Section Configuration Parameters

The following parameters are required for each section

key

required

description

key

required

description

title

required

The title of the section

provider

optional

 A valid moduleId

fragmentId

optional

A valid fragment 

icon

optional

The icon displayed for the heading

order

optional

How does this work elsewhere

extensionId

required

The extension where the widget is displayed (How does one configure the section to appear in multiple extension points)

Latest Obs For Concept List 

Shows a list of concepts and the latest observations for each one.

Configuration Parameters

key

required

default

values

description

minimum version

key

required

default

values

description

minimum version

concepts

required

 

Comma delimited list of Concept numeric id, uuid, or mapping

* Provides the concepts whose most recent obs  or group observations are returned are returned.
* If the concept has no value it is returned with no value
* Text showing how recent the obs is, today, yesterday, n days/months/years ago in smaller italic text whose title is the actual obs date

 

conceptNameType

optional

 

  • FSN

  • shortName

  • preferred

Specifes the preferred format for displaying both the concept and any value-coded concepts. The values correspond to "FULLY_SPECIFIED", "SHORT", and locale_preferred = true, respectively.

 

maxAge

optional

 

Numeric integer with a suffix for example:
*1d – 1 day
*2w – 2 weeks
*4m – 4 months from the current date

The maximum age of most recent obs for each of the items in the concept list

 

obsGroupLabels

optional

none

  • FSN

  • shortName

  • none

May be used when obs grouping concept uuid(s) are used in the concept key.
Specifies the format in which to display obs group member prefixes, FSN, shortName, none. The prefixes to display refer to either Fully Specified Name, Short Name of the underlying member concept or No prefix respectively.

 

nLatestObs

optional

1

Numeric integer

Specifies the number of latest non voided observations for a/each concept specified in the concepts key.

 

Note that large lists of concepts or large values of nLatestObs may impact performance.

 

Example Latest Obs For Concept List widget app configuration
{ "id": "coreapps.latestObsForConceptList", "instanceOf": "coreapps.template.dashboardWidget", "description": "coreapps.latestObsForConceptList.app.description", "order": 10, "config": { "widget": "latestobsforconceptlist", "obsGroupLabels": "FSN", "icon": "icon-user-md", "label": "Concept List", "maxAge": "10d", "concepts": "5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, 5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, 5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, 5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, 5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" }, "extensions": [ { "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardFirstColumn", "appId": "coreapps.latestObsForConceptList", "extensionPointId": "patientDashboard.firstColumnFragments", "extensionParams": { "provider": "coreapps", "fragment": "dashboardwidgets/dashboardWidget" } } ] }

Image Sample without group obs concept

Image Sample of grouped obs

Obs Across Encounters 

Shows obs with given concepts across multiple encounters based on date. When a concept has no value in an encounter then the value is left blank. If an encounter has multiple obs with the given concept then they will be displayed in separate rows.

Configuration Parameters

key

required

default

description

minimum version

key

required

default

description

minimum version

concepts

required

 

Comma delimited list of Concept uuids whose observations are to be shown

 

maxRecords

optional

4

The maximum number of encounters to be shown

 

maxAge

optional

no limit

The maximum age of most recent obs for each of the items in the concept list

Numeric integer with a suffix for example:
*1d – 1 day
*2w – 2 weeks
*4m – 4 months from the current date 

 

encounterType

optional

no filter

Filters encounters by encounter type, specified by its UUID.

 

encounterTypes

optional

no filter

Introduced with Coreapps v1.29.0. Comma delimited list of encounter type UUIDs. Filters Observations of the same concept from multiple encounters. 

 

showEncounterTypeName

optional

false

Introduced with Coreapps v1.29.0. Can be used with/without 'encounterTypes' parameter/key. Specifies whether to display name of Encounter/Encounter-type (the name could be a message property for i18n) for which observations belong on an entry/row.

 

useConceptShortName

optional

false

If set to true, the widget would display the concept SHORT name for the coded obs. By default, the obs.value.display is displayed

 

useConceptNameForDrugValues

optional

false

If set to true, the widget will display the concept name for drug values, rather than the drug name.

 

headers

optional

null

A list of custom column headers. e.g. 

"zl.date,mirebalais.vitals.short.heartRate.title,mirebalais.vitals.short.temperature.title"

 

showDateWithTime

optional

false

If set to true, the widget would display the date with the time component.

 

datetimeFormat

optional

null

Specify a format for the datetime, if not specified it will use the Global Property with datetime format.

 

showEncounterProviderName

optional

false

If set to true, the widget would display the provider or providers of the encounter.

 

 

 

Example Obs Across Encounters widget app configuration
{ "id": "coreapps.obsAcrossEncounters", "instanceOf": "coreapps.template.dashboardWidget", "description": "coreapps.obsAcrossEncounters.app.description", "order": 10, "config": { "widget": "obsacrossencounters", "icon": "icon-user-md", "label": "Health Trend Summary", "concepts": "5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "encounterType": "123AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "detailsUrl": "dispensing/patient.page?patientId={{patient.uuid}}", "maxRecords": "3", "maxAge": "1w" }, "extensions": [ { "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardFirstColumn", "appId": "coreapps.obsAcrossEncounters", "extensionPointId": "patientDashboard.firstColumnFragments", "extensionParams": { "provider": "coreapps", "fragment": "dashboardwidgets/dashboardWidget" } } ] }

Image Sample 

 

Note: As of Coreapps v1.29.0, the column containing the date (Encounter) was changed to 'Date' and that the actual 'Encounter' column is configurable by the 'showEncounterTypeName' config parameter to display the Encounter/Encounter-type name associated with the observations.

Obs Graph 

Shows a graph of obs values for a concept with numeric values 

Configuration Parameters

key

required

default

description

minimum version

key

required

default

description

minimum version

conceptId

required

 

Comma delimited string of concepts UUIDs whose values are to be graphed. Only concepts with a numeric data type are to be graphed

 

maxResults

required

4

The maximum number of observations to be graphed

 

maxAge

optional

 

The maximum age of most recent obs for each of the items in the concept list

Numeric integer with a suffix for example:
*1d – 1 day
*2w – 2 weeks
*4m – 4 months from the current date 

 

encounterTypes

optional

 

Comma delimited string of Encounter Type UUIDs. Only the observations from the given list of encounter types will be taken for drawing graph.

 

function

optional

 

e.g. (bmi, "WEIGHT_CONCEPT_UUID", "HEIGHT_CONCEPT_UUID"); 
Provides the ability to compute one or more concept values.

1.31

showLegend

optional

true

Boolean true/false indicating whether or not to display the graph legend

1.32

hideConcepts

optional

 

Comma delimited string of concept UUIDs whose lines should not be plotted. This is useful if using the function config parameter that computes the value of one or more concepts but wanted to plot only the computed value.

 

duringCurrentEnrollmentInProgram

optional

 

String indicating the UUID of a program. Only the obs that are collected during this program enrollment will be displayed.

2.0

 

Example Obs Graph widget app configuration
{ "id": "coreapps.obsGraph", "instanceOf": "coreapps.template.dashboardWidget", "description": "coreapps.obsGraph.app.description", "order": 10, "config": { "widget": "obsgraph", "icon": "icon-bar-chart", "label": "Obs Graph", "conceptId": "5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,3ce93cf2-26fe-102b-80cb-0017a47871b2", "maxResults": "6", "maxAge": "1w", "encounterTypes": "f120a111-dd2a-4a03-b184-c36b1969c827,e63b5ad2-4470-4d22-8c39-661b534043de", "showLegend": false, "function": "(bmi, 5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, 3ce93cf2-26fe-102b-80cb-0017a47871b2);", "hideConcepts": "5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,3ce93cf2-26fe-102b-80cb-0017a47871b2" }, "extensions": [ { "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardFirstColumn", "appId": "coreapps.obsGraph", "extensionPointId": "patientDashboard.firstColumnFragments", "extensionParams": { "provider": "coreapps", "fragment": "dashboardwidgets/dashboardWidget" } } ] }

Image Sample 

Data Integrity Violations 

Shows the data integrity module violations for a patient

Configuration Parameters

key

required

default

description

minimum version

key

required

default

description

minimum version

maxResults

required

6

The maximum number of violations to be displayed. A link to fix the violation is only available if the action_url column has a value 

 

 

Example Data Integrity widget app configuration

Image Sample 

Relationships 

Shows the relationships for a patient 

Configuration Parameters

key

required

default

description

minimum version

key

required

default

description

minimum version

maxRecords

required

6

The maximum number of relationships to display

 

baseAppPath

optional

/coreapps

Provides the ability to embed the relationships widget in a different module and page than the default coreapps clinician facing dashboard

 

dashboardPage

optional

/coreapps/clinicianfacing/patient.page?patientId=patientUuid

Indicates to which page to navigate when clicking on a relative

 

providerPage

optional

null

If configured, it indicates the page to navigate if the relationship points to a provider

 

includeRelationshipTypes

optional

 

Comma delimited list of relationship type UUIDs. It provides the ability to filter which relationship types should be allowed to be created. By default all relationship types are displayed

 

editPrivilege

optional

 

Indicates the privilege required to edit patient relationships. If you want to edit relationships via the widget you need to assign "Task: coreapps.editRelationships" privilege to the logged on user.

 

 

Example Relationships widget app configuration

Image Sample 

Recent Visit by Encounter Type 

Shows the recent visits for a patient by encounter type

Configuration Parameters

key

required

default

description

minimum version

key

required

default

description

minimum version

maxRecords 

required

6

The maximum number of recent visits to show

 

maxAge 

optional

 

The maximum age of most recent obs for each of the items in the concept list

Numeric integer with a suffix for example:
*1d – 1 day
*2w – 2 weeks
*4m – 4 months from the current date 

 

combineEncounterTypes

optional

true

When true shows a comma delimited value of encounter types that occur on the same visit, when false shows each encounter type on its own row for the same visit.

What are the thoughts on this?  

 

showEncounterDate

optional

false

When true, the date displayed is the encounter datetime instead of the encounter's visit start date.

showEncounterDate  is processed only when combineEncounterTypes  is set to false .

 

 

Example Visits By Encounter Type widget app configuration

Image Sample 

Programs List

Shows the programs the patient is currently enrolled in, as well as historical programs.  Serves as an access point into programs-specific dashboards.

Configuration Parameters

key

required

default

description

minimum version

key

required

default

description

minimum version

dateFormat

optional

yyyy-MM-dd

Date format to use when displaying dates