Bijlage asynchronous interface
De volgende tekst is voorgesteld voor opname in MedMij Core naast het resource-interface.
Het volgt de opmaak en naamgeving van de bestaande interfaces. Conceptbeschrijving.
Async-interface
Het async-interface hoort bij de hoofdfunctie Uitwisseling. Op deze pagina staan alleen de verantwoordelijkheden inzake het resource interface die nog niet genoemd staan in:
de informatiestandaard van de Gegevensdienst die op het resource interface wordt aangesproken;
Async request pattern
MedMij past in specifieke situaties het FHIR Asynchronous Request Pattern toe. Deze vorm van uitgesteld verzamelen begint zijn intrede te doen in recente versies van de FHIR-standaard. Het stelt de resource server in staat om met name langdurige verzoeken te verkorten om te voldoen aan core.rscint.202 waarin afgesproken dat binnen 60 seconden een respons beschikbaar is.
In plaats van te wachten op het resultaat (zoals bij een synchroon request gewoon is), krijgt de client direct een bevestiging dat de bewerking is gestart en kan client het resultaat later ophalen. Deze functionaliteit is beperkt beschikbaar in resource servers, bijvoorbeeld voor bulk-operaties. MedMij-deelnemers ondersteunen de async-interface het in de uitwisseling van zeer specifieke situaties. Op dit moment is de interface in gebruik voor:
Gegevensdienst Verzamelen portabiliteitsdocumenten 1.0 (PGO-overstapservice)
Verantwoordelijkheden
Verantwoordelijkheden tot het ondersteunen van Async-interface beperken zich tot aangegeven situaties of gegevensdiensten waar client op DVP aangeeft de interface te ondersteunen.
1 | Na ontvangst van een resource request, in de functie Verzamelen, stuurt de resource-server een async-respons wanneer het terugsturen van de resource-respons naar verwachting langer dan 60 seconden kan nemen en een header | core.rscint.220 |
2 | Resource-server stuurt header | core.rscint.221 |
---|---|---|
3 | Resource-server stuurt optioneel header | core.rscint.222 |
4 | Resource-server stuurt header | core.rscint.223 |
5 | Resource-server is in staat binnen 60 seconden de respons te beantwoorden met de resource in een | core.rscint.202 |
Naar specificaties van FHIR Async Request Pattern een voorbeeld met Bundle resource.
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Prefer: respond-async
HTTP GET https://dva/fhir/ImagingStudy
HTTP/2 202 Accepted
Preference-Applied: prefer-async
Retry-After: 70
Content-Location: https://dva/fhir/ImagingStudy
- 70 seconden -
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Prefer: respond-async
HTTP GET https://dva/fhir/ImagingStudy
HTTP/2 200 OK
{
"resourceType": "Bundle",
"entry": [{
"resource": {
"resourceType": "ImagingStudy",
"id": "imagingstudy-001",
"status": "available",
"series": [{ ... }]
}}, ...
}