Att läkare fyller i dödsorsaksintyg felaktigt, vilket skulle kunna leda till snedvriden dödsorsaksstatistik, är ett problem som har diskuterats en del i den vetenskapliga litteraturen. Exempelvis blev det föremål för en avhandling som lades fram i Uppsala för några år sedan (Johansson 2008). I detta inlägg tänkte jag belysa hur funktioner i databashanteraren MariaDB kan användas för att testa hur vanligt det är med vissa typer av suspekt ifyllda intyg i den amerikanska dödsorsaksstatistik som jag skrivit om här i de senaste inläggen och som finns tillgänglig för allmänheten (i form av textfiler med vissa uppgifter borttagna) via (CDC 2013a).
I den senaste filen, för 2010, finns plats för upp till 20 nämnda dödsorsaker per person. Jag läste in filen i en MariaDB-databas där jag gav fälten för nämnda orsaker namnen Ent1,Ent2,…,Ent20
. Varje fält för nämnd dödsorsak innehåller två siffror följda av en ICD-kod, där den första siffran står för dödsorsakens rad på intyget och den andra siffran för dödsorsakens plats på raden: 21I219
innebär t.ex. att I219 (akut hjärtinfarkt, ospecificerad) står nämnd som första orsak på rad 2. Fält är sorterade efter först rad och sedan plats i fallande ordning.
Raderna som motsvarar del I av intyget (rad 1–5) skall bara innehålla ett tillstånd per rad: det är meningen att de skall forma en sekvens, där varje tillstånd orsakat det som står på ovanstående rad, och det som står nederst skall normalt väljas som den underliggande dödsorsaken, som ligger till grund för tabeller i officiella rapporter etc. Är intyget oriktigt ifyllt med flera tillstånd på raderna i del I, kan det finns flera sekvenser, då en sekvens anses föreligga så fort ett tillstånd är en acceptabel orsak till ett tillstånd på raden ovanför (CDC 2013b, 17). Det finns även en del II (rad 6), där det är meningen att läkaren som utfärdar intyget skall skriva in tillstånd som indirekt bidragit till dödsfallet men inte är relaterade till sekvensen i del I.
I den senaste betan av MariaDB (version 10.0.7) finns stöd för s.k. Perl-kompatibla reguljära uttryck (PCRE) (MariaDB.org 2013), något som saknas i de stabila versionerna av MariaDB (och dess ursprung MySQL). När jag såg det laddade jag hem och installerade denna (i en VirtualBox-gäst, för säkerhets skull). PCRE innefattar nämligen finesser som är användbara när det gäller att analysera data över orsakskedjor som är lagrade på det sätt som beskrevs i stycket ovan, framför allt bakåtreferenser som används för att tidigare matchad text, och jag tänkte ge några exempel på detta (för en mer allmän förklaring av hur reguljära uttryck fungerar, se t.ex. (Wikipedia 2013)). I varje exempel slår jag ihop de 20 orsaksfälten till en textsträng, som jag matchar mot uttrycken genom att inkludera följande i en SELECT
-fråga:
CONCAT(Ent1,Ent2,...,Ent20) REGEXP 'uttr'
Personer med leukemi dör inte sällan av lunginflammation eller blodförgiftning, därför att både själva sjukdomen och vissa behandlingar mot denna ofta leder till kraftigt försämrat infektionsförsvar. Nedanstående uttryck hittar intyg där lunginflammation (ICD-10 J12–J18) eller blodförgiftning (A40–A41) står nämnd på en rad i avsnitt I och leukemi (C91–C95) står nämnd på vilken rad som helst längre ned, dock ej rad 6 (avsnitt II):
([1-5]).(A4[0-1]|J1[2-8]).*[^6\\g{1}].C9[1-5]
[^6\\g{1}]
innehåller ett exempel på en bakåtreferens: den anger att raden där leukemi står nämnd inte är rad 6 eller den rad där lunginflammation eller blodförgiftning står nämnd (alltså den siffra som matchades i den första gruppen inom parentes, ([1-5])
). Det finns 3404 rader där Ent-fälten matchar detta uttryck.
PCRE-uttrycken kan, som jag sade i början, användas för att få indikation på felaktigt ifyllda intyg. I WHO:s manual finns en diskussion om vad som inte är acceptabla sekvenser (WHO 2010, 78–82). Det poängteras att det handlar om att få statistik som är så användbar för folkhälsoändmål som möjligt, och att en acceptabel sekvens inte är samma sak som en rent medicinskt godtagbar orakskedja. Ett exempel är att självmord inte accepteras som följd av något annat tillstånd. Det är medicinskt högst rimligt att t.ex. depression kan leda till självmord, men det skulle kanske leda till förvirring och missförstånd om en massa självmord plötsligt doldes i statistiken över underliggande dödsorsaker (även om de säkert redan idag är underrapporterade på många håll, till följd av kulturella tabun etc.). Följande uttryck kan dock användas för att få indikation på en orsakskedja som varken är medicinskt acceptabel eller acceptabel enligt WHO:s regler:
[1-5](.)C9[1-5].*[1-5]\\g{1}(A4[0-1]|J1[2-8])
Uttrycket hittar leukemi i avsnitt I följt av lunginflammation eller blodförgiftning på samma plats på en rad längre ned i avsnitt I. För 420 dödsfall i USA 2010, matchar Ent-fälten uttrycket ovan. En giltig sekvens från raden med t.ex. lunginflammation till raden med leukemi kan bara finnas om det finns mer än ett tillstånd rapporterat på någon rad, vilket som sagt i sig innebär ett fel, och där lunginflammation kan vara orsak till något som inte är kausalt relaterat till leukemi. Men ofta är det intyg där hela informationen i Ent-fälten är av typen 11C920,21J189
, alltså att lunginflammation skulle orsaka akut myeloisk leukemi. Möjligen kan en akut infektion trigga akut leukemi, men det är inte något allmänt accepterat samband. Byter vi ut C9[1-5]
i uttrycket mot C50
(bröstcancer) får vi 255 träffar, som typiskt är av karaktären att en blodförgiftning eller lunginflammation skulle orsaka bröstcancer, vilket verkar tämligen obegripligt. Byte mot C61
(prostatacancer) ger 141 träffar av liknande typ.
I nästan alla de 420/255/141 nämnda fallen har leukemi/bröstcancer/prostatacancer blivit registrerat som underliggande orsak, vilket sannolikt oftast är korrekt. Men hur har läkarna tänkt när de fyllt i de aktuella intygen? En möjlighet är att de fyllt i dem ”baklänges” och skrivit vad de bedömt som orsakande tillstånd ovanför komplikationerna, i stället för tvärtom. Det korrekta är som sagt att det som kommer sist skall stå överst, men den motsatta ordningen kanske kan tyckas mer ”naturlig”, vilket skulle kunna medföra att läkare lätt använder sig av den om de t.ex. till följd av stress inte är observanta. Eller så har de inte förstått att raderna skall bilda en orsakskedja utan kanske tänkt sig att det ”viktigaste” tillståndet skall stå överst eller liknande.
En rad akuta infektioner orsakade av virulenta mikroorganismer (bl.a. kolera, mjältbrand, smittkoppor, malaria och influensa) accepteras inte som följd av några andra tillstånd enligt WHO. Denna typ av sjukdomar är skolexempel på sådant som normalt skall rapporteras som underliggande dödsorsaker om de bidrar till ett dödsfall: när man på 1800-talet systematiskt började skilja mellan primära och sekundära dödsorsaker var det mot bakgrund av ett behov av att identifiera epidemiska utbrott av sådana sjukdomar (Johansson 2008, 30–31). I CDC:s anpassade version av manualen sägs att infektioner kan accepteras som följd av tillstånd med immunbrist, men det sägs specifikt att influensa inte accepteras som följd av någon annan sjukdom (CDC 2013b, 47–48). Följande uttryck hittar intyg där influensa (J09–J11) åtföljs av ett annat tillstånd på samma position längre ned:
[1-5](.)J(09|10|11).*[1-5]\\g{1}([A-IK-Y]|J(?!(09|10|11)))
Detta ger 136 träffar, av totalt 650 intyg där influensa alls finns nämnd. I de allra flesta av dessa fall har influensa blivit registrerad som underliggande dödsorsak. Problemet är om läkare fyller i intygen så att det uppstår sekvenser som är acceptabla men inte vad läkaren avsett. En sekvens från lunginflammation till hjärtinfarkt är acceptabel, liksom den omvända sekvensen, och man kan inte avgöra om läkaren fyllt i baklänges. Rapporterad tidpunkt för debut av de olika tillstånden (som dock inte finns angiven i datafilerna) kan dock vara till hjälp vid val av underliggande orsak: en orsak måste föregå sin verkan. I övrigt får vi hoppas att fel som uppstår i valet av underliggande orsak tenderar att ta ut varandra på befolkningsnivå, som visades i (Johansson 2008) för Sveriges del.