I’m having some trouble finding a good quality list of 2007 ICD9 codes, where one does not have to do a lot of manual twiddling to just get a simple list of codes with descriptions suitable for OpenEMR.
There seems to be authoritative stuff here: ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/Publications/ICD9-CM/2006/ , in particular the file Dtab07.zip. This annoyingly unzips to a RTF file, but I can load that with OpenOffice and save it as plain text, and then use a perl script to extract just the codes and descriptions…
BUT, the descriptions are spread out among high-level codes like 213 ("Benign neoplasm of bone and articular cartilage") and detail-level codes like 213.7 ("Long bones of lower limb"). In this case both of these descriptions need to be combined in order to create a sensible description for 213.7. Other codes already have a suitable complete description at the detail level.
I can’t help you with ICD-9, but I do have an excel file with all the ICD-10 codes if that will help. I was actually wondering why the latest release of openEMR is still using ICD-9? Can we upgrade to ICD-10?
A code like 213 is still used but invariably will be entered as 213.0. in fact all of the codes can be expressed as 5 significant digits 213.00 which translated as "Benign neoplasm of bone and articular cartilage NEC (not elsewhere classified).
The rules of coding are to use the highest level of differnetiation as possible. Some codes the 5th digit codes are required. As an example, in diabetes mellitus 5th digit coding is required.
250.00 Diabetes mellitus type II controlled
250.01 Diabetes mellitus type I controlled
250.02 Diabetes mellitus Type II uncontrolled
250.03 Diabetes mellitus Type I uncontrolled
Then there are
250.1 Diabetes mellitus with ketoacidosis
250.2 Diabetes mellitus with Hyperosmolarity
250.3 Diabetes mellitus with other coma
250.4 Diabetes mellitus with with renal manifestations
250.5 Diabetes mellitus with opthalmic manifestations
250.6 Diabetes mellitus with neurological manifestations
250.7 Diabetes mellitus with peripheral circulatory disorders
250.8 Diabetes mellitus with other specified manifestations
250.9 Diabetes mellitus with with unspecified complications
So a full code would be:
250.13 Diabetes mellitus, Type I, uncontrolled with ketoacidoses
One ends up combining the fourth digit code with the fifth digit code to get what seems to be the closest match. (Of course there is no code for the large number of diabetics that have 250.4, 250.5, 250.6 and 250.7 all at the same time.)
These codes change frequnetly. We are usually getting quarterly notifications of ICD-9 codes that have changed.
We need to remember to internationalize the code as we go along. Most of the rest of the world is already using ICD-10. This likely should be a selectable feature on installation.
There is a script custom/code_types.inc.php which lets you customize the types of coding used. You could easily modify this to support ICD-10 and others.
If someone has successfully implemented ICD-10 on their own installation of OpenEMR, it would be most welcome if they could show the settings they made.
There is a full set of codes that come with OpenEMR in the openemr/sql subdirectory. ic9-code-insert.sql and icd9-codes-replace.sql. That is how I loaded my code list.