pubmed fda 510k database medical
http://www.jacotay.com/files/RTFApp.ziphttp://www.jacotay.com/files/Disease_and_ProcedureCodes_Parsed.zip

database - fda - Lista de códigos ICD-9 en XML, CSV o formato de base de datos



fda database (5)

Estoy buscando una lista completa de los Códigos ICD-9 (Códigos Médicos) para Enfermedades y Procedimientos en un formato que se pueda importar a una base de datos y hacer referencia programáticamente. Básicamente, mi pregunta es exactamente la misma que Buscando recursos para los códigos ICD-9 , pero el póster original no mencionó de dónde sacó su lista completa.

Google definitivamente no es mi amigo aquí, ya que he pasado muchas horas buscando en Google el problema y he encontrado muchas listas de tipo de texto enriquecido (como los CDC) o sitios web donde puedo profundizar en la lista completa de manera interactiva, pero no puedo encontrar dónde obtener la lista que llenaría estos sitios web y se puede analizar en una base de datos. Creo que los archivos aquí ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/Publications/ICD9-CM/2009/ tienen lo que estoy buscando pero los archivos tienen formato de texto enriquecido y contienen mucha basura y formato. Eso sería difícil de eliminar con precisión.

Sé que otros deben haberlo hecho y estoy tratando de evitar la duplicación del esfuerzo de otras personas, pero simplemente no puedo encontrar una lista xml / CSV / Excel.


Claramente, un hilo muy antiguo, pero recientemente realicé esta tarea y la escribí aquí con enlaces a datos fuente:

http://colinwhite.net/dropplets/ICD

Estaba tratando de obtener tanto ICD-9 como ICD-10 en una base de datos SQLite.

Parece haber funcionado bien.


Después de eliminar el RTF, no fue demasiado difícil analizar el archivo y convertirlo en un archivo CSV. Mis archivos analizados resultantes que contienen todos los códigos ICD-9 de 2009 para enfermedades y procedimientos están aquí: http://www.jacotay.com/files/Disease_and_ProcedureCodes_Parsed.zip Mi analizador que escribí está aquí: http://www.jacotay.com/files/RTFApp.zip Básicamente es un proceso de dos pasos: tome los archivos del sitio FTP de CDC y elimine el RTF de ellos, luego seleccione los archivos sin RTF y analícelos en los archivos CSV. El código aquí es bastante aproximado porque solo necesitaba obtener los resultados una vez.

Aquí está el código para la aplicación de análisis en caso de que los enlaces externos se caigan (parte posterior de un formulario que le permite seleccionar un nombre de archivo y hacer clic en los botones para que funcione)

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, ",", "&#44;") DestFileLine = Strings.Replace(DestFileLine, """", "&quot;").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, ",", "&#44;") DestFileLine = Strings.Replace(DestFileLine, """", "&quot;").Trim DestFileText.AppendLine(CurCode & ",""" & DestFileLine & """") CurCode = "" DestFileLine = "" End If End If Next If CurCode <> "" Then DestFileLine = Strings.Replace(DestFileLine, ",", "&#44;") DestFileLine = Strings.Replace(DestFileLine, """", "&quot;").Trim DestFileText.AppendLine(CurCode & ",""" & DestFileLine & """") CurCode = "" DestFileLine = "" End If IO.File.WriteAllText(Replace(pFile.FullName, pFile.Extension, "_parsed" & pFile.Extension), DestFileText.ToString) End Sub

Clase final


El Centro de Servicios de Medicare (CMS, por sus siglas en inglés) se cobra actualmente por ICD, por lo que creo que las versiones de CDC que ustedes hacen referencia pueden ser simplemente copias o copias reprocesadas. Aquí está la página de Medicare (que es difícil de encontrar) que, en mi opinión, contiene los datos brutos originales ("fuente de la verdad").

http://www.cms.gov/Medicare/Coding/ICD9ProviderDiagnosticCodes/codes.html

Parece que a partir de este post la última versión es v32. El archivo zip que descargue contendrá 4 archivos de texto plano que asignan código a descripción (un archivo para cada combinación de DIAG | PROC y SHORT | LONG). También contiene dos archivos de Excel (uno para DIAG_PROC) que tienen tres columnas, así que asigna el código a ambas descripciones (larga y corta).


Los centros de servicios de Medicaid y Medicare proporcionan archivos de Excel que solo contienen los códigos y el diagnóstico, que se pueden importar directamente en algunas bases de datos SQL, sin conversión.

Archivos de Excel comprimidos, por número de versión

(Actualización: Nuevo enlace basado en el comentario a continuación)