Tipps & Tricks: Umkodieren von ICD-9-Daten zu ICD-10 in SAS mittels PROC SQL Tipps & Tricks: Tipps & Tricks: Umkodieren von ICD Umkodieren von ICD - - 9 9 - - Daten zu Daten zu ICD ICD - - 10 in SAS mittels PROC SQL 10 in SAS mittels PROC SQL Andreas Deckert Institute of Public Health, Universität Heidelberg Andreas Deckert Institute of Public Health, Universität Heidelberg
61
Embed
Tipps & Tricks: Umkodieren von ICD-9-Daten zu · Tipps & Tricks: Umkodieren von ICD-9-Daten zu ICD-10 in SAS mittels PROC SQL Umkodieren von ICD-9-Daten zu . ICD-10 in SAS mittels
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Tipps & Tricks: Umkodieren von ICD-9-Daten zu
ICD-10 in SAS mittels PROC SQL
Tipps & Tricks:Tipps & Tricks: Umkodieren von ICDUmkodieren von ICD--99--Daten zu Daten zu
ICDICD--10 in SAS mittels PROC SQL10 in SAS mittels PROC SQL
Andreas Deckert
Institute of Public Health, Universität Heidelberg
Andreas Deckert
Institute of Public Health, Universität Heidelberg
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Problemstellung
Mortalitäts-Follow-Up einer Kohorte von 1990 bis 2010
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Problemstellung
Mortalitäts-Follow-Up einer Kohorte von 1990 bis 2010
Kategorisierung der Todesursachen entsprechend ICD-10 (International Statistical Classification of Diseases and Related Health Problems)
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Problemstellung
Mortalitäts-Follow-Up einer Kohorte von 1990 bis 2010
Kategorisierung der Todesursachen entsprechend ICD-10 (International Statistical Classification of Diseases and Related Health Problems)
1998 Wechsel von ICD-9 zu ICD-10; dabei z.B. Einführung einer alpha-numerischen Notation mit stärkerer Differenzierung
keine direkte Übertragung möglich
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Problemstellung
Mortalitäts-Follow-Up einer Kohorte von 1990 bis 2010
Kategorisierung der Todesursachen entsprechend ICD-10 (International Statistical Classification of Diseases and Related Health Problems)
1998 Wechsel von ICD-9 zu ICD-10; dabei z.B. Einführung einer alpha-numerischen Notation mit stärkerer Differenzierung
keine direkte Übertragung möglich
“Umsteigertabelle” von ICD-9 zu ICD-10 vorhanden
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Bereinigen der ErgebnisseZu manchen ICD9-Codes gibt es mehrere ICD10-Einträge, da der ICD10 differenzierter ist!
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Bereinigen der Ergebnisse
/*Filtern der multiplen ICD10-Einträge*/PROC
SQL;
CREATE
TABLE
multiple_results
ASSELECT
* FROM
results
WHERE
_id
IN
(SELECT
_id
FROM
results
GROUP
BY
_idHAVING
count(_id
> 1))
quit;
Über den vorher generierten Index können nun die mehrdeutigen Zuordnungen selektiert werden
Zu manchen ICD9-Codes gibt es mehrere ICD10-Einträge, da der ICD10 differenzierter ist!
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Bereinigen der Ergebnisse
Je nach Tiefe der ICD10-Auswertung nur die ICD10-Obergruppe bzw. aus multiplen ICD10 den passenden Code auswählen.
/*Filtern der multiplen ICD10-Einträge*/PROC
SQL;
CREATE
TABLE
multiple_results
ASSELECT
* FROM
results
WHERE
_id
IN
(SELECT
_id
FROM
results
GROUP
BY
_idHAVING
count(_id
> 1))
quit;
Über den vorher generierten Index können nun in gleichen Daten- sätzen relativ einfach dieselben ICD-Codes selektiert werden.
Zu manchen ICD9-Codes gibt es mehrere ICD10-Einträge, da der ICD10 differenzierter ist!
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Löschen der Datenbank/*Anzeigen der Integritätsbedingungen in einer Tabelle:*/PROC SQL;
DESCRIBE TABLE
CONSTRAINTS
Umsteiger;quit;
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Löschen der Datenbank
/*Löschen von mit Integritätsbedingungen verknüpften Tabellen; Fremdschlüssel müssen zuerst gelöscht werden!*/PROC SQL;
ALTER TABLE
UmsteigerDROP
CONSTRAINT
UICD10, UICD9;
ALTER
TABLE
ICD9DROP
CONSTRAINT
Code9X;
ALTER
TABLE
ICD10DROP
CONSTRAINT
Code10X;
DROP
TABLE
ICD9, ICD10, Umsteiger;quit;
/*Anzeigen der Integritätsbedingungen in einer Tabelle:*/PROC SQL;
DESCRIBE TABLE
CONSTRAINTS
Umsteiger;quit;
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
3. Find x.
Links zu ICD9-ICD10
Homepage des Deutschen Instituts für Medizinsiche Dokumentation und Information (DIMDI): www.dimdi.de
ICD9-ICD10-Überleitungstabelle von 2001: www.dimdi.de/dynamic/de/ klassi/downloadcenter/icd-10-who/vorgaenger/version10/ueberleitung/(neuere Versionen sind kostenpflichtig!)
Tipps & Tricks: Anwendung von (Perl) Regular
Expressions für die Mustersuche in Strings
Tipps & Tricks:Tipps & Tricks: Anwendung von (Perl) Anwendung von (Perl) RegularRegular
ExpressionsExpressions ffüür die Mustersuche in Stringsr die Mustersuche in Strings
Andreas Deckert
Institute of Public Health, Universität Heidelberg
Andreas Deckert
Institute of Public Health, Universität Heidelberg
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Einfache Problemstellung Beispiel: $ soll aus “Dies ist ein Bei$spiel” entfernt werden
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
(Perl) Regular Expressions?
Begriff aus der (theoretischen) Informatik
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
(Perl) Regular Expressions?
Begriff aus der (theoretischen) Informatik
“[…] Zeichenkette die der Beschreibung einer Menge bzw. Unter- mengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient.” (wikipedia)
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
(Perl) Regular Expressions?
Begriff aus der (theoretischen) Informatik
“[…] Zeichenkette die der Beschreibung einer Menge bzw. Unter- mengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient.” (wikipedia)
Filter für den Abgleich von Texten mit bestimmten Mustern
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
(Perl) Regular Expressions?
Begriff aus der (theoretischen) Informatik
“[…] Zeichenkette die der Beschreibung einer Menge bzw. Unter- mengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient.” (wikipedia)
Filter für den Abgleich von Texten mit bestimmten Mustern
Vorgegebenes Alphabet; Operationen
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
(Perl) Regular Expressions?
Begriff aus der (theoretischen) Informatik
“[…] Zeichenkette die der Beschreibung einer Menge bzw. Unter- mengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient.” (wikipedia)
Filter für den Abgleich von Texten mit bestimmten Mustern
Vorgegebenes Alphabet; Operationen
Perl Regular Expressions: Syntax der Programmiersprache Perl
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Perl Regular Expressions … Lösung mit Perl regular expressions:
DATA
Beispiel;LENGTH
_text $ 25;text = "Dies ist ein Bei$spiel";pattern
= prxparse('s/\$//');CALL
prxchange(pattern,-1,text,_text);RUN;
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Perl Regular Expressions … Lösung mit Perl regular expressions:
DATA
Beispiel;LENGTH
_text $ 25;text = "Dies ist ein Bei$spiel";pattern
= prxparse('s/\$//');CALL
prxchange(pattern,-1,text,_text);RUN;
DATA
Beispiel;text = "Dies ist ein Bei$spiel";text = prxchange('s/\$//',-1,text);
RUN;
Kurzversion:
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Perl Regular Expressions … Lösung mit Perl regular expressions:
DATA
Beispiel;LENGTH
_text $ 25;text = "Dies ist ein Bei$spiel";pattern
= prxparse('s/\$//');CALL
prxchange(pattern,-1,text,_text);RUN;
DATA
Beispiel;text = "Dies ist ein Bei$spiel";text = prxchange('s/\$//',-1,text);
RUN;
Kurzversion:
Damit “Di$es is$$t ein Bei$spiel” ebenfalls problemlos handhabbar!
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Steuerzeichen (Auszug)
Muster Bedeutung/ Beginn und Ende der Regular Expression\w Abgleichen von Buchstaben\d Abgleichen von Ziffern? Falls nicht oder 1x vorhanden+ Falls 1x oder beliebig oft vorhanden* Falls nicht oder beliebig oft vorhanden(Muster) Gruppierung und Speicherung$1 Abruf des ersten Speichereintragess/Muster/Ausgabe/ Einsetzen bzw. Ersetzen von Textteilen
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Komplexe Problemstellung
NameBauer, Peter
Sailer, Karl-Heinz
Müller, Eva Maria
Schmidt, Hans-Peter Matthias
_NamePeter Bauer
Karl-Heinz Sailer
Eva Müller
Hans-Peter Schmidt
Geforderte Transformation: ErsterVorname Nachname
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Komplexe Problemstellung
?Name
Bauer, Peter
Sailer, Karl-Heinz
Müller, Eva Maria
Schmidt, Hans-Peter Matthias
_NamePeter Bauer
Karl-Heinz Sailer
Eva Müller
Hans-Peter Schmidt
Geforderte Transformation: ErsterVorname Nachname
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg
Komplexe Problemstellung
?Name
Bauer, Peter
Sailer, Karl-Heinz
Müller, Eva Maria
Schmidt, Hans-Peter Matthias
_NamePeter Bauer
Karl-Heinz Sailer
Eva Müller
Hans-Peter Schmidt
Geforderte Transformation: ErsterVorname Nachname
Frau Dr. Weber, Karin
Prof. Dr. Stern, Anton Richard
Karin Weber
Anton Stern
01.03.2011 Andreas Deckert, Institute of Public Health Heidelberg