Skip to main content
Skip table of contents

Interfaces SDS Server

Selectie en Determinatie Interface

Deze interface is slechts bedoeld voor gebruik door VZVZ-componenten, en kan niet (rechtstreeks) worden gebruikt door GBx-applicaties.

Verkrijgen van InteractionContexts

Feature

getInteractionContexts

Type

Service

Versie

1.1.0

Systeemrolcode

-

Groep

Autorisatie

Gepubliceerd

Delta

Toevoeging overridable attribuut in response t.b.v. overrule parameters in hybride generieke query en $get-aorta-data.

Use case

AOF.UC.SDS.100.v1

Feature

Versie

Dependency

Aanbieder

Afnemer

getInteractionContexts

1.*

AORTA Stelseltoken

-

>=*

getInteractionContexts

1.*

AORTA-ID HTTP Header

>=1.0.0

>=1.0.0

Een InteractionContext beschrijft het toegestane gebruik van een interactie (interactie-id), die plaatsvindt onder verantwoordelijkheid van een persoon met een bepaalde rol (rolcode), binnen een specifieke context (contextcode). De Selectie en Determinatie Interface biedt de mogelijkheid om een set van InteractionContext objecten te verkrijgen, die horen bij een specifieke contextcode en rolcode.

NB. op termijn is het misschien ook mogelijk dat een InteractionContext wordt gevuld m.b.v. zowel MAP-gegevens als met SDS-gegevens, zodat MAP en SDS middels één enkele API-call kunnen worden toegepast in de flow. SDS restricties kunnen dan ook worden toegepast op ontvangen (gerichte) FHIR-search interacties (dus zonder gebruik van een FHIR-operation). Ook kan het actualiteitsregister dan worden geraadpleegd bij verwerking van gerichte FHIR-searches.

Inhoud en formaat van een getInteractionContextsRequest

Een getInteractionContextsRequest wordt op de volgende wijze verzonden:

POST [base endpointadres]/getInteractionContexts/v1

Bij het verzenden van een getInteractionContextsRequest dienen de volgende HTTP headers te worden meegezonden:

Feature

AORTA-ID HTTP Header

Type

Subfeature

Versie

1.0.0

Systeemrolcode

-

Groep

HTTP Headers

Gepubliceerd

Delta

Initiële versie van feature.

AORTA-ID: initialRequestID=<UUID conform RFC4122>; requestID=<UUID conform RFC4122>

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.

Content-Type: application/json; charset=utf-8

Het technische formaat van de HTTP body van een getInteractionContextsRequest is:

{
    "protocol": "",
    "roleCode": {
        "code": "",
        "codeSystem": ""
    },
    "contextCode": ""
}

Input parameters:

Name

Cardinality

Type

Toelichting

protocol

0..1

String

Het te hanteren protocol. Mogelijke waarden: "hl7fhir", "hl7v3".

Wanneer geen protocol attribuut wordt meegezonden, dan wordt gevraagd naar alle beschikbare protocollen.

roleCode

0..1

String

Rolcode van de verantwoordelijke persoon voor de initiatie van de interactie-set.

roleCode.code

1..1

String

Het attribuut kan bevatten:

  • De rolcode die hoort bij een persoon, ofwel "P"

  • De UZI-rolcode van een zorgverlener, ofwel "<UZI-rolcode>"

roleCode.codeSystem

1..1

String

Toegestane waarden:

  • "2.16.840.1.113883.2.4.3.11.8" (AORTA rolcode)

  • "2.16.840.1.113883.2.4.15.111" (UZI rolcode)

contextCode

1..1

String

De contextcode die aanduidt binnen welke (zorg)toepassing de interacties worden geïnitieerd.

Inhoud en formaat van een getInteractionContextsResponse

Bij het verzenden van een getInteractionContextsResponse dienen de volgende HTTP headers te worden meegezonden:

Content-Type: application/json; charset=utf-8

Het technische formaat van de HTTP body van een getInteractionContextsResponse is:

[
    [{
            "interactionId": "jupiter:2.0",
            "dataCategory": [{
                "code": "",
                "codeSystem": ""
            }],
            "parameter": [{
                "name": "",
                "overridable": "",
                "value": ""
            }]
        },
        {
            "interactionId": "jupiter:1.2",
            "dataCategory": [{
                "code": "",
                "codeSystem": ""
            }],
            "parameter": [{
                "name": "",
                "overridable": "",
                "value": ""
            }]
        },
        {
            "interactionId": "jupiter:1.1",
            "dataCategory": [{
                "code": "",
                "codeSystem": ""
            }],
            "parameter": [{
                "name": "",
                "overridable": "",
                "value": ""
            }]
        }
    ],
    [{
            "interactionId": "pluto:1.4",
            "dataCategory": [{
                "code": "",
                "codeSystem": ""
            }],
            "parameter": [{
                "name": "",
                "overridable": "",
                "value": ""
            }]
        },
        {
            "interactionId": "pluto:1.3",
            "dataCategory": [{
                "code": "",
                "codeSystem": ""
            }],
            "parameter": [{
                "name": "",
                "overridable": "",
                "value": ""
            }]
        }
    ]
]

Een getInteractionContextsResponse bestaat uit bestaat uit 0..n JSON InteractionContextSet objecten. Een InteractionContextSet bestaat uit een set van 1..n InteractionContext objecten. De interacties in eenzelfde InteractionContextSet zijn functioneel aan elkaar gelijk.

Een InteractionContext bevat de volgende inhoud:

Name

Cardinality

Type

Toelichting

interactionId

1..1

String

Interactie-id van het te verzenden bericht.

Bijvoorbeeld: "search:zib-BloodPressure:3".

dataCategory

0..n

String

Gegevenssoort of bouwsteentype waartoe de interactie behoort.

dataCategory.codeSystem

1..1

String

Mogelijke waarden:

  • gegevenssoort: "urn:oid:2.16.840.1.113883.2.4.15.4" 

  • bouwsteentype: "urn:oid:2.16.840.1.113883.2.4.3.111.15.3"

dataCategory.code

1..1

String

Mogelijke waarden:

  • <gegevenssoort>

  • <bouwsteentype>

parameter

0..n

Object met attributen

Parameters waartoe de interactie moet worden ingeperkt.

parameter.name

1..1

String

Bijvoorbeeld: "code".

parameter.overridable

1..1

String

Boolean (“true”, “false”) die aangeeft of de waarde van de betreffende parameter die door de SDS is bepaald, door de client mag worden aangepast (overschreven).

NB. wanneer overridable gelijk is aan “false”, dan mag de waarde van de parameter ook niet worden ingeperkt tot een kleiner bereik dan het door de SDS bepaalde bereik.

parameter.value

1..1

String

Bijvoorbeeld: "http://loinc.org|85354-9".

Een waarde kan ook relatief zijn, bijvoorbeeld <huidige datum minus 1 jaar>. De component die de betreffende interactie gaat verzenden, dient in dit geval de in te vullen datum te berekenen. De SDS kan dit niet doen, omdat zij niet weet op welke datum een interactie daadwerkelijk geïnitieerd zal worden.

HTTP statuscodes

HTTP statuscodes die kunnen worden geretourneerd zijn opgenomen in onderstaande tabel.

Omdat bepaalde Confluence macro’s nog niet worden ondersteund in de publicatie omgeving, bevat de tabel, in de publicatieomgeving, ook informatie over de wijze waarop de betreffende interface wordt geïmplementeerd in de server component. De statuscodes die kunnen worden geretourneerd zijn opgenomen in de kolom “Uitkomst”. De overige informatie mag worden genegeerd.

statuscode 200 OK

statuscode 400 Bad Request

statuscode 406 Not Acceptable

statuscode 415 Unsupported Media Type

statuscode 429 Too Many Requests

statuscode 500 Internal Server Error

Voorbeeld van gebruik getInteractionContextsRequest

Gedeeltelijke vulling van SDS t.b.v. medicatieoverdracht:

contextCode

roleCode

InteractionId

parameters

dataCategory

MEDGEG

X, Y

search:mp-MedicationAgreement:*

category=http://snomed.info/sct|33633005

periodofuse=xxx

X, Y

QUMA_IN991201NL04

-

X, Y

search:mp-VariableDosingRegimen:*

category=http://snomed.info/sct|395067002

X, Y

QUDS_IN000001NL01

-

Y

search:mp-AdministrationAgreement:*

category=http://snomed.info/sct|422037009

Y

QUTA_IN991211NL02

-

Y

search:mp-MedicationUse2:*

category=http://snomed.info/sct|422979000

Y

QUMG_IN991221NL02

-

..

Ontvangen getInteractionContextsRequest:

POST [base endpointadres]/getInteractionContexts/v1Content-Type: application/json; charset=utf-8AORTA-ID: initialRequestID=<UUID conform RFC4122>; requestID=<UUID conform RFC4122>

{
    "protocol": "hl7fhir",
    "roleCode": {
        "code": "X",
        "codeSystem": "urn:oid:2.16.840.1.113883.2.4.15.111"
    },
    "contextCode": "MEDGEG"
}

Geretourneerde getInteractionContextsResponse :

200 OK
Content-Type: application/json; charset=utf-8

[
    [{
        "interactionId": "search:mp-MedicationAgreement:*",
        "dataCategory": [{
            "code": "",
            "codeSystem": ""
        }],
        "parameter": [{
            "name": "category",
            "overridable": "false",
            "value": "http://snomed.info/sct|33633005"
        }, {
            "name": "periodofuse",
            "overridable": "true",
            "value": "xxx"
        }]
    }],
    [{
        "interactionId": "search:mp-VariableDosingRegimen:*",
        "dataCategory": [{
            "code": "",
            "codeSystem": ""
        }],
        "parameter": [{
            "name": "category",
            "overridable": "false",
            "value": "http://snomed.info/sct|395067002"
        }]
    }]
]

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.