To complete the interoperability layer setup the following three components are needed.  XDS-Mediator is only needed if you plan to use XDS. These may reside on separate or the same machine.

OS: Ubuntu 14.04 x64

OpenHIM-core

Installation Notes

  1. Follow this guide.
  2. Since the startup script uses upstart, you start the service by giving the command: sudo start openhim-core

Configuration

  1. Download default.json and put it in /etc/openhim-core
  2. Edit the upstart file at /etc/init/openhim-core.conf and add the parameter   --conf=/etc/openhim-core/default.json
  3. Make any config changes to the file /etc/openhim-core/default.json
    1. We did not make any changes in our testing environment.

OpenHIM-Mediator-XDS

Installation Notes

  1. Download the release from this page.
  2. Extract to /opt/openhim-mediator-xds
  3. Download this init script to control the mediator using the service command and place it in /etc/init.d.
    1. Make sure to make the script executable.  chmod +x openhim-mediator-xds
    2. You will need to make some adjustments to cmd and user at the top of the file based on the version and user you create below.
  4. Create a user to run the mediator.  
    1. e.g.  # adduser openhim

Configuration

  1. Download mediator.properties and place it in the openhim-mediator-xds directory.
  2. Edit mediator.properties to point to each component needed for XDS messages.

OpenHIM-console

Installation Notes

  1. You will need a web server installed, we will use apache2.
  2. Download and extract openhim-console to your web root. Default is /var/www/html

Configuration

  1. Edit config/default.json.
    1. The host parameter should point to where openhim-core is installed.
    2. Make sure to use a FQDN or ip address for the host.
    3. Read this if you have any issues.

Connecting with other components

Check out this getting started guide for more information on channels in OpenHIM.  The OpenHIM mainly acts as a proxy for accessing 

Client Registry (PIX/PDQ)

  1. Create a new channel and point it at the client registry's PIX/PDQ adapter.  Below are the options we have in our test environment. Feel free to change these, but remember to reference those changes in your PoC or scripts. 
    1. Basic Info
      1. Channel Name: PIX/PDQ
      2. URL Pattern: /pixpdq
      3. TCP Host: 0.0.0.0
      4. TCP Port: 8989
      5. Status: Enabled
    2. Access Control
      1. Allowed roles and clients: ohie  (you will need to assign this role to one of your clients in the client tab)
    3. Content Matching
      1. Match Content Type: No Matching
    4. Routes 
      1. Add New Route
        1. Route Name: CR
        2. Primary: True
        3. Type: MLLP
        4. Secured: Not Secured (recommended for testing only)
        5. Host: cr.example.com
        6. Port: 2100
        7. Click green checkbox
    5. Save Changes

Interlinked Registry (CSD)

  1. Create a new channel and point it at the ILR's CSD adapter.
    1. Basic Info
      1. Channel Name: CSD
      2. URL Pattern: ^/CSD($|/.*)
      3. Channel Type: HTTP
      4. Status: Enabled
    2. Access Control
      1. Allowed roles and clients: ohie
    3. Routes
      1. Add new Route
        1. Route Name: CSD
        2. Primary: True
        3. Type: HTTP
        4. Secured: Not Secured (recommended for testing only)
        5. Host: il.example.com
        6. Port: 8984
        7. Click green checkbox

 

Shared Health Record (XDS)

If the xds mediator is started along with openhim-core on the same machine it should automatically register with openhim.  You will need to make changes to the mediator.properties file.  An example file is below.

mediator.properties
# Mediator Properties
mediator.name=xds-mediator
mediator.host=0.0.0.0
mediator.port=8500
mediator.timeout=60000
core.host=localhost
core.api.port=8080
core.api.user=root@openhim.org
core.api.password=passwordhere
# Assigning authorities to resolve to during transaction enrichment
#client.requestedAssigningAuthority=ECID
client.requestedAssigningAuthority=CR_CID
#client.requestedAssigningAuthorityId=ECID
client.requestedAssigningAuthorityId=0.0.0.0.0
provider.requestedAssigningAuthority=EPID
provider.requestedAssigningAuthorityId=EPID
facility.requestedAssigningAuthority=ELID
facility.requestedAssigningAuthorityId=ELID
# == Workflow ==
#pnr.patients.autoRegister=false
pnr.providers.enrich=true
pnr.facilities.enrich=true
# == PIX Manager ==
pix.manager.host=cr.example.com
pix.manager.port=2100
pix.manager.securePort=12301
pix.sendingApplication=openhim
pix.sendingFacility=openhim-mediator-ohie-xds
pix.receivingApplication=pix
pix.receivingFacility=pix
pix.secure=false
# == CSD Infoman (interlinked registry) ==
ilr.host=hwr.example.com
ilr.port=8984
ilr.csr.path=/CSD/csr/anonymous/careServicesRequest
# == Terminology Service ==
ts.host=ts.example.com
ts.port=8080
# == IHE XDS Registry ==
xds.registry.host=shr.example.com
xds.registry.port=8010
xds.registry.securePort=12303
xds.registry.path=/axis2/services/xdsregistryb
xds.registry.secure=false
# == IHE XDS Repository ==
xds.repository.host=shr.example.com
xds.repository.port=8080
xds.repository.securePort=12304
xds.repository.path=/openmrs/ms/xdsrepository
xds.repository.UniqueId=1.19.6.24.109.42.1.5.1
xds.repository.secure=false
# == ATNA ==
# IHE syslog collector
atna.host=iol.example.com
atna.useTcp=false
atna.tcpPort=11514
atna.udpPort=5050
atna.secure=false
# == IHE infrastructure security ==
# use absolute path
ihe.keystore=/opt/openhim-mediator-xds/keystore.jks
ihe.keypassword=Jembi#123
ihe.storepassword=Jembi#123
# The OID that uniquely identifies this system
ihe.systemSourceID=1.3.6.1.4.1.21367.2010.1.2

 

 

  • No labels