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 à 11: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: