Formato de la CIE-9 Lista de códigos en XML, CSV o base de datos [cerrada]
Pregunta
Busco a una lista completa de la CIE-9 códigos (códigos médicos) para Enfermedades y procedimientos en un formato que se pueden importar en una base de datos y se hace referencia mediante programación. Mi pregunta es, básicamente, exactamente lo mismo que Buscando recursos para los códigos ICD-9 , pero el cartel original no mencionó exactamente dónde "consiguió ahold de" su lista completa.
Google definitivamente no es mi amigo aquí como he pasado muchas horas buscando en Google el problema y han encontrado muchas listas rica tipo de texto (como el CDC) o sitios web donde se puede profundizar a la lista completa de forma interactiva, pero no puedo encontrar dónde obtener la lista que rellenar estos sitios web y puede ser analizado en una base de datos. Creo que los archivos aquí ftp: //ftp.cdc. gov / pub / Health_Statistics / NCHS / Publicaciones / CIE-9-CM / 2009 / tiene lo que estoy buscando, pero los archivos son de formato de texto enriquecido y contiene una gran cantidad de basura y de formato que sería difícil de eliminar con precisión.
Sé que esto tiene que haber sido hecho por otros y estoy tratando de evitar la duplicación de esfuerzos de otras personas, pero simplemente no puedo encontrar un / CSV / Excel lista XML.
Solución 2
Después de la eliminación de la RTF que no era demasiado difícil de analizar el archivo y convertirlo en un archivo CSV. Mi resultante archivos analizados contienen todos los 2009 códigos ICD-9 de enfermedades y procedimientos son aquí: http: // www .jacotay.com / archivos / Disease_and_ProcedureCodes_Parsed.zip Mi analizador que escribí está aquí: http://www.jacotay.com/files/RTFApp.zip Básicamente se trata de un proceso de dos pasos - tomar los archivos desde el sitio FTP CDC, y retire la RTF de ellos, a continuación, seleccione los archivos sin RTF y analizarlos en los archivos CSV. El código aquí es bastante duro, porque sólo necesitaba para obtener los resultados de una vez.
Este es el código para la aplicación de análisis en el caso de los enlaces externos se apagan (back-end a una forma que le permite seleccionar un nombre de archivo y haga clic en los botones para hacer que se vaya)
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
Otros consejos
Centros de Servicios de Medicare y Medicaid proporciona archivos de Excel que contienen solo los códigos de diagnóstico, y que pueden importarse directamente en algunas bases de datos SQL, la conversión sans.
archivos comprimidos de Excel, por número de versión
(Actualización: Nuevo enlace basado en comentarios a continuación)
Centro de Servicios de Medicare (CMS) es en realidad cargada con la CIE, así que creo que las versiones de los CDC de referencia que ustedes sólo puede ser copias o copias reprocesados. Aquí está el (~ difícil de encontrar) la página de Medicare que creo que contiene los datos brutos originales ( "fuente de verdad").
http://www.cms.gov/Medicare/Coding/ICD9ProviderDiagnosticCodes/ codes.html
Parece que a partir de este post es la última versión v32. El zip descargado contiene 4 archivos de texto sin formato, que el mapa del código a la descripción (un archivo para cada combinación de DIAG | PROC y cortas | LARGO). También contiene dos archivos de Excel (uno cada uno para DIAG_PROC) que tienen tres columnas para que el código de mapa para ambos descripciones largas ( y corta).
Es evidente que un hilo muy antiguo pero recientemente llevó a cabo esta tarea y lo escribió aquí con enlaces a fuentes de datos -
http://colinwhite.net/dropplets/ICD
Yo estaba tratando de conseguir tanto la CIE-9 y la CIE-10 en una base de datos SQLite.
parece haber funcionado bien.
Puede obtener los archivos de código RTF orginal de aquí http://ftp.cdc.gov/pub/Health_Statistics/ NCHS / Publicaciones / CIE-9-CM / 2009 /