REGISTRATION IS OPEN for #OHIE19 4-8 Nov, 2019 in Addis Ababa, Ethiopia - CLICK HERE
Skip to end of metadata
Go to start of metadata

 

This guide is to help people to setup the OpenHIE reference applications for the first time. It goes through the steps needed to setup and configure the applications to work together.

Planning for Installation

Before installing the OpenHIE RI, it is recommended that you take some time to plan your installation. This includes:

  1. Come up with an OID plan: An OID plan is a logical map of OIDs which will be used by each of the systems within the HIE. It is imperative that your OIDs be unique. You can choose to use a UUID represented as a 128 bit number in the root of 2.25 (for example: 2.25.xxxxxxxxxxxxxxxxx), or you can subdivide an existing OID registered for your organization (registrations can be made through IANA's Private Enterprise Number or PEN programme for free). Some OIDs you'll need to consider:
    1. One OID for each of ECID/EPID/ELID
    2.  One OID per physical machine (more important for CR and SHR if load balancing)
    3. A Logical OID for each logical component of the HIE (again, more important for CR and SHR if load balancing)
  2.  Plan your security architecture, if any, and obtain or create certificates for each host which will be participating in the HIE or connecting to the HIE.

Install the applications

  1. Install OpenHIM and the required mediators
    1. You will need to install both the OpenHIM-core (the server) and the OpenHIM-console (the web interface)
    2. To install the OpenHIM-core follow the steps found here: https://github.com/jembi/openhim-core-js#installation-and-development
    3. To install the OpenHIM-console follow the steps found here: https://github.com/jembi/openhim-console#production-deployment
    4. You will also need to install the xds-mediator. (This can be on a separate server or on the same server as the OpenHIM)
      1. This mediator is a Java application, you can find it here: https://github.com/jembi/openhim-mediator-xds
      2. Compile this application by running 'mvn package'
      3. Then run it by running: 'java -jar target/mediator-xds-x.x.x-jar-with-dependencies.jar'
    5. If you run into trouble ask for help in the interoperability layer community: https://groups.google.com/forum/?hl=en&fromgroups#!forum/openhie-interoperability-layer
  2. Install OpenSHR
    1. There is a Debian package that makes the installation of OpenSHR easier, see the documentation here -https://github.com/jembi/openshr#setting-up-the-openshr-on-ubuntu-from-a-ppa-1404-trusty
    2. If you run into trouble ask for help in the shared health record community: https://groups.google.com/forum/?hl=en&fromgroups#!forum/openhie-shr
  3. Install OpenInfoMan
    1. See steps here: https://github.com/openhie/openinfoman/wiki/Install-Instructions
    2. If you run into trouble ask for help in the health worker registry community: https://groups.google.com/forum/?hl=en&fromgroups#!forum/provider-registry
  4. Install OpenEMPI or Mohawk CR
    1. Ask the OpenHIE client registry community for help getting setup: https://groups.google.com/forum/?hl=en&fromgroups#!forum/client-registry

Configure the applications to work together

  1. Configure OpenHIM
    1. Login to the OpenHIM console web app
    2. You will need to create a few channel and add some client that can access those channels, for more information on doing this see: https://github.com/jembi/openhim-console/wiki/Getting-started-guide
    3. The first channel you will need to add is a channel that communicates with the xds-mediator
      1. Go to channel and click '+ channel' to add a new channel
      2. Enter the following details:
        1. name: OHIE: XDS repository and registry
        2. URL pattern: /xdsrepository|/xdsregistry
        3. Allowed roles and client: ohie
        4. Under the routes tab, add a new route with:
          1. Name: XDS.b Mediator
          2. Primary: True
          3. Type: HTTP
          4. Secured: Not Secured
          5. Host: <host_of_the_machine_running_xds-mediator>
          6. Port: 8081
        5. Save the channel
    4. The second channel that you will need to add enables HL7 v2 message to be passed through to the Client Registry
      1. Go to channel and click '+ channel' to add a new channel
      2. Enter the following details:
        1. Name: OHIE: PIX/PDQ
        2. URL pattern: /pixpdq
        3. Channel Type: select 'TCP'
        4. TCP Host: 0.0.0.0
        5. TCP Port: 8989
        6. Allowed roles and client: ohie
        7. Under the routes tab, add a new route with:
          1. Name: CR
          2. Primary: True
          3. Type: TCP
          4. Secured: Not Secured
          5. Host: <host_of_the_machine_running_client_registry>
          6. Port: <port_of_client_registry>
          7. Path: /test
        8. Save the channel
    5. You will need to setup a few clients with the role ohie that can access these channels
    6. If you run into trouble ask for help in the interoperability layer community: https://groups.google.com/forum/?hl=en&fromgroups#!forum/openhie-interoperability-layer
  2. Configure OpenSHR
    1. Configure the SHR to communicate with the XDS registry
      1. In Administration -> Settings -> XDS -> Enter XDS Registry Location
      2. Set the Repository Unique ID OID, this is how the OpenSHR will be identified in the XDS Registry 
    2. Configure the CDA Import / Export
      1. In Administration -> Settings -> SHR configure your ECID, EPID and OID for the SHR (NB: This may be different or the same as the repository unique id)
      2. In Administration -> Settings -> SHR CDA Handler -> Modify the settings as are appropriate to your environment
    3. Configure Auditing
      1. In Administration -> Settings -> SHR ATNA , configure the IP address of the Audit Record Repository as well as the local IP address of the SHR that should be used for communicating with the ARR
    4. Configure the XDS Registry
      1. See details specific to your XDS Registry software for configuring the registry. Tasks include
        1. Setting up a pointer to the ARR
        2. Setting up any OIDs for the XDS registry
        3. Setting up any formatCodes/typeCodes to be used in your testing 
    5. Ask the SHR community for help: https://groups.google.com/forum/?hl=en&fromgroups#!forum/openhie-shr
  3. Configure OpenInfoMan
    1. Ask the HWR community for help: https://groups.google.com/forum/?hl=en&fromgroups#!forum/provider-registry
  4. Configure OpenEMPI or Mohawk CR
    1. Configure the Client Registry to "notify" the XDS Registry of patient registrations
      1. For Mohawk CR: Configuration -> PIXv3 Notifications -> Add
      2.  Address: llp://<ip address of registry>:<port of v2 PID feed>
      3. Actor: PAT_IDENTITY_SRC
      4. Configure a certificate for communication if necessary
      5. Configure any OIDs for patient identity sources and the ECID (which appears in the CR config as CR_CID) (see below)
    2. Ask the HWR community for help: https://groups.google.com/forum/?hl=en&fromgroups#!forum/client-registry