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
- Follow this guide.
- Since the startup script uses upstart, you start the service by giving the command:
sudo start openhim-core
Configuration
- Download default.json and put it in /etc/openhim-core
- Edit the upstart file at /etc/init/openhim-core.conf and add the parameter --conf=/etc/openhim-core/default.json
- Make any config changes to the file /etc/openhim-core/default.json
- We did not make any changes in our testing environment.
OpenHIM-Mediator-XDS
Installation Notes
- Download the release from this page.
- Extract to /opt/openhim-mediator-xds
- Download this init script to control the mediator using the service command and place it in /etc/init.d.
- Make sure to make the script executable. chmod +x openhim-mediator-xds
- 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.
- Create a user to run the mediator.
- e.g. # adduser openhim
Configuration
- Download mediator.properties and place it in the openhim-mediator-xds directory.
- Edit mediator.properties to point to each component needed for XDS messages.
OpenHIM-console
Installation Notes
- You will need a web server installed, we will use apache2.
- Download and extract openhim-console to your web root. Default is /var/www/html
Configuration
- Edit config/default.json.
- The host parameter should point to where openhim-core is installed.
- Make sure to use a FQDN or ip address for the host.
- 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)
- 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.
- Basic Info
- Channel Name: PIX/PDQ
- URL Pattern: /pixpdq
- TCP Host: 0.0.0.0
- TCP Port: 8989
- Status: Enabled
- Access Control
- Allowed roles and clients: ohie (you will need to assign this role to one of your clients in the client tab)
- Content Matching
- Match Content Type: No Matching
- Routes
- Add New Route
- Route Name: CR
- Primary: True
- Type: MLLP
- Secured: Not Secured (recommended for testing only)
- Host: cr.example.com
- Port: 2100
- Click green checkbox
- Add New Route
- Save Changes
- Basic Info
Interlinked Registry (CSD)
- Create a new channel and point it at the ILR's CSD adapter.
- Basic Info
- Channel Name: CSD
- URL Pattern: ^/CSD($|/.*)
- Channel Type: HTTP
- Status: Enabled
- Access Control
- Allowed roles and clients: ohie
- Routes
- Add new Route
- Route Name: CSD
- Primary: True
- Type: HTTP
- Secured: Not Secured (recommended for testing only)
- Host: il.example.com
- Port: 8984
- Click green checkbox
- Add new Route
- Basic Info
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.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