Différences entre les versions de « Transaction examples »

De EPD Playground
Aller à la navigation Aller à la recherche
Ligne 154 : Ligne 154 :
     ]
     ]
   }
   }
==== Search patient by any identifier ====
When known, a patient can be searched by any identifier, like the EPR-SPID, the communitys MPI or a local id (e.g. from a primary system):
* EPR-SPID: [https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=2.16.756.5.30.1.127.3.10.3|DEMO https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=2.16.756.5.30.1.127.3.10.3|DEMO]
* MPI: [https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=1.1.1.99.1|0f5a8034-3c8a-4796-bd39-d3ea877a4155 https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=1.1.1.99.1|0f5a8034-3c8a-4796-bd39-d3ea877a4155]
* local id: [https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=2.16.756.5.30.1.178.1.1|PATIENT1 https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=2.16.756.5.30.1.178.1.1|PATIENT1]

Version du 22 septembre 2021 à 16:38

This page lists examples of transactions using the Mobile Access Gateway to access the EPD Playground.

Create Patient

Profile Patient Master Identity Registry (PMIR)
Transaction Mobile Patient Identity Feed [ITI-93]
SOAP Transaction Patient Identity Feed HL7 V3 [ITI-44]

The following example creates a patient ALAN ALPHA (which, by the way, also exists in the gazelle reference environment):

 POST https://test.ahdis.ch/mag-bfh/fhir/$process-message

 {
   "resourceType": "Bundle",
   "type": "message",
   "entry": [
     {
       "fullUrl": "http://example.com/fhir/MessageHeader/1",
       "resource": {
         "resourceType": "MessageHeader",
         "id": "1",
         "eventUri": "urn:ihe:iti:pmir:2019:patient-feed",
         "source": {
           "endpoint": "http://example.com/patientSource"
         },
         "focus": [
           {
             "reference": "Patient/123"
           }
         ],
         "destination": [
           {
             "endpoint": "http://example.com/patientEndpoint"
           }
         ]
       }
     },
     {
       "fullUrl": "http://example.com/fhir/Patient/123",
       "resource": {
         "resourceType": "Patient",
         "id": "123",
         "contained": [
           {
             "resourceType": "Organization",
             "id": "1",
             "identifier": [
               {
                 "system": "urn:oid:2.16.756.5.30.1.178.1.1",
                 "value": "Klinik H\u00f6heweg"
               }
             ],
             "name": "Klinik H\u00f6heweg",
             "contact": [
               {
                 "name": {
                   "family": "Test",
                   "given": [
                     "Hugo"
                   ]
                 }
               }
             ]
           }
         ],
         "identifier": [
           {
             "system": "urn:oid:2.16.756.5.30.1.178.1.1",
             "value": "PATIENT1",
             "assigner": {
               "display": "Klinik H\u00f6heweg"
             }
           },
           {
             "system": "urn:oid:2.16.756.5.30.1.127.3.10.3",
             "value": "DEMO"
           }
         ],
         "name": [
           {
             "family": "ALPHA",
             "given": [
               "ALAN"
             ]
           }
         ],
         "gender": "male",
         "birthDate": "1938-02-24",
         "address": [
           {
             "line": "1_PINETREE",
             "city": "WEBSTER",
             "state": "MD",
             "postalCode": "63119"
           }
         ],
         "managingOrganization": {
           "reference": "#1"
         }
       },
       "request": {
         "method": "POST"
       }
     }
   ]
 }
  • The id in the Patient resource (e.g. "123") does not matter, but has to match the id linked in the Messageheader (focus.reference: "Patient/123").
  • The creating organization must be present as a contained resource Organization and linked from the Patient resource under managingOrganization ("#1").
  • In the point identifier the local patient-id in the creating organization (e.g. the "Klinik Höheweg" with OID 2.16.756.5.30.1.178.1.1) as well as the EPR-SPID (with the official OID 2.16.756.5.30.1.127.3.10.3) are listed.

Search patient

Search MPI Identifier using the EPR-SPID

 GET https://test.ahdis.ch/mag-bfh/fhir/Patient/$ihe-pix?sourceIdentifier=urn:oid:2.16.756.5.30.1.127.3.10.3%7CDEMO

Which should get you the following response body:

 {
   "resourceType": "Parameters",
   "parameter": [
     {
       "name": "targetIdentifier",
       "valueIdentifier": {
         "system": "urn:oid:1.1.1.99.1",
         "value": "0f5a8034-3c8a-4796-bd39-d3ea877a4155"
       }
     }
   ]
 }


Search local id using the EPR-SPID

 GET https://test.ahdis.ch/mag-bfh/fhir/Patient/$ihe-pix?sourceIdentifier=urn:oid:2.16.756.5.30.1.127.3.10.3%7CDEMO&targetSystem=urn:oid:2.16.756.5.30.1.178.1.1

Which should get you the following response body:

 {
   "resourceType": "Parameters",
   "parameter": [
     {
       "name": "targetIdentifier",
       "valueIdentifier": {
         "system": "urn:oid:2.16.756.5.30.1.178.1.1",
         "value": "PATIENT1"
       }
     }
   ]
 }

Search patient by any identifier

When known, a patient can be searched by any identifier, like the EPR-SPID, the communitys MPI or a local id (e.g. from a primary system):