Patient Registry

The Patient Registry project is dedicated to the management of patient demographics and identifiers test data. It will embed connectors such as FHIR PDQm, PIX or PAM.

Sources & binaries

The sources are accessible here: https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/patient-registry

Bugs and issue tracking are accessible here : https://gazelle.ihe.net/jira/projects/PATREG. The name of the latest release, can be obtain in the “Releases” section.

To get official artifact (binaries), search for patient-registry in IHE Nexus : https://gazelle.ihe.net/nexus and select the patient-registry.jar artifact for download.

Installation

Patient Manager dependency

Patient Registry depends currently on the database of Patient Manager. Only patients created/managed in Patient Manager will be accessible in the Patient Registry Search API. Please follow Patient Manager installation process.

Patient Registry needs at least Patient Manager version 9.11.6.

Application server

Patient registry need to be deployed on Widlfly-18. Please read first the documentation on how to install and configure this server for Gazelle applications : general considerations for WildFly 18

Database

Patient regsistry is using Patient Manager’s database. It only needs a datasource connection declared in wildfly 18. See Setup datasources for gazelle applications

Datasource name : patientRegistryDS

Database name : pam-simulator

Deployment

Copy the jar artifact app.patient-registry-service-X.X.X.jar in the deployment folder of the wildfly installation under the name patient-registry.jar. This is important for the path on which Patient Registry’s web services will be exposed.

cp app.patient-registry-service-X.X.X.jar /usr/local/wildfly18/standalone/deployments/patient-registry.jar

Start wildfly. The API can be accessed at (depending on your configured host and port)

PDQm Connector

PDQm Connector is a connector for Patient Registry. It is dedicated to interface FHIR requests defined in PDQm standard to and the Patient Registry API for patient demographics and identifiers test data management.

Sources & binaries

The sources are accessible here: https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/pdqmsimulator

Bugs and issue tracking are accessible in the same project as the Patient Registry : https://gazelle.ihe.net/jira/projects/PATREG. The name of the latest release, can be obtain in the “Releases” section.

To get official artifact (binaries), search for pdqm-connector-service in IHE Nexus : https://gazelle.ihe.net/nexus and select the pdqm-connector.war artifact for download.

Installation

Patient Manager dependency

PDQm Connector, as Patient Registry, depends currently on the database of Patient Manager. It will use it to save transaction exchanged between SUTs and the simulator. Please follow Patient Manager installation process.

PDQm Connector needs at least Patient Manager version 9.11.6.

PDQm also needs Patient Registry to be installed. With connector version 1.0.x, you will need Patient Registry version 1.0.x.

Operational Preferences

PDQm connector defines mandatory Operational Preferences that you will have to define in your Application server. To know how to do that, see General considerations for WildFly 18

Define a resource in your server with name java:/app/gazelle/pdqm-connector/operational-preferences.

This resource should refer to a .properties file. This file shall contain the following properties :

Property Name  Description  Example value 
patientregistry.url URL of the Patient Registry Processing Service used to search patients. http://localhost:8380/patient-registry/processing-service

Application server

Patient registry need to be deployed on Wildfly-18. Please read first the documentation on how to install and configure this server for Gazelle applications : General considerations for WildFly 18

Configure WildFly 18 for PDQm Connector

Install factories module

  1. Stop wildfly and go to
    sudo mkdir -p /usr/local/wildfly18/modules/system/layers/base/net/ihe/gazelle/factories/main
    cd /usr/local/wildfly18/modules/system/layers/base/net/ihe/gazelle/factories/main
    
  2. Download module factories.jar
    sudo wget https://gazelle.ihe.net/wildfly18/factories.jar
    
  3. Create module.xml file ```xml

4. Add `jboss:jboss-admin` rights
```bash
sudo chown jboss:jboss-admin *
sudo chmod 775 *
  1. Stop Wildfly and edit standalone.xml in /usr/local/wildfly18/standalone/configuration ; add the factories binding in the naming subsystem :

Replace this property ${DEPLOYMENT_PROPERTIES} with your own path to the deployment property, which is stored in the pdqm-connector project : pdqm-connector/pdqm-connector-service/src/main/resources/deployment.properties

<subsystem xmlns="urn:jboss:domain:naming:2.0">
   <bindings>
      <object-factory name="java:/app/gazelle/pdqm-connector/operational-preferences" module="net.ihe.gazelle.factories" class="net.ihe.gazelle.factories.PropertiesFactory">
         <environment>
            <property name="path" value="${DEPLOYMENT_PROPERTIES}"/>
         </environment>
      </object-factory>
   </bindings>
   <remote-naming/>
</subsystem>

Database

PDQm is using Patient Manager’s database. It only needs a datasource connection declared in wildfly 18. See Setup datasources for gazelle applications

Datasource name : pdqmConnectorDS

Database name : pam-simulator

Deployment

Copy the war artifact pdqm-connector-X.X.X.war in the deployment folder of the wildfly installation under the name pdqm-connector.war. This is important for the path on which connector’s web services will be exposed.

cp pdqm-connector-X.X.X.war /usr/local/wildfly18/standalone/deployments/pdqm-connector.war

Start wildfly. The API can be accessed at (depending on your configured host and port)