Difference between revisions of "Diagnostic Codes Development"

From OpenEMR Project Wiki
m (Changed the download links to the CMS for both diagnostic and procedure dowload files)
Line 22: Line 22:
:*Importing codes
:*Importing codes
::*Plan to import codes via the UI mechanism (like SNOMED and RXNORM)
::*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.
:::*The latest raw data file packages can be downloaded from  
::::* DIAGNOSTIC CODES: https://www.cms.gov/Medicare/Coding/ICD10/2012-ICD-10-CM-and-GEMs.html
::::* PROCEDURE CODES: https://www.cms.gov/Medicare/Coding/ICD10/2012-ICD-10-PCS.html
:*See the following forum threads for ongoing progress on this project:
:*See the following forum threads for ongoing progress on this project:
::*[http://sourceforge.net/projects/openemr/forums/forum/202506/topic/5065456 ICD10 code]
::*[http://sourceforge.net/projects/openemr/forums/forum/202506/topic/5065456 ICD10 code]

Revision as of 11:47, 23 April 2012

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.
  • 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)
  • label (for displaying the code set name"
  • 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
  • Plan to import codes via the UI mechanism (like SNOMED and RXNORM)
  • The latest raw data file packages can be downloaded from
  • See the following forum threads for ongoing progress on this project:

SNOMED

Can currently import the SNOMED datasets into the OpenEMR databasae, however it is currently not integrated with the OpenEMR codebase.
  • Create an entry in code_types table(with id of 100+). See Code Types wiki page for details.
  • Support this in the codebase

DSMIV

Appears that some users are working on this
  • 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. (I THINK THIS IS DONE)
  • 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...