MedMij:V2020.01/Kwalificatie aansluiten: verschil tussen versies

Uit informatiestandaarden
Ga naar: navigatie, zoeken
k (Hotfix: changed 2019.01 for 2020.01)
k (Beveiligde "MedMij:V2020.01/Kwalificatie aansluiten": Protect production page from accidental edits ([Bewerken=Alleen beheerders toestaan] (vervalt niet) [Hernoemen=Alleen beheerders toestaan] (vervalt niet)))
 
(22 tussenliggende versies door 6 gebruikers niet weergegeven)
Regel 1: Regel 1:
 
{{MedMij:V2020.01/Issuebox}}
 
{{MedMij:V2020.01/Issuebox}}
 +
__NUMBEREDHEADINGS__
  
 
===Doelgroep===
 
===Doelgroep===
Doel van dit document is om een korte inleiding te geven aan leveranciers die willen starten met testen van een FHIR-zorgtoepassing.
+
Deze pagina is voor leveranciers die willen kwalificeren op een MedMij-gegevensdienst. Voor deze doelgroep is de 'Client' de DVP/PGO en de 'Server' de DVA/XIS. Nictiz biedt leveranciers de mogelijkheid hun producten en diensten te testen op correcte implementatie van de MedMij-gegevensdiensten.
 
+
{{#lst:kwalificatie:V1.0_Handleiding_Touchstone|Introductie Touchstone}}
Voor de uitwisseling van medische informatie maken zorgaanbieders gebruik van zorginformatiesystemen. Deze zogenaamde XIS-applicaties maken gebruik van informatiestandaarden zoals door MedMij worden ontwikkeld. MedMij biedt leveranciers de mogelijkheid hun producten en diensten te laten testen op correcte implementatie van informatiestandaarden.
+
{{#lst:kwalificatie:V1.0_Handleiding_Touchstone|Touchstone-account}}
 
 
===Aanmelden voor testen===
 
In  de informatiestandaarden staat per zorgtoepassing beschreven met welke berichtstructuur en volgens welke eisen informatie wordt uitgewisseld.
 
 
 
U meldt zich aan voor testen door een e-mail te sturen naar [mailto:kwalificatie@medmij.nl kwalificatie@medmij.nl]
 
 
 
Zodra we uw aanmelding hebben ontvangen neemt de kwalificatie-coördinator contact met u op om afspraken te maken over het verloop van het testtraject.
 
 
 
NB: deze testen staan los van een formele kwalificatie. De scope tijdens testen is beperkter omdat er minder testen worden doorlopen dan tijdens een formele kwalificatie.
 
 
 
===Hoe verloopt het testproces?===
 
 
 
Tijdens testen worden een aantal fases doorlopen die hieronder zijn opgesomd.
 
 
 
Het traject verloopt als volgt:
 
* Leverancier meldt zich aan voor kwalificatie(s) (zie hierboven.
 
* Kwalificatiecentrum vraagt de leverancier om informatie om het testen te kunnen opzetten
 
* MedMij verstrekt inhoudelijke scripts die door de softwareleverancier doorlopen kunnen worden.
 
* MedMij verstrekt de gegevens om de applicatie aan te sluiten op de simulator (zie [[MedMij:V2020.01/Kwalificatie_aansluiten#Opzetten_connectiviteit|Opzetten connectiviteit]]).
 
* Leverancier meldt eigen organisatie en testsysteem aan bij de simulator.
 
* Kwalificatiecentrum biedt op verzoek hulp bij het koppelen van de applicatie naar de simulator
 
* Connectiviteit met de simulator wordt door de softwareleverancier en MedMij getest.
 
* Leverancier test zelfstandig op basis van scripts op de simulator en geeft aan klaar te zijn via [mailto:kwalificatie@medmij.nl kwalificatie@medmij.nl]
 
* Indien van toepassing kan de leverancier extra materialen zoals screenshots insturen via email.
 
* Kwalificatiecentrum biedt op verzoek hulp bij het testen van de scripts.
 
 
 
====Testopzet DVP====
 
Bij testen waar de DVP het testobject is ziet de testopstelling er als volgt uit:
 
 
 
[[Bestand:Touchstone_DVP.png|link= |750px|Touchstone_DVP]]
 
 
 
De opzet is hier als volgt:
 
* De PGO/DVP is het testobject van de leverancier.
 
* Touchstone staat in het midden en stelt testen/testscripts, logging, validatie en overzicht beschikbaar.
 
* Daarachter staat een (WildFHIR) FHIR-server met de MedMij profielen en juiste testberichten, passend bij de testscripts.
 
 
 
====Testopzet DVZA====
 
Bij testen waar de DVZA het testobject is ziet de testopstelling er als volgt uit:
 
 
 
[[Bestand:Touchstone_DVZA.png|link= |550px|Touchstone_DVZA]]
 
 
 
De opzet is hier als volgt:
 
* Touchstone stelt testen/testscripts, logging, validatie en overzicht beschikbaar. Daarnaast is Touchstone ook een FHIR-client die interacties kan versturen volgens de testscripts.
 
* De DVZA is het testobject van de leverancier, in het algemeen een FHIR-server.
 
 
 
===Configureren simulator===
 
====Simulator====
 
MedMij organiseert testen zoveel mogelijk remote en via internet met behulp van een kwalificatiesimulator. MedMij gebruikt voor FHIR-testen de Touchstone simulator, zie https://touchstone.com
 
 
 
Het voordeel van het gebruik van deze tool is dat:
 
* Testen online kunnen gebeuren;
 
* Testen kunnen plaatsvinden op het moment dat het de softwareleverancier zelf uitkomt;
 
* Testen laagdrempelig is de focus ligt op de payload en infrastructurele zaken buiten scope van de test zijn;
 
* Meerdere testen tegelijkertijd kunnen plaatsvinden;
 
* De respons voorspelbaar is;
 
* De leverancier zelf inzicht heeft in de verstuurde berichten/documenten en validatieresultaten;
 
* De leverancier de mogelijkheid heeft om zichzelf te bevragen, of berichten naar zichzelf te sturen.
 
 
 
De simulator biedt tijdens de ontwikkeling de mogelijkheid om vooraf gedefinieerde inhoud terug te geven (zoals beschreven in de scripts). Hiermee kan de leverancier kijken of hij de data goed ontvangt en toont. Merk op dat hier vaak vaste inhoud teruggestuurd wordt. Ook kan de simulator het systeem bevragen in geval dat het systeem een bronsysteem is.
 
 
 
De simulator verzamelt informatie die van en naar een leverancier worden gecommuniceerd in een berichtenlog. Het is voor de leverancier mogelijk om zelf de berichtenlog in te zien, inclusief validatieresultaten.
 
 
 
Algemene opmerkingen over het gebruik van de simulator:
 
* de simulator is niet bedoeld voor loadtesten, maar voor inhoudelijke controles tegen informatiestandaarden;
 
* MedMij vraagt verantwoord gebruik van deze simulator, neem bij twijfel over gebruik contact op.
 
 
 
====Opzetten connectiviteit====
 
We vragen leveranciers om de onderstaande stappen uit te voeren.
 
 
 
Let op: we maken gebruiker van de TouchStone simulator. Hierbij is het nodig voor een leverancier om een eigen account aan te maken. TouchStone biedt hiervoor verschillende subscripties/licenties aan, zie https://touchstone.aegis.net/touchstone/subscription
 
 
 
De Open subscriptie biedt genoeg mogelijkheden om te kunnen testen en kwalificeren maar heeft de volgende restricties:
 
* Er kan maar 1 gebruiker registreren. Bespreek in de eigen organisatie eerst goed welke gebruiker geregistreerd gaat worden.
 
* Er is een limiet aan het aantal testen dat per dag kan worden uitgevoerd.
 
Neem graag contact op als hier vragen over zijn, of problemen bij worden ervaren.
 
 
 
=====Organisatie aanmaken=====
 
* Maak een account aan voor de organisatie, zie https://touchstone.aegis.net/touchstone/userguide/html/registration/index.html
 
NB: Name en Email is redelijk vrij in te vullen (mits het echte namen en E-mailadressen betreft). Let er wel op dat de naam voor de Organisatie een naam moet zijn die herkenbaar is binnen MedMij als toekomstige deelnemer. Als er bijvoorbeeld een onderontwikkelaar wordt ingeschakeld en die naam wordt gebruikt tijdens registratie als Organisatie, dan is binnen MedMij de relatie naar de verantwoordelijke toekomstige deelnemende leverancier niet altijd duidelijk, waarbij de kans bestaat dat het verzoek voor Joinen van Org Groupen wordt afgekeurd.
 
* Join de juiste Org Group voor testen:
 
Klik via Organizations, Org Groups
 
Kies de juiste Org Group om te joinen, in dit geval: '''MedMij-Testing'''
 
* NB: voor formele kwalificaties wordt er gebruik gemaakt van een 2e Org Group, genaamd: '''MedMij-Certify'''
 
 
 
 
[[Bestand:Aansluiten_org_group.png|link= |750px|Joinen van een Org Group]]
 
[[Bestand:Aansluiten_org_group.png|link= |750px|Joinen van een Org Group]]
* Het kwalificatiecentrum zal vervolgens het verzoek voor joinen goedkeuren. Merk op dat hierbij goedkeuring van één van onze medewerkers nodig is en er dus korte tijd overheen kan gaan.
 
* Nadat goedkeuring is verleend dient de gebruiker, als deze nog is ingelogd, uit te loggen en opnieuw in te loggen.
 
 
=====Pas eventueel privacy-settings aan=====
 
Let op: TouchStone toont per default e-mailadressen en organisatie van geregistreerde gebruikers.
 
Pas eventueel de privacy-settings aan voor eigen gebruikers:
 
* Ga naar My Settings
 
  
[[Bestand:Aansluiten privacy settings.png|link= |750px|Aanpassen privacy settings]]
+
* Kies Org Group '''MedMij-Testing''' voor toegang tot de testmaterialen.
 
+
* Kies Org Group '''MedMij-Certify''' voor toegang tot de formele kwalificatiematerialen.
* Vink aan:
+
{{#lst:Kwalificatie:V1.0_Handleiding_Touchstone|Testsysteem aanmaken}}
[[Bestand:Aansluiten privacy settings vink.png|link= |450px|Aanpassen privacy settings: Do not display my email]]
 
* Klik  op Save Changes.
 
 
 
=====Testsysteem aanmaken=====
 
* Maak een testsysteem aan voor de eigen applicatie, zie https://touchstone.aegis.net/touchstone/userguide/html/test-systems/index.html
 
 
Bij het aanmaken graag de volgende instellingen gebruiken:
 
Bij het aanmaken graag de volgende instellingen gebruiken:
* Specification: FHIR 3.0.1
+
* Specification: FHIR 3.0.2
* Niet aanvinken: requires OAuth2
+
* Niet aanvinken: requires OAuth2<br />NB: we versturen wel degelijk een OAuth token, maar die configuratie vindt elders plaats. Zie [[#Mock-authenticatie met vaste tokens|de uitleg over tokens]] voor meer informatie.
NB: we versturen wel degelijk een OAuth token, maar die configuratie vindt elders plaats.
 
 
* Can be viewed by: My organization groups
 
* Can be viewed by: My organization groups
 
* Can be executed against by: My organization groups
 
* Can be executed against by: My organization groups
Regel 115: Regel 19:
 
NB: als beide ondersteund wordt, is het aan te raden om daar 2 losse testsystemen voor op te zetten.
 
NB: als beide ondersteund wordt, is het aan te raden om daar 2 losse testsystemen voor op te zetten.
  
Het kwalificatiecentrum biedt op verzoek hulp bij het koppelen van de applicatie naar de simulator
+
Het kwalificatiecentrum biedt op verzoek hulp bij het koppelen van de applicatie naar de simulator.
Connectiviteit met de simulator wordt door de softwareleverancier en MedMij getest.
+
Connectiviteit met de simulator wordt door de softwareleverancier en Nictiz getest.
  
Neem graag even contact op als daar vragen over zijn.
+
{{#lst:Kwalificatie:V1.0_Handleiding_Touchstone|Uitvoeren van testen}}
 
+
Voor het uitvoeren van de tests kan (na inloggen) linksonder uit 'Test Definitions' een keuze worden gemaakt van de juiste testen.
===Gebruik simulator===
 
====Uitvoeren van testen====
 
Documentatie voor het uitvoeren van de testen is hier te zien: https://touchstone.aegis.net/touchstone/userguide/html/executing-tests/index.html
 
 
 
De leverancier kan zelfstandig testen op basis van scripts.
 
Indien van toepassing kan de leverancier extra materialen zoals screenshots insturen via email.
 
Het kwalificatiecentrum biedt op verzoek hulp bij het testen van de scripts.
 
 
 
Voor het uitvoeren van de tests kan (na inloggen) linksonder uit ‘Test Definitions’ een keuze worden gemaakt van de juiste testen.
 
  
 
[[Bestand:Aansluiten test definitions.png|link= |250px|Aansluiten test definitions]]
 
[[Bestand:Aansluiten test definitions.png|link= |250px|Aansluiten test definitions]]
  
Klik onder ‘Test Definitions’ door naar:
+
Klik onder 'Test Definitions' door naar:
 
* FHIRSandbox
 
* FHIRSandbox
 
** Nictiz
 
** Nictiz
 
*** FHIR3-0-2-MM202001-Test (dit is de MedMij 2020.01 release)
 
*** FHIR3-0-2-MM202001-Test (dit is de MedMij 2020.01 release)
  
In deze map zijn verschillende testen te vinden in het kader van MedMij testen.
+
In deze map zijn verschillende testen te vinden in het kader van MedMij-testen.
Kies hierbij de juiste inhoudelijke rol en:
+
Kies hierbij de juiste inhoudelijke rol:
* PHR (= PGO) of
+
* PHR (= PGO/DVP)
* XIS (= zorgaanbieder)
+
* XIS (= Zorgaanbieder/DV(Z)A)
  
 
Selecteer de testen uit die map (meestal alle testen) dus select all, '''Create Test Setup'''.
 
Selecteer de testen uit die map (meestal alle testen) dus select all, '''Create Test Setup'''.
  
[[Bestand:Aansluiten create test setup.png|link= |750px|Aansluiten create test setup]]
+
[[Bestand:Aansluiten create test setup_20210318.png|link= |750px|Aansluiten create test setup]]
  
 
Bij het testen van '''PGO''' systemen moet de volgende informatie worden opgegeven:
 
Bij het testen van '''PGO''' systemen moet de volgende informatie worden opgegeven:
Regel 159: Regel 54:
  
 
[[Bestand:Aansluiten create test setup execute.png|link= |750px|Aansluiten create test setup execute]]
 
[[Bestand:Aansluiten create test setup execute.png|link= |750px|Aansluiten create test setup execute]]
 +
{{#lst:Kwalificatie:V1.0_Handleiding_Touchstone|Tokens}}
 +
{{#lst:Kwalificatie:V1.0_Handleiding_Touchstone|Aandachtspunten}}
 +
====MedMij request headers====
 +
Het MedMij Afsprakenstel [https://afsprakenstelsel.medmij.nl/asverplicht/mmverplicht/resource-interface verplicht het gebruik van een aantal headers]. Voor compatibiliteit met systemen die voldoen aan het Afsprakenstel worden de volgende twee headers toegevoegd binnen alle TestScripts:
 +
* De <code>MedMij-Request-ID</code>-header is een willekeurig gegenereerde UUID ''per request''.
 +
* De <code>X-Correlation-ID</code>-header is een UUID, gegenereerd ''per TestScript''. Elke request binnen hetzelfde TestScript bevat dus dezelfde waarde voor deze header. Indien er meerdere TestScripts tegelijk geselecteerd worden voor executie, biedt Touchstone ook de mogelijkheid om voor alle geselecteerde TestScripts [https://touchstone.aegis.net/touchstone/userguide/html/executing-tests/test-setup.html#repeated-variables dezelfde waarde mee te geven].
  
 +
N.B. Dit mechanisme is niet bedoeld om de werking van deze headers te testen, maar alleen om te zorgen dat de requests geen problemen opleveren voor systemen die het Afsprakenstelsel implementeren.{{#lst:Kwalificatie:V1.0_Handleiding_Touchstone|Variabele T datum}}
  
Zie verder de documentatie van Touchstone voor het inzien van test resultaten:
+
===Mijn systeem is getest, en nu?===
https://touchstone.aegis.net/touchstone/userguide/html/executing-tests/index.html
+
Geef graag aan als de testen zijn afgerond via [mailto:kwalificatie@medmij.nl kwalificatie@medmij.nl]
  
====Volgorde van testen====
+
{{MedMij:Sjabloon_Ondersteuning}}
Het kwalificatiescript vraagt om een vaste volgorde voor het uitvoeren van testen, waar de informatiestandaard mogelijk meer ruimte laat om dit ook in een andere volgorde te doorlopen.
 
Het is daarom van belang om bij het uitvoeren van testen op de kwalificatiesimulator de interacties uit te voeren '''in dezelfde volgorde''' waarin ze worden gevraagd worden in de testscripts.
 
 
 
====Testen en ophalen van references====
 
Antwoorden uit de kwalificatiesimulator bevatten soms references naar extra informatie.
 
Een voorbeeld uit de BGZ:
 
<code><reference value="Practitioner/medmij-bgz-practitioner-ts-02"/></code>
 
 
 
Die references zijn los op te halen bij de kwalificatiesimulator.
 
Merk op dat omdat er een bepaalde volgorde wordt gevraagd tijdens uitvoer van de testen, het tussendoor ophalen van references mogelijk kan ervoor zorgen dat een test faalt.
 
We raden in dat geval aan om:
 
* De references pas op te halen als de test op de kwalificatiesimulator is afgelopen. Het ophalen van references zal er dan niet meer voor zorgen dat testen falen.
 
Indien dat niet mogelijk is:
 
* Testen 2 keer uit te voeren:
 
** De test één keer uit te voeren zonder het ophalen van references. Het doel hierbij is om aan te tonen dat de applicatie de juiste interacties kan versturen die worden gevraagd in het testscript.
 
** De test een tweede keer uit te voeren, maar dan zonder dat hiervoor een testexecutie is gestart op de kwalificatiesimulator. Tijdens deze test kunnen dan wel alle references tussendoor worden opgehaald. Het doel van deze test is om aan te tonen dat de applicatie goed om kan goed met de inhoud verstuurd tijdens de test, inclusief de los op te halen references.
 
 
 
====Vragen over uitvoer van testscript====
 
Indien er vragen zijn over uitgevoerde testen is het voor ons van belang om gericht te kunnen terugvinden welke interacties er uitgewisseld zijn.
 
Bij contact hierover vragen wij daarom om (indien mogelijk) hiervoor een testexecution uit te voeren op de kwalificatiesimulator.
 
Neem bij vragen daarover graag altijd de link op naar de uitgevoerde testexecution uit de history van Touchstone.
 
Dat geeft de mogelijkheid om gericht te kijken naar een uitgevoerde test.
 
 
 
Een voorbeeld in schermprints:
 
 
 
Klikken naar '''History''' in Touchstone:
 
 
 
[[Bestand:Touchstone_history.png|link= |250px|Touchstone history.png]]
 
 
 
Ophalen van de link van de testexecution uit de History:
 
 
 
[[Bestand:Touchstone_history_link.png|link= |750px|Touchstone_history_link.png]]
 
 
 
De link van de testexecution ziet er dan bijvoorbeeld zo uit:
 
<code><nowiki>https://touchstone.aegis.net/touchstone/execution?exec=201904050520537715673006</nowiki></code>
 
 
 
===Mijn software is getest en nu?===
 
Geef graag aan als de testen zijn afgerond via [mailto:kwalificatie@medmij.nl kwalificatie@medmij.nl]
 

Huidige versie van 19 nov 2024 om 16:20


1 Doelgroep

Deze pagina is voor leveranciers die willen kwalificeren op een MedMij-gegevensdienst. Voor deze doelgroep is de 'Client' de DVP/PGO en de 'Server' de DVA/XIS. Nictiz biedt leveranciers de mogelijkheid hun producten en diensten te testen op correcte implementatie van de MedMij-gegevensdiensten.

2 Introductie Touchstone

Om FHIR-implementaties van een informatiestandaard te beproeven en te kwalificeren is de Touchstone-simulatieomgeving beschikbaar. Dit is een online platform waarmee leveranciers zelf tests kunnen uitvoeren en validatieresultaten kunnen inzien. Nictiz stelt de hiervoor benodigde testscripts beschikbaar. Deze komen overeen met de functionele testscripts bij een informatiestandaard.

Algemene opmerkingen over het gebruik van de simulator:

  • De simulator is niet bedoeld voor loadtesten, maar voor inhoudelijke controles tegen informatiestandaarden;
  • Nictiz vraagt verantwoord gebruik van deze simulator, neem bij twijfel over gebruik contact op.

2.1 Testopzet client

Bij testen waar de FHIR-client het testobject is ziet de testopstelling er als volgt uit:

Touchstone client.jpg

De opzet is hier als volgt:

  • De client is het testobject van de leverancier.
  • Touchstone staat in het midden en stelt testen/testscripts, logging, validatie en overzicht beschikbaar.
  • Daarachter staat een FHIR-server (WildFHIR) met de FHIR-profielen en testberichten passend bij de testscripts.

2.2 Testopzet server

Bij testen waar de FHIR-server het testobject is ziet de testopstelling er als volgt uit:

Touchstone server.jpg

De opzet is hier als volgt:

  • Touchstone stelt testen/testscripts, logging, validatie en overzicht beschikbaar. Daarnaast is Touchstone ook een FHIR-client die interacties kan versturen volgens de testscripts.
  • De server is het testobject van de leverancier.


3 Touchstone-account

3.1 Account aanmaken

Leveranciers hebben een eigen bedrijfsaccount nodig voor hun organisatie op Touchstone. Er zijn verschillende abonnementsvormen beschikbaar, waaronder een gratis abonnement. Deze optie (Open) biedt die alle mogelijkheden om te kunnen testen en kwalificeren, maar kent wel limieten, onder meer het aantal tests dat per dag kan worden uitgevoerd.

Voor het aanmaken van een organisatie op Touchstone kunnen de stappen op https://touchstone.aegis.net/touchstone/userguide/html/registration-and-login/membership.html gevolgd worden. Let er op dat de "Name" van de organisatie het liefst herkenbaar moet zijn voor Nictiz en dat er niet bijvoorbeeld de naam van een onderontwikkelaar wordt ingevuld. Dit vereenvoudigt het aanmeldproces.

Let erop dat Touchstone standaard e-mailadressen en de organisatie van geregistreerde gebruikers toont. Individuele gebruikers kunnen dit in de instellingen van hun account aanpassen.

3.2 Join Org Group

Het bedrijfsaccount moet vervolgens toegang krijgen tot de Nictiz-materialen. Dit gaat door lid te worden van de relevant "Org Group(s)". De Touchstone-handleiding beschrijft hoe een verzoek hiervoor kan worden ingediend. Nictiz zal vervolgens het verzoek voor toetreding goedkeuren. Merk op dat hierbij goedkeuring van één van onze medewerkers nodig is en er dus korte tijd overheen kan gaan. Nadat goedkeuring is verleend dient de gebruiker, als deze nog is ingelogd, uit te loggen en opnieuw in te loggen.

Joinen van een Org Group

  • Kies Org Group MedMij-Testing voor toegang tot de testmaterialen.
  • Kies Org Group MedMij-Certify voor toegang tot de formele kwalificatiematerialen.

4 Testsysteem aanmaken

De volgende stap is om het systeem dat getest moet worden als "Test System" te registreren in Touchstone. Volg hiervoor de stappen in de Touchstone-handleiding.

Bij het aanmaken graag de volgende instellingen gebruiken:

  • Specification: FHIR 3.0.2
  • Niet aanvinken: requires OAuth2
    NB: we versturen wel degelijk een OAuth token, maar die configuratie vindt elders plaats. Zie de uitleg over tokens voor meer informatie.
  • Can be viewed by: My organization groups
  • Can be executed against by: My organization groups
  • Supported profiles: maak de keuze tussen FHIR-client of FHIR-server

NB: als beide ondersteund wordt, is het aan te raden om daar 2 losse testsystemen voor op te zetten.

Het kwalificatiecentrum biedt op verzoek hulp bij het koppelen van de applicatie naar de simulator. Connectiviteit met de simulator wordt door de softwareleverancier en Nictiz getest.


5 Uitvoeren van testen

Leveranciers kunnen zelfstandig de scripts die Nictiz publiceert uitvoeren en de resultaten bekijken. Hoe dit moet, wordt uitgelegd in de Touchstone-documentatie.

Voor het uitvoeren van de tests kan (na inloggen) linksonder uit 'Test Definitions' een keuze worden gemaakt van de juiste testen.

Aansluiten test definitions

Klik onder 'Test Definitions' door naar:

  • FHIRSandbox
    • Nictiz
      • FHIR3-0-2-MM202001-Test (dit is de MedMij 2020.01 release)

In deze map zijn verschillende testen te vinden in het kader van MedMij-testen. Kies hierbij de juiste inhoudelijke rol:

  • PHR (= PGO/DVP)
  • XIS (= Zorgaanbieder/DV(Z)A)

Selecteer de testen uit die map (meestal alle testen) dus select all, Create Test Setup.

Aansluiten create test setup

Bij het testen van PGO systemen moet de volgende informatie worden opgegeven:

  • Origin: Het eigen PGO test systeem.
  • Destination: Kies hierbij voor ‘Nictiz – Nictiz WildFHIR V202001 - FHIR 3.0.2’ (voor HTTP verkeer) of
  • Destination: Kies hierbij voor ‘Nictiz – Nictiz WildFHIR MedMij V202001-TLS - FHIR 3.0.2’ (voor HTTPS/TLS verkeer)

NB: voor HTTPS/TLS wordt er gebruik gemaakt van Let's Encrypt certificaten.

Bij het testen van XIS systemen moet de volgende informatie worden opgegeven:

  • Origin: AEGIS.net, Inc - TouchstoneFHIR
  • Destination: Het eigen XIS test systeem.

Daarna: execute

Aansluiten create test setup execute

6 Mock-authenticatie met vaste tokens

De authenticatie-stap is geen onderdeel van de Touchstone-test. Authenticatie van de FHIR-requests via een Bearer-token wordt op Touchstone nagebootst door het gebruik van vaste, niet-verlopende tokens.

Het gebruik hiervan verschilt per rol die wil testen of kwalificeren:

  • Voor clients die getest worden, is er per testpatiënt uit het scenario een Bearer-token gedefinieerd. De client dient deze tokens te gebruiken in elke request naar Touchstone/WildFHIR.
  • Bij servers die getest worden, wordt er tijdens het aanmaken van de test gevraagd om een Bearer-token voor elke testpatiënt. Touchstone zal deze tokens gebruiken in de requests naar de server die getest wordt. Standaard zijn hier de zelfde tokens ingevuld die ook voor client-testen gebruikt worden, het staat gebruikers vrij om deze tokens over te nemen.
    Let op: De tokens moeten gedefinieerd worden als Bearer<spatie>[token], bijvoorbeeld Bearer 0aed465d-aab0-4417-9b3c-e6f635892fea (zonder aanhalingstekens).

TouchstoneEnterToken.png


7 Aandachtspunten

7.1 USER_KEY en ORG_KEY weghalen in tickets

Bij het aanmaken van een ticket over Touchstone is het vaak zinvol om een deel van de (request)code mee te sturen ter verheldering van het probleem. Als deze vraag op een openbaar platform wordt gesteld (bv. een openbaar BITS/Jira-project) is het van belang dat de USER_KEYs en ORG_KEYs in deze transactie worden verwijderd (voor het opslaan van de tekst!). Deze keys zijn namelijk gebruiker/organisatie-specifiek en mogen niet voor derden zichtbaar zijn. Mocht dit toch gebeuren, laat het ons dan direct weten in het ticket. Het ticket zal dan worden verwijderd, met evt. een nieuwe clone waar de keys niet instaan zodat de vraag wel behandeld kan worden.

7.2 Volgorde van tests

Het kwalificatiescript vraagt om een vaste volgorde voor het sturen van requests, waar de informatiestandaard mogelijk meer ruimte laat om dit ook in een andere volgorde te doorlopen. Het is daarom van belang om bij het uitvoeren van testen op de kwalificatiesimulator de interacties uit te voeren in dezelfde volgorde waarin ze worden gevraagd in de testscripts.

7.3 Ophalen van references

Antwoorden uit de kwalificatiesimulator bevatten soms references naar extra informatie. Een voorbeeld uit de BGZ: <reference value="Practitioner/medmij-bgz-practitioner-ts-02"/>

Deze references zijn los op te halen bij de kwalificatiesimulator, maar omdat er een bepaalde volgorde van interacties wordt gevraagd, kan het tussendoor ophalen van references ervoor zorgen dat een test faalt. We raden in dat geval aan om: De references pas op te halen als de test op de kwalificatiesimulator is afgelopen. Het ophalen van references zal er dan niet meer voor zorgen dat testen falen.

Indien dat niet mogelijk is:

Testen 2 keer uit te voeren:

  • De test één keer uit te voeren zonder het ophalen van references. Het doel hierbij is om aan te tonen dat de applicatie de juiste interacties kan versturen die worden gevraagd in het testscript.
  • De test een tweede keer uit te voeren, maar dan zonder dat hiervoor een testexecutie is gestart op de kwalificatiesimulator. Tijdens deze test kunnen dan wel alle references tussendoor worden opgehaald. Het doel van deze test is om aan te tonen dat de applicatie goed om kan goed met de inhoud verstuurd tijdens de test, inclusief de los op te halen references.

7.4 Infrastructuur

Bij het gebruik van Touchstone willen we de volgende punten onder de aandacht brengen:

  • Touchstone maakt geen gebruik van tweezijdige TLS-authenticatie.

7.5 Vragen over uitvoer van testscript

Indien er vragen zijn over uitgevoerde testen is het voor ons van belang om gericht te kunnen terugvinden welke interacties er uitgewisseld zijn. Bij contact hierover vragen wij daarom om (indien mogelijk) een testexecutie uit te voeren op de kwalificatiesimulator. Stuur bij vragen daarover altijd de link mee naar de uitgevoerde testexecutie uit de History op Touchstone.

Een voorbeeld in schermprints:

Klikken naar History in Touchstone:

Touchstone history.png

Ophalen van de link van de testexecutie uit de History:

Touchstone_history_link.png

De link van de testexecutie ziet er dan bijvoorbeeld zo uit: https://touchstone.aegis.net/touchstone/execution?exec=201904050520537715673006

7.6 MedMij request headers

Het MedMij Afsprakenstel verplicht het gebruik van een aantal headers. Voor compatibiliteit met systemen die voldoen aan het Afsprakenstel worden de volgende twee headers toegevoegd binnen alle TestScripts:

  • De MedMij-Request-ID-header is een willekeurig gegenereerde UUID per request.
  • De X-Correlation-ID-header is een UUID, gegenereerd per TestScript. Elke request binnen hetzelfde TestScript bevat dus dezelfde waarde voor deze header. Indien er meerdere TestScripts tegelijk geselecteerd worden voor executie, biedt Touchstone ook de mogelijkheid om voor alle geselecteerde TestScripts dezelfde waarde mee te geven.

N.B. Dit mechanisme is niet bedoeld om de werking van deze headers te testen, maar alleen om te zorgen dat de requests geen problemen opleveren voor systemen die het Afsprakenstelsel implementeren.

8 Variabele T datum

Test- en kwalificatiescenario's werken vaak met relatieve datums, die ervoor zorgen dat scenario's niet gedateerd raken. Een datum 'volgende week' blijft zodoende altijd in de toekomst. Om dit te vertalen naar concrete datums die gebruikt worden tijdens het testen en kwalificeren wordt gewerkt met de zogenaamde T-datum. De betekenis van deze T-datum en waar een deelnemer rekening mee moet houden bij het gebruik hiervan verschilt per rol. Voor iedere rol volgt hierna verdere uitleg.

8.1 Server: beschikbaarstellen (serve) en client: sturen (send)

Leveranciers die de inhoudelijke gegevens van test- en kwalificatiescenario's in hun bronsysteem invoeren ter voorbereiding op de Touchstone-tests voor beschikbaarstellen (serve) of sturen (send), bepalen een T-datum die zij hanteren bij het invoeren van alle gegevens.

Wanneer de bepaalde T-datum bijvoorbeeld '2022-01-01' is en de kwalificatiescripts spreken van 'T + 400D', berekent de leverancier de datum die 400 dagen ná de bepaalde T-datum ligt. Die datum wordt vervolgens in het bronsysteem ingevoerd bij het betreffende veld – in dit voorbeeld dus '2023-02-05'.

Mogelijke eenheden die gebruik worden bij het verrekenen van de T-datum zijn 'D' (dagen), 'M' (maanden) en 'Y' (jaren).

Wanneer er datums gebruikt worden in de testscenario's, die invloed hebben op de Touchstone-scripts, bijvoorbeeld in de zoekparameters van het scenario "Persoon 1 vraagt alle meetwaarden op in een periode ('T – 30D t/m T')", wordt ook bij het uitvoeren van het betreffende TouchStone-script gevraagd de bepaalde T-datum in te voeren. Touchstone berekent vervolgens zelf de exact benodigde datums. Als de T-datum van het Touchstone-script overeenkomt met die van de ingevoerde gegevens, worden de gevraagde resources opgeleverd.

De verwachting is dat een leverancier de gebruikte T-datum vermeldt bij het aanleveren van de materialen en dat deze datum correspondeert met de aangeleverde screenshots en Touchstone-testexecutie(s).

8.2 Server: ontvangen (receive) en client: ophalen (retrieve)

Leveranciers die gegevens ophalen of ontvangen tijdens het gebruik van Touchstone, ontvangen testberichten van WildFHIR. Elke maandag worden de gegevens op WildFHIR ververst, waarbij alle datums opnieuw worden berekend met de datum van die maandag als referentie.

Als een client gegevens ophaalt in de week van '2022-08-01', zal, indien het kwalificatiescript spreekt van een veld met als datum 'T + 400D', er een resource opgehaald worden waarin dat betreffende veld gevuld is met de datum '2023-09-05'.

Wanneer er datums gebruikt worden in de testscenario's, die invloed hebben op de Touchstone-scripts, bijvoorbeeld in de zoekparameters van het scenario "Persoon 1 vraagt alle meetwaarden op in een periode ('T – 30D t/m T')", wordt ook bij het uitvoeren van het betreffende Touchstone-script gevraagd de T-datum in te voeren. Hier dient dus de datum van de maandag uit de testweek te worden ingevuld. Touchstone berekent vervolgens zelf de exact benodigde datums. Als de T-datum van het Touchstone-script overeenkomt met de datum die gebruikt is tijdens het verversen van WildFHIR, worden de gevraagde resources opgeleverd.

De verwachting is dat een client tijdens kwalificatie in screenshots datums laat zien die corresponderen met gegevens die opgehaald zijn tijdens de aangeleverde Touchstone-testexecutie(s).

9 Tijdzones

In de FHIR-datatypes dateTime (indien uren en minuten worden gebruikt) en instant is het verplicht om een tijdzone in te vullen. De tijdzone kan daarom niet worden weglaten uit de testgegevens. Touchstone heeft helaas de beperking dat de Nederlandse tijdzone niet berekend kan worden aan de hand van de T-datum. De tijdzone die nu in onze testgegevens staat is daarom de Nederlandse tijdzone bij de eerste keer invullen van dit scenario met concrete datums. Dit komt niet per definitie overeen met de geldende tijdzone in Nederland voor de (in een testexecutie gebruikte, uiteindelijke) datum. In productie moet gerekend worden op een juiste tijdzone en het is dan ook juist om deze tijdzone gewoon te interpreteren, dit betekent dat de gegevens mogelijk soms een uur later of vroeger zijn dan in het addendum staat. Dit is geen reden voor afkeuren tijdens kwalificatie.


10 Mijn systeem is getest, en nu?

Geef graag aan als de testen zijn afgerond via kwalificatie@medmij.nl


11 Ondersteuning

Voor vragen en wijzigingsverzoeken met betrekking tot de informatie op deze pagina kan een ticket worden aangemaakt in Servicedesk Portaal.