Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

This page is outdated and no longer receives updates!

The reference application can be configured to connect to a Master Patient Index(MPI), allowing patient information to be shared. This feature is still in active development and testing, and will be released soon.

...

Assuming npm is installed with Nodejs, run the npm command for installing openhim-core globally.

$ sudo npm install openhim-core -g

Before starting openhim-core, the api port has to be changed from its default of Port 8080, to prevent conflicts with OpenMRS and OpenEMPI. The config files can be found in node_modules/openhim-core/config.md and node_modules/openhim-core/default.json. Your node_modules folder is in the node install directory by default, and can be found based on this npm documentation

...

After the port has been configured, openhim-core can be run from anywhere using the following command.

$ openhim-core

More information regarding OpenHIM setup can be found at https://openhim.readthedocs.io/en/latest/getting-started.html

...

After logging in, go to Export/Import, and Import the following configuration: openhim-openempi-default.json

This will setup channels for PIX and PDQ, forwarding traffic from OpenMRS to the necessary ports for OpenEMPI. It also converts the HL7 over HTTP to HL7 over MLLP. Lastly, it creates a client with the credentials admin:admin, to allow OpenMRS to connect.

...

By default, OpenEMPI uses Port 8080 as the port for the administration webpage. This will cause a conflict as OpenMRS and OpenHIM also have Port 8080 as default ports. In order to prevent this conflict, the config file can be modified to change the port to another port(e.g. port 8090). OpenEMPI installs to a user's home directory, and the config file can be found in openempi/conf/server.xml. Image Removed

...

OpenEMPI API Ports

The API ports that OpenEMPI uses for PIX/PDQ Communication can also be changed if needed. By default, PIX uses Port 3600 and PDQ uses Port 3700. The PDQ port can be changed in openempi/openempi-entity-x.x.xc/conf/PdSupplierConnections.xml(where x.x.x is the version number) and the PIX port can be changed in openempi/openempi-entity-x.x.xc/conf/PixConsumerConnections.xml and openempi/openempi-entity-x.x.xc/conf/PixManagerConnections.xml

...

The openempi admin can then be accessed through your web browser at localhost:8080/openempi-admin, where 8080 is replaced by the port you have configured in Step 1.Image Removed

...

Login to OpenEMPI. Default:

...

Go to Edit→Edit Identifier DomainsImage Removed

...

Here we can add and change the identifier domains the OpenEMPI uses. The OpenEMPI GID is the default global identifier domain used in the MPI. The OpenMRS ID has to be added to OpenEMPI through "Add Identifier Domain".Image Removed

...

Here the OpenMRS ID can be added with the following values:

  1. Name: OpenMRS ID

  2. Description: OpenMRS Patient Identifier

  3. Namespace Identifier: 2.25.71280592878078638113873461180761116318

  4. Universal Identifier: 2.25.71280592878078638113873461180761116318

  5. Universal Identifier Type: PI

...

Once this has been added, OpenEMPI has been configured for use with OpenMRS.

...

In order to use an MPI, the following Global Properties must be configured:

  1. registrationcore.mpi.Hl7implementation: specifies the version of Hl7 used and the protocol used. Example: registrationcore.mpiHl7v2HttpSender 

  2. registrationcore.mpi.implementation : specifies which MPI implementation you are going to use. Since registrationcore v1.4 you can use OpenEMPI implementation.

  3. registrationcore.mpi.url : specifies url to MPI server Property type: string. Example: 128.100.10.10:8080/openempi-admin

  4. registrationcore.mpi.personIdentifierTypeUuid : specifies local patient identifier type id. Through this identifier imported MPI patient will be linked with patient on remote MPI server. You have to create new patient identifier type in Managing patient identifiers console: 

  5. registrationcore.mpi.pdqEndpoint : url of the endpoint for pdq communication. Example: localhost:5001/pdq

  6. registrationcore.mpi.pixEndpoint : url of the endpoint for pix communication. Example: localhost:5001/pix

  7. registrationcore.mpi.pixPort : port used for pix communication. Default: 3600

  8. registrationcore.mpi.pdqPort : port used for pdq communication. Default: 3700

  9. registrationcore.mpi.pixIdentifierTypeUuidList : List of patient type identifiers included in pix messsages

  10. registrationcore.mpi.pdqIdentifierTypeUuidList : List of patient type identifiers included in pdq messages

  11. registrationcore.mpi.receivingApplication : Application receiving pix/pdq messages. Default: Demo MPI

  12. registrationcore.mpi.receivingFacility : Facility Receiving pix/pdq messages. Default: OpenEMPI Demo

  13. registrationcore.mpi.sendingApplication : Application sending pix/pdq messages. Default: OpenMRS

  14. registrationcore.mpi.sendingFacility : Facility Sending pix/pdq messages. Default: Demo

MPI Identifier TypeMap

In order to allow interoperability between various MPIs, a TypeMap global property is created such that the Uuid of each Patient Identifier in OpenMRS can be converted to the ID format used by the MPI. OpenEMPI uses an Object Identifer(OID) based system with HL7 OIDs. The default global properties thus do a mapping from an OpenMRS Uuid to the OpenEMPI ID. The map has three sections: 

  1. OpenMRS Identifier Type Uuid (Example: 05a29f94-c0ed-11e2-94be-8c13b969e334)

  2. MPI Identifier Type ID (Example: 2.25.71280592878078638113873461180761116318)

  3. Identifier Type (Example: PI)

By default, there are two TypeMaps configured for use with OpenEMPI:

  1. registrationcore.local_mpi_identifierTypeMap.OpenMRS ID : 05a29f94-c0ed-11e2-94be-8c13b969e334:2.25.71280592878078638113873461180761116318:PI

  2. registrationcore.local_mpi_identifierTypeMap.OpenEMPI ID : a5d38e09-efcb-4d91-a526-50ce1ba5011a:2.16.840.1.113883.4.357:hl7

OpenEMPI Specific Global Properties

  1. registrationcore.openempi.enableProbabilisticMatching : This determines whether OpenEMPI uses probabilistic matching.

  2. registrationcore.openempi.globalIdentifierDomainId 

OpenMRS Runtime Properties

In order to authenticate with the MPI, you have to add two properties to the .OpenMRS/openmrs-runtime.properties file. These have to be the credentials configured within the MPI you are using.

  1. registrationcore.mpi.username : username for authentication on MPI server

  2. registrationcore.mpi.password : password for authentication on MPI server

For example:

registrationcore.mpi.username=admin

registrationcore.mpi.password=admin

...