Hvorfor dette benchmark findes, og hvad det tester

AI-assisteret fortolkning af blodprøver anvendes i stigende grad i både forbruger- og kliniske arbejdsgange, men reproducerbare evalueringsrammer målrettet laboratoriemedicin er stadig sjældne. De spørgsmål, der betyder mest i denne sammenhæng, er ikke dem, der dækkes af generelle benchmarks for medicinsk spørgsmål-svar: kan en engine adskille jernmangel fra thalassæmi-træk, når middelcellevolumen er identisk, overdiagnosticerer den Gilberts syndrom som hepatitis, og fremstiller den patologi i et fuldt normalt screeningspanel?

Forudregistreret rubric-flowdiagram, der viser hvordan Kantesti AI-motoren vurderes mod frosne scoringskriterier
Figur 1: Benchmark-arkitekturen — hver sag, hvert nøgleord, hvert scoringssystem er fast i kildekode, før engine ser en eneste PDF. Efterfølgende rubric-tuning er umulig af design.

Et enkelt blodprøvepanel indeholder typisk nok signal til at understøtte flere konkurrerende fortolkninger, og den fortolkende klinikers opgave er at afveje disse fortolkninger mod hinanden frem for at hente et facitsvar fra en lærebog. En motor, der klarer sig godt på lærebogstilfælde, kan stadig fejle på de tilfælde, der betyder mest: faldgruberne i differentialdiagnosen, de godartede varianter, der ser alarmerende ud, når de ses isoleret, og de fuldt normale paneler, som frister sikre assistenter til at fremstille patologi.

Dette benchmark blev bygget netop med disse fejlsituationer for øje. Hver af de femten cases blev udvalgt ud fra en specifik diagnostisk egenskab: en jernmangel-relateret mikrocystose, der skal holdes adskilt fra en betathalassæmi-træk med identisk gennemsnitlig korpuskulær volumen, en præsentation som ved Gilberts syndrom, hvor den eneste afvigelse er en isoleret indirekte hyperbilirubinæmi, og et screeningspanel med femten parametre, hvor alle analyter ligger inden for deres referenceområde. Rubrikken belønner motorer, der læser hver case på dens egne præmisser, og straffer motorer, der forsøger at nå frem til en sikker diagnose, når en sådan diagnose ikke er berettiget.

Som Thomas Klein, MD, udvalgte jeg casepanelet, fordi det er de mønstre, jeg oftest ser laboratoriemedicinske assistenter tage fejl af. Den dyre fejlsituation er ikke "at overse en sjælden sygdom" — det er at fremstille rutinemæssig patologi hos patienter, som ikke har den. Vores Medicinsk validering hub beskriver den bredere ramme; denne side beskriver dens anvendte resultat på V11-motoren.

Seneste referencekørsel — V11 (april 2026)

Den referencekørsel fra april 2026 for Kantesti AI Engine V11 gav en samlet score på 99.12% i henhold til den forudregistrerede rubrik med femten cases. Begge hyperdiagnose-fælde-cases scorede i loftet. Mentzer-indekset blev anvendt korrekt i differentialdiagnosen mellem jernmangel og thalassæmi.

Samlet 99.12% 15 ud af 15 cases scorede
0.998 Strukturscore
0.998 Klinisk score
20,17 s Gennemsnitlig latenstid
0 / 13 Falske positiver i fælder

Den samlede formel kombinerer tre komponenter: strukturel overensstemmelse med de syv obligatoriske rapportsektioner og seksten obligatoriske undersektioner, klinisk nøjagtighed målt som nøgleords-genkald plus genkald i scoringsystemet plus en validering af sandsynlighedsfordelingen, og svartid i forhold til den primære service-level-målsætning på 20 sekunder. Den præcise opdeling vises i rubrikformlen nedenfor.

Samlet = 0.35 × Strukturel + 0.55 × Klinisk + 0.10 × Latenstid

De resterende 0,88 procentpoint “headroom” nedbrydes næsten udelukkende til latency-tab — tre Phase 2 fallback-invokationer på hver minus 0,05 komposit bidrog med cirka 0,60 af det 0,88-point underskud — i stedet for i klinisk indhold. Motoren overså ikke en korrekt diagnose i nogen af de femten tilfælde; hvor den ikke levede op til det, skyldtes det, at den tog lidt længere tid end den primære målsætning på 20 sekunder i en lille minoritet af invokationerne.

Femten cases på tværs af syv medicinske specialer

Casesættet dækker syv specialer — hæmatologi, endokrinologi, metabolisk medicin, hepatologi, nefrologi, kardiologi, reumatologi — plus to dedikerede hyperdiagnose-fælde-cases. Hver case er en anonymiseret reel patientjournal udtrukket fra Kantesti’s kliniske datalager under skriftligt informeret samtykke.

Dækningskort over femten anonymiserede blodprøvesager fordelt på syv medicinske specialer samt hyperdiagnose-fælde-sager
Figur 2: Case-fordeling på hæmatologi, endokrinologi, metabolisk medicin, hepatologi, nefrologi, kardiologi, reumatologi, plus to trap-cases — Gilberts syndrom og et fuldt normalt screeningspanel.

De-identificering blev udført efter Safe Harbor-tilgangen: alle direkte identifikatorer blev fjernet eller erstattet, og hver journal blev tildelt en benchmark-intern casekode i formatet BT-NNN-LABEL. Behandlingen blev udført i overensstemmelse med GDPR artikel 9(2)(j) til videnskabelig forskning med passende sikkerhedsforanstaltninger og de tilsvarende bestemmelser i UK GDPR. Ingen personhenførbare oplysninger forekommer nogen steder i det publicerede “harness”, den tekniske rapport eller de frigivne datasæt.

Hæmatologi (3) BT-001, BT-006, BT-007 Jernmangelanæmi · B12-mangel · Betathalassæmi minor
Endokrinologi (3) BT-002, BT-008, BT-012 Hashimotos tyreoiditis · PCOS med insulinresistens · Svær D-vitaminmangel
Metabolisk (2) BT-003, BT-013 T2DM med metabolisk syndrom · Hyperurikæmi med gigt-risiko
Hepatologi (2) BT-004, BT-009 NAFLD / NASH · Akut viral hepatitis
Nefrologi · Kardiologi · Reumatologi (3) BT-005, BT-010, BT-011 CKD stadium 3 · Aterogen dyslipidæmi · Systemisk lupus erythematosus
Trap-cases (2) BT-014, BT-015 Gilberts syndrom (isoleret indirekte hyperbilirubinæmi) · Fuldt normalt voksenscreen

Hvorfor netop denne fordeling

Hæmatologi får tre cases, fordi mikrocytære differentialer og makrocytære differentialer er de største “fælder” med høj volumen i reel laboratoriepraksis. Endokrinologi får tre, fordi præsentationerne ved Hashimotos, PCOS og D-vitaminmangel udøver forskellige diagnostiske mønstre (drevet af autoantistoffer, drevet af hormon-ratioer, drevet af et enkelt markør). De specialer med én case er stadig meningsfulde, fordi både CKD, ASCVD-risiko og SLE har deres eget scoringssystem, som motoren skal aktivere (henholdsvis KDIGO-stadieinddeling, ASCVD 10-årsrisiko, 2019 EULAR/ACR SLE-kriterier).

De forhåndsregistrerede bedømmelseskriterier, forklaret

Forhåndsregistrering er det vigtigste metodiske valg i denne benchmark. Hver forventet diagnose, hvert klinisk scoringssystem og hver rapportsektion blev forpligtet til kildekode før motoren blev aktiveret. Derfor er efterfølgende tuning af rubrikken for at smigre motoren umulig.

Tre komponenter udgør den sammensatte score. Den strukturelle komponent bidrager med 35 procent og måler, om motoren returnerede de syv obligatoriske rapportsektioner (header, summary, key findings, differential, scoring systems, recommendations, follow-up) og de seksten obligatoriske undersektioner i dem. Sektionstilstedeværelse vægter 40 procent, og undersektionstilstedeværelse vægter 60 procent inden for den strukturelle beregning.

De klinisk komponent bidrager med 55 procent og kombinerer tre ting: diagnose-nøgleordsgenkald (70 procent af den kliniske delscore), genkald af scoringssystem (20 procent — om motoren beregner Mentzer, FIB-4, HOMA-IR, ASCVD-risiko, KDIGO-stadieinddeling, EULAR/ACR-kriterier hvor relevant), og en validering ved sandsynlighedssum (10 procent — differential-sandsynlighederne skal summere til inden for intervallet [90, 110]). For fælde-cases trækkes en eksplicit hyperdiagnose-bøde på op til 0,30, beregnet som 0,10 pr. fabrikeret patologiflag, med et loft på tre flag.

De latenstkomponent bidrager med 10 procent. Et svar under 20 sekunder giver den fulde 0,10, et svar under 40 sekunder giver 0,05, og alt langsommere giver nul. 20-sekundersmålet afspejler produktionens primære primary-path service-level objective; 40-sekundersloftet afspejler Phase 2 fallback-budgettet for tunge motor-aktiveringer.

Terminalbillede af den MIT-licenserede Kantesti-benchmark-harness, der kører og udsender scores pr. sag
Figur 3: Testharnessen i eksekvering. Hver case gengives til en A4-PDF, uploades til produktionens v11-endepunkt og scores mod den frosne rubrik. Alle rå svar gemmes sammen med det aggregerede scorecard.

Hvad forhåndsregistrering forhindrer

Førstehånds-benchmarks er berygtede for at puste deres egne tal op via efterfølgende tuning af rubrikken. Mønstret er næsten altid det samme: teamet kører motoren, ser hvor den underpræsterer, og justerer derefter stille og roligt rubrikken, så de områder, der underpræsterer, tæller mindre. Ved at forpligte rubrikken til kildekode før det første motor-kald og offentliggøre testharnessen under MIT-licens, bliver denne justering synlig i versionskontrol. Enhver kan klone repository’et, tjekke rubrikforfatter-datoerne og verificere, at motorens resultater ikke blev brugt til at forme scoringen.

Hyperdiagnose-fælde-cases — hvorfor overkald er den reelle fejltillstand

Aggressiv over-udpegning af patologi på normale skærmbilleder er en dokumenteret fejlsituation for forbrugerrettede medicinske assistenter. Dens afledte omkostninger omfatter unødvendig udredning, patienturo og iatrogen udredning. De to fælde-cases i denne benchmark er designet til at gøre denne fejlsituation synlig og mulig at score.

Sammenligning side om side af en naiv AI, der fabrikerer hepatitis på et panel for Gilberts syndrom, versus Kantesti-motoren, der korrekt identificerer den godartede UGT1A1-polymorfi
Figur 4: Fælde-case-designet. En motor, der selvsikkert mærker Gilberts syndrom som hepatitis, eller som fremstiller borderline-patologi på en fuldt normal skærm, bliver straffet — ikke belønnet for at lyde klinisk.

🟡 Fælde 1 — BT-014-GILBERT

Præsentation. En 24-årig mand med total bilirubin på 2,4 mg/dL. Den direkte fraktion er normal, transaminaser og alkalisk fosfatase ligger inden for deres referenceintervaller, retikulocytter er uanseelige, og haptoglobin og LDH udelukker hæmolyse.

Korrekt fortolkning. Gilberts syndrom — en benign UGT1A1-polymorfi. Fortolkningen bør ikke inddrage hepatitis, cirrose, hæmolytisk anæmi eller galdevejsobstruktion.

V11-resultat. Sammensat 1.000. Ingen af de seks overvågede overdiagnose-flags fremstod som aktive diagnoser.

🟡 Fælde 2 — BT-015-SUND

Præsentation. En 35-årig kvinde med et femten-parametres rutinemæssigt screeningspanel. Hver analytt ligger komfortabelt inden for sit referenceinterval.

Korrekt fortolkning. Beroligelse og vedligeholdelse af livsstil. Fortolkningen bør ikke fremstille grænsetilfælde af patologi for at lyde klinisk nyttig.

V11-resultat. Komposit 1.000. Ingen af de syv overvågede flag for overdiagnosticering — diabetes, anæmi, hypothyreoidisme, dyslipidæmi, hepatitis, nyresygdom, mangel — fremstod som aktive diagnoser.

På tværs af begge fælder blev tretten overvågede flag for hyperdiagnosticering kontrolleret. Ingen blev udløst. Dette er det resultat, der betyder mest for enhver kliniker, der overvejer at bruge en AI-motor som et triage- eller præ-konsultationsværktøj: systemet opfandt ikke en sygdom, hvor der ingen fandtes.

Mentzer-indeks: adskillelse af jernmangel fra thalassæmi-træk

Et andet fund med høj værdi vedrører koblingen af case BT-001 (jernmangelanæmi) med case BT-007 (beta-thalassæmi minor). Begge præsenterer med mikrocytose og er en velkendt snublesten for naive klassifikatorer. Mentzer-indekset, beregnet som MCV divideret med RBC-tal, er over 13 ved jernmangel og falder under 13 ved thalassæmi-træk.

I BT-001 var patienten en 34-årig kvinde med hæmoglobin 10,4 g/dL, MCV 72,4 fL, RBC 4,1 × 10¹²/L, ferritin 6 ng/mL og forhøjet TIBC. Mentzer-indekset på cirka 17,7 understøtter absolut jernmangel. I BT-007 var patienten en 28-årig mand med mikrocytose (MCV 65,8 fL), men et højt RBC-tal på 6,2, normal RDW, normalt ferritin og HbA2 på 5,6 procent. Mentzer-indekset på cirka 10,6 peger på thalassæmi-træk, og det forhøjede HbA2 bekræfter beta-thalassæmi minor.

Jernmangelanæmi Mentzer > 13 Lavt ferritin, lav TSAT, høj TIBC, forhøjet RDW
Thalassæmi-træk Mentzer < 13 Normalt ferritin, normal RDW, forhøjet HbA2 (>3.5%), højt RBC-tal

Begge cases scorede 1.000. Motoren anvendte Mentzer-indekset eksplicit i begge fortolkninger og returnerede den korrekte diagnose i hvert tilfælde. Dette er det enkeltstående mest klinisk beroligende resultat i hele benchmarken, fordi fejlkategorisering af thalassæmi-træk som jernmangel fører til uhensigtsmæssig jerntilskud og mistede muligheder for familiescreening, og fejlkategorisering af jernmangel som thalassæmi forsinker en ligetil erstatningsbehandling. Vores ferritin-intervalguide forklarer den bredere differentielle kontekst.

Pr. sag-resultater fra kørsel i april 2026

Tolv af femten cases opnåede loftet for den samlede primære score på 1.000. Tre cases blev betjent via Phase 2-fallback, hvilket mistede 0,05 latency-bonussen, mens alt klinisk og strukturelt indhold blev bevaret. Én case manglede en enkelt obligatorisk undersektion; én returnerede en marginalt reduceret sum af sandsynlighedsfordelingen.

Case ID Speciale Samlet Latency Path
BT-001-IDAHæmatologi1.00017,8 sprimary
BT-006-B12Hæmatologi1.00018,4 sprimary
BT-007-THALHæmatologi1.00017,0 sprimary
BT-002-HASHEndokrinologi0.95037,0 sfallback
BT-008-PCOSEndokrinologi0.98718,6 sprimary
BT-003-T2DMMetabolisk1.00019,1 sprimary
BT-013-GOUTMetabolisk1.00019,4 sprimary
BT-004-NAFLDHepatologi1.00019,6 sprimary
BT-009-VIRHEPHepatologi0.95023,4 sfallback
BT-014-GILBERTTrap1.00018,9 sprimary
BT-005-CKDNefrologi1.00017,4 sprimary
BT-010-ASCVDKardiologi1.00019,7 sprimary
BT-011-SLEReumatologi0.98118,2 sprimary
BT-012-VITDEndokrinologi1.00019,3 sprimary
BT-015-SUNDTrap1.00018,7 sfallback

PCOS-tilfældet (BT-008) mistede en enkelt obligatorisk undersektion i responstrukturen — femten ud af seksten i stedet for seksten ud af seksten — hvilket reducerede den strukturelle score fra 1,000 til 0,963. SLE-tilfældet (BT-011) returnerede en marginalt reduceret sandsynlighedsfordelingssum, som sænkede den kliniske score til 0,965, samtidig med at alle diagnostiske nøgleord og scoringsystemer blev bevaret. Ingen af de to ikke-optimale tilfælde overså en korrekt diagnose.

Hvad topscoren ikke fortæller os

En samlet score på 99,12 procent under denne særlige forudregistrerede rubric repræsenterer næsten-loftpræstation, men den fortjener en omhyggelig indramning. Resultatet beskriver motorens adfærd over for femten omhyggeligt udvalgte anonymiserede cases, vurderet én gang hver, i forhold til en enkelt rubric. Vi er eksplicitte om, hvad tallet gør og ikke fastslår.

Scoren siger, at V11-motoren håndterede de diagnostiske mønstre, der blev udvalgt til denne evaluering, korrekt, med en metode, der er offentliggjort og kan reproduceres. Den siger ikke, at motoren er korrekt på enhver blodprøvepanel, der findes derude. Den siger ikke, at motoren bør erstatte klinisk vurdering. Og den siger ikke, at motoren overgår alternative AI-systemer — sammenlignende analyser mod andre motorer var bevidst uden for rammerne af denne rapport.

Det, scoren derimod fastslår, er en baseline. Når rubric og harness er offentlige, kan fremtidige versioner af motoren evalueres mod de samme femten cases, og afstanden mellem den offentliggjorte score og enhver efterfølgende kørsel kan i sig selv måles. Det er værdien af forudregistrering: den omdanner præstationspåstande til testbare påstande.

Sådan genskaber du dette benchmark på 10 minutter

Reproduktion kræver kun et Kantesti API-legitimationspar og et Python 3.10 eller nyere miljø med requests og reportlab biblioteker installeret. Den fulde harness er et enkelt selvstændigt Python-modul udgivet under MIT-licensen.

Diagram over reproducerbarhedsnetværket, der viser benchmarken spejlet på Figshare, ResearchGate, Academia.edu og GitHub med Figshare DOI som kanonisk anker
Figur 5: Benchmarken spejles på fire forskningsplatforme. Figshare DOI er den kanoniske videnskabelige identifikator; ResearchGate, Academia.edu og GitHub hoster parallelle kopier med kode og rådata.

Fire trin til en frisk kørsel

Én. Klon repositoryt: git clone https://github.com/emirhanai/kantesti-blood-test-benchmark.git. To. Installer afhængigheder med pip install -r requirements.txt. Tre. Angiv KANTESTI_USERNAME og KANTESTI_PASSWORD som miljøvariabler — legitimationsoplysninger læses ved kørsel, og intet er hardkodet i scriptet. Fire. Kør python benchmark_bloodtest.py og inspicér de fire artefakter, der udsendes til arbejdsbiblioteket: et CSV-scorecard, et JSON-scorecard, et fuldt JSON-dump inklusive rå motorresponser og en menneskelæselig Markdown-rapport.

Referencekørslen fra 23. april 2026 er bevaret i results/ -mappen i repositoryt. En ny kørsel vil producere et nyt tidsstempel-scorecard, mens referencekørslen efterlades uberørt. Hvis din kørsel giver et meningsfuldt anderledes resultat, bedes du åbne et GitHub-issue med køretidspunktet og motorversionen, der returneres i response-metadataene.

Begrænsninger og fremtidigt arbejde

Fire begrænsninger fortjener en eksplicit anerkendelse: stikprøvestørrelse, single-shot-evaluering, single-engine-omfang og single-source-datakildeoprindelse. Hver af dem adresseres i aktivt opfølgende arbejde.

Stikprøvestørrelse. Femten tilfælde på tværs af otte specialebeholdere er nok til et proof of concept, men ikke til undergruppeanalyse inden for et speciale. Udvidelse til halvtreds tilfælde er planlagt og vil omfatte koagulationspaneler, screening for hæmatologiske maligniteter, graviditetspaneler og pædiatriske præsentationer.

Single-shot-evaluering. Hvert tilfælde blev evalueret én gang. Store sprogmodeller udviser ikke-triviel output-varians selv ved lav samplingtemperatur, så et multi-run-protokol med fem evalueringer pr. tilfælde og rapporteret varians er et naturligt næste skridt.

Single-engine-omfang. Denne rapport karakteriserer én motor. Sammenlignende analyser mod alternative AI-systemer er uden for scope her; vi kan vælge at forfølge dem som en separat uafhængig undersøgelse med passende metodologi.

Single-source-datakildeoprindelse. De femten tilfælde er anonymiserede, reelle patientjournaler trukket fra et enkelt klinisk repository. De repræsenterer en kurateret stikprøve og er ikke et befolkningsrepræsentativt tilfældigt udtræk. At udvide evalueringen til data fra flere centre er på roadmap.

Den mest betydningsfulde planlagte udvidelse er flersproglig paritet. Kantesti AI Engine betjener brugere på 75+ sprog, og kørsel af det samme femten-case harness på tyrkisk, tysk, spansk, fransk og arabisk vil kvantificere outputkvalitet på tværs af motorens understøttede sprog. Vi vil publicere hver sprog-specifik kørsel med sin egen DOI og harness-branch.