AI - Automatisering Zorgregistratie (GGZ): verschil tussen versies

Naar navigatie springen Naar zoeken springen
kGeen bewerkingssamenvatting
Regel 9: Regel 9:
* Het vereenvoudigen van de registratie..
* Het vereenvoudigen van de registratie..


Daarnaast wil ValueCare de zorg helpen door transparant te zijn en kennis te delen.
Daarnaast wil ValueCare de zorg helpen door transparant te zijn en kennis te delen. Deze openbare wiki-pagina beschrijft de mogelijkheden van digitale technieken voor de transformatie waar de GGZ voor staat in de komende jaren. ValueCare faciliteert deze verandering via drie methoden:


Deze openbare wiki pagina geeft de details over de mogelijkheden om digitale technieken in te zetten voor de transformatie opgave waar de GGZ voor staat de komende jaren.
* Controles met AI-taalmodellen
* Controles op basis van nieuwe databronnen (datalakehouses)
* Automatisering via Robotic Process Automation (RPA)


Deze technieken komen terug in drie bibliotheken:
== Achtergrond bij AI techniek ==
De toepassing van AI in verslagleggingsanalyse werkt als volgt:


* Controles met taalmodellen (o.b.v. AI)
# Beschikbaarheid model: Een AI-taalmodel draait op de ValueCare-server van de klant.
* Controles met (nieuwe) beschikbare databronnen (a.d.h.v. datalakehouses)
#* ValueCare gebruikt een specifiek voor Nederlandstalige medische data getraind RoBERTa-model (“Robustly Optimized BERT Pretraining Approach”), in de vorm van RoBERT, een open source model.
* Automatisering (m.b.v. RPA)
# Samenstelling trainingset: In samenwerking met de klant wordt een trainingset samengesteld.
#* De trainingset bevat een reeks van verslaglegging records voor gerealiseerde (telefonische) consulten/ verblijfsdagen. Voor elke verslaglegging is aangegeven of het bijbehorende (telefonische) consult/ verblijfsdag rechtmatig bevonden kan worden of niet. Kortom: de verslagen zijn dus geïnterpreteerd en gecategoriseer
#* De trainingset is bij voorkeur voldoende omvangrijk en kan automatisch of handmatig worden samengesteld (meestal via Horizontaal Toezicht of zelfonderzoek).
# Training: Het AI-taalmodel wordt getraind op deze trainingset om verslaglegging op rechtmatigheid te classificeren.
# Controle: Het taalmodel classificeert alle verslaglegging en bepaalt de mate van zekerheid.
# Resultaat: Resultaten van de AI worden weergegeven in een actielijst.
# Kanspercentage: Het kanspercentage is een instelbare drempelwaarde. Alleen acties met een modeluitkomst die boven deze afgesproken drempel ligt, worden zichtbaar gemaakt in de controle. Standaard ligt deze drempel op 50%. ValueCare adviseert welk percentage het meest geschikt is voor de klant.


== Achtergrond bij AI techniek ==
De AI-analyse van de verslaglegging werkt als volgt:


# Er wordt een AI-taalmodel beschikbaar gemaakt op de klant ValueCare server.
#* ValueCare beoordeelt medische verslagen door gebruik te maken van een fine-tuned RoBERTa model (een specifiek soort AI-Large Language Model). RoBERTa staat voor: a Robustly Optimized BERT (Bidirectional Encoder Representations from Transformers) pretraining Approach.
#* ValueCare gebruikt als basis een open-source RoBERTa model dat specifiek is getraind voor Nederlandstalige medische data. Het model heeft al kennis over taalstructuren en woordrelaties.
#* Er wordt gebruik gemaakt van RoBERT. RoBERT is een Nederlands vooraf getraind RoBERTa model.
# Er wordt een trainingset gemaakt in afstemming met de klant.
#* De trainingset bevat een reeks van verslaglegging records voor gerealiseerde (telefonische) consulten/ verblijfsdagen. Voor elke verslaglegging is aangegeven of het bijbehorende (telefonische) consult/ verblijfsdag rechtmatig bevonden kan worden of niet. Kortom: de verslagen zijn dus geïnterpreteerd en gecategoriseerd.
#* De trainingset moet voldoende groot zijn. Een te kleine trainingset leidt tot onvoldoende nauwkeurigheid van het AI-model.
#* De trainingset kan óf automatisch worden opgesteld óf handmatig worden opgesteld. Veelal worden handmatige beoordelingen uit het verleden gebruikt uit zelfonderzoeken of Horizontaal Toezicht audits. Daarnaast wordt deze set in de regel aangevuld met een groot aantal handmatig beoordeelde verslagleggingen.
# Het AI-taalmodel wordt getraind met de verslaglegging en classificatie uit de trainingset. Hierdoor is een getraind AI-taalmodel beschikbaar op de ValueCare server. Het AI-model kan dus verslaglegging categoriseren naar rechtmatig of onrechtmatig.
# Vervolgens wordt de gehele controlemassa van verslagleggingen voorgelegd aan het AI-model. Het AI-model categoriseert de verslaglegging en geeft de zekerheid van het model aan.
# De resultaten worden in een actielijst getoond.
# <u>Kanspercentage:</u> Het is mogelijk om acties pas te laten zien in de controle vanaf een bepaald kanspercentage. Hierdoor kan het actie-aantal worden ingeperkt. De totale massa is nog steeds te vinden in de beheertabel. Standaard stroomt vanaf 50% kans in op de controles.


De datastroom van de AI-controles vindt als volgt plaats:[[Bestand:AI datastroom.jpg|geen|miniatuur|853x853px|Datastroom AI feitelijke levering]]
De datastroom van de AI-controles vindt als volgt plaats:[[Bestand:AI datastroom.jpg|geen|miniatuur|853x853px|Datastroom AI feitelijke levering]]


== Kwaliteitsborging & Controle op de AI-Technologie ==
Het waarborgen van de betrouwbaarheid van het AI-model gebeurt als volgt:


Controle op de AI-technologie vindt als volgt plaats:
# Oplevering en test: Iedere actielijst wordt getest door de klant samen met ValueCare. Na goedkeuring wordt deze actielijst in productie geplaatst.
# Jaarlijkse herbeoordeling: Jaarlijks worden steekproeven door de klant samen met ValueCare gedaan, waarbij menselijke beoordeling als referentie wordt genomen.


# Elke actielijst wordt na oplevering door ValueCare getest door de klant in samenwerking met ValueCare. Bij akkoord wordt de actielijst in productie geplaatst.
== Beheer AI: modelversies toelichting waarden ==
#* Met het testen van de actielijst wordt ook het AI-algoritme getest.
Om de kwaliteit van het taalmodel te beheren maken we gebruik van verschillende indicatoren die bepalend zijn voor het voorspellend vermogen van het taalmodel voor verslaglegging. Om een score te koppelen aan de kwaliteit van het model gebruiken we de F1 score.  
#* Er wordt gecontroleerd of de resultaten in de actielijst correct zijn aan de hand van een menselijke beoordeling.
# Jaarlijks wordt de werking van de actielijst door een steekproef getest door de klant in samenwerking met ValueCare.
#* Er wordt gecontroleerd of de resultaten in de actielijst correct zijn aan de hand van een menselijke beoordeling.


'''F1 score:''' de F1 score is een metriek die wordt gebruikt bij binaire classificatie en informatieopslag om de voorspellende prestaties te beoordelen. Het combineert precisie en recall tot een gemiddelde, waarbij beide even belangrijk worden geacht. De waarde varieert van 0 (slechtst) tot 1 (best), waarbij een score van 1 perfecte precisie en recall aangeeft.


'''Beheer AI: modelversies toelichting waarden'''
* '''Precisie''''':'' hoe vaak klopt het als het model iets als 'positief' aanduidt ten opzichte van alle voorspellingen. Oftewel: het aandeel positieven onder de voorspelde positieven.
* '''Recall''' ''(volledigheid):'' hoeveel van de echte positieve gevallen heeft het model gevonden. Oftewel: het aandeel echte positieven dat is gevonden door het model onder de werkelijke positieven. Dit is belangrijk als je er zeker van wilt zijn dat je niets belangrijks mist.


Om de kwaliteit van het taalmodel te beheren maken we gebruik van verschillende indicatoren die bepalend zijn voor het voorspellend vermogen van het taalmodel voor verslaglegging. Om een score te koppelen aan de kwaliteit van het model gebruiken we de F1 score.  
'''Accuratesse''''':'' het percentage van alle gevallen (zowel positief als negatief) dat een model correct voorspelt. Het kijkt naar de totale prestaties van het model dus hoeveel van alle voorspellingen juist zijn.


''F1 score:'' de F1 score is een metriek die wordt gebruikt bij binaire classificatie en informatieopslag om de voorspellende prestaties te beoordelen. Het combineert precisie en recall tot een gemiddelde, waarbij beide even belangrijk worden geacht. De waarde varieert van 0 (slechtst) tot 1 (best), waarbij een score van 1 perfecte precisie en recall aangeeft.
'''Specificiteit''''':'' een waarde die de kans op een negatief resultaat weergeeft, ook wel '''true negative rate'''. Deze waarde geeft aan hoe vaak de afwezigheid van een bepaalde factor correct wordt geïdentificeerd.


* ''Precisie:'' hoe vaak klopt het als het model iets als 'positief' aanduidt ten opzichte van alle voorspellingen. Oftewel: het aandeel positieven onder de voorspelde positieven.
'''Aantal prediction categorieën''': hoeveel klassen er zijn die voorspeld worden, bij de controles nu; behandelinhoudelijk correct of incorrect = 2.
* ''Recall (volledigheid):'' hoeveel van de echte positieve gevallen heeft het model gevonden. Oftewel: het aandeel echte positieven dat is gevonden door het model onder de werkelijke positieven. Dit is belangrijk als je er zeker van wilt zijn dat je niets belangrijks mist.


''Accuratesse:'' het percentage van alle gevallen (zowel positief als negatief) dat een model correct voorspelt. Het kijkt naar de totale prestaties van het model dus hoeveel van alle voorspellingen juist zijn.
== Stappenplan: In Productie Nemen en Bijtrainen van AI-Taalmodellen ==
Om de toepasbaarheid en kwaliteit van de AI te borgen, volgt ValueCare een strikt stappenplan rondom training, inzet en vervolgtrainen van de AI-taalmodellen. Dit biedt transparantie, herhaalbaarheid en voortdurende optimalisatie.


''Specificiteit:'' een waarde die de kans op een negatief resultaat weergeeft, ook wel '''true negative rate'''. Deze waarde geeft aan hoe vaak de afwezigheid van een bepaalde factor correct wordt geïdentificeerd.
=== <u>Trainingsfase (Stap 1–3) & Bijtrainingsfase (Stap 4–10)</u> ===


''Aantal prediction categorieën'': hoeveel klassen er zijn die voorspeld worden, bij de controles nu; behandelinhoudelijk correct of incorrect = 2.
# '''Opleiden van het model'''
#* Het model wordt getraind met een trainingset.
#* Voor validatie dient een aparte testset te worden beoordeeld die alléén wordt gebruikt voor evaluatie, zodat deze ook bruikbaar blijft bij bijtraining.
# '''Beperkte testperiode voor initiële evaluatie'''
#* Alleen de acties van één maand worden getest, om snelheid en overzichtelijkheid te bevorderen.
#* Geconstateerde fouten in deze maand dienen als input voor (eventuele) bijstelling voorafgaand aan productie. Zo zijn meerdere iteraties mogelijk.
# '''Modelgoedkeuring en overgang naar productie'''
#* Na akkoord van de instelling wordt het model in productie genomen bij een vastgesteld kanspercentage (advies komt vanuit de data-specialist van ValueCare).
#* Vanaf de startdatum van de controle verwerkt het model alle geselecteerde acties.
# '''Verwerking van foutieve acties na livegang'''
#* Foutieve meldingen worden na livegang niet langer individueel behandeld.
#* Instellingen markeren deze als ‘AI onjuist’ en negeren de betreffende actie.
# '''Signalering voor nieuwe bijtrainingsronde'''
#* Zodra 300 ‘AI onjuist’-gemarkeerde acties zijn bereikt, volgt er automatisch een melding voor ValueCare.
# '''Advies en overleg over bijtrainen'''
#* De data-specialist informeert de consultant bij behalen van de drempel, die op zijn/haar beurt samen met de instelling beoordeelt of bijtrainen wenselijk is.
# '''Voorbereiding van trainingsdata'''
#* Na akkoord verzamelt de data-specialist een evenredig aantal ‘AI juist’-beoordeelde posten uit de reeds uitgestroomde acties als extra trainingsdata.
# '''Bijtrainen van het model'''
#* Het model wordt opnieuw getraind met de nieuwe correcte én onjuiste acties.
# '''Evaluatie na bijtraining'''
#* Het nieuwe model wordt geëvalueerd en vergeleken met het oude, op basis van dezelfde testset als eerder.
#* Op basis van deze analyse volgt keuze: doorzetten naar productie of verdere optimalisatie.
# '''Herhaling cyclus'''
#* Het markeren en negeren van foutieve acties herhaalt zich tot de afgesproken drempel weer is bereikt; dan start het proces weer bij stap 5.


[[Bestand:Lijstjes.png|miniatuur|200x200px|Luca analyseert verslagleggingen|alt=]]
== Bibliotheek normen Artificial Intelligence ==
== Bibliotheek normen Artificial Intelligence ==
[[Bestand:Lijstjes.png|miniatuur|200x200px|Luca analyseert verslagleggingen|alt=]]
In de zorgsector is nauwkeurige verslaglegging niet enkel een administratieve handeling, maar vormt het ook de basis voor het vaststellen van de rechtmatigheid van geregistreerde zorg, evenals het identificeren van mogelijke gemiste registratie van geleverde diensten. Het handmatig doorlopen en controleren van deze omvangrijke verslagleggingen is echter een arbeidsintensief proces, dat zowel tijdsgebonden als kostbaar kan zijn. ValueCare erkent de behoefte aan een efficiëntere aanpak en heeft daarom geïnvesteerd in de kracht van Artificial Intelligence. Met behulp van geavanceerde AI-modellen kunnen verslagleggingen snel en accuraat worden geanalyseerd. In het volgende overzicht presenteren we de normen die gebruik maken van de getrainde ValueCare-taalmodellen die specifiek zijn ontwikkeld om de integriteit van de registratie te waarborgen.
In de zorgsector is nauwkeurige verslaglegging niet enkel een administratieve handeling, maar vormt het ook de basis voor het vaststellen van de rechtmatigheid van geregistreerde zorg, evenals het identificeren van mogelijke gemiste registratie van geleverde diensten. Het handmatig doorlopen en controleren van deze omvangrijke verslagleggingen is echter een arbeidsintensief proces, dat zowel tijdsgebonden als kostbaar kan zijn. ValueCare erkent de behoefte aan een efficiëntere aanpak en heeft daarom geïnvesteerd in de kracht van Artificial Intelligence. Met behulp van geavanceerde AI-modellen kunnen verslagleggingen snel en accuraat worden geanalyseerd. In het volgende overzicht presenteren we de normen die gebruik maken van de getrainde ValueCare-taalmodellen die specifiek zijn ontwikkeld om de integriteit van de registratie te waarborgen.
{| class="wikitable" border="1" cellspacing="1" cellpadding="1" style="width:1600px;"
{| class="wikitable" border="1" cellspacing="1" cellpadding="1" style="width:1600px;"