OpenHIE Facility Sandbox - Demo Installation Instructions

Background

These instructions allow you to locally install and run a demo of the OpenLMIS-OpenHIE facility registry interoperability. See OpenLMIS v3 - TZ Facility Registry with mCSD and OpenLMIS Facility Registry Software Requirements Specification for background info.

Prerequisites

  • Git
  • Docker and Docker Compose - for installation info, see Step 1 in Getting Started of New Developer Onboarding with OpenLMIS 
  • npm
  • Sufficient RAM to run OpenLMIS, OpenHIM, and HEARTH; we suggest 16+GB of RAM

To Run OpenLMIS with a HEARTH microservice

  1. Build a Docker image for HEARTH with consul support
    1. git clone https://github.com/eliasmu/openlmis-hearth
      1. This Git repository is a Docker image based on the jembi/hearth image with additions for consul so it can run as a microservice inside OpenLMIS.
    2. cd openlmis-hearth
    3. ./build.sh
      1. The result is a built Docker container (which we will run below).
  2. Add HEARTH and MongoDB to the openlmis-ref-distro
    1. git clone https://github.com/OpenLMIS/openlmis-ref-distro
      1. If you already have the openlmis-ref-distro checked out, you can use that.
    2. edit docker-compose.yml to add the following lines:
      1. mongo:
        image: mongo
        depends_on: [consul]

        hearth:
        image: openlmis/openlmis-hearth
        depends_on: [consul, mongo]
        volumes:
        - 'service-config:/config'
    3. ./start-local.sh
    4. Congratulations! You are now running OpenLMIS with HEARTH and MongoDB as additional microservices.
  3. To confirm the HEARTH FHIR server is running, open a browser to http://localhost/fhir/Location
    1. You will see an XML result. It is a Bundle with an empty set of Locations like this:
    2. <Bundle><id value="1fd62c60-97d8-11e8-8825-3d30fa0c2830"/><meta><lastUpdated value="2018-08-04T11:18:34.172+00:00"/></meta><type value="searchset"/><total value="0"/><link><relation value="self"/><url value="http://localhost/3447/fhir/Location"/></link></Bundle>
  4. TO BE CONTINUED...

To Run OpenHIM, HEARTH and MongoDB

  1. Install and run OpenHIM and HEARTH using Docker:
    1. git clone https://github.com/brandonbowersox/openhim-and-hearth.git
    2. cd openhim-and-hearth
    3. docker-compose build && docker-compose up -d
    4. Note: These steps are equivalent to using the public Docker images and instructions here:
      1. Install and run OpenHIM using Docker - see https://openhim.readthedocs.io/en/latest/getting-started.html#installation-using-docker
        1. Note: OpenHIM will start a MongoDB container which we also want to use for HEARTH; the git repo above combines HEARTH into the same docker-compose file as OpenHIM so they can both share one MongoDB database.
      2. Install and run HEARTH using Docker - see https://hub.docker.com/r/jembi/hearth/
        1. docker run jembi/hearth
  2. Log in to OpenHIM and reset the root password - see https://openhim.readthedocs.io/en/latest/getting-started.html#logging-in-to-the-openhim-console
  3. Congratulations! You now have OpenHIM and HEARTH, which both use a MongoDB, all running together.

OpenLMIS: the global initiative for powerful LMIS software