Page tree

Versions Compared

Key

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

...

This page provides documentation of widgets that can be added to the patient dashboard 

Table of Contents
maxLevel2

Section Configuration Parameters

...

keyrequireddefaultvaluesdescription
conceptsrequired Comma delimited list of Concept numeric id, uuid, or mapping* Provides the concepts whose most recent obs are returned.
* Minimum of 1 and a maximum of 10 concepts.
* 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
maxAgeoptional 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


Code Block
languagejava
firstline1
titleExample Latest Obs For Concept List widget app configuration
firstline1
linenumberstrue
{
  "id": "coreapps.latestObsForConceptList",
  "instanceOf": "coreapps.template.dashboardWidget",
  "description": "coreapps.latestObsForConceptList.app.description",
  "order": 10,
  "config": {
    "widget": "latestobsforconceptlist",
    "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"
      }
    }
  ]
}

...

keyrequireddefaultdescription
conceptsrequired Comma delimited list of Concept numeric id, uuid, or mapping of the concepts whose observations are to be shown
maxRecordsrequired4The maximum number of encounters to be shown
maxAgeoptional 

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 


Code Block
languagejava
firstline1
titleExample Obs Across Encounters widget app configuration
firstline1
linenumberstrue
{
  "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",
    "maxRecords": "3",
    "maxAge": "1w"
  },
  "extensions": [
    {
      "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardFirstColumn",
      "appId": "coreapps.obsAcrossEncounters",
      "extensionPointId": "patientDashboard.firstColumnFragments",
      "extensionParams": {
        "provider": "coreapps",
        "fragment": "dashboardwidgets/dashboardWidget"
      }
    }
  ]
}

...

keyrequireddefaultdescription
conceptIdrequired The concept whose values are to be graphed. Only concepts with a numeric data type are to be graphed
maxResultsrequired4The maximum number of observations to be graphed
maxAgeoptional 

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 


Code Block
languagejava
firstline1
titleExample Obs Graph widget app configuration
firstline1
linenumberstrue
{
  "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",
    "maxResults": "6",
    "maxAge": "1w"
  },
  "extensions": [
    {
      "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardFirstColumn",
      "appId": "coreapps.obsGraph",
      "extensionPointId": "patientDashboard.firstColumnFragments",
      "extensionParams": {
        "provider": "coreapps",
        "fragment": "dashboardwidgets/dashboardWidget"
      }
    }
  ]
}

...

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


Code Block
languagejava
firstline1
titleExample Data Integrity widget app configuration
firstline1
linenumberstrue
{
  "id": "coreapps.dataIntegrityViolations",
  "instanceOf": "coreapps.template.dashboardWidget",
  "description": "coreapps.dataIntegrityViolations.app.description",
  "order": 10,
  "config": {
    "widget": "dataintegrityviolations",
    "icon": "icon-question-sign",
    "label": "Data Quality Violations",
    "maxResults": "8"
  },
  "extensions": [
    {
      "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardFirstColumn",
      "appId": "coreapps.dataIntegrityViolations",
      "extensionPointId": "patientDashboard.firstColumnFragments",
      "extensionParams": {
        "provider": "coreapps",
        "fragment": "dashboardwidgets/dashboardWidget"
      }
    }
  ]
}

...

keyrequireddefaultdescription
maxResultsrequired6The maximum number of violations to be displayed. A link to fix the violation is only available if the action_url column has a value
baseAppPathoptional/coreappsProvides the ability to embed the relationships widget in a different module and page than the default coreapps clinician facing dashboard
dashboardPageoptional/coreapps/clinicianfacing/patient.page?patientId=patientUuidIndicates to which page to navigate when clicking on a relative
providerPage
optionalnullIf configured, it indicates the page to navigate if the relationship points to a provider
includeRelationshipTypesoptional 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
editPrivilegeoptional 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.


Code Block
languagejava
firstline1
titleExample Relationships widget app configuration
firstline1
linenumberstrue
{
  "id": "coreapps.relationships",
  "instanceOf": "coreapps.template.dashboardWidget",
  "description": "coreapps.relationships.app.description",
  "order": 10,
  "config": {
    "widget": "relationships",
    "icon": "icon-group",
    "label": "Family",
    "maxRecords": "3",
    "baseAppPath": "/coreapps",
    "editPrivilege": "Task: coreapps.editRelationships",
    "dashboardPage": "/coreapps/clinicianfacing/patient.page?patientId=patientUuid",
    "providerPage", "/coreapps/providermanagement/editProvider.page?personUuid={{personUuid}}",
    "includeRelationshipTypes": "UUID_OF_RELATIONSHIP_TYPE,"
  },
  "extensions": [
    {
      "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardSecondColumn",
      "appId": "coreapps.relationships",
      "extensionPointId": "patientDashboard.secondColumnFragments",
      "extensionParams": {
        "provider": "coreapps",
        "fragment": "dashboardwidgets/dashboardWidget"
      }
    }
  ]
}

...

keyrequireddefaultdescription
maxResultsrequired6The maximum number of recent visits to show
maxAgeoptional 

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 

combineEncounterTypesoptionaltrueWhen 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?  


Code Block
languagejava
firstline1
titleExample Visits By Encounter Type widget app configuration
firstline1
linenumberstrue
{
  "id": "coreapps.visitByEncounterType",
  "instanceOf": "coreapps.template.dashboardWidget",
  "description": "coreapps.visitByEncounterType.app.description",
  "order": 10,
  "config": {
    "widget": "visitbyencountertype",
    "icon": "icon-group",
    "label": "Recent Visits",
    "maxRecords": "3",
    "maxAge": "3m",
    "combineEncounterTypes": "true"
  },
  "extensions": [
    {
      "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardSecondColumn",
      "appId": "coreapps.visitByEncounterType",
      "extensionPointId": "patientDashboard.secondColumnFragments",
      "extensionParams": {
        "provider": "coreapps",
        "fragment": "dashboardwidgets/dashboardWidget"
      }
    }
  ]
}

...

privilege

description

Task: enrollInProgram
Determines whether or not to render dropdown (see example below) allowing users to navigate to a program-specific dashboard to enroll in a program if not enrolled.

 

 

Code Block
languagejava
firstline1
titleExample Visits By Encounter Type widget app configuration
firstline1
linenumberstrue
{
  "id": "coreapps.programs",
  "instanceOf": "coreapps.template.dashboardWidget",
  "description": "List of Programs",
  "order": 10,
  "config": {
    "widget": "programs",
    "icon": "icon-stethoscope",
    "label": "Programs",
   	"dateFormat", "dd MMM yyyy",
	"supportedPrograms", "7b6a71b1-742d-4d39-ac53-8ae6d4db960c,e7f774a5-0929-4c14-bb5c-563c6b390811"
	"enableProgramDashboards", "true"
  },
  "extensions": [
    {
      "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardSecondColumn",
      "appId": "coreapps.programs",
      "extensionPointId": "patientDashboard.secondColumnFragments",
      "extensionParams": {
        "provider": "coreapps",
        "fragment": "dashboardwidgets/dashboardWidget"
      }
    }
  ]
}

...

PrivilegeDescription
Task: enrollInProgram
Whether the user has the ability to enroll a patient in a program
Task: editPatientProgramWhether the user has the ability to edit an existing patient program
Task: deletePatientProgramWhether the user has the ability to delete an existing patient program

 

 

Code Block
languagejava
firstline1
titleExample Visits By Encounter Type widget app configuration
firstline1
linenumberstrue
{
  "id": "coreapps.programStatus",
  "instanceOf": "coreapps.template.dashboardWidget",
  "description": "List of Programs",
  "order": 10,
  "config": {
    "widget": "programstatus",
    "icon": "icon-stethoscope",
    "label": "Program Status",
   	"dateFormat", "dd MMM yyyy",
	"program", "7b6a71b1-742d-4d39-ac53-8ae6d4db960c"
	"locationTag", "ef54a24a-dd76-4636-b94d-f7b486107369"
  },
  "extensions": [
    {
      "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardSecondColumn",
      "appId": "coreapps.programsstatus",
      "extensionPointId": "patientDashboard.firstColumnFragments",
      "extensionParams": {
        "provider": "coreapps",
        "fragment": "dashboardwidgets/dashboardWidget"
      }
    }
  ]
}

...

keyrequireddefaultdescription
programrequired
 
Program UUID (ie. uuid of a program in OpenMRS Program table)
dateFormatoptional
yyyy-MM-dd
Date format to use when displaying dates
locationTagoptionalnull

UUID of a location tag. If specified, the options in the "program enrollment location" drop-down will be limited to locations with tag.

includeActiveoptionaltrueIf set to false, excludes the active program enrollment (if any) from the list

 

 

Code Block
languagejava
firstline1
titleExample Visits By Encounter Type widget app configuration
firstline1
linenumberstrue
{
  "id": "coreapps.programHistory",
  "order": 10,
  "config": {
    "icon": "icon-stethoscope",
    "label": "Previous Enrollment",
   	"dateFormat", "dd MMM yyyy",
	"program", "7b6a71b1-742d-4d39-ac53-8ae6d4db960c"
	"locationTag", "ef54a24a-dd76-4636-b94d-f7b486107369",
	"includeActive", "false"
  },
  "extensions": [
    {
      "id": "org.openmrs.module.coreapps.mostRecentVitals.clinicianDashboardSecondColumn",
      "appId": "coreapps.programsstatus",
      "extensionPointId": "patientDashboard.secondColumnFragments",
      "extensionParams": {
        "provider": "coreapps",
        "fragment": "program/programHistory"
      }
    }
  ]
}

...