CIM-9 Liste des codes XML, CSV ou base de données [fermé]
Question
Je cherche une liste complète des codes CIM-9 (codes médicaux) pour les maladies et procédures dans un format qui peut être importé dans une base de données et référencées par programmation. Ma question est fondamentalement exactement le même que Vous cherchez des ressources pour la CIM-9 codes , mais l'affiche originale a négligé de mentionner exactement où il « a Ahold de » sa liste complète.
Google est certainement pas mon ami ici comme je l'ai passé de nombreuses heures googler le problème et nous avons trouvé de nombreuses listes de type texte riche (comme la CDC) ou des sites Web où je peux percer jusqu'à la liste complète interactive, mais je ne peux pas trouver où obtenir la liste qui peupler ces sites Web et peut être analysé dans une base de données. Je crois que les fichiers ici ftp: //ftp.cdc. gov / pub / Health_Statistics / NCHS / Publications / ICD9-CM / 2009 / ont ce que je cherche, mais les fichiers sont format texte enrichi et contient beaucoup de déchets et le formatage qui serait difficile à enlever avec précision.
Je sais que cela doit avoir été fait par d'autres et j'essaie d'éviter la duplication des efforts d'autres peuples, mais je ne peux pas trouver une liste xml / CSV / Excel.
La solution 2
Après avoir retiré la RTF, il n'a pas été trop dur pour analyser le fichier et le transformer en un fichier CSV. Mon résultat des fichiers analysés contenant tous les 2009 codes CIM-9 pour les maladies et les procédures sont ici: http: // www .jacotay.com / fichiers / Disease_and_ProcedureCodes_Parsed.zip Mon analyseur que j'ai écrit ici: http://www.jacotay.com/files/RTFApp.zip Fondamentalement, il est un processus en deux étapes - prendre les fichiers à partir du site FTP CDC, et retirez la RTF d'eux, puis sélectionnez les fichiers RTF et sans les analyser dans les fichiers CSV. Le code ici est assez rude parce que je ne devais obtenir les résultats une fois.
Voici le code pour l'application de l'analyse dans le cas où les liens externes vont vers le bas (fin de revenir à un formulaire qui vous permet de sélectionner un nom de fichier et cliquez sur les boutons pour la faire)
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
Autres conseils
Centres de services Medicare Medicaid et fournit des fichiers Excel qui contiennent uniquement les codes et le diagnostic, qui peuvent être importés directement dans certaines bases de données SQL, sans conversion.
fichiers Excel, par Zippé numéro de version
(Mise à jour: Nouveau lien basé sur le commentaire ci-dessous)
Center for Medicare services (CMS) est en fait chargé de la CIM, donc je pense que les versions CDC vous référence des gars peut juste être des copies ou des copies retraiter. Voici le (~ difficile à trouver) la page d'assurance-maladie que je pense que contient les données brutes originales ( « source de vérité »).
http://www.cms.gov/Medicare/Coding/ICD9ProviderDiagnosticCodes/ codes.html
On dirait que de ce post la dernière version est V32. Le zip télécharger vous contiendra 4 fichiers texte qui code à la description carte (un fichier pour chaque combinaison de DIAG | PROC et COURT | LONG). Il contient également deux fichiers Excel (un pour chaque DIAG_PROC) qui ont trois colonnes pour le code de carte les (descriptions longues et court).
De toute évidence, un fil très ancien mais je a récemment entrepris cette tâche et a écrit ici avec des liens vers des données source -
http://colinwhite.net/dropplets/ICD
Je tente d'obtenir la CIM-9 et la CIM-10 dans une base de données SQLite.
Il semble avoir bien fonctionné.
Vous pouvez obtenir les fichiers de code orginal RTF à partir d'ici http://ftp.cdc.gov/pub/Health_Statistics/ NCHS / Publications / ICD9-CM / 2009 /