Verbind.MedMij
Verbind.MedMij (VMM) is een voorziening om personen/patiënten eenvoudig(er) hun zorgaanbieder te laten vinden in MedMij PGO's. Dit wordt bereikt door de Zorgaanbiedernaam via een code opvraagbaar te maken door PGO's en deze code via een QR-code/human-readable url te verspreiden. In de figueren hieronder wordt deze aanpak in twee varianten weergegeven. Het verschil tussen de varianten bestaat uit in hoeverre de VMM componenten deel uit gaan maken van de MedMij backoffice RenA (Registratie en Administratie node), dan wel 'los' worden opgezet.
Uitgangspunten/keuzen (per 20210813):
- Algemeen
- ZAsleutel:
- 'Stabiele' identifier voor ZA binnen (en buiten) RenA
- ZAcode:
- ZA 1:N ZAcode
- VMM component houdt GEEN lijst met 'niet langer valide' ZAcodes vast (geen '410' ondersteuning) (offerte 20210712.002)
- MVP: GEEN 410 ondersteuning
- Later wel?
- Alle onbekende ZAcodes geven 400
- VMM component houdt GEEN lijst met 'niet langer valide' ZAcodes vast (geen '410' ondersteuning) (offerte 20210712.002)
- code kan wel eerder beschikbaar zijn dan 'ZAL entry' (want ZAL kent ingangsdatum)
- DVZA moet ZAnaam invoeren in RenA voordat deze in VMM gebruikt kan worden
- DVZA moet ZAnaam invoeren in RenA voordat deze in VMM gebruikt kan worden
- ZA moet DVZA hebben én DVZA moet ZA ingevoerd hebben
Formaat ZAcode moet nog uitgewerkt:'google formaat'zoeken naar bibliotheken of open source hiervoor? Voor MVP gaan we uit van cijferreeks conform voorstel offerte 42
- ZA 1:N ZAcode
- URL/Code
- Eénstapsmodel (ZAcode in url/QRcode, GEEN inwisselcode)
- ZAsleutel:
- RenA administratie
- Proces/voorziening om DVP/PGO die binnen MedMij 'inactief' is ook binnen VMM 'inactief' te maken : procesmatig (in ieder geval voor MVP)
- Er wordt (nog) GEEN gebruik gemaakt van informatie in de RenA over PGO–gegevensdienstkwalificaties
- Er wordt (nog) GEEN gebruik gemaakt van informatie in de RenA over Zorgaanbieder–gegevensdienstaanbod (ZAL)
- ZAsleutel
- identifier voor ZA naast ZAnaam
- toekomstvaste identifier voor ZA
- ZAcode wordt beheerd/aangemaakt in RenA
- VMM component
- VMM krijgt losse component naast RenA
- RenA krijgt nieuwe interface voor VMM
- VMM levert inwisselservice naar PGO's en VMM website
- VMM levert terugwisselservice naar Bestelportaal (en Beheersite)
- VMM is verantwoordelijk voor correcte link naar VMM site: ZAurl
- levert deze door naar Webshop
- Inwisselservice: PGO toegang
- Er vindt geen filtering van PGO's plaats (alle MedMij PGO's hebben toegang tot de inwisselservice)
- ZAurl
- ZAurl moet via config/menu aanpasbaar zijn in VMM component
Alternatieven:verbind.medmij.nl/code/<ZAcode>verbind.medmij.nl/008chars (is probleem voor website bouwer!)Former user (Deleted) gaat uitzoeken welke variant voorkeur heeft
- VMM krijgt losse component naast RenA
- Webshop
- Ontvangt via terugwisselservice gegevens (ZAcode, ZAnaam, ZAurl)
- Genereert QRcode (met daarin VMMwebsite + ZAcode) (CHECK!?)
- ZAurl (verwijst naar VMM website wordt via terugwisselservice geleverd)
- ZAurl moet via config/menu aanpasbaar zijn in VMM component
- VMM website (verbind.medmij.nl)
- Code/QR inwisseldeel
- PGO etalage deel
- PGO beheer (KEUZE: Hoe wordt dit beheer ingericht)
- Link naar 'PGO keuzehulp' (KEUZE: gaat PGO keuzehulp zelf linken naar PGO's of loopt dit via VMM website)
- ZAcode wordt meegegeven
- Link(s) naar PGO
- ZAcode wordt meegegeven
- Inlog url
- Enroll url
- VRAAG: Wat te doen bij gebruikers met een account in een PGO dat niet aan VMM mee doet?
- Toegang Controleservice
- VMM website
- Afscherming: geen(!), mitigatie dds
- Toegang inwisselservice
- DVP's:
- Basic AUTH/ip whitelisting
- Later: Op basis van WHL/OCL (Extra vraag aan 42)
- VMM website: Niet meer (eigen service)
- DVP's:
- Toegang terugwisselservice
- VMM webshop: Op basis configuratie (basic auth/IP whitelisting/certificaat)
- Rapportage
- VMM website gebruik
- Google analytics
- Inwisselservice
- Log-bestanden: Welke ZAcode/ZA door welke DVP/welke ZAcode door de websiste
- Webshop
- Google analytics en/of log-bestand opgevraagd materiaal
- DVP (buiten scope?)
- Managementrapportage: Toevoegen aantal AuthReq op basis VMM
- VMM website gebruik
Uitwerking
Componenten model VMM met RenA | Deploymentmodel RenA |
---|---|
Benodigde componenten/interfaces:
RenA omgeving:
VMM api:
UC: Als VMM-component wil ik de Zorgaanbieders -sleutels, -namen en -codes ophalen bij RenA | |||||
Endpoint | Body | Http | Response | Opmerkingen | Moscow |
---|---|---|---|---|---|
GET <base>/ zorgaanbieders/ | 200 400 (bad request) 304 (ongewijzigd) | <zorgaanbieders> <zorgaanbieder> <ZAsleutel> <ZAnaam> <ZAcode> | Extra functionaliteit in RenA nodig:
Alle Zorgaanbieders die in RenA zijn opgevoerd
Dirty flag parameter in header | M | |
Parameters/filters | |||||
timestamp | Filter: Alle wijzigingen sinds <timestamp> | Optioneel | |||
Toegang | |||||
Keuze:
|
Afweging:
- ZAcode beheert in RenA
- Voordeel: Mogelijkheid deze later aan ZAL en ZKL toe te voegen
- Nadeel: Aanpassingen in RenA nodig
Verbind.MedMij component
Controleservice
UC: Als VMM website wil ik de ZAcode inwisselen voor een Zorgaanbiedernaam. | |||||
Endpoint | Body | Http | Response | Opmerkingen | Moscow |
---|---|---|---|---|---|
GET <base>/controle/ZAcode | 200 (success) 404 (not found) 422 (unprocessable) 429 (too many requests) 500 (server problem) | <EMPTY> |
| M | |
Toegang | |||||
| |||||
422, 429 → 'actionable'? |
Inwisselservice
UC: Als PGO wil ik de ZAcode inwisselen voor een Zorgaanbiedernaam. | |||||
Endpoint | Body | Http | Response | Opmerkingen | Moscow |
---|---|---|---|---|---|
GET <base>/zorgaanbieder/ZAcode | 200 400 (bad request) 404 (not found)
| <zorgaanbieder> <ZAsleutel> <ZAnaam> <ZAcode> |
| M | |
Toegang | |||||
VMM component krijgt 'deelnemer' status
| |||||
Terugwisselservice: lijst
UC: Als Shop wil ik alle Zorgaanbieders de ZAcode, ZAnaam en human readable url's opvragen, zodat ik een QR-code en (human readable) url's op VMM materialen kan zetten. | |||||
Endpoint | Body | Http | Response | Opmerkingen | Moscow |
---|---|---|---|---|---|
GET <base>/ zorgaanbieders/ | 200 400 (bad request) 404 (not found) | <zorgaanbieders> <zorgaanbieder> <ZAcode> <ZAnaam> <VMMurl> |
| M | |
Toegang | |||||
Voor Terugwisselservice wordt webshop 'hard' geconfigureerd; combinatie van:
| |||||
Optioneel: paginering |
Terugwisselservice: individueel
UC: Als Shop wil ik bij een specifieke ZorgaanbiederNaam de QR-code/human readable url opvragen, zodat ik een QR-code en human readable url op VMM materialen kan zetten. | |||||
Endpoint | Body | Http | Response | Opmerkingen | Moscow |
---|---|---|---|---|---|
GET <base>/ zorgaanbieders/<ZAnaam> | 200 400 (bad request) 404 (not found) | <zorgaanbieder> <ZAcode> <ZAnaam> <VMMurl>
| Eén VMMurl ipv twee ZAurl's ![]() | M | |
Toegang | |||||
Voor Terugwisselservice wordt webshop 'hard' geconfigureerd; combinatie van:
|
Benodigd (in backoffice):
- Registreren van url's (2 per PGO): inlog-url/aanmeld-url (beide pagina's moeten met de code kunnen werken): HOE KOMEN DIE IN VMM website?
- Bespreken met Jungle Minds/Product owner
- Informatie voor op de VMM website
- Moet InwisselService bewaken dat alleen 'VMM PGO's' code in kunnen wisselen? NEEN
Nog te doen:
- Uitwerken ontwerp na keuzen
- Valideren of alle 'Must' use cases afgedekt worden
- Uitwerken ontwerp (met name beveiliging) met 42
- Ureninschatting door 42
- Human readable url: hoe kunnen we verbind.medmij/code/abcde laten werken
- 'code' is nodig om andere paden te kunnen blijven bedienen
- (mogelijk) tweede variant verbind.medmij/qr/abcde (tbv statistieken)
- Statistieken
- Website
- analytics?
- Webshop
- analytics?
- Inwisselservice
- log van aanroepen (aanroepende partij, ZAcode, response)
- Terugwisselservice
- log van aanroepen (aanroepende partij, ZAnaam, response) (overleggen met 42 over slim formaat)
- DVP
- Keuze:
- optie toevoegen aan managementrapportage in AS
- aparte log
- anders/niet?
- Keuze:
- Na MVP kijken of er behoefte is aan integratie ism CCDA?
- Website
Omgevingen (OTAP & such)
- TAP: Nodig voor eigen acceptatie/test-proces
Integratie-omgeving: Beschikbaar voor deelnemers/webshop leverancier/website leverancier om tegen aan te testen (Inwisselservice, Terugwisselservice)Zandbak: Biedt PGO voordelen om zelf te testen (klein nadeel: PGO kan niet zelf ZA's aanmaken)Aparte I-omgeving
- OpenApi definitie file beschikbaar stellen voor
- Inwisselservice
- Terugwisselservice
Worse case scenario's
Scenario's:
- ZAnaam wijzigt, PGO kan ZAL niet ophalen (24 uur gat)
- ZAnaam weg -> code kan niet ingewisseld
- Door eigen administratie VMM component kan hier aparte fout voor worden gegeven (410)
- Code en ZAnaam ok, geen ZAL entry (meer) (moet PGO op kunnen vangen)
- Door eigen administratie VMM component kan hier aparte fout voor worden gegeven (410)