

Kennis
Kennis uit de praktijk
Wat wij hebben geleerd van software bouwen voor gereguleerd radiologisch werk.

Transportindex berekenen: Invoer, eenheden en controles
De transportindex (TI) vertelt een vervoerder hoeveel straling een collo afgeeft. Het is het hoogste dosistempo op één meter van het collo, in mSv/h, vermenigvuldigd met 100 en naar boven afgerond op één decimaal. Samen met het dosistempo aan het oppervlak bepaalt de TI het etiket: I-WIT, II-GEEL of III-GEEL.
In NDEX, dat wij bouwden voor een isotopenproducent, stopt de transportband elk collo voor de dosisdetectoren, die meerdere keren worden uitgelezen. De detectoren meten in µSv/h, dus een factor 0,1 geeft de TI; een verkeerde eenheid zou een factor 1000 schelen. De software rekent de meting om van de afstand van de detector naar één meter, corrigeert haar voor verval tot het geplande transportmoment, rondt naar boven af en vergelijkt de uitkomst met de geplande TI.
Valt het collo binnen de afgesproken marge, dan gaat het door; anders kiest de operator om opnieuw te meten, het transportmoment aan te passen of het collo uit het proces te halen. Een baan zonder geldige kalibratie is geblokkeerd, en elke meting wordt vastgelegd met tijd en gebruiker.
Dosisregistratie: Welke informatie moet uw software kunnen aantonen?
Een inspecteur vraagt niet alleen wat een waarde is, maar ook waar die vandaan komt: welke bron of persoon, wanneer gemeten, met welk instrument, door wie vastgelegd, en wat er daarna is veranderd.
Rond die vraag hebben wij SourceSafe gebouwd. Elke bron heeft één registratie: het nuclide, de houder, waar de bron zich bevindt, de vergunning die hem dekt en de medewerkers die bevoegd zijn hem te hanteren. Elke gebeurtenis, van ontvangst en gebruik tot een lektest of afvoer, wordt vastgelegd als transactie, met wie de bron had en waar, en een correctie blijft zichtbaar naast wat zij corrigeert. Elke gebruiker meldt zich aan met een rol, zodat u kunt laten zien wie wat heeft vastgelegd, en wanneer.
Dosisregistratie vraagt hetzelfde van uw software: een waarde die u kunt herleiden tot de persoon, het instrument en het moment van meten, en tot wie haar heeft vastgelegd.
IQ, OQ en PQ: Softwarekwalificatie in de praktijk
Kwalificatie verloopt soepel wanneer de documentatie samen met de software wordt geschreven, niet achteraf. Bij ons staan broncode, configuratie, testscripts en documentatie onder versiebeheer. Elke wijziging wordt geregistreerd als taak, en een ontwerpbeslissing wordt apart schriftelijk vastgelegd.
Elke wijziging volgt dezelfde route: gemeld, gepland, gebouwd, beoordeeld, getest, geaccepteerd en, waar vereist, gekwalificeerd. Wij stellen de IQ- en OQ-protocollen op, uw kwaliteitsafdeling keurt ze goed, en wij voeren de controles uit en leggen ze vast. De PQ vindt plaats in uw eigen proces, met de ondersteuning die wij afspreken.
Voor onze belangrijkste systemen bedienen geautomatiseerde schermtests de echte schermen en schrijven zij tijdens het testen het testdocument, met schermafbeeldingen. Elke release draagt haar builddatum en controlesommen, zodat u kunt nagaan wat er is geïnstalleerd.
Software onderhouden Wanneer besturingssystemen veranderen
Windows, Android en iOS veranderen elk jaar, en de hulpmiddelen waarmee software wordt gebouwd ook. Onze applicaties bouwen wij op één gedeeld fundament, Loki, en elke applicatie gebruikt daarvan een vaste versie. Een aanpassing voor een nieuw besturingssysteem gaat één keer in het fundament; elke applicatie stapt over op die versie na haar eigen build en tests. Toen Android 16 veranderde hoe apps het scherm vullen, ging de aanpassing bijvoorbeeld één keer in het gedeelde fundament, voor elke telefoonapp die erop is gebouwd.
Zo werken wij zelf ook, elke dag. Onze eigen taken, uren, releases en klantportaal lopen via Gaia, de applicaties die wij op hetzelfde fundament bouwen, en elk stuk werk heeft daar een taak. Een wijziging aan het fundament bereikt dus ook ons eigen dagelijkse werk.
Seriële instrumentkoppelingen: Wanneer zijn ze een goede keuze?
Veel meetinstrumenten hebben een seriële poort (RS-232 of RS-485), en sommige hebben niets anders. Een seriële verbinding is een goede keuze wanneer het de eigen interface van het instrument is en het instrument naast de computer staat die het uitleest. Het is een minder goede keuze wanneer de afstand groter wordt, wanneer meerdere systemen dezelfde gegevens nodig hebben, of wanneer de software op een server moet draaien in plaats van bij het instrument.
In NDEX worden de dosistempometers uitgelezen via RS-232, omdat zij dat bieden, terwijl de besturing van de transportband en de RFID-lezer op het netwerk zitten. Ook onze dosimeterlezers en handscanners voor barcodes gebruiken een seriële verbinding. Een les uit de praktijk: een USB-hub tussen de transportbandinterface en de pc liet signalen wegvallen, en een directe aansluiting loste dat op. Per apparaat bekijken wij welke interfaces het biedt en hoe gegevens betrouwbaar kunnen worden uitgewisseld.
Vervalcorrectie: Formules, eenheden en controleberekeningen
Een activiteit of dosistempo gemeten op een referentiedatum is niet de waarde van vandaag. Vervalcorrectie berekent haar voor het moment dat u nodig hebt: A = A₀ · e−ln 2 · t / T½. Houd de verstreken tijd en de halveringstijd in dezelfde eenheid, en leg bij elke meting de referentiedatum en -tijd vast.
CalCon bestuurt een kalibratiesysteem voor stralingsmeters en wordt geleverd bij het systeem waar het bij hoort. Het dosistempo van de referentiebron wordt vastgelegd met de afstand en het referentietijdstip, en voordat een meter daartegen wordt gekalibreerd, corrigeert CalCon die waarde voor verval, afstand, luchtabsorptie, druk en temperatuur, met halveringstijden in seconden. De uitkomsten zijn vergeleken met die van een eerdere versie en van een afzonderlijke rekenmodule.
Een controleberekening die altijd kan: na precies één halveringstijd is de uitkomst de helft van de beginwaarde, en na tien halveringstijden ongeveer een duizendste. In ons Loki-fundament horen verval, de kwadratische afstandswet en de omrekening tussen activiteit en dosistempo bij de kern, zodat een nieuwe applicatie daarmee begint.
Straling in huis: Paranoten, bananen en granieten aanrechtbladen
Straling vindt u niet alleen in een laboratorium. Gemiddeld ontvangt iemand in Nederland ongeveer 2,8 mSv per jaar (RIVM), voor een groot deel uit natuurlijke bronnen: kosmische straling, radon in huis en het kalium in ons eigen lichaam.
Een banaan bevat ongeveer 15 becquerel kalium-40 (bron). Paranoten nemen radium op uit diepe bodemlagen, tot ongeveer 444 Bq per kilogram. Granieten aanrechtbladen bevatten sporen van uranium en thorium en kunnen binnenshuis wat radon aan de lucht toevoegen. Geen van deze is een reden tot zorg. Het laat wel zien waarom een meetwaarde weinig zegt zonder eenheid, achtergrond en limiet, en precies die houdt onze software bij elkaar.