Interfaces Transformatie Server
TS Metadata Interface
Deze interface is slechts bedoeld voor gebruik door VZVZ-componenten, en kan niet (rechtstreeks) worden gebruikt door GBx-applicaties.
Feature | |
---|---|
Type | Service |
Versie | 1.0.0 |
Systeemrolcode | - |
Groep | Transformatie |
Gepubliceerd |
|
Delta | Initiële versie van feature. |
Use case | - |
Feature | Versie | Dependency | Aanbieder | Afnemer |
---|---|---|---|---|
1.0.0 | - | >=* |
De metadata van de transformatie server kan worden opgehaald via:
GET [base endpointadres]/metadata/v1
De response bevat de volgende headers:
Cache-Control: must-revalidate, max-age=<max-age-ts-metadata>
Pragma: no-cache
Een client mag verkregen metadata conform de Cache-Control
header directives, zoals beschreven in RFC 7234, cachen.
De waarde van max-age-ts-metadata
is configureerbaar in de transformatie server. Initiële waarde is 14400 seconden (4 uur).
De metadata wordt in JSON formaat geretourneerd en bestaat uit een array van algoritmes, waarvoor een transformatie bestaat in AORTA. Een algoritme object heeft het volgende formaat:
Name | Cardinality | Type | Toelichting |
id | 1..1 | String | Uniek ID van het transformatie algoritme. Het ID is als volgt opgebouwd:
|
input | 1..n | Vereiste input voor dit algoritme | |
input.type | 1..1 | String | Type van dit input bericht. Mogelijke waarden: "request", "response". |
input.protocol | 1..n | String | Protocol van dit input bericht. Mogelijke waarden: "application/fhir+xml" of "application/fhir+json" of "application/hl7-v3+xml". |
input.protocol-version | 1..1 | String | Versie van de protocol van dit input bericht. Mogelijke waarden: “STU3”, “R4”, “v3” |
input.interaction-id | 1..1 | String | Interactie-id van dit input bericht. |
output | 1..n | Opgeleverde output bericht(en) door dit algoritme. | |
output.type | 1..1 | String | Type van dit output bericht. Mogelijke waarden: "request", "response". |
output.protocol | 1..n | String | Protocol van dit output bericht. Mogelijke waarden: "application/fhir+xml" of "application/fhir+json" of "application/hl7-v3+xml". |
output.protocol-version | 1..1 | String | Versie van de protocol van dit output bericht. Mogelijke waarden: “STU3”, “R4”, “v3” |
output.interaction-id | 1..1 | String | Interactie-id van dit output bericht. |
Een voorbeeld metadata response is hieronder gegeven:
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": "1.2",
"input": [{
"type": "response",
"protocol": ["application/hl7-v3+xml"],
"protocol-version": "v3",
"interaction-id": "MCCI_IN000002"
},
{
"type": "request",
"protocol": ["application/fhir+json", "application/fhir+xml"],
"protocol-version": "STU3",
"interaction-id": "create:zib-BloodPressure:3"
}
],
"output": [{
"type": "response",
"protocol": ["application/fhir+json", "application/fhir+xml"],
"protocol-version": "STU3",
"interaction-id": "create:zib-BloodPressure:3"
}]
},
{
"id": "2.2",
"input": [{
"type": "response",
"protocol": ["application/hl7-v3+xml"],
"protocol-version": "v3",
"interaction-id": "QUAF_IN990003NL01"
}],
"output": [{
"type": "response",
"protocol": ["application/fhir+json", "application/fhir+xml"],
"protocol-version": "STU3",
"interaction-id": "search:eAfspraak-Appointment:2"
}]
}
]
Transformatie Interface
Deze interface is slechts bedoeld voor gebruik door VZVZ-componenten, en kan niet (rechtstreeks) worden gebruikt door GBx-applicaties.
De scope is beperkt tot het HL7v3-bericht, inclusief de wrappers. De SOAP laag valt buiten de scope van de transformatieservice.
Generiek
Formaat van een transformatierequest
AOF.TS-I.FTR.100.v2
Middels één transformatierequest kan één (request of response) bericht worden getransformeerd.
Het generieke formaat is:
POST [base endpointadres]/to-xxx/vn
Content-Type: application/json; charset=utf-8
AORTA-ID: initialRequestID=<UUID conform RFC4122>; requestID=<UUID conform RFC4122>
{
meta: {
format_in : "",
protocol_in : "",
protocol_out : "",
transformation-id : ""
},
content_in : ""
}
Het initialRequestID attribuut bevat bevat het ID van het allereerste request in de hele keten en dient te worden opgenomen in de logbestanden van alle partijen in de keten, zodat bij foutopsporing de verschillende logbestanden aan elkaar kunnen worden gerelateerd. Het requestID is voor iedere request message uniek. In requests wordt deze gegenereerd door de client. Ook het requestID dient te worden opgenomen in de verschillende logbestanden, zodat altijd duidelijk is op welk bericht een log entry van toepassing is.
Formaat van een transformatieresponse
AOF.TS-I.FOT.100.v2
Omdat een (request of response) bericht na transformatie uiteen kan vallen in meerdere berichten bevat een transformatieresponse een JSON array. Ieder object in deze array bestaat uit inhoud en metadata betreffende deze inhoud. Het generieke formaat is:
200 OK
Content-Type: application/json; charset=utf-8
[
{
meta: {
format_out : "",
protocol_out : "",
transformation-id : "<id>|<xslt-versie>",
interaction-id : ""
},
content_out : ""
},
{
..
}
]
Generieke parameters
AOF.TS-I.TGP.100.v3
Input voor alle type transformaties is een JSON object met de volgende inhoud:
Name | Cardinality | Type | Toelichting |
meta.format_in | 1..1 | Lege string of een string met waarde escape of base64 | Gehanteerde encodering voor Wordt slechts gevuld wanneer de content een nadere aanduiding vereist bovenop de Content-Type aanduiding "application/json". |
meta.protocol_in | 1..1 | String | Protocol van content_in. |
meta.protocol_out | 1..1 | Gewenst protocol van het output bericht, of van de output berichten. | |
meta.transformation-id | 0..1 | String | Het ID van het te hanteren transformatie algoritme. Indien deze niet wordt meegestuurd, dan probeert de transformatie server zelf, o.b.v. de wel meegezonden informatie, het juiste transformatie algoritme te bepalen. |
content_in | 1..1 | String waarop de benodigde escaping is toegepast, of die base64 geëncodeerde data bevat. | De te vertalen content. |
AOF.TS-I.TGP.200.v2
Output van alle type transformaties is een set van JSON objecten met de volgende inhoud:
Name | Cardinality | Type | Toelichting |
meta.format_out | 1..1 | Zie | Gehanteerde encodering voor |
meta.protocol_out | 1..1 | String | Protocol van het output bericht. |
meta.transformation-id | 1..1 | String | Het ID van het gehanteerde transformatie algoritme (+ de versie van de gebruikte XSLT). Deze informatie wordt ook opgenomen in de content_out zelf, zoals beschreven in toelichting “Transformation-id in getransformeerde content”. |
meta.interaction-id | 1..1 | String | Het interaction-id van het output bericht. |
content_out | 1..1 | Zie | De getransformeerde content. |
Produceren van een v3-request
Feature | |
---|---|
Type | Service |
Versie | 1.0.0 |
Systeemrolcode | - |
Groep | Transformatie |
Gepubliceerd |
|
Delta | Initiële versie van feature. |
Use case |
Feature | Versie | Dependency | Aanbieder | Afnemer |
---|---|---|---|---|
1.0.0 | - | >=* | ||
1.0.0 | AORTA-ID HTTP Header | >=1.0.0 | >=1.0.0 |
Aanroep
AOF.TS-I.PV3.100.v1
POST [base endpointadres]/to-v3-request/v1
Ondersteunde transformaties
AOF.TS-I.PV3.200.v1
Ondersteunde combinaties van meta.protocol_in
en meta.protocol_out
voor deze transformatie zijn:
protocol_in | protocol_out |
---|---|
application/fhir+xml | application/hl7-v3+xml |
application/fhir+json | |
application/hl7-v3+xml |
Deze transformatie is exclusief eventueel benodigde SOAP elementen of hiervoor benodigde HTTP-headers.
Benodigde additionele parameters
AOF.TS-I.PV3.300.v1
Additionele input parameters voor transformatie van FHIR-requests naar v3-requests zijn (onderstaande tabel is niet van toepassing voor transformatie van v3 naar v3):
Name | Cardinality | Type | Toelichting |
meta.patient | 1..1 | String conform één van de volgende formaten
| BSN van de patiënt die onderwerp is van het bericht. |
meta.sender | 1..1 | String conform één van de volgende formaten
| Applicatie-id van de initiërende applicatie. |
meta.receiver | 1..1 | String conform één van de volgende formaten
| Applicatie-id van de ontvangende applicatie. |
meta.overseer | 0..1 | Object | Verplicht aanwezig wanneer sprake is van mandatering. |
meta.overseer.id | 1..1 | String conform één van de volgende formaten
| ID van de verantwoordelijke persoon. |
meta.overseer.role | 1..1 | String conform één van de volgende formaten
| Rolcode van de verantwoordelijke persoon. |
meta.overseer.name | 0..1 | String | Naam van de verantwoordelijke persoon. |
meta.overseer.org | 1..1 | Object | |
meta.overseer.org.id | 1..1 | String conform één van de volgende formaten
| ID van de organisatie die de verantwoordelijke persoon vertegenwoordigt. Indien de verantwoordelijke persoon een patiënt is, dan wordt deze gevuld met het organisatie-id van VZVZ (“urn:oid:2.16.840.1.113883.2.4.3.11.25.00004005”). |
meta.overseer.org.name | 0..1 | String | Naam van de organisatie die de verantwoordelijke persoon vertegenwoordigt. Verplicht vullen indien bekend. Indien de verantwoordelijke persoon een patiënt is, dan wordt deze gevuld met "Vereniging van Zorgaanbieders voor Zorgcommunicatie". Wanneer het attribuut niet wordt meegegeven, dan gebruikt de Transformatie Server, indien noodzakelijk voor de transformatie, een dummy waarde. |
meta.overseer.org.place | 0..1 | String | Vestiging locatie van de organisatie die de verantwoordelijke persoon vertegenwoordigt. Niet verplicht wanneer de verantwoordelijke persoon een patiënt is. Verplicht vullen indien bekend. Wanneer het attribuut niet wordt meegegeven, dan gebruikt de Transformatie Server, indien noodzakelijk voor de transformatie, een dummy waarde. |
meta.author | 1..1 | Object | |
meta.author.id | 1..1 | String conform één van de volgende formaten
| ID van de gebruiker. |
meta.author.role | 0..1 | String conform één van de volgende formaten
| Rolcode van de gebruiker. Wordt niet gebruikt wanneer author.id een nummer bevat van een systeem. In andere situaties verplicht. |
meta.author.org | 1..1 | Object | |
meta.author.org.id | 1..1 | String conform één van de volgende formaten
| ID van de organisatie die de gebruiker vertegenwoordigt. Indien de gebruiker een patiënt is, dan wordt deze gevuld met het organisatie-id van VZVZ (“urn:oid:2.16.840.1.113883.2.4.3.11.25.00004005”). |
meta.author.org.name | 0..1 | String | Naam van de organisatie die de gebruiker vertegenwoordigt. Verplicht vullen indien bekend. Indien de gebruiker een patiënt is, dan wordt deze gevuld met "Vereniging van Zorgaanbieders voor Zorgcommunicatie". Wanneer het attribuut niet wordt meegegeven, dan gebruikt de Transformatie Server, indien noodzakelijk voor de transformatie, een dummy waarde. |
meta.author.org.place | 0..1 | String | Vestiging locatie van de organisatie die de gebruiker vertegenwoordigt. Niet verplicht wanneer de gebruiker een patiënt is. Verplicht vullen indien bekend. Wanneer het attribuut niet wordt meegegeven, dan gebruikt de Transformatie Server, indien noodzakelijk voor de transformatie, een dummy waarde. |
meta.method | 0..1 | String met waarde GET | POST | PUT | DELETE | De gebruikte HTTP method. Verplicht wanneer het input bericht géén Bundle met een set van requests is. |
meta.url | 0..1 | String | De gebruikte URL, inclusief eventuele (zoek)parameters. Verplicht wanneer het input bericht géén Bundle met een set van requests is. |
AOF.TS-I.PV3.400.v1
Additionele output parameters voor transformatie van requests zijn:
Name | Cardinality | Type | Toelichting |
meta.interactie-id | 1..1 | String | Het interactie-id van de geproduceerde HL7-v3 interactie. |
Voorbeelden van transformaties
Voorbeeld van een te transformeren FHIR-request:
POST [base]
AORTA-Transactie: SAML2-Bearer/JWT-Bearer <transactie_token>
DigiD-Authenticatie: SAML2-Bearer <DigiD SAML Assertion>
Content-Type: application/x-www-form-urlencoded
AORTA-ID: initialRequestID=<UUID conform RFC4122>; requestID=<UUID conform RFC4122>
AORTA-Version: contentVersion=<versienummer>; acceptVersion=<versienummer>
<Bundle xmlns="http://hl7.org/fhir">
<id value="28943823489489"/>
<type value="batch"/>
<entry>
<fullUrl value="urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a"/>
<resource>
<Observation>
..
</Observation>
</resource>
<request>
<method value="POST"/>
<url value="Observation"/>
</request>
</entry>
<entry>
..
</entry>
</Bundle>
Voorbeeld van een resulterend v3-request:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="../schematron/XXX.sch" type="application/xml"
schematypens="http://purl.oclc.org/dsdl/schematron"?>
.. SOAP wrapper ..
<INTERACTIE-ID xsi:schemaLocation="urn:hl7-org:v3 ../schemas/INTERACTIE-ID.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3">
<!-- transmission wrapper -->
<id root="2.16.840.1.113883.2.4.6.6.1.1" extension="4384723894787"/>
<creationTime value=""/>
<versionCode code="VERSIE"/>
<interactionId root="2.16.840.1.113883.1.6" extension="INTERACTIE-ID"/>
<profileId root="2.16.840.1.113883.2.4.3.11.1" extension="810"/>
<processingCode code="P"/>
<processingModeCode code="T"/>
<acceptAckCode code="AL"/>
<attentionLine>
<keyWordText code="PATID" codeSystem="2.16.840.1.113883.2.4.15.1">Patient.id</keyWordText>
<value root="2.16.840.1.113883.2.4.6.3" extension="100197243" xsi:type="II"/>
</attentionLine>
<!-- extra attentionLine om transformatie aan te duiden -->
<attentionLine>
<keyWordText code="SYNTAC" codeSystem="2.16.840.1.113883.2.4.15.1">syntactic transform</keyWordText>
<value xsi:type="II" root="[OID voor Namingsystem/transformation]" extension="[transformationcode]|[version of transformation]"/>
</attentionLine>
<receiver>
<device determinerCode="INSTANCE" classCode="DEV">
<id root="2.16.840.1.113883.2.4.6.6" extension="23434323"/>
</device>
</receiver>
<sender>
<device determinerCode="INSTANCE" classCode="DEV">
<id root="2.16.840.1.113883.2.4.6.6" extension="1"/>
</device>
</sender>
<ControlActProcess moodCode="EVN">
<!-- control act wrapper -->
<authorOrPerformer typeCode="AUT">
<participant>
<AssignedPerson>
<id root="2.16.528.1.1007.3.1" extension="012345655"/>
<code code="01.016" codeSystem="2.16.840.1.113883.2.4.15.111" displayName="Internist"/>
<Organization>
<id root="2.16.528.1.1007.3.3" extension="02234567"/>
<name>Bester</name>
</Organization>
</AssignedPerson>
</participant>
</authorOrPerformer>
<overseer typeCode="RESP">
<AssignedPerson>
<id root="2.16.528.1.1007.3.1" extension="012345655"/>
<code code="01.015" codeSystem="2.16.840.1.113883.2.4.15.111" displayName="Huisarts"/>
<assignedPrincipalChoiceList>
<assignedPerson>
<name>Bester</name>
</assignedPerson>
</assignedPrincipalChoiceList>
<Organization>
<id root="2.16.528.1.1007.3.3" extension="02234567"/>
<name>Jansen</name>
<addr>
<city>Amsterdam</city>
</addr>
</Organization>
</AssignedPerson>
</overseer>
<subject>
<!-- Payload -->
<ClinicalDocument>
..
</ClinicalDocument>
</subject>
</ControlActProcess>
</INTERACTIE-ID>
Produceren van een v3-response
Feature | |
---|---|
Type | Service |
Versie | 1.0.0 |
Systeemrolcode | - |
Groep | Transformatie |
Gepubliceerd |
|
Delta | Initiële versie van feature. |
Use case |
Feature | Versie | Dependency | Aanbieder | Afnemer |
---|---|---|---|---|
1.0.0 | - | >=* | ||
1.0.0 | AORTA-ID HTTP Header | >=1.0.0 | >=1.0.0 |
Aanroep
AOF.TS-I.PV3.500.v1
POST [base endpointadres]/to-v3-response/v1
Ondersteunde transformaties
AOF.TS-I.PV3.600.v3
Ondersteunde combinaties van meta.protocol_in
en meta.protocol_out
voor deze transformatie zijn:
protocol_in | protocol_out |
---|---|
application/fhir+xml | application/hl7-v3+xml |
application/fhir+json | |
application/hl7-v3+xml |
Deze transformatie is exclusief eventueel benodigde SOAP elementen of hiervoor benodigde HTTP-headers.
Benodigde additionele parameters
Additionele input parameters voor transformatie van FHIR-responses naar v3-responses zijn:
Name | Cardinality | Type | Toelichting |
meta.patient | 1..1 | String conform één van de volgende formaten
| BSN van de patiënt die onderwerp is van het bericht. |
meta.sender | 1..1 | String conform één van de volgende formaten
| Applicatie-id van de reagerende applicatie. |
meta.receiver | 1..1 | String conform één van de volgende formaten
| Applicatie-id van de ontvangende applicatie. |
meta.overseer | 0..1 | Object | Verplicht aanwezig wanneer sprake is van mandatering. |
meta.overseer.id | 1..1 | String conform één van de volgende formaten
| ID van de verantwoordelijke persoon. |
meta.overseer.role | 1..1 | String conform één van de volgende formaten
| Rolcode van de verantwoordelijke persoon. |
meta.overseer.name | 0..1 | String | Naam van de verantwoordelijke persoon. |
meta.overseer.org | 1..1 | Object | |
meta.overseer.org.id | 1..1 | String conform één van de volgende formaten
| ID van de organisatie die de verantwoordelijke persoon vertegenwoordigt. Indien de verantwoordelijke persoon een patiënt is, dan wordt deze gevuld met het organisatie-id van VZVZ (“urn:oid:2.16.840.1.113883.2.4.3.11.25.00004005”). |
meta.overseer.org.name | 0..1 | String | Naam van de organisatie die de verantwoordelijke persoon vertegenwoordigt. Verplicht vullen indien bekend. Indien de verantwoordelijke persoon een patiënt is, dan wordt deze gevuld met "Vereniging van Zorgaanbieders voor Zorgcommunicatie". Wanneer het attribuut niet wordt meegegeven, dan gebruikt de Transformatie Server, indien noodzakelijk voor de transformatie, een dummy waarde. |
meta.overseer.org.place | 0..1 | String | Vestiging locatie van de organisatie die de verantwoordelijke persoon vertegenwoordigt. Niet verplicht wanneer de verantwoordelijke persoon een patiënt is. Verplicht vullen indien bekend. Wanneer het attribuut niet wordt meegegeven, dan gebruikt de Transformatie Server, indien noodzakelijk voor de transformatie, een dummy waarde. |
meta.author | 1..1 | Object | |
meta.author.id | 1..1 | String conform één van de volgende formaten
| ID van de gebruiker. |
meta.author.role | 0..1 | String conform één van de volgende formaten
| Rolcode van de gebruiker. Wordt niet gebruikt wanneer author.id een nummer bevat van een systeem. In andere situaties verplicht. |
meta.author.org | 1..1 | Object | |
meta.author.org.id | 1..1 | String conform één van de volgende formaten
| ID van de organisatie die de gebruiker vertegenwoordigt. Indien de gebruiker een patiënt is, dan wordt deze gevuld met het organisatie-id van VZVZ (“urn:oid:2.16.840.1.113883.2.4.3.11.25.00004005”). |
meta.author.org.name | 0..1 | String | Naam van de organisatie die de gebruiker vertegenwoordigt. Verplicht vullen indien bekend. Indien de gebruiker een patiënt is, dan wordt deze gevuld met "Vereniging van Zorgaanbieders voor Zorgcommunicatie". Wanneer het attribuut niet wordt meegegeven, dan gebruikt de Transformatie Server, indien noodzakelijk voor de transformatie, een dummy waarde. |
meta.author.org.place | 0..1 | String | Vestiging locatie van de organisatie die de gebruiker vertegenwoordigt. Niet verplicht wanneer de gebruiker een patiënt is. Verplicht vullen indien bekend. Wanneer het attribuut niet wordt meegegeven, dan gebruikt de Transformatie Server, indien noodzakelijk voor de transformatie, een dummy waarde. |
meta.orig_message_id | 1..1 | String | ID van de request message die leidde tot deze response. |
meta.orig_query_id | 0..1 | String | Query ID zoals opgenomen de request message die leidde tot deze response. Verplicht indien het request een query was. |
Produceren van een FHIR-request
Feature | |
---|---|
Type | Service |
Versie | 1.0.0 |
Systeemrolcode | - |
Groep | Transformatie |
Gepubliceerd |
|
Delta | Initiële versie van feature. |
Use case |
Feature | Versie | Dependency | Aanbieder | Afnemer |
---|---|---|---|---|
1.0.0 | - | >=* | ||
1.0.0 | AORTA-ID HTTP Header | >=1.0.0 | >=1.0.0 |
Aanroep
AOF.TS-I.FRA.150.v1
POST [base endpointadres]/to-fhir-request/v1
Ondersteunde transformaties
AOF.TS-I.FRT.150.v1
Ondersteunde combinaties van meta.protocol_in
en meta.protocol_out
voor deze transformatie zijn:
protocol_in | protocol_out |
---|---|
application/hl7-v3+xml | application/fhir+xml |
application/fhir+json |
Benodigde additionele parameters
AOF.TS-I.FAP.150.v2
Additionele input parameters voor transformatie van v3-requests naar FHIR-requests zijn:
Name | Cardinality | Type | Toelichting |
N.t.b. |
AOF.TS-I.FAP.250.v1
Additionele output parameters voor transformatie van v3-requests naar FHIR-requests zijn:
Name | Cardinality | Type | Toelichting |
meta.content-version | 1..1 | String | De contentVersion die moet worden gebruikt in de AORTA-Version HTTP header. |
N.t.b. |
Produceren van een FHIR-response
Feature | |
---|---|
Type | Service |
Versie | 1.0.0 |
Systeemrolcode | - |
Groep | Transformatie |
Gepubliceerd |
|
Delta | Initiële versie van feature. |
Use case |
Feature | Versie | Dependency | Aanbieder | Afnemer |
---|---|---|---|---|
1.0.0 | - | >=* | ||
1.0.0 | AORTA-ID HTTP Header | >=1.0.0 | >=1.0.0 |
Aanroep
AOF.TS-I.FRA.100.v1
POST [base endpointadres]/to-fhir-response/v1
Ondersteunde transformaties
AOF.TS-I.FRT.100.v1
Ondersteunde combinaties van meta.protocol_in
en meta.protocol_out
voor deze transformatie zijn:
protocol_in | protocol_out |
---|---|
application/hl7-v3+xml | application/fhir+xml |
application/fhir+json |
Benodigde additionele parameters
AOF.TS-I.FAP.100.v2
Additionele input parameters voor transformatie van responses zijn:
Name | Cardinality | Type | Toelichting |
orig_content_in | 0..1 | String waarop de benodigde escaping is toegepast, of die base64 geëncodeerde data bevat. | Bevat het request bericht, voor vertaling, dat heeft geleid tot de nu te vertalen response. Deze is nodig bij de transformatie van het response bericht. |
meta.interactie-id | 1..1 | String | Het interactie-id van de HL7-v3 interactie die de aanleiding was voor de te transformeren HL7v3-response. |
meta.orig_protocol_in | 0..1 | String | Protocol van orig_content_in. |
AOF.TS-I.FAP.200.v1
Additionele output parameters voor transformatie van responses zijn:
Name | Cardinality | Type | Toelichting |
meta.content-version | 1..1 | String | De contentVersion die moet worden gebruikt in de AORTA-Version HTTP header. |
Voorbeelden van transformaties
Voorbeeld van een te transformeren v3-response:
<?xml-model href="../schematron/XXX.sch" type="application/xml"
schematypens="http://purl.oclc.org/dsdl/schematron"?>
.. SOAP wrapper ..
<INTERACTIE-ID xsi:schemaLocation="urn:hl7-org:v3 ../schemas/INTERACTIE-ID.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:hl7-org:v3">
<id extension="235" root="2.16.528.1.1007.3.3.1234567.1"/>
<creationTime value="20140704155629"/>
<versionCode code="NICTIZEd2005-Okt"/>
<interactionId extension="INTERACTIE-ID" root="2.16.840.1.113883.1.6"/>
<profileId extension="810" root="2.16.840.1.113883.2.4.3.11.1"/>
<processingCode code="P"/>
<processingModeCode code="T"/>
<acceptAckCode code="NE"/>
<acknowledgement typeCode="CA">
<targetMessage>
<id extension="4384723894787" root="2.16.840.1.113883.2.4.6.6.1.1"/>
</targetMessage>
</acknowledgement>
<receiver>
<device determinerCode="INSTANCE" classCode="DEV">
<id extension="1" root="2.16.840.1.113883.2.4.6.6"/>
</device>
</receiver>
<sender>
<device determinerCode="INSTANCE" classCode="DEV">
<id extension="23434323" root="2.16.840.1.113883.2.4.6.6"/>
</device>
</sender>
</INTERACTIE-ID>
Voorbeeld van een resulterende FHIR Bundle:
<Bundle xmlns="http://hl7.org/fhir">
<id value="someidvalue123"/>
<type value="batch-response"/>
<!-- toevoeging van indicatie dat het response is getransformeerd -->
<meta>
<security value="SYNTAC"/>
<tag>
<system value="http://vzvz.nl/fhir/NamingSystem/transformation"/>
<code value="<transformatiecode>"/>
<version value="<version of transformation>"/>
</tag>
</meta>
<entry>
<fullUrl value="http://example.org/fhir/Patient/12423"/>
<resource>
<!-- whether to return the result resource depends on client preference -->
<Observation>
<id value="12423"/>
..
</Observation>
</resource>
<response>
<status value="201 Created"/>
<location value="Observation/12423/_history/1"/>
<etag value="W/"1""/>
<lastModified value="2014-08-18T01:43:33Z"/>
<!-- Indien van toepassing -->
<outcome>
<OperationOutcome>
..
</OperationOutcome>
</outcome>
</response>
</entry>
<entry>
..
</entry>
</Bundle>
Toelichtingen
Transformation-id in getransformeerde content
Wanneer content wordt getransformeerd, dan wordt in de getransformeerde content metadata opgenomen over welke transformatie exact heeft plaatsgevonden.
In v3-content wordt dit opgenomen in een attentionLine element in de transmission wrapper:
<attentionLine>
<keyWordText code="SYNTAC" codeSystem="2.16.840.1.113883.2.4.15.1">syntactic transform</keyWordText>
<value xsi:type="II" root="2.16.840.1.113883.2.4.3.111.15.5"
extension="[transformation-id]|[version of transformation]"/>
</attentionLine>
In FHIR-content wordt dit opgenomen in een meta attribuut van iedere tot stand gekomen resource instance (zowel in de Bundle als in de inhoudelijke resource instances):
"meta": {
"security": "SYNTAC",
"tag": [
{
"system": "http://vzvz.nl/fhir/NamingSystem/transformation",
"code": "<transformation-id>",
"version": "<version of transformation>"
}
]
}