Adressering Server Interfaces - 0.7.x
Routing Info Interface
AOF.ADS-I.RII.100.v1
Het technische formaat van een getRoutingInfo request is:
POST [base endpointadres]/getRoutingInfo
Content-Type: application/json; charset=utf-8
AORTA-ID: initialRequestID=<UUID conform RFC4122>; requestID=<UUID conform RFC4122>
{
"destination": {
"code": "",
"codeSystem": ""
},
"interaction": [{
"id": "",
"method": "",
"url": "",
"aortaVersion": ""
}]
}
Het initialRequestID attribuut 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.
Input parameters:
Name | Cardinality | Type | Toelichting |
destination | 0..1 | Object met attributen | Beoogde bestemming van de interactie. Vereist wanneer één van de ingestuurde interactions géén url attribuut bevat met daarin een appID. Wordt genegeerd wanneer alle ingestuurde interactions een url attribuut bevatten met daarin een appID. Wanneer één ingestuurde interaction een url attribuut bevat met een appID en een andere ingestuurde interaction wordt uitgedrukt middels een id attribuut, dan wordt de destination slechts gebruikt voor de interaction met het id attribuut. Voor de interaction met het url attribuut wordt dan de appID uit het url attribuut gebruikt. |
destination.code | 1..1 | String | Beoogde bestemming van de interactie. Mogelijke waarden:
|
destination.codeSystem | 1..1 | String | Het gehanteerde codesysteem. Mogelijke waarden:
|
interaction | 1..n | Object met attributen | Structuur waaruit het interactie-id van ieder te adresseren bericht kan worden bepaald. Een interactie dient op één van de volgende methoden te worden doorgegeven:
|
interaction.id | 0..1 | String | Interactie-id van het te adresseren bericht, of van de te adresseren berichten. Het versie-deel in het id attribuut wordt gespecificeerd conform semver, dus bijvoorbeeld "1.0.0" of "2.x". De Adressering Server houdt bij het zoeken naar applicaties slechts rekening met het major nummer, omdat compatibiliteit hierdoor afdoende is geborgd. |
interaction.method | 0..1 | String met waarde GET | POST | PUT | DELETE | De gebruikte HTTP method. |
interaction.url | 0..1 | String | De gebruikte URL, inclusief eventuele (zoek)parameters. Toegestane formaten zijn:
De waarde van een eventueel meegezonden [base] deel van de URL wordt genegeerd. Bij search interacties kunnen optioneel parameters worden opgenomen in de URL. Deze parameters worden eveneens genegeerd., omdat ze niet van belang zijn voor de juiste bepaling van het interactie-id. |
interaction.aortaVersion | 0..1 | String | De gebruikte versie van de interactie. Het aortaVersion attribuut wordt gespecificeerd conform semver, dus bijvoorbeeld "1.0.0" of "2.x". De Adressering Server houdt bij het zoeken naar applicaties slechts rekening met het major nummer, omdat compatibiliteit hierdoor afdoende is geborgd. |
Het technische formaat van een getRoutingInfo response is:
200 OK
Content-Type: application/json; charset=utf-8
[{
"interactionId": "",
"destinationInfo": [{
"destination": {
"code": "",
"codeSystem": ""
},
"fqdn": "",
"transformationId": ""
}]
}]
Output bestaat uit 0..n JSON objecten die, voor elk van de ontvangen interactions, de volgende inhoud bevatten. Deze objecten worden geretourneerd in de volgorde waarin de betreffende interactions werden ontvangen in het getRoutingInfo request.
Name | Cardinality | Type | Toelichting |
interactionId | 1..1 | String | Interactie-id van het te adresseren bericht, of van de te adresseren berichten. Wordt gevuld met de interactie, indien mogelijk inclusief het exacte versienummer, waarmee de flow dient te worden vervolgd. Ook indien een transformatie is vereist. |
destinationInfo | 0..n | Object met attributen | Slechts aanwezig indien tenminste één geschikte GBx-applicatie is gevonden. |
destinationInfo.destination | 1..1 | Object met attributen | Beoogde bestemming van de interactie. |
destination.code | 1..1 | String | Beoogde bestemming van de interactie. Mogelijke waarden:
|
destination.codeSystem | 1..1 | String | Het gehanteerde codesysteem. Mogelijke waarden:
|
destinationInfo.fqdn | 1..1 | String | FQDN van de GBx-applicatie. |
destinationInfo.transformationId | 0..1 | String | Het ID van het uit te voeren transformatie algoritme. Slechts aanwezig indien de applicatie die het request moet beantwoorden, vereist dat eerst een transformatie wordt uitgevoerd. Wordt nooit gevuld wanneer de interactie een FHIR-operation is. |
Voorbeelden van gebruik Routing Info Interface
Interactie vanuit MedMij
Het technische formaat van een getRoutingInfo request is:
POST [base endpointadres]/getRoutingInfo
Content-Type: application/json; charset=utf-8
AORTA-ID: initialRequestID=<UUID conform RFC4122>; requestID=<UUID conform RFC4122>
{
"destination": {
"code": "382",
"codeSystem": "urn:oid:2.16.528.1.1007.3.3"
},
"interaction": [{
"id": "create:Observation:1.0:request"
}]
}
Het technische formaat van een getRoutingInfo response is:
200 OK
Content-Type: application/json; charset=utf-8
[{
"interactionId": "create:Observation:1.0:request",
"destinationInfo": [{
"destination": {
"code": "5476",
"codeSystem": "urn:oid:2.16.840.1.113883.2.4.6.6"
},
"fqdn": "bron.zorgaanbieder.nl",
"transformationId": "1"
}]
}]
In bovenstaande situatie is transformatie #1 vereist om de gevraagde FHIR-interactie af te kunnen leveren bij GBZ-applicatie #5476.
Initiatie vanuit GBx-client
Het technische formaat van een getRoutingInfo request is:
POST [base endpointadres]/getRoutingInfo
Content-Type: application/json; charset=utf-8
AORTA-ID: initialRequestID=<UUID conform RFC4122>; requestID=<UUID conform RFC4122>
{
"destination": {
"code": "592",
"codeSystem": "urn:oid:2.16.528.1.1007.3.3"
},
"interaction": [{
"method": "GET",
"url": "3287/MedicationRequest/23483147812",
"aortaVersion": "1.0"
}, {
"method": "GET",
"url": "4001/MedicationRequest/23483147813",
"aortaVersion": "2.0"
}, {
"id": "search:Appointment:1.0:request"
}]
}
Het technische formaat van een getRoutingInfo response is:
200 OK
Content-Type: application/json; charset=utf-8
[{
"interactionId": "read:MedicationRequest:1.0:request",
"destinationInfo": [{
"destination": {
"code": "3287",
"codeSystem": "urn:oid:2.16.840.1.113883.2.4.6.6"
},
"fqdn": "bron-1.zorgaanbieder.nl"
}]
}, {
"interactionId": "read:MedicationRequest:2.0:request"
}, {
"interactionId": "search:Appointment:1.0:request",
"destinationInfo": [{
"destination": {
"code": "3288",
"codeSystem": "urn:oid:2.16.840.1.113883.2.4.6.6"
},
"fqdn": "bron-2.zorgaanbieder.nl",
"transformationId": "3"
}]
}]
In bovenstaande situatie is transformatie #3 vereist om de gevraagde Appointment interactie af te kunnen leveren bij GBZ-applicatie #3288. Er is géén transformatie vereist om de gevraagde MedicationRequest interactie af te kunnen leveren bij GBZ-applicatie #3287.
Aanroep vanuit Autorisatie Server ZA
Het technische formaat van een getRoutingInfo request is:
POST [base endpointadres]/getRoutingInfo
Content-Type: application/json; charset=utf-8
AORTA-ID: initialRequestID=<UUID conform RFC4122>; requestID=<UUID conform RFC4122>
{
"destination": {
"code": "3287",
"codeSystem": "urn:oid:2.16.840.1.113883.2.4.6.6"
},
"interaction": [{
"id": "search:MedicationRequest:1.0:request"
}]
}
Het technische formaat van een getRoutingInfo response is:
200 OK
Content-Type: application/json; charset=utf-8
[{
"interactionId": "search:MedicationRequest:1.0:request",
"destinationInfo": [{
"destination": {
"code": "3287",
"codeSystem": "urn:oid:2.16.840.1.113883.2.4.6.6"
},
"fqdn": "bron-1.zorgaanbieder.nl"
}]
}]
In bovenstaande situatie is géén transformatie vereist om de gevraagde MedicationRequest interactie af te kunnen leveren bij GBZ-applicatie #3287.