ICD-9-Code Liste in XML, CSV oder Datenbank-Format [geschlossen]
Frage
Ich bin für eine vollständige Liste des ICD-9-Codes (Medical Codes) für Krankheiten und Verfahren in einem Format, das programmatisch in eine Datenbank und referenziert importiert werden kann. Meine Frage ist im Grunde genau die gleichen wie für Ressourcen der Suche nach ICD-9-Codes , aber das ursprüngliche Plakat zu erwähnen vernachlässigt, wo genau er seine komplette Liste „got ahold“.
Google ist definitiv nicht mein Freund hier, wie ich das Problem, viele Stunden damit verbracht habe, googeln und habe viele Rich-Text-Typ-Listen (wie die CDC) oder Websites zu finden, wo ich interaktiv auf die vollständige Liste Drilldown kann, aber ich kann nicht finden, wo die Liste zu bekommen, dass diese Websites bevölkern würde und in eine Datenbank analysiert werden. Ich glaube, dass die Dateien hier ftp: //ftp.cdc. gov / pub / Health_Statistics / NCHS / Publikationen / ICD9-CM / 2009 / hat, was ich suche, aber die Dateien sind Rich-Text-Format und eine Menge Müll enthalten und dass die Formatierung würde schwierig sein, genau zu entfernen.
Ich weiß, das von anderen gemacht worden zu sein hat und ich versuche, zu duplizieren andere Völker Aufwand zu vermeiden, aber ich kann einfach nicht eine XML / CSV / Excel-Liste finden.
Lösung 2
Nach dem Entfernen des RTF es nicht allzu schwer war es, die Datei zu analysieren und sie in eine CSV drehen. Mein resultierenden analysierten Dateien all 2009 ICD-9-Codes für Krankheiten und Verfahren enthalten sind hier: http: // www .jacotay.com / files / Disease_and_ProcedureCodes_Parsed.zip Mein Parser, dass ich geschrieben habe, ist hier: http://www.jacotay.com/files/RTFApp.zip Im Grunde ist es ein zweistufiger Prozess - nehmen Sie die Dateien von der CDC-FTP-Site, und entfernen Sie die RTF von ihnen, wählen Sie dann die RTF-freie Dateien und analysieren sie in die CSV-Dateien. Der Code hier ist ziemlich rau, weil ich nur die Ergebnisse aus einmal zu bekommen benötigt.
Hier ist der Code für das Parsen App falls die externen Links unten gehen (Back-End zu einem Formular, das Sie einen Dateinamen auswählen kann und die Schaltflächen klicken, um es gehen)
Public Class Form1
Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click
Dim p As New OpenFileDialog With {.CheckFileExists = True, .Multiselect = False}
Dim pResult = p.ShowDialog()
If pResult = Windows.Forms.DialogResult.Cancel OrElse pResult = Windows.Forms.DialogResult.Abort Then
Exit Sub
End If
txtFileName.Text = p.FileName
End Sub
Private Sub btnGo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGo.Click
Dim pFile = New IO.FileInfo(txtFileName.Text)
Dim FileText = IO.File.ReadAllText(pFile.FullName)
FileText = RemoveRTF(FileText)
IO.File.WriteAllText(Replace(pFile.FullName, pFile.Extension, "_fixed" & pFile.Extension), FileText)
End Sub
Function RemoveRTF(ByVal rtfText As String)
Dim rtBox As System.Windows.Forms.RichTextBox = New System.Windows.Forms.RichTextBox
'// Get the contents of the RTF file. Note that when it is
'// stored in the string, it is encoded as UTF-16.
rtBox.Rtf = rtfText
Dim plainText = rtBox.Text
Return plainText
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim pFile = New IO.FileInfo(txtFileName.Text)
Dim FileText = IO.File.ReadAllText(pFile.FullName)
Dim DestFileLine As String = ""
Dim DestFileText As New System.Text.StringBuilder
'Need to parse at lines with numbers, lines with all caps are thrown away until next number
FileText = Strings.Replace(FileText, vbCr, "")
Dim pFileLines = FileText.Split(vbLf)
Dim CurCode As String = ""
For Each pLine In pFileLines
If pLine.Length = 0 Then
Continue For
End If
pLine = pLine.Replace(ChrW(9), " ")
pLine = pLine.Trim
Dim NonCodeLine As Boolean = False
If IsNumeric(pLine.Substring(0, 1)) OrElse (pLine.Length > 3 AndAlso (pLine.Substring(0, 1) = "E" OrElse pLine.Substring(0, 1) = "V") AndAlso IsNumeric(pLine.Substring(1, 1))) Then
Dim SpacePos As Int32
SpacePos = InStr(pLine, " ")
Dim NewCode As String
NewCode = ""
If SpacePos >= 3 Then
NewCode = Strings.Left(pLine, SpacePos - 1)
End If
If SpacePos < 3 OrElse Strings.Mid(pLine, SpacePos - 1, 1) = "." OrElse InStr(NewCode, "-") > 0 Then
NonCodeLine = True
Else
If CurCode <> "" Then
DestFileLine = Strings.Replace(DestFileLine, ",", ",")
DestFileLine = Strings.Replace(DestFileLine, """", """).Trim
DestFileText.AppendLine(CurCode & ",""" & DestFileLine & """")
CurCode = ""
DestFileLine = ""
End If
CurCode = NewCode
DestFileLine = Strings.Mid(pLine, SpacePos + 1)
End If
Else
NonCodeLine = True
End If
If NonCodeLine = True AndAlso CurCode <> "" Then 'If we are not on a code keep going, otherwise check it
Dim pReg As New System.Text.RegularExpressions.Regex("[a-z]")
Dim pRegCaps As New System.Text.RegularExpressions.Regex("[A-Z]")
If pReg.IsMatch(pLine) OrElse pLine.Length <= 5 OrElse pRegCaps.IsMatch(pLine) = False OrElse (Strings.Left(pLine, 3) = "NOS" OrElse Strings.Left(pLine, 2) = "IQ") Then
DestFileLine &= " " & pLine
Else 'Is all caps word
DestFileLine = Strings.Replace(DestFileLine, ",", ",")
DestFileLine = Strings.Replace(DestFileLine, """", """).Trim
DestFileText.AppendLine(CurCode & ",""" & DestFileLine & """")
CurCode = ""
DestFileLine = ""
End If
End If
Next
If CurCode <> "" Then
DestFileLine = Strings.Replace(DestFileLine, ",", ",")
DestFileLine = Strings.Replace(DestFileLine, """", """).Trim
DestFileText.AppendLine(CurCode & ",""" & DestFileLine & """")
CurCode = ""
DestFileLine = ""
End If
IO.File.WriteAllText(Replace(pFile.FullName, pFile.Extension, "_parsed" & pFile.Extension), DestFileText.ToString)
End Sub
End Class
Andere Tipps
Zentren für Medicaid und Medicare-Dienste bietet Excel-Dateien, die nur die Codes und Diagnose enthalten, die direkt in eine SQL-Datenbanken importiert werden können, sans-Konvertierung.
Zip Excel-Dateien, die von Versionsnummer
(Update: Neuer Link basierend auf Kommentar unten)
Zentrum für Medicare Services (CMS) ist eigentlich mit ICD geladen, so glaube ich, die CDC-Versionen ihr Referenz nur Kopien oder wieder aufbereitet Kopien sein kann. Hier ist die (~ schwer zu finden) medi Seite, die ich denke, dass die ursprünglichen Rohdaten enthält ( „Quelle der Wahrheit“).
http://www.cms.gov/Medicare/Coding/ICD9ProviderDiagnosticCodes/ codes.html
Es sieht aus wie wie dieser Beitrag die neueste Version v32 ist. Die zip Sie kostenlos herunterladen 4 Klartextdateien, die Karte Code-zu-Beschreibung (eine Datei für jede Kombination von DIAG | PROC und SHORT | LONG) enthalten wird. Es enthält auch zwei Excel-Dateien (jeweils eine für DIAG_PROC), die mit drei Spalten, so dass Kartencode beide Beschreibungen (long und kurz).
Klar, ein sehr alter Thread aber ich unternahm vor kurzem diese Aufgabe und schrieb es hier oben mit Links zu Quelldaten -
http://colinwhite.net/dropplets/ICD
Ich habe versucht, sowohl die ICD-9 zu erhalten und ICD-10 in eine SQLite-Datenbank.
Es scheint gut funktioniert zu haben.
Sie können die ursprünglichen RTF-Code-Dateien von hier http://ftp.cdc.gov/pub/Health_Statistics/ NCHS / Publikationen / ICD9-CM / 2009 /