Smart Container User Documentation


  1. Download the latest version from the OpenMRS module repository and add it to your OpenMRS application using the _Administration->Manage Modules _page.
  2. Go to Administration->Manage SMART Apps page and add Smart app manifests
  3. Find some example SMART Apps from
    1. There are two options for adding smart apps
      1. To add manifest from the local machine choose file and upload it.
      2. To add manifest from network enter url(url format should be http://<somedomain>/<directory>/../<name of the file>.json) and upload it.
  4. Got to Administration->Manage User Apps page and choose apps that should be shown on the patient dashboards.

Getting SMART Apps

SMART apps are webapps and need to be hosted on a server either locally or externally. Their manifest file should be published in order to use it.

  • Hosting your own server
  • Using SMART apps that are already hosted in public URL
  • Installing smartapp module (This module has yet to be developed)

Using SMART apps that are already hosted in public URL

This method is a lot easier, but requires that your server have an internet connection available.

This zip file contains manifest files of the SMART sample apps that are hosted by Just download it, unzip and upload it.

Hosting your own server

These instructions tell you how to build sample apps that are provided by It uses python and Django and only works for linux (Ubuntu)

  • Ensure you have installed python 2.7.
    • sudo apt-get install python
  • Install Django
    • sudo apt-get install python-django
  • Get the source code
    • sudo apt-get install git
  • Then get the code for the smart apps
    • git clone[]
      cd smart_sample_apps
      git submodule init
      git submodule update
  • copy to and update:
  • set APP_HOME in to the complete path to the location where you've installed smart_sample_apps, e.g. /web/smart_sample_apps
  • Start the server
    • cd /path/to/smart_sample_apps/
      python runconcurrentserver
  • get the manifest
    • go to /path/to/smart_sample_apps/static/framework/medilist/smart_manifest.json


Problem Object

If you want to use SMART apps that use Problems data, go to Administration->Set up Problem Object and choose how to map OpenMRS problems into Smart problems.

  • The "Problem Object" is only manipulatable on the patient dashboard (as of openmrs 1.9). Therefore, many implementations may not use this table and data. (active_list_problem)
  • The previous way of handling this was to create Observations under question concepts called Problem Added and Problem Resolved. The answer (obs.value_coded) to these observations are the problems a patient currently has.


  1. Ensure that all your concepts are mapped as follows
    1. Drug related concept are mapped to RxNorm
    2. Problem related concepts are mapped to SNOMED-CT
    3. Lab test related concept are mapped to LOINC

The MVP concept database has all of the necessary mappings already included.