Een voorschrift fotograferen met je telefoon en tien seconden later een gestructureerde lijst krijgen van medicijnen, doseringen, duur en frequentie: dat is de ervaring die DossiMed biedt. Achter die zichtbare eenvoud zit een technische pijplijn die twee generaties AI combineert, met sterke privacydiscipline en een duidelijke grens rond medische verantwoordelijkheid. Dit artikel licht de logica van onze aanpak toe, zonder interne prompts, modelconfiguraties of parameters te delen.
De uitdaging van handgeschreven voorschriften
Wie ooit generieke OCR op een medisch voorschrift heeft geprobeerd, kent het resultaat: ruisachtige tekst met losse fragmenten die leesbaar lijken maar niet betrouwbaar zijn. De oorzaken stapelen zich op:
- Snelle, niet-gestandaardiseerde handschriften - medisch handschrift is vaak cursief, schuin en samengedrukt
- Vakspecifieke afkortingen - Dsp, mane, nocte, cp, amp staan niet in publieke woordenboeken
- Heterogene lay-outs - header, voorschrifttekst, handtekening, stempel en juridische vermeldingen lopen door elkaar
- Gemengde talen - Arabische header, Franse hoofdtekst, Latijnse molecule-namen in één document
- Lagere beeldkwaliteit - slechte belichting, haastige foto, verkreukeld papier of deels afgedekt document
Voor een generiek OCR-systeem vermindert elk van deze factoren de nauwkeurigheid. Samen maken ze extractie onbruikbaar.
Het grootste risico van zwakke medische OCR is niet onleesbaarheid, maar stille fouten. Een verkeerd gelezen dosis kan nog steeds plausibel lijken. In zorgcontext vraagt dat om een radicaal andere aanpak dan standaard OCR.
Een pijplijn met twee lagen
Onze aanpak bestaat uit twee opeenvolgende lagen, elk gespecialiseerd in een taak die huidige AI-modellen afzonderlijk goed beheersen.
Laag 1 - Visuele extractie
De eerste laag draait op een moderne Document Intelligence-dienst. Zulke systemen zijn getraind op gestructureerde documenten (facturen, contracten, medische formulieren) en herkennen zowel tekens als lay-out. Ze leveren twee artefacten:
- Ruwe tekst die de woordvolgorde van het document weergeeft
- Tabelrepresentatie die rijen en kolommen herkent wanneer aanwezig (bijvoorbeeld bij laboresultaten)
Op dit punt is een afbeelding omgezet naar tekst. Maar die tekst blijft ruisgevoelig, ambigu en semantisch ongestructureerd.
Laag 2 - Semantische extractie
De tweede laag gebruikt een frontier-generatief taalmodel dat geconfigureerd is om gestructureerde JSON uit ruwe tekst te produceren. De rol is drievoudig:
- Medische entiteiten herkennen - medicijnnamen, doses, frequenties, duur, instructies, naam van voorschrijvend arts, specialisme, uitgiftedatum, praktijklocatie
- Documenttype categoriseren - een medicatievoorschrift, laboverslag en beeldvorming hebben verschillende verwachte structuren; categorie bepaalt de vervolgverwerking
- Fout gespelde medicijnnamen corrigeren - OCR leest Glecnvanc 50 mg; het model stelt Glivec 50 mg voor met vertrouwensscore, en kan farmacologische verificatie starten bij twijfelgevallen
Het resultaat is schone JSON, direct bruikbaar in de app: medicatielijst met parameters, documentmetadata, vertrouwensindicatoren en eventuele waarschuwingen.
Privacydiscipline
Een document-AI-pijplijn voor zorg roept direct een vraag op: welke data sturen we naar het AI-model? Europese regelgeving, en elementaire zorgvuldigheid, vereisen een minimaal antwoord.
Er worden geen nominatieve patiëntgegevens naar het model gestuurd. Naam, geboortedatum, rijksregisternummer, allergieën of bestaande chronische aandoeningen - niets daarvan verlaat de AI-servergrens. Het model krijgt uitsluitend documenttekst om structuur van te maken.
Dat principe heeft twee praktische gevolgen:
- Beperking van lekrisico - zelfs bij een incident bij een externe AI-provider wordt de patiëntidentiteit niet blootgesteld
- Eenvoudigere AVG-houding - geen bijzondere categoriegegevens onder artikel 9 verlaten de verruimde Europese perimeter
De keerzijde moet duidelijk zijn: het model kan niet altijd patiëntcontext gebruiken om ambiguïteit op te lossen. In die gevallen wordt de regel gemarkeerd voor gebruikersreview en vraagt de app om handmatige bevestiging.
Meertaligheid in document-AI
De pijplijn moet voorschriften aankunnen in Frans, Arabisch, Engels en vaak een mix daarvan tegelijk (Arabische header, Franse body, Latijnse handtekening). Dat is normaal in Maghreb en Midden-Oosten, maar technisch nog vaak onderschat.
Arabisch is extra uitdagend: cursief schrift bemoeilijkt OCR, en rechts-naar-links-richting kan artefacten veroorzaken als de pijplijn niet correct geconfigureerd is.
Onze keuze: de documenttaal niet vooraf forceren. De pijplijn detecteert automatisch de dominante taal op basis van herkende tekens en vocabulaire, en past de post-processing daarop aan. Voor gebruikers betekent dit dat ze hun voorschrift gewoon fotograferen zoals het is, zonder taalkeuze.
Menselijke validatie als laatste schakel
Een fundamentele ontwerpkeuze onderscheidt DossiMed van klinische beslissingsondersteuning: de gebruiker valideert altijd het extractieresultaat. Zodra de gestructureerde JSON klaar is, toont de app bewerkbare velden in het detailscherm. De gebruiker kan een fout gelezen medicijnnaam corrigeren, dosis aanpassen, frequentie wijzigen of een regel verwijderen. Herinneringen worden gebaseerd op wat de gebruiker valideert, niet op wat AI afleidt.
Dit is niet alleen een UX-keuze. Het is een regulatoire keuze. Omdat DossiMed geen autonome medische beslissingen neemt - geen dosisvoorstel, geen interactie-waarschuwing, geen interpretatie van labresultaten - blijft het onder de drempel van software als medisch hulpmiddel onder EU MDR 2017/745. AI stelt voor, gebruiker beslist, voorschrijvend arts blijft verantwoordelijk.
Foutafhandeling
Geen enkele AI-pijplijn is perfect. De onze modelleert foutgevallen expliciet en behandelt ze transparant.
Te lage OCR-confidence - wazige foto, deels afgedekt document, onvoldoende licht. De status gaat naar needs_review in plaats van onzekere extractie te produceren. De app nodigt gebruikers uit om de foto opnieuw te nemen of velden handmatig te corrigeren.
Onzekerheid van taalmodel - wanneer de LLM onzekerheid signaleert over medicijnnaam of dosering, krijgt het veld een zichtbare indicator. Gebruikers weten dat verificatie tegen het origineel nodig is voor herinneringsplanning.
Niet-medisch document - een prefilter detecteert ontbrekende medische markers (ordonnance, posologie, analyse, laboratoire, enz.) en weigert het document netjes vóór dure verwerking. Dit beschermt zowel UX-kwaliteit als exploitatiekost.
Wat de pijplijn garandeert
- Geen secrets of nominatieve data naar externe AI-modellen
- Verplichte gebruikersvalidatie vóór herinneringsgeneratie
- Expliciete needs_review-status bij onvoldoende vertrouwen
- Vroege afwijzing van niet-medische documenten voor kostenbeheersing
- Portabiliteit: extractielaag kan worden vervangen door concurrerende providers
Een overdraagbaar platform
De volledige pijplijn - visuele extractie, semantische extractie, validatie, integratie in gestructureerde databank - draait in enkele serverless edge functions. Ze is overdraagbaar tussen AI-providers: de visuele laag kan vervangen worden door elke concurrerende document-intelligence-service; de semantische laag door elk frontiermodel dat gestructureerde JSON levert, beheerd in cloud of self-hosted open weights.
Die portabiliteit is waardevol voor organisaties die DossiMed in een soevereine cloud of met een intern LLM willen uitrollen. De applicatiecode maakt geen onomkeerbare aanname over onderliggende leveranciers.
Voor patiënten betekent dit een app die een verkreukelde foto omzet in een gestructureerd medisch dossier, leesbaar en deelbaar met artsen. Voor organisaties die het platform overnemen betekent het een document-AI-motor die gekoppeld kan worden aan de infrastructuur van hun keuze.
DossiMed wordt uitgegeven door REC, een volledig exportgerichte Tunesische eenpersoonsvennootschap. Voor commerciele of strategische partnerschappen: contact@dossimed.ai.