The Patient Registry project is dedicated to the management of patient demographics and identifiers test data.
## Patient Registry (PATREG)
The Patient Registry project is dedicated to the management of patient demographics and identifiers test data.
It will embed connectors such as FHIR PDQm, PIXm or PAM.
It will embed connectors such as FHIR PDQm, PIXm or PAM.
## Sources & binaries
### Sources & binaries
The sources are accessible here: [https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/patient-registry](https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/patient-registry)
The sources are accessible here: [https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/patient-registry](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](https://gazelle.ihe.net/jira/projects/PATREG). The name
Bugs and issue tracking are accessible here : [https://gazelle.ihe.net/jira/projects/PATREG](https://gazelle.ihe.net/jira/projects/PATREG). The name of the latest release, can be obtained in the "Releases" section.
of the latest release, can be obtained in the "Releases" section.
To get official artifact (binaries), search for `patient-registry` in IHE Nexus : [https://gazelle.ihe.net/nexus](https://gazelle.ihe.net/nexus/#nexus-search;quick~patient-registry)
To get official artifact (binaries), search for `patient-registry` in IHE Nexus : [https://gazelle.ihe.net/nexus](https://gazelle.ihe.net/nexus/#nexus-search;quick~patient-registry)
and select the **patient-registry.jar** artifact for download.
and select the **patient-registry.jar** artifact for download.
## Installation
### Installation
### Patient Manager dependency
#### 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 depends currently on the database of Patient Manager. Only patients created/managed in Patient Manager will be accessible in the Patient Registry Search API.
Patient Registry needs at least Patient Manager version 9.11.6.
Patient Registry needs at least Patient Manager version 9.11.6.
### Application server
#### 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
Patient registry need to be deployed on Widlfly-18.
applications : [general considerations for WildFly 18](/gazelle-documentation/General/wildfly18.html)
Please read first the documentation on how to install and configure this server for Gazelle
applications : [general considerations for WildFly 18](https://gazelle.ihe.net/gazelle-documentation/General/wildfly18.html)
### Database
#### Database configuration
Patient registry is using Patient Manager's database. It only needs a datasource connection declared in wildfly 18.
Patient registry is using Patient Manager's database. It only needs a datasource connection declared in wildfly 18.
See [Setup datasources for gazelle applications](/gazelle-documentation/General/wildfly18.html#setup-datasources-for-gazelle-applications)
See [Setup datasources for gazelle applications](https://gazelle.ihe.net/gazelle-documentation/General/wildfly18.html#setup-datasources-for-gazelle-applications)
**Datasource name** : `patientRegistryDS`
**Datasource name** : `patientRegistryDS`
**Database name** : `pam-simulator`
**Database name** : `pam-simulator`
### Deployment
#### Deployment
Copy the **jar** artifact app.patient-registry-service-X.X.X.jar in the deployment folder of the wildfly installation under the name
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.
**patient-registry.jar**. This is important for the path on which Patient Registry's web services will be exposed.
Start wildfly. The API can be accessed at (depending on your configured host and port)
Start wildfly. The API can be accessed at (depending on your configured host and port)
For Patient processing Service :
For Patient processing Service :
* GITB Processing Service : [GET http://localhost:8380/patient-registry/CrossReferenceService/xref-processing-service?wsdl ](http://localhost:8380/patient-registry/PatientProcessingService/patient-processing-service?wsdl)
* GITB Processing Service : GET <http://localhost:8380/patient-registry/PatientProcessingService/patient-processing-service?wsdl>
For CrossReference Processing Service :
* GITB Processing Service : GET <http://localhost:8380/patient-registry/CrossReferenceService/xref-processing-service?wsdl>
For CrossReference Processing Service :
## PDQm Connector
- GITB Processing Service : [GET http://localhost:8380/patient-registry/CrossReferenceService/xref-processing-service?wsdl ](http://localhost:8380/patient-registry/CrossReferenceService/xref-processing-service?wsdl)
# PDQm Connector
PDQm Connector is a connector for Patient Registry. It is dedicated to interface FHIR requests defined in PDQm standard to and the
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.
Patient Registry API for patient demographics and identifiers test data management.
## Sources & binaries
### Sources & binaries (PDQm)
The sources are accessible here: [https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/pdqmsimulator](https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/pdqmsimulator)
The sources are accessible here: [https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/pdqmsimulator](https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/pdqmsimulator)
Bugs and issue tracking are accessible in the same project as the Patient Registry :
Bugs and issue tracking are accessible in the same project as the Patient Registry :
The name of the latest release, can be obtained in the "Releases" section.
The name of the latest release, can be obtained in the "Releases" section.
To get official artifact (binaries), search for `pdqm-connector-service` in IHE Nexus : [https://gazelle.ihe.net/nexus](https://gazelle.ihe.net/nexus/#nexus-search;quick~pdqm-connector-service)
To get official artifact (binaries), search for `pdqm-connector-service` in IHE Nexus : [https://gazelle.ihe.net/nexus](https://gazelle.ihe.net/nexus/#nexus-search;quick~pdqm-connector-service)
and select the **pdqm-connector.war** artifact for download.
and select the **pdqm-connector.war** artifact for download.
## Installation
### Installation (PDQm)
### 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
#### Patient Manager dependency (PDQm)
the simulator. Please follow [Patient Manager installation process](/gazelle-documentation/Patient-Manager/installation.html).
PDQm Connector needs at least Patient Manager version 9.11.6.
Same as [Patient Manager Dependency for PATREG](#patient-manager-dependency)
PDQm also needs Patient Registry to be installed.
**AND** PDQm also needs Patient Registry to be installed with connector version >1.0.x, you will need Patient Registry version >1.0.x.
With connector version 1.0.x, you will need Patient Registry version 1.0.x.
#### Operational Preferences (PDQm)
### Operational Preferences
PDQm connector defines mandatory Operational Preferences that you will have to define in your Application server.
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](/gazelle-documentation/General/wildfly18.html)
To know how to do that, see [General considerations for WildFly 18](/gazelle-documentation/General/wildfly18.html)
...
@@ -106,125 +105,142 @@ This resource should refer to a deployment.properties file. This file shall cont
...
@@ -106,125 +105,142 @@ This resource should refer to a deployment.properties file. This file shall cont
| Property Name | Description | Example value |
| Property Name | Description | Example value |
|--------------|-----------|------------|
|--------------|-----------|------------|
| patientregistry.url | URL of the Patient Registry Processing Service used to manage patients. | http://localhost:8580/patient-registry/patient-registry/PatientProcessingService/patient-processing-service?wsdl|
| patientregistry.url | URL of the Patient Registry Processing Service used to manage patients. | <https://example.com/patient-registry/patient-registry/PatientProcessingService/patient-processing-service?wsdl>|
### 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
#### Application server (PDQm)
applications : [General considerations for WildFly 18](/gazelle-documentation/General/wildfly18.html)
PDQm 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](/gazelle-documentation/General/wildfly18.html)
5. Stop Wildfly and edit standalone.xml in `/usr/local/wildfly18/standalone/configuration` ; add the factories binding in the naming subsystem :
5. 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``
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`
* Retrieve : GET <https://www.example.com/pdqm-connector/Patient/{id}>
* Search : POST <https://www.example.com/pdqm-connector/Patient>
## PIXm Connector
PIXm Connector is a connector for Patient Registry. It is dedicated to interface FHIR requests defined in PIXm standard to and the
PIXm Connector is a connector for Patient Registry. It is dedicated to interface FHIR requests defined in PIXm standard to and the
Patient Registry API for patient demographics and identifiers test data management.
Patient Registry API for patient demographics and identifiers test data management.
## Sources & binaries
### Sources & binaries (PIXm)
The sources are accessible here: [https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/pixm-connector](https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/pixm-connector.)
The sources are accessible here: <https://gitlab.inria.fr/gazelle/applications/test-execution/simulator/pixm-connector>.
Bugs and issue tracking are accessible in the same project as the Patient Registry :
Bugs and issue tracking are accessible in the same project as the Patient Registry :
The name of the latest release, can be obtained in the "Releases" section.
The name of the latest release, can be obtained in the "Releases" section.
To get official artifact (binaries), search for `pixm-connector` in IHE Nexus : [https://gazelle.ihe.net/nexus](https://gazelle.ihe.net/nexus/#nexus-search;quick~pixm-connector-service)
To get official artifact (binaries), search for `pixm-connector-service` in IHE Nexus : [https://gazelle.ihe.net/nexus](https://gazelle.ihe.net/nexus/#nexus-search;quick~pixm-connector-service)
and select the **pixm-connector.war** artifact for download.
and select the **pixm-connector.war** artifact for download.
## Installation
### Installation (PIXm)
#### Patient Manager dependency (PIXm)
### Patient Manager dependency
Same as [Patient Manager dependency for PATREG](#patient-manager-dependency)
PIXm Connector, as Patient Registry, depends currently on the database of Patient Manager. It will use it to save transaction exchanged between SUTs and
PIXm also needs Patient Registry to be installed:
the simulator. Please follow [Patient Manager installation process](/gazelle-documentation/Patient-Manager/installation.html).
PIXm Connector needs at least Patient Manager version 9.11.6.
|PIXm version|PATREG version|
|:---:|:---:|
|`1.0.0`|`2.0.0`|
|`2.0.0`|`2.1.0`|
|`3.0.0`|`2.2.0`|
PIXm also needs Patient Registry to be installed.
#### Matchbox and Http-Validator dependencies (PIXm)
With connector version 1.0.x, you will need Patient Registry version 2.0.x.
Since `3.0.0` PIXm needs two deployed applications for validation:
### Operational Preferences
* HTTP-validator with the install documentation [here](https://gitlab.inria.fr/gazelle/public/validation/http-validator/-/blob/06997c194efc0f775d9af1c2aa7ae49e13d4d06d/documentation/installation.md).
* Matchbox with the install documentation [here](https://github.com/ahdis/matchbox/blob/29da3b9dfec2334ceb031346ef12d0e08a626122/README.md)
#### Operational Preferences
PIXm connector defines mandatory Operational Preferences that you will have to define in your Application server.
PIXm 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](/gazelle-documentation/General/wildfly18.html)
To know how to do that, see [General considerations for WildFly 18](/gazelle-documentation/General/wildfly18.html)
/!\ Since `3.0.0` PIXm connector needs to be installed in Wildfly version that supports `JDK 17`. But the tutorial remains the same as Wildfly 18.
|PIXm version|JDK version|Wildfly version|
|:---:|:---:|:---:|
|`1.0.0`|11|18.0.1.Final|
|`2.0.0`|11|18.0.1.Final|
|`3.0.0`|17|30.0.1.Final|
Define a resource in your server with name *java:/app/gazelle/pixm-connector/operational-preferences*.
Define a resource in your server with name *java:/app/gazelle/pixm-connector/operational-preferences*.
```xml
```xml
<subsystemxmlns="urn:jboss:domain:naming:2.0">
<subsystemxmlns="urn:jboss:domain:naming:2.0">
<bindings>
<bindings>
...
@@ -238,74 +254,57 @@ Define a resource in your server with name *java:/app/gazelle/pixm-connector/ope
...
@@ -238,74 +254,57 @@ Define a resource in your server with name *java:/app/gazelle/pixm-connector/ope
</subsystem>
</subsystem>
```
```
Replace this property `${DEPLOYMENT_PROPERTIES}` with your own path to the deploymentproperty file.
Replace this property `${DEPLOYMENT_PROPERTIES}` with the path to the `deployment.properties` file (like `/opt/pixm-connector/deployment.properties`)
This resource should refer to a deployment.properties file. This file shall contain the following properties :
This file shall contain the following properties :
| Property Name | Description | Example value
|Property Name| Description | Example value |
| patientregistry.url | URL of the Patient Registry Processing Service used to manage patients. | http://localhost:8580/patient-registry/PatientProcessingService/patient-processing-service?wsdl
|:---:|:---:|:---:|
| xrefpatientregistry.url | URL of the CrossReference Processing Service used to XReference. | http://localhost:8580/patient-registry/CrossReferenceService/xref-processing-service?wsdl |
| patientregistry.url | URL of the Patient Registry Processing Service used to manage patients.| <https://example.com/patient-registry/PatientProcessingService/patient-processing-service?wsdl>|
| xrefpatientregistry.url | URL of the CrossReference Processing Service used to XReference. | <https://example.com/patient-registry/CrossReferenceService/xref-processing-service?wsdl> |
### Application server
Since version `3.0.0` PIXm needs:
Patient registry need to be deployed on Wildfly-18. Please read first the documentation on how to install and configure this server for Gazelle
* endpoints for matchbox and http-validator
applications : [General considerations for WildFly 18](/gazelle-documentation/General/wildfly18.html)
* profiles id (URL + headers validation with http-validator)
* profile canonical url (body validation with Matchbox FHIR)
|Property Name| Description | Example value |
|:---:|:---:|:---:|
|APP_HTTP_VALIDATOR_SERVER|Endpoint of HTTP-Validator|<https://www.example.com/http-validator>|
|PROFILE_ID_CREATE_UPDATE_DELETE_ITI_104|Profile ID for ITI-104|IHE_ITI-104-PatientFeed_Query|
|PROFILE_ID_POST_ITI_83|Profile ID for POST ITI-83|IHE_ITI-83_POST_PIXm_Query|
|PROFILE_ID_GET_ITI_83|Profile ID for GET ITI-83|IHE_ITI-83_GET_PIXm_Query|
|APP_IG_FHIR_SERVER|Endpoint for Matchbox|<https://www.example.com/matchboxv3/fhir>|
|PIXM_PATIENT_PROFILE|Canonical URL for PIXm Patient Profile|<https://profiles.ihe.net/ITI/PIXm/StructureDefinition/IHE.PIXm.Patient>|
|PIXM_PARAMETERS_PROFILE|Canonical URL for PIXm Paramaters Profile|<https://profiles.ihe.net/ITI/PIXm/StructureDefinition/IHE.PIXm.Query.Parameters.In>|
#### Configure WildFly 18 for Pixm Connector
#### Application server (PIXm)
Install factories module
Same as [Application Server (PDQm)](#application-server-pdqm) for both Wildfly 18 and Wildfly 30.
cd /usr/local/wildfly18/modules/system/layers/base/net/ihe/gazelle/factories/main
```
2. Download module `factories.jar`
Copy the **war** artifact `pixm-connector-X.X.X.war` (<3.0.0)or`pixm-connector-service-X.X.X.war`(>= 3.0.0) in the deployment folder of the wildfly installation under the name