Différences entre les versions de « Transaction examples »
Ligne 120 : | Ligne 120 : | ||
=== Search patient === | === Search patient === | ||
==== Search MPI Identifier using the EPR-SPID ==== | |||
<code>GET https://test.ahdis.ch/mag-bfh/fhir/Patient/$ihe-pix?sourceIdentifier=urn:oid:2.16.756.5.30.1.127.3.10.3|DEMO</code> | Notice: the newest PIXm specifications don't allow anymore to query all patient id's at once. A "target system" has to be given in the query. | ||
==== Search MPI Identifier using the EPR-SPID (PIXm) ==== | |||
* OID of the EPD Playground's MPI: 1.1.1.99.1 | |||
* OID of the EPR-SPID: 2.16.756.5.30.1.127.3.10.3 | |||
<code>GET [https://test.ahdis.ch/mag-bfh/fhir/Patient/$ihe-pix?sourceIdentifier=urn:oid:2.16.756.5.30.1.127.3.10.3|DEMO&targetSystem=urn:oid:1.1.1.99.1 https://test.ahdis.ch/mag-bfh/fhir/Patient/$ihe-pix?sourceIdentifier=urn:oid:2.16.756.5.30.1.127.3.10.3|DEMO&targetSystem=urn:oid:1.1.1.99.1]</code> | |||
Which should get you the following response body: | Which should get you the following response body: | ||
{ | { | ||
"resourceType": "Parameters", | "resourceType": "Parameters", | ||
Ligne 136 : | Ligne 145 : | ||
] | ] | ||
} | } | ||
==== Search local id using the EPR-SPID (PIXm) ==== | |||
* OID of the Klinik Höheweg: 1.1.1.99.1 | |||
* OID of the EPR-SPID: 2.16.756.5.30.1.127.3.10.3 | |||
<code>GET [https://test.ahdis.ch/mag-bfh/fhir/Patient/$ihe-pix?sourceIdentifier=urn:oid:2.16.756.5.30.1.127.3.10.3|DEMO&targetSystem=urn:oid:2.16.756.5.30.1.178.1.1 https://test.ahdis.ch/mag-bfh/fhir/Patient/$ihe-pix?sourceIdentifier=urn:oid:2.16.756.5.30.1.127.3.10.3|DEMO&targetSystem=urn:oid:2.16.756.5.30.1.178.1.1]</code> | |||
<code>GET https://test.ahdis.ch/mag-bfh/fhir/Patient/$ihe-pix?sourceIdentifier=urn:oid:2.16.756.5.30.1.127.3.10.3|DEMO&targetSystem=urn:oid:2.16.756.5.30.1.178.1.1</code> | |||
Which should get you the following response body: | Which should get you the following response body: | ||
{ | { | ||
"resourceType": "Parameters", | "resourceType": "Parameters", | ||
Ligne 155 : | Ligne 169 : | ||
} | } | ||
==== Search patient by any identifier ==== | ==== Search patient by any identifier (PDQm) ==== | ||
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): | 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: <code>GET [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]</code> | * EPR-SPID: <code>GET [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]</code> | ||
* MPI: <code>GET [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]</code> | * MPI: <code>GET [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]</code> | ||
* local id: <code>GET [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]</code> | * local id: <code>GET [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]</code> | ||
This returns a FHIR Bundle: | This returns a FHIR Bundle: | ||
{ | { | ||
"resourceType": "Bundle", | "resourceType": "Bundle", | ||
Ligne 211 : | Ligne 228 : | ||
==== Search patient by gender ==== | ==== Search patient by gender ==== | ||
<code>GET https://test.ahdis.ch/mag-bfh/fhir/Patient?gender=male</code> | <code>GET https://test.ahdis.ch/mag-bfh/fhir/Patient?gender=male</code> | ||
=== Upload a document === | === Upload a document === | ||
{| class="wikitable" | {| class="wikitable" | ||
|Profile | |Profile |
Version du 26 octobre 2021 à 12:04
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
Notice: the newest PIXm specifications don't allow anymore to query all patient id's at once. A "target system" has to be given in the query.
Search MPI Identifier using the EPR-SPID (PIXm)
- OID of the EPD Playground's MPI: 1.1.1.99.1
- OID of the EPR-SPID: 2.16.756.5.30.1.127.3.10.3
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 (PIXm)
- OID of the Klinik Höheweg: 1.1.1.99.1
- OID of the EPR-SPID: 2.16.756.5.30.1.127.3.10.3
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 (PDQm)
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:
GET https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=2.16.756.5.30.1.127.3.10.3|DEMO
- MPI:
GET https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=1.1.1.99.1|0f5a8034-3c8a-4796-bd39-d3ea877a4155
- local id:
GET https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=2.16.756.5.30.1.178.1.1|PATIENT1
This returns a FHIR Bundle:
{ "resourceType": "Bundle", "id": "47b0e100-5475-45e3-9dd2-0ae422bdbed9", "meta": { "lastUpdated": "2021-03-25T10:28:44.250+00:00" }, "type": "searchset", "total": 1, "link": [ { "relation": "self", "url": "https://test.ahdis.ch/mag-bfh/fhir/Patient?identifier=2.16.756.5.30.1.127.3.10.3%7CDEMO" } ], "entry": [ { "fullUrl": "https://test.ahdis.ch/mag-bfh/fhir/Patient/1.1.1.99.1-0f5a8034-3c8a-4796-bd39-d3ea877a4155", "resource": { "resourceType": "Patient", "id": "1.1.1.99.1-0f5a8034-3c8a-4796-bd39-d3ea877a4155", "identifier": [ { "system": "urn:oid:1.1.1.99.1", "value": "0f5a8034-3c8a-4796-bd39-d3ea877a4155" } ], "active": true, "name": [ { "family": "ALPHA", "given": [ "ALAN" ] } ], "gender": "male", "birthDate": "1938-02-24", "address": [ { "city": "WEBSTER", "state": "MD", "postalCode": "63119" } ] } } ] }
Search patient by gender
GET https://test.ahdis.ch/mag-bfh/fhir/Patient?gender=male
Upload a document
Profile | Mobile Access to Health Documents | (MHD) |
Transaction | Provide Document Bundle | [ITI-65] |
SOAP Transaction | Provide and Register Document Set | [ITI-41] |
The following example creates a document for the patient ALAN ALPHA:
POST https://test.ahdis.ch/mag-bfh/fhir
{ "id": "2-7-BundleProvideDocument", "resourceType": "Bundle", "meta": { "profile": [ "http://ihe.net/fhir/StructureDefinition/IHE_MHD_Provide_Minimal_DocumentBundle" ] }, "type": "transaction", "entry": [ { "fullUrl": "urn:uuid:d8d1fe44-07e9-4a84-985f-fde97d77d54b", "resource": { "resourceType": "Binary", "contentType": "text/xml", "data": "<Base64 kodiertes Dokumenteninhalt>" }, "request": { "method": "POST", "url": "urn:uuid:d8d1fe44-07e9-4a84-985f-fde97d77d54b" } }, { "fullUrl": "urn:uuid:68a928c0-df48-4743-a291-bfb0609bbddc", "resource": { "resourceType": "DocumentManifest", "masterIdentifier": { "value": "urn:oid:1.3.6.1.4.1.12559.11.13.2.6.2955" }, "identifier": [ { "system": "urn:ietf:rfc:3986", "value": "urn:uuid:8c3e40b2-3cf9-4980-b4fb-cc84ba8a181a" } ], "status": "current", "type": { "coding": [ { "system": "http://snomed.info/sct", "code": "71388002", "display": "Procedure (procedure)" } ] }, "subject": { "reference": "https://test.ahdis.ch/mag-bfh/fhir/Patient/1.1.1.99.1-0f5a8034-3c8a-4796-bd39-d3ea877a4155" }, "content": [ { "reference": "urn:uuid:50383ae5-49e5-4dea-b0e6-660cb9e7b91f" } ], "created": "2020-06-29T12:01:30+00:00", "source": "urn:oid:1.3.6.1.4.1.12559.11.13.2.5", "description": "Hello World example neu" }, "request": { "method": "POST", "url": "urn:uuid:68a928c0-df48-4743-a291-bfb0609bbddc" } }, { "fullUrl": "urn:uuid:50383ae5-49e5-4dea-b0e6-660cb9e7b91f", "resource": { "resourceType": "DocumentReference", "contained": [ { "resourceType": "Patient", "id": "1", "identifier": [ { "use": "official", "system": "1.1.1.99.1", "value": "0f5a8034-3c8a-4796-bd39-d3ea877a4155" } ] } ], "masterIdentifier": { "value": "urn:oid:1.3.6.1.4.1.12559.11.13.2.1.2956" }, "identifier": [ { "use": "official", "system": "urn:ietf:rfc:3986", "value": "urn:uuid:50383ae5-49e5-4dea-b0e6-660cb9e7b91f" } ], "status": "current", "type": { "coding": [ { "system": "http://snomed.info/sct", "code": "721912009", "display": "Medication summary document (record artifact)" } ] }, "category": [ { "coding": [ { "system": "http://snomed.info/sct", "code": "422735006", "display": "Summary clinical document (record artifact)" } ] } ], "subject": { "reference": "https://test.ahdis.ch/mag-bfh/fhir/Patient/1.1.1.99.1-0f5a8034-3c8a-4796-bd39-d3ea877a4155" }, "source": "urn:oid:1.3.6.1.4.1.12559.11.13.2.5", "date": "2020-06-29T11:58:00.000+00:00", "description": "2-7-MedicationCard", "securityLabel": [ { "coding": [ { "system": "http://snomed.info/sct", "code": "17621005", "display": "Normal (qualifier value)" } ] } ], "content": [ { "attachment": { "contentType": "text/xml", "language": "de-CH", "url": "urn:uuid:d8d1fe44-07e9-4a84-985f-fde97d77d54b", "size": 309219 }, "format": { "system": "urn:oid:1.3.6.1.4.1.19376.1.2.3", "code": "urn:ihe:pharm:pml:2013", "display": "Community Medication List" } } ], "context": { "facilityType": { "coding": [ { "system": "http://snomed.info/sct", "code": "264358009", "display": "General practice premises (environment)" } ] }, "practiceSetting": { "coding": [ { "system": "http://snomed.info/sct", "code": "394802001", "display": "General medicine (qualifier value)" } ] }, "sourcePatientInfo": { "reference": "#1" } } }, "request": { "method": "POST", "url": "urn:uuid:5604f114-bf96-4c12-8dac-25715a05cf3f" } } ] }
Search and retrieve a document
Search for DocumentReferences
A FHIR search for DocumentReferences returns a Bundle of DocumentReference resources. Each DocumentReference represents one available document and contains the link for retrieving the document (see below).
Search for SubmissionSets
A FHIR search for List returns a Bundle of List resources. Each List resource represents a submission set, which are documents for a patient that were uploaded together. The List resources refer to the DocumentReference resources, that then contain the link to the actual document.
Retrieve a document
In the DocumentReference resource, under content[0].attachment.url
, you find the link to the actual document.
{ "resourceType": "DocumentReference", ... "content": [ { "attachment": { "contentType": "text/xml", "language": "de-CH", "url": "http://test.ahdis.ch/mag-bfh/camel/xdsretrieve?uniqueId=92100cf9-e6e8-4bf8-a61c-2ee66e69eb2c&repositoryUniqueId=1.1.1.2.31", "size": 80461, "hash": "ZGU4YzRmNDM4ZjAzNmRmNDM0MDUyZWRjYjIzMTNjNDUzOTMyNzg1MQ==", "creation": "2020-06-29T11:58:00+00:00" }, "format": { "system": "urn:oid:1.3.6.1.4.1.19376.1.2.3", "code": "urn:ihe:pharm:pml:2013", "display": "Community Medication List" } } ], ... }
Using this link, you can fetch the document with a GET request: