Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Adding MPI Clients

Hauke Hund edited this page Jun 30, 2020 · 6 revisions

The Master Patient Index (MPI) client that will be used by the Business Process Engine (BPE) is determined by the property org.highmed.dsf.bpe.mpi.webservice.factory.class and loaded using a service loader, which searches for a class of type MasterPatientIndexClientFactory on startup of the BPE.

The framework currently only supports an MPI client using the IHE PDQ interface (the property value has to be set to org.highmed.mpi.client.pdq.MasterPatientIndexClientPdqFactory). But it is possible to add new MPI clients (e.g. for IHE PDQv3 or FHIR interfaces) by adding a jar to the plugin configuration folder.

To write a new MPI client, the following has to be taken into account:

  • The plugin needs to supply an MPI client factory implementing the interface MasterPatientIndexClientFactory from the dsf-mpi-client module.
  • The resources folder must contain a file with the name META-INF/services/org.highmed.mpi.client.MasterPatientIndexClientFactory containing the name of the new MPI client factory including the full package name.
  • The client needs to implement the interface MasterPatientIndexClient. The interface defines a method returning instances of the interface Idat based on patient-ids used within the openEHR repository.

An example of an MPI client implementation can be found in the dsf-mpi-client-pdq module.

Clone this wiki locally