Terug naar blog

Nieuwe feature: het opslaan van de validatie

Een belangrijk onderdeel van CTcue’s zoekproces is de validatie. Hierbij identificeer je welke patiënten daadwerkelijk aan de opgestelde criteria voldoen en welke niet. Afhankelijk van de grootte van de resultatenlijst, kan de validatie behoorlijk wat tijd in beslag nemen.

Een probleem waar gebruikers vaak tegenaan liepen is dat de validatie niet werd opgeslagen bij het opnieuw uitvoeren van een zoekopdracht. Dat is lastig werken, want stel dat je na het valideren van 80 patiënten er achter komt dat je een kleine aanpassing moet maken in je zoekopdracht, en dat je dus opnieuw moet zoeken. Dan wil je de 80 patiënten, waarvan je al zeker weet dat ze nog steeds voldoen, niet opnieuw hoeven valideren.

Het ontwikkelen van een oplossing had behoorlijk wat voeten in de aarde, maar inmiddels hebben we enkele nuttige aanpassingen kunnen doorvoeren in de applicatie. Hieronder een uitleg.

Splitsing resultaten- en validatiepagina

Een eerste verandering is dat de resultatenpagina opgesplitst is in een validatiepagina en resultatenpagina. In plaats van dat je direct op de resultatenpagina belandt na gezocht te hebben, kom je nu terecht op de validatiepagina. Deze pagina is praktisch hetzelfde als de oude resultatenpagina; je kan per patiënt door de gevonden data heenlopen en je kan selecteren of de patiënt een match is of niet.

Zodra je de hele lijst gevalideerd hebt kan je besluiten de validatie op te slaan. Op de validatiepagina zie je nu een knop Export validation waarbij je kan aangeven dat je de validatie op wilt slaan. De opgeslagen validaties komen op de resultatenpagina te staan. Bij de resultatenpagina zie je een overzicht van al je matchende/niet matchende patiënten, maar je kan hier niet meer per patiënt de gevonden data bekijken. Dit is dus een lijst die je als naslagwerk kan gebruiken als je verwacht dat de validatie in orde is en je geen veranderingen meer zal maken in de zoekopdracht.

Witte en grijze resultaten

Om een beeld te geven van hoe de applicatie omgaat met veranderende criteria en nieuwe resultaten, neem ik als voorbeeld de volgende twee zoekopdrachten.

  1. Ik zoek naar patiënten met een LDL van hoger dan 6.0 mmol/l. Het LDL moet in april 2017 gemeten zijn.
  2. Ik zoek naar patiënten met een LDL van hoger dan 5.5 mmol/l. Het LDL moet ergens in 2017 gemeten zijn.

Stel dat je bij de eerste zoekopdracht 17 patiënten vindt, waarvan je 14 patiënten als een match identificeert. Je vindt dit aan de lage kant, en eigenlijk wil je meer resultaten terugkrijgen. Je besluit de zoekopdracht aan te passen naar een LDL hoger dan 5.5 mmol/l en een groter tijdvak.

Als je dan naar de validatiepagina teruggaat, zal je nu de volgende waarschuwing zien staan:

De applicatie weet dat er criteria veranderd zijn, en dat er dus opnieuw gezocht moet worden om de resultaten van deze nieuwe zoekopdracht te tonen.

Wanneer je dan opnieuw zoekt, zul je op de validatiepagina een onderscheid zien tussen grijs- en wit gekleurde resultaten. Grijs wilt zeggen dat je deze patiënt al een keer gezien hebt, en wit geeft aan dat dit een nieuw resultaat is. De patiënten die je eerder als match geïdentificeerd hebt, hebben nu nog steeds 'match' als status, en als je ze opent kan je ook zien wanneer die patiënt als match geïdentificeerd is.

Witte resultaten versus grijze resultaten

Haken en ogen

Hoewel dit allemaal redelijk eenvoudig en logisch klinkt, heeft er toch behoorlijk wat tijd en denkwerk in het ontwikkelen van deze oplossing gezeten. Vooral het bepalen wanneer je een validatie wel of niet wilt bewaren is een complex en nog niet volledig afgerond vraagstuk. Toen ik de ontwikkelaars vroeg hun ervaringen te delen kwam het woord huilen meer dan 5x terug, en concludeerde één:

“...[dit probleem] was/is/zal altijd lastig zijn” - P. Kroes

In een latere blog komen we terug op deze complexiteit, en geven we een kijkje achter de schermen door uit te leggen tegen welke problemen onze ontwikkelaars zoal aanlopen.

Frederiek Pennink's Picture

Frederiek Pennink

Frederiek helpt bij het implementeren van de CTcue applicatie op locatie