1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
Hi Marcel,
In de huidige opzet van simrisc gebeurt het volgende bij de simulatie van
cases:
Bij elke individuele simulatie (er kunnen er meer per geval zijn ogv de
'Scenario iterations' specificatie) gebeurt dit:
Ten eerste wordt er geinitialiseerd waarbij de cumulatieve total risk wordt
berekend mbv de beir7Err berekening.
Voor de beir7Err berekening wordt voor elk vd gebruikte modaliteiten, zoals
gespecificeerd achter de leeftijden by de 'Screening: round:' specificaties
het tot dan berekende risico vermenigvuldigd met een factor die afhankelijk is
van de dosis die voor die modaliteit geldt.
beir7Err wordt aangeroepen door Screening::radiationRisk, die een vector met
(oorspronkelijk) bi-rad indices krijgt die net daarvoor zijn berekend, dan wel
constant zijn bij modaliteiten die geen bi-rad indices gebruiken, zoals CT.
Eigenlijk kan die vector nog niet worden bepaald, want bij CT en MRI is-ie er
niet. Dat kan worden omzeild door de bi-rad index vector altijd te gebruiken,
en ervoor te zorgen dat de dosis berekening bij beir7Err onafhankelijk is van
de bi-rad index bij modules die geen bi-rad indices hebben.
Maar stel dat Mammo en Tomo in een simulatie worden gespecificeerd. De
'Screening: round' specificaties zien er dan dus uit als
'Screening: round: 50 Mammo Tomo
waarom worden bij de initialisatie van een case bij de beir7Err berekening dan
beide modaliteiten gebruikt om de beir7Err waarde te berekenen? In de
berekening staat:
double risk = 1;
double factor = beta * pow(round.age() / 60, eta) / 1000;
for (ModBase const *modBase: modalities.use(round.modalityIndices()))
risk *= (1 + factor * modBase->dose(biradIdx));
en 'modalities.use' levert de achtereenvolgens gespecificeerde modaliteiten op
bij de 'Screening: round:' specificaties. In het voorbeeld dus eerst Mammo,
dan Tomo.
Al die kansen worden vermenigvuldigd en uiteindelijk gereourneerd als, een
vector met per leeftijd berekende kansen. Maar op die manier worden toch de
kansen bij modaliteiten al gebruikt die voor de simulatie toch nog niet aan de
orde zijn?
De cumulatieve totale risico's worden gebruikt om een tumor leeftijd te
berekenen, wat aan 't einde vd case-initialisatie wordt gebruikt om de
eigenschappen van de tumor te resetten voor de volgende simulatie. Da's
misschien ook wat vreemd. Moet die reset niet aan 't begin vd case-simulatie
plaatsvinden?
Als wat hierboven staat klopt dan zal dat allemaal zo'n vaart niet lopen,
behalve dan dat de kansen doordat er meer vermenigvuldigingen worden
uitgevoerd wat lager zullen uitvallen en daardoor de leeftijden wat hoger.
En misschien zie ik ook wel iets triviaals over 't hoofd. Als dat zo is laat
't me dan vooral weten.
Bij de screening zelf komen de leeftijden weer in beeld: op elke
screenings-leeftijd kan 't zijn dat een case de simulatie verlaat, maar zo
niet dan wordt er gescreend. Bij die screening worden alle (per leeftijd)
geconfigureerde modaliteiten gebruikt om kosten te berekenen en mogelijk te
concluderen dat er een (al dan niet false positive) tumor is gedetecteerd.
Daar zijn m.i. geen specifieke problemen. De kern van mijn puzzel zit 'm in de
vraag waarom bij 't berekenen van de (cumulatieve) risico's alle modaliteiten
moeten worden gebruikt, ipv een berekening specifiek per modaliteit.
|