Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Looking for resources for ICD-9 codes [closed]

Tags:

medical

We have been asked by a client to incorporate ICD-9 codes into a system.

I'm looking for a good resource to get a complete listing of codes and descriptions that will end up in a SQL database.

Unfortunately a web service is out of the question as a fair amount of the time folks will be off line using the application.

I've found http://icd9cm.chrisendres.com/ and http://www.icd9data.com/ but neither offer downloads/exports of the data that I could find.

I also found http://www.cms.hhs.gov/MinimumDataSets20/07_RAVENSoftware.asp which has a database of the ICD-9 codes but they are not in the correct format and I'm not 100% sure how to properly convert (It shows the code 5566 which is really 556.6 but I can't find a rule as to how/when to convert the code to include a decimal)

I'm tagging this with medical and data since I'm not 100% sure where it should really be tagged...any help there would also be appreciated.

like image 667
Jason Avatar asked Oct 05 '09 13:10

Jason


3 Answers

Just wanted to chime in on how to correct the code decimal places. First, there are four broad points to consider:

  1. Standard codes have Decimal place XXX.XX
  2. Some Codes Do not have trailing decimal places
  3. V Codes also follow the XXX.XX format --> V54.31
  4. E Codes follow XXXX.X --> E850.9

Thus the general logic of how to fix the errors is

If first character = E:
    If 5th character = '':
        Ignore
    Else replace XXXXX with XXXX.X                
Else If 4th-5th Char is not '':                      (XXXX or XXXXX)
    replace XXXXX with XXX + . + remainder           (XXX.XX or XXX.X)
(All remaining are XXX)

I implemented this with two SQL Update statements:
Number 1, for Non E-codes:

USE MainDb;
UPDATE "dbo"."icd9cm_diagnosis_codes" 
    SET "DIAGNOSIS CODE" = SUBSTRING("DIAGNOSIS CODE",1,3)+'.'+SUBSTRING("DIAGNOSIS CODE",4,5)
FROM "dbo"."icd9cm_diagnosis_codes"
WHERE 
    SUBSTRING("DIAGNOSIS CODE",4,5) != ''
    AND
    LEFT("DIAGNOSIS CODE",1) != 'E'

Number 2 - For E Codes:

UPDATE "dbo"."icd9cm_diagnosis_codes" 
    SET "DIAGNOSIS CODE" = SUBSTRING("DIAGNOSIS CODE",1,4)+'.'+SUBSTRING("DIAGNOSIS CODE",5,5)
FROM "dbo"."icd9_Diagnosis_table"
WHERE
    LEFT("DIAGNOSIS CODE",1) = 'E'
    AND
    SUBSTRING("DIAGNOSIS CODE",5,5) != ''

Seemed to do the trick for me (Using SQL Server 2008).

like image 104
chris Avatar answered Sep 21 '22 22:09

chris


You might find that the ICD-9 codes follow the following format:

  • All codes are 6 characters long
  • The decimal point comes between the 3rd and 4th characters
  • If the code starts with a V character the decimal point comes between the 2nd and 3rd characters

Check this out: http://en.wikipedia.org/wiki/List_of_ICD-9_codes

like image 35
A Dent Avatar answered Sep 19 '22 22:09

A Dent


I finally found the following:

"The field for the ICD-9-CM Principal and Other Diagnosis Codes is six characters in length, with the decimal point implied between the third and fourth digit for all diagnosis codes other than the V codes. The decimal is implied for V codes between the second and third digit."

So I was able to get a hold of a complete ICD-9 list and reformat as required.

like image 24
Jason Avatar answered Sep 20 '22 22:09

Jason