Skip to main content
Skip table of contents

3.8 Terugkeren naar PGO

DVP moet in de launch-context een terugkeeradres mee te geven. De module MOET de gebruiker na het afsluiten van de applicatie terugsturen naar de PGO. Het terugkeeradres komt mee in 3.6 Ontvangen launch context als return_url=https://pgo.example.org/launch_callback.

Een PGO kan de return_url altijd verrijken met extra query-parameters, zoals een DVA-naam. Op deze wijze weet de PGO altijd om welke specifieke taak het gaat. De return_url wordt dan bijvoorbeeld: return_url=https://pgo-aanbiedersmodules.test.medmij.nl/web?dvaname=medrie

Met de return_url worden ook de mobiele apps afgevangen. Voor iOS heet dit Universal Links en voor Android heet dit App Links. Dit is de verantwoordelijkheid van de app-bouwers.

Proces sequencediagram

Processtappen

Processtap

Toelichting

1. Persoon eindigt gebruik module

Persoon kiest er voor om aanbiedermodule af te sluiten met een menu-optie. Bijvoorbeeld omdat deze de aanbiedermodule niet wil gebruiken of omdat het werk in de module is afgerond.

2. Browser keert terug

Aanbiedermodule gebruikt het gegeven launch-context in 4.2 om de waarde return_url uit te lezen. De Aanbiedermodule MOET de return_url uit de launchcontext gebruiken die de DVA gestuurd heeft.

Terugkeer naar PGO naar aanleiding van Task.status

Voor taken met de taakstatus entered in error, failed, cancelled of rejected gelden de volgende richtlijnen.

  • De AM MAG de gebruiker direct terugsturen naar de PGO via de return-url.

  • De AM KAN daarbij een query-parameter meegeven, bijvoorbeeld:

    CODE
    ?status=error
    &message=taak-is-[status]

De PGO:

  • MOET de taak opnieuw ophalen bij de DVA om de actuele status vast te stellen.

  • KAN op basis van de meegegeven status en melding direct een gebruikersvriendelijke melding tonen, zonder te wachten op de her-synchronisatie.

  • MOET de taak met actuele status opnieuw verzamelen (of dit in ieder geval voorstellen aan de Persoon) bij de DVA.

  • MOET alleen status verzameld van DVA overnemen.

Dit verbetert de gebruikerservaring (“Deze taak is inmiddels afgerond”) terwijl de PGO technisch leidend blijft.

Einde Sessie

De Sessie eindigt onder de volgende omstandigheden:

  1. De geldigheidsduur van de sessie is bereikt.

  2. De Persoon beëindigt de sessie.

Acties na Einde Sessie

Na het eindigen van de sessie, MOET neemt de Aanbiedermodule de volgende stappen nemen:

  1. de module MOET de Taak-status updaten.

  2. de module MOET de Persoon terugsturen naar de PGO.

Einde geldigheidsduur van de Sessie

De Sessie tussen Persoon en Aanbiedermodule en tussen Aanbiedermodule en DVA heeft een beperkte duur. De maximale sessieduur bedraagt 3600 seconden (1 uur).

Deze maximale duur wordt gerealiseerd via expires_in, de geldigheidsduur van het access_token, van 3600 seconden (60 minuten).

Dit implementeren de AM en de DVA als volgt:

  1. DVA MOET het access_token maximale duur van access_token (automatisch) vernietigen.

  2. De AM MOET de Sessie eindigen bij het bereiken van de duur van het access_token.

Bijwerken van taakstatus vóór terugkeer naar het PGO

Voordat de module de gebruiker terugstuurt naar het PGO via de return_url, MOET de moduleleverancier de status van de taak bijwerken naar de juiste FHIR Task.status.
De status weerspiegelt de uitkomst van het gebruik van de aanbiedermodule (bijv. accepted, rejected, in-progress, completed, failed of cancelled).

Dit is essentieel omdat het PGO na de redirect opnieuw een GET-request kan uitvoeren om de meest recente taakstatus op te halen.
Zo blijft de taakweergave in het PGO synchroon met de werkelijkheid en wordt inconsistentie tussen module en PGO voorkomen.

De module:

  • werkt de relevante Task.resource bij via de DVA-FHIR-endpoint, conform MedMij-functie Verzamelen;

  • pas na succesvolle status-update stuurt de module de gebruiker terug naar het PGO via HTTP 302 naar de return_url.

Het PGO:

  • ontvangt de gebruiker op de return_url, eventueel met een query-parameter.

  • MOET bij terugkeer van de Persoon in de PGO de taak opnieuw ophalen via de reguliere FHIR GET;

  • toont de bijgewerkte status en eventuele aanvullende foutcodes of metadata.

Voor bepaalde status of het rechtstreeks terugsturen van de gebruiker, houdt deze requirements in gedachte: 3.3 Verzamelen aanbiedertaken

Procesdialoog

Browser van de gebruiker keert terug naar PGO op de return_url. Optioneel wordt een foutcode meegegeven als de gebruiker annuleerde of geen toegang kreeg.

XML
6.2 Persoon keert terug

HTTP 302 Redirect
GET https://pgo-aanbiedersmodules.test.medmij.nl/web?dvaname=medrie
XML
6.3 Persoon keert terug na afbreken

HTTP 302 Redirect
GET https://pgo-aanbiedersmodules.test.medmij.nl/web?dvaname=medrie&error=temporarily_unavailable
JavaScript errors detected

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

If this problem persists, please contact our support.