Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack

Documentation

Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

The Manage App Definitions app allows implementers to add or remove applications to the system without having to build a module. This app is in it's first iteration and is a little rough around the edges. We hope this page provides a good understanding of available App Definitions. If you have trouble ask a question on Ask OpenMRS. This feature is available in OpenMRS v 2.2.

Steps:

  • Navigate to System Administration>Manage Apps
  • The table on this screen lists all apps that are currently running in the Reference Application.
    • App ID: is the name of the app
    • Status: The status of the app (Enabled/Disabled)
    • Type: This describes if the app was built-in to the Reference Application or a custom definition
    • Actions: This allows you to start, stop or edit the app. Note, you can only edit the app if it's not built-in. This is critical if you wish to replace functionality in a particular app. For example, you can adjust the registerPatient app to allow your team to enter manual patient identifiers. To do this, you would have to add the app definition, start it under actions and stop the referenceapplication.registrationapp.registerPatient App ID. (More on that below)

Add App Definition

Background

Template Definitions:
OpenMRS utilizes app templates that standardize the configuration for apps. Templates are available in the source code of each app provider which is often available on the OpenMRS github page. We have tried to define templates on this page for ease of use. 

 

The green button "Add App Definition" allows you to add your own app.

 

Register Patient

App ID: referenceapplication.registrationapp.registerPatient

The Register Patient App is found in the openmrs-module-registrationapp. The template definition can be found at this link and has been pasted below. 

Register Patient Template
[
    {
        "id": "registrationapp.registerPatient",
        "description": "Create a new Patient Record",
        "configOptions": [
            {
                "name": "sections",
                "description": "Configuration for a section to display on the patient registration screen. Format: list of { id, label, questions: [ { legend, fields:[] } ] }",
                "defaultValue": [ ]
            },
            {
                "name": "afterCreatedActions",
                "description": "A list of 'bean:beanId' or 'class:fully.qualified.ClassName' that implement org.openmrs.module.registrationapp.action.AfterPatientCreatedAction and will be executed after creating the patient",
                "defaultValue": [ ]
            },
            {
                "name": "afterCreatedUrl",
                "description": "What url to go to after successfully registering the patient. Supports {{patientId}}",
                "defaultValue": "/index.htm"
            },
            {
                "name": "registrationEncounter",
                "description": "Config object with uuid of encounter type and encounter role (optional--if not specified, no registration encounter created)",
                "defaultValue": null
            },
            {
                "name": "allowRetrospectiveEntry",
                "description": "True/false whether or not to allow the registration encounter datetime to be backdated. Shows a datepicker for the registration encounter if encounter is configured, otherwise does nothing.",
                "defaultValue": false
            },
            {
                "name": "allowUnknownPatients",
                "description": "True/false whether or not to allow the user to create an unknown patient, with no name or age (e.g. arriving unconscious to the ER)",
                "defaultValue": true
            },
            {
                "name": "allowManualIdentifier",
                "description": "True/false whether or not to allow the user to manually specify the primary identifier (instead of auto-generating it)",
                "defaultValue": false
            }
        ]
    }
]

 

Find Patient

App ID: coreapps.findPatient

The Find Patient App is found in the openmrs-module-coreapps. The template definition can be found at this link and has been pasted below. 

findPatient App Template
{
        "id": "coreapps.template.findPatient",
        "description": "Basic patient search by ID or Name (using OpenMRS's standard patient search)",
        "contextModel": [ "patientId" ],
        "configOptions": [
            {
                "name": "afterSelectedUrl",
                "description": "URL to go to after the user selects a patient. Supports {{patientId}}",
                "defaultValue": "/coreapps/clinicianfacing/patient.page?patientId={{ patientId }}"
            },
            {
                "name": "label",
                "description": "Label used by the find patient widget",
                "defaultValue": "coreapps.findPatient.app.label"
            },
            {
                "name": "heading",
                "description": "Heading used by the find patient widget",
                "defaultValue": "coreapps.findPatient.app.label"
            },
            {
                "name": "showLastViewedPatients",
                "description": "Whether or not to show a list of the recently-viewed patients for the current user",
                "defaultValue": true
            },
            {
                "name": "breadcrumbs",
                "description": "If specified, list of breadcrumbs for this page. (\"label\" will be translated, \"link\" will have /CONTEXTPATH prepended.) If not specified, default breadcrumbs are Home -> translate(label).",
                "defaultValue": null
            }
        ]
    }


  • No labels