Diagnostic Codes Development
Overview
OpenEMR currently supports ICD9 diagnostic codes by default (although the codes need to be imported via phpmyadmin). It is also important to support ICD10 and SNOMED as an option; this wiki page will track the development of this. This was started after active discussion in the icd10 sourceforge forum thread.
The vital pieces here are the 'codes' and 'code_type' sql tables. It seems a lot of the codebase relies on hard-coded 'ct_id' elements in the 'codes' table to identify the code set. However, to get things to work smoothly, one option is to consider refactoring the code to instead use join in the mysql queries in order to instead use the 'ct_key' elements in the 'code_type' table to identify the code set and is discussed on the Code Types wiki page.
ICD9
- Already integrated and working on a default OpenEMR installation(although the codes need to be imported via phpmyadmin).
- For ease of use, could consider mechanism that has these codes installed by default, but that needs to be turned "on" to use.
- Create a mechanism to search for ICD9 codes by category.
ICD10
- Article on transition from ICD9 to ICD10 in the US: Guest Article: Actionable advice on how to make tangible progress in ICD-9 to ICD-10 migration
- Appears that some users have got this working.
- For standardization, propose following:
- Add following sql columns to the code_types tables:
- active (will allow placing multiple code sets without them being used unless chosen)
- external (0 for using the codes tables to hold codeset and then 1 or greater to use an external table(s) mechanism)
- Create an entry in code_types table(with id of 100+). See Code Types wiki page for details.
- Support this in the codebase
- Modularize functions and place these functions in the custom/code_types.inc.php script.
- Importing codes
- Preliminarily plan to import codes via the UI mechanism (like SNOMED and RXNORM)
- Raw data file packages can be downloaded from http://apps.who.int/classifications/icd/en/index.html at the 'Classification Download Area' link.
- See the following forum threads for ongoing progress on this project:
- Analysis of the ICD10 codeset is underway by a developer (mcaloon) here: http://sourceforge.net/u/mcaloon/wiki/ICD%2010%20Home/
SNOMED
- Can currently import the SNOMED datasets into the OpenEMR databasae, however it is currently not integrated with the OpenEMR codebase.
- For standardization, propose following:
- Create an entry in code_types table(with id of 100+). See Code Types wiki page for details.
- Support this in the codebase
- Requested the SNOWMED downloads from the UK DHS (March 23, 2012) - Mac
DSMIV
- Appears that some users are working on this
- For standardization, propose following:
- Create an entry in code_types table(with id of 100+). See Code Types wiki page for details.
- Support this in the codebase
Common Issues
- Lots of places in code that need to be adjusted to allow full customizability.
- Fee Sheet
- Allow justification by non-ICD9 codes (this has been included in the 4.1 patch)
- Only allow justification by codes within the 'Justify' option of the the primary code type.
- And many more...