diff --git a/Patient-Registry/user.md b/Patient-Registry/user.md new file mode 100644 index 0000000000000000000000000000000000000000..242557a36a4b2e36e688f203138ffb2a903fe57d --- /dev/null +++ b/Patient-Registry/user.md @@ -0,0 +1,124 @@ +--- +title: User Manual +subtitle: Patient Registry +author: Franck Desaize +releasedate: 2021-07-09 +toolversion: 1.0.x +function: Engineer +version: 0.1 +status: in writing +--- + +# Introduction +The Patient Registry Tool + +# Pixm Connector + +--- +### Prerequisites +- Java 11 with maven. +- WildFly 18. +--- +### Build project locally + +After cloning this repository to your local installation launch + +```bash + > mvn clean install +``` + +from the project root directory. + + +The artifact pixm_fhir_server.war will be created in target/ directory. + + +--- +### Deploy on WildFly server + +After building the project through Maven, the artifact created just has to be added to your local WildFly installation in the folder +```bash + {$wildfly.home}/standalone/deployments +``` + +--- +### Request a Patient on a specific Target Identifier + +Once the project deployed on your WildFly, you can now call it to request a cross Referenced Patient in the Patient Registry. + +Parameters allowed are : + +- The Patient Identifier and the Target System attributed to this identifier +- The Target System you want the cross reference from. +- The format returned. + +Cardinality for these parameters will be described in each profile since it's the main difference between each. + +#### IHE Profile + +The URL to call is +```http + {wildfly18.address}/pixm_fhir_server/fhir_ihe/Patient/$ihe-pix +``` + + +|Parameter name|Cardinality|Parameter Type|Description| +|--------------|-----------|--------------|-----------| +|sourceIdentifier|1..1|Token|The Patient identifier search parameter that will be used by the Patient Identifier Cross-reference Manager to find cross matching identifiers associated with the Patient Resource +|targetSystem|0..*|uri|The target Patient Identifier Assigning Authority from which the returned identifiers should be selected.| +|_format|0..1|mime-type|The requested format of the response. Accepted values : JSON and XML| + +#### CH Profile + +The URL to call is +```http + {wildfly18.address}/pixm_fhir_server/fhir_ch/Patient/$ihe-pix +``` + + +|Parameter name|Cardinality|Parameter Type|Description| +|--------------|-----------|--------------|-----------| +|sourceIdentifier|1..1|Token|The Patient identifier search parameter that will be used by the Patient Identifier Cross-reference Manager to find cross matching identifiers associated with the Patient Resource +|targetSystem|1..2|uri|The target Patient Identifier Assigning Authority from which the returned identifiers should be selected.| +|_format|0..1|mime-type|The requested format of the response. Accepted values : JSON and XML| + +For example : +Given the Patient with the ID 69420 in the Target System 1.3.6.1.4.1.21367.13.20.3000 +And you want the cross referenced patient in the target system 1.3.6.1.4.1.21367.13.20.1000 + +The corresponding url will be : + +```http + {wildfly18.address}/pixm_fhir_server/fhir_ihe/Patient/$ihe-pix?sourceIdentifier=urn:oid:1.3.6.1.4.1.21367.13.20.3000|69420&targetSystem=urn:oid:1.3.6.1.4.1.21367.13.20.1000 +``` + +--- +### Error returned +Malformed requests can cause different types of error, here is a quick overview of how to troubleshoot them : + +- An error 400 Bad Request is returned when the source domain given within the source identifier parameter is not recognized by the Patient Registry as an asigning authority. +In the case of our request above, the value "urn:oid:1.3.6.1.4.1.21367.13.20.3000" is not a valid source domain able to register Patients + +Common mistakes with the source domain include : +- Forgetting the namespace in front of the adress (urn:oid:) +- Malformed source domain. +The source domain can have the form of an url +```http +sourceIdentifier=https://your.domain|id +``` +or of an adress, which must follows the pattern x.x.x.x.x.x.x.x.x.x +```http +sourceIdentifier=urn:oid:x.x.x.x.x.x.x.x.x.x|id +``` + +--- + +- An error 403 Forbidden is returned when a target domain given in the target system parameter is not recognized by the Patient Registry. +In the case of our request above, the value "urn:oid:1.3.6.1.4.1.21367.13.20.1000" is not recognized as a valid target domain containing Patients. + +Common mistakes with the target system are the same as the aformentioned error 400 since the target system and the source domain have the same representation. + +--- + +- An error 404 Not Found is returned when the patient identifier given within the source identifier parameter is not recognized by the Patient registry. +In the case of our request above, the value "69420" is not a valid Identifier linked to an existing Patient.