kwalificatie:Vprepub-1.0 Handleiding Touchstone: verschil tussen versies

Uit informatiestandaarden
Ga naar: navigatie, zoeken
Regel 1: Regel 1:
====Testopzet Client ====
+
__NUMBEREDHEADINGS__
Bij testen waar de Client het testobject is ziet de testopstelling er als volgt uit:
+
===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.
  
[[Bestand:Touchstone_DVP.png|link= |750px|Touchstone_DVP]]
+
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.
  
De opzet is hier als volgt:
+
====Testopzet client====
* 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 (WildFHIR) FHIR-server met de profielen en juiste testberichten, passend bij de testscripts.
 
  
====Testopzet Server====
+
Bij testen waar de FHIR-client het testobject is ziet de testopstelling er als volgt uit:
Bij testen waar de Server het testobject is ziet de testopstelling er als volgt uit:
 
  
[[Bestand:Touchstone_DVZA.png|link= |550px|Touchstone_DVZA]]
+
Touchstone_DVP
  
 
De opzet is hier als volgt:
 
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 client is het testobject van de leverancier.
* De DVZA is het testobject van de leverancier, in het algemeen een FHIR-server.
+
- 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.
  
===Introductie Touchstone===
+
====Testopzet server====
====Simulator====
 
Nictiz organiseert testen zoveel mogelijk remote en via internet met behulp van een kwalificatiesimulator. Nictiz gebruikt voor FHIR-testen de Touchstone simulator, zie https://touchstone.com
 
  
Het voordeel van het gebruik van deze tool is dat:
+
Bij testen waar de FHIR-server het testobject is ziet de testopstelling er als volgt uit:
* 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.
+
Touchstone_DVZA
  
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.
+
De opzet is hier als volgt:
  
Algemene opmerkingen over het gebruik van de simulator:
+
- Touchstone stelt testen/testscripts, logging, validatie en overzicht beschikbaar. Daarnaast is Touchstone ook een FHIR-client die interacties kan versturen volgens de testscripts.
* de simulator is niet bedoeld voor loadtesten, maar voor inhoudelijke controles tegen informatiestandaarden;
+
- De server is het testobject van de leverancier.
* Nictiz vraagt verantwoord gebruik van deze simulator, neem bij twijfel over gebruik contact op.
 
  
====Opzetten connectiviteit====
 
We maken gebruik van de TouchStone-simulator. Het is voor een leverancier nodig 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:
+
===Touchstone-account===
* Er kan maar 1 gebruiker registreren. Bespreek in de eigen organisatie eerst goed welke gebruiker geregistreerd gaat worden.
+
====Account aanmaken====
* 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=====
+
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.
Maak een account aan voor de organisatie, zie https://touchstone.aegis.net/touchstone/userguide/html/registration/index.html
 
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 als toekomstige deelnemer. Als er bijvoorbeeld een onderontwikkelaar wordt ingeschakeld en die naam wordt gebruikt tijdens registratie als Organisatie, dan is binnen Nictiz 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.
 
  
[[Bestand:Aansluiten_org_group.png|link= |750px|Joinen van een Org Group]]
+
Voor het aanmaken van een organisatie op Touchstone kunnen de stappen op https://touchstone.aegis.net/touchstone/userguide/html/registration/index.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.
  
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.
+
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.
 +
====Join Org Group====
  
=====Pas eventueel privacy-settings aan=====
+
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.
TouchStone toont per default e-mailadressen en de organisatie van geregistreerde gebruikers.
+
===Testsysteem aanmaken===
Pas eventueel de privacy-settings aan voor eigen gebruikers:
 
* Ga naar My Settings
 
  
[[Bestand:Aansluiten privacy settings.png|link= |750px|Aanpassen privacy settings]]
+
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.
 +
===Uitvoeren van testen===
  
* Vink aan:
+
Leveranciers kunnen zelfstandig de scripts die Nictiz publiceert uitvoeren en de resultaten bekijken. Hoe dit moet, wordt uitgelegd in de Touchstone-documentatie.
[[Bestand:Aansluiten privacy settings vink.png|link= |450px|Aanpassen privacy settings: Do not display my email]]
+
===Aandachtspunten===
* Klik  op Save Changes.
+
====Volgorde van tests====
  
=====Testsysteem aanmaken=====
+
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.
* Maak een testsysteem aan voor de eigen applicatie, zie https://touchstone.aegis.net/touchstone/userguide/html/test-systems/index.html
+
====Ophalen van references====
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.
 
* 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.
 
  
===Gebruik simulator===
+
Antwoorden uit de kwalificatiesimulator bevatten soms references naar extra informatie. Een voorbeeld uit de BGZ: <reference value="Practitioner/medmij-bgz-practitioner-ts-02"/>
====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.
+
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:
Indien van toepassing kan de leverancier extra materialen zoals screenshots insturen via email.
+
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.
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.
+
Indien dat niet mogelijk is:
  
Zie verder de documentatie van Touchstone voor het inzien van test resultaten:
+
Testen 2 keer uit te voeren:
https://touchstone.aegis.net/touchstone/userguide/html/executing-tests/index.html
+
- 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.
  
====Volgorde van testen====
+
====Infrastructuur====
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 in de testscripts.
 
  
====Aandachtspunten Infrastructuur====
 
 
Bij het gebruik van Touchstone willen we de volgende punten onder de aandacht brengen:
 
Bij het gebruik van Touchstone willen we de volgende punten onder de aandacht brengen:
* Touchstone maakt geen gebruik van tweezijdige TLS-authenticatie.
+
- Touchstone maakt geen gebruik van tweezijdige TLS-authenticatie.
  
====Testen en ophalen van references====
+
====Vragen over uitvoer van testscript====
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) 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.
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:
 
Een voorbeeld in schermprints:
  
Klikken naar '''History''' in Touchstone:
+
Klikken naar History in Touchstone:
 
 
[[Bestand:Touchstone_history.png|link= |250px|Touchstone history.png]]
 
  
Ophalen van de link van de testexecution uit de History:
+
Touchstone history.png
  
[[Bestand:Touchstone_history_link_20210318.png|link= |750px|Touchstone_history_link.png]]
+
Ophalen van de link van de testexecutie uit de History:
  
De link van de testexecution ziet er dan bijvoorbeeld zo uit:
+
Touchstone_history_link.png
<code><nowiki>https://touchstone.aegis.net/touchstone/execution?exec=201904050520537715673006</nowiki></code>
 
  
 +
De link van de testexecutie ziet er dan bijvoorbeeld zo uit: https://touchstone.aegis.net/touchstone/execution?exec=201904050520537715673006
 
===Variabele T datum===
 
===Variabele T datum===
Bij kwalificaties wordt er gebruik gemaakt van een variabele datum. Dit is de zogenoemde T datum welke is opgenomen in de functionele testscripts, met name in de addenda, en in de technische testscripts op Touchstone. Deze variabele datum wordt gebruikt om zo dicht mogelijk tegen een productiewaardig scenario te testen en te kwalificeren. Middels de variabele datum kunnen de testgegevens actueel blijven. Deze T datum komt op twee plekken terug, namelijk in de datumvelden van de testgegevens en in de datumparameters in de search URL's.
 
 
====Kwalificatie testgegevens====
 
In de kwalificatiescripts zijn datumvelden beschreven op basis van een T datum. Als ergens staat T – 100D betekent dit: 100 dagen eerder dan de datum die voor T geldt. Deze testgegevens uit het kwalificatiescript worden vervolgens gebruikt om ofwel de Nictiz WildFHIR server te vullen of door kandidaat deelnemers om de testgegevens in het systeem te registreren.
 
Het vullen van de Nictiz WildFHIR server kon in het verleden door kandidaatdeelnemers gebeuren door het draaien van het 'load script' op basis van een op te geven variabele T. Dit is nu in beheer genomen door het kwalificatie team.
 
 
'''Elke maandag wordt de Nictiz WildFHIR server geschoond en opnieuw gevuld met een testgegevens op basis van een T datum gelijk aan de datum van die maandag.'''
 
 
Bijvoorbeeld in 2022 is de T datum in week 3 gelijk aan 17 januari 2022.
 
  
====Parameters in de request URL's====
+
Test- en kwalificatiescenario's werken vaak met relatieve datums, bijvorbeeld "de afgelopen zes weken". Om dit te vertalen naar concrete datums tijdens het uitvoeren van een test wordt er in de functionele en technische testscripts gewerkt met een zogenaamde T-datum, bijvoorbeeld "T-400D" ofwel 400 dagen vóór de T-datum.
Bij sommige testscenario's wordt een datumfilter gebruikt. Deze datumfilters zijn ook op basis van de variabele T datum. Bij het uitvoeren van het testscript in Touchstone is het mogelijk om bij de setupfase de variabele T datum te geven. Deze T datum staat in relatie tot de testgegevens die op de Nictiz WildFHIR server of het eigen bronsysteem staan.
 
''' De T datum die hier gebruikt dient te worden, is gelijk aan de datum van de maandag (waarop de gegevens geladen zijn).'''
 
Wanneer een andere T datum wordt gebruikt kan het voorkomen dat er geen of te weinig testgegevens terugkomen op de uitgevoerde test. Dit kan er toe leiden dat de test niet slaagt.
 
  
====Tijdnotatie====
+
De T-datum is altijd de maandag van de week waarin getest wordt.
Het meegeven van de tijd is bij de gestructureerde einddatum/tijd (dus niet de Resource.text, maar de velden met alleen de datum/tijd) verplicht in de standaard om eventuele verwarring tussen de precieze betekenis van "tot" en "tot en met" te voorkomen.
 
  
In de FHIR datatypes dateTime (indien uren en minuten worden gebruikt) en instant is de tijdzone verplicht. De tijdzone kan daarom niet worden weglaten uit de testgegevens.
+
Bijvoorbeeld in 2022 is de T-datum in week 3 gelijk aan 17 januari 2022. Deze T-datum is in verschillende situaties relevant:
 +
- Wanneer er tijdens het starten van een test gevraagd wordt om een "variabele T", is dit de datum die gebruikt dient te worden.
 +
- Leveranciers die testgegevens in hun eigen systeem invoeren, dienen deze referentiedatum aan te houden om de concrete datums te berekenen.
 +
- Wanneer er datums in requests gebruikt worden, dienen deze berekend te worden ten opzichte van de T-datum.
  
Touchstone heeft helaas een beperking dat de Nederlandse tijdzone niet berekend kan worden bij een variabele datum. De tijdzone die nu in onze testgegevens staat, was een 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 test-executie 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 in kwalificatie.
+
Elke maandag wordt de Nictiz WildFHIR-server geschoond en opnieuw gevuld met testgegevens op basis van deze T-datum.
 +
====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.

Versie van 24 feb 2022 om 09:21

1 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.

1.1 Testopzet client

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

Touchstone_DVP

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.

1.2 Testopzet server

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

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 server is het testobject van de leverancier.


2 Touchstone-account

2.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/index.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.

2.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.

3 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.

4 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.

5 Aandachtspunten

5.1 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.

5.2 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.

5.3 Infrastructuur

Bij het gebruik van Touchstone willen we de volgende punten onder de aandacht brengen: - Touchstone maakt geen gebruik van tweezijdige TLS-authenticatie.

5.4 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

6 Variabele T datum

Test- en kwalificatiescenario's werken vaak met relatieve datums, bijvorbeeld "de afgelopen zes weken". Om dit te vertalen naar concrete datums tijdens het uitvoeren van een test wordt er in de functionele en technische testscripts gewerkt met een zogenaamde T-datum, bijvoorbeeld "T-400D" ofwel 400 dagen vóór de T-datum.

De T-datum is altijd de maandag van de week waarin getest wordt.

Bijvoorbeeld in 2022 is de T-datum in week 3 gelijk aan 17 januari 2022. Deze T-datum is in verschillende situaties relevant: - Wanneer er tijdens het starten van een test gevraagd wordt om een "variabele T", is dit de datum die gebruikt dient te worden. - Leveranciers die testgegevens in hun eigen systeem invoeren, dienen deze referentiedatum aan te houden om de concrete datums te berekenen. - Wanneer er datums in requests gebruikt worden, dienen deze berekend te worden ten opzichte van de T-datum.

Elke maandag wordt de Nictiz WildFHIR-server geschoond en opnieuw gevuld met testgegevens op basis van deze T-datum.

6.1 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.