Difference between revisions of "Diagnostic Codes Development"
Bradymiller (talk | contribs) |
Bradymiller (talk | contribs) |
||
Line 55: | Line 55: | ||
::#Deal with all the places where, ICD9, CPT4, HCPCS or code_type id numbers are hard-coded into queries (surprisingly, there does not seem to be many of these). | ::#Deal with all the places where, ICD9, CPT4, HCPCS or code_type id numbers are hard-coded into queries (surprisingly, there does not seem to be many of these). | ||
::#Have the CDR diagnosis searching in rule edit use the modular code search function ('''COMPLETED 6/16/12''') | ::#Have the CDR diagnosis searching in rule edit use the modular code search function ('''COMPLETED 6/16/12''') | ||
::#Place an index on the code_type column in the codes table | |||
::#Increase size of code_type column in the billing table (varchar(15)) | |||
::#Increase size of modifier column in the codes and ar_activity table (varchar(12)) | |||
::#Place code_types (inactive) for CPTII,ICD9-,ICD10- and SNOMED- (Change the labels of the ICD/SNOMED dx code types and export methods to make it clear) | |||
[[Category:Developer Guide]] | [[Category:Developer Guide]] |
Revision as of 00:47, 3 July 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.
- For standardization, propose following: (THIS PART IS DONE)
- Add following sql columns to the code_types tables: (THIS PART IS DONE)
- 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. (THIS PART IS DONE)
- Support this in the codebase (THIS PART IS ALMOST DONE)
- Modularize functions and place these functions in the custom/code_types.inc.php script.
- Things that still need to be done can be found in the Common Issues section below.
- Importing codes THIS PART IS ALMOST DONE
- Plan to import codes via the UI mechanism (like SNOMED and RXNORM)
- 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:
- Analysis of the ICD10 codeset is done and was reported 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: (THIS IS DONE)
- 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
- For standardization, propose following: (THIS IS DONE)
- Create an entry in code_types table(with id of 100+). See Code Types wiki page for details.
- Support this in the codebase
- Importing of codes
- Suggest using same mechanism as the ICD10/SNOMED (and soon to be ICD9)
Common Issues
- Places in code that need to be adjusted to allow full customizability.
- Still things left to do are:
- All the Reports->Financial (except for the Collections) have a CPT and ICD entry box. These should instead be Service and Diagnosis entry boxes and the code in all of these forms need to support this (appear to currently have CPT/ICD stuff hard-coded in.
- The syndromic surveillance only works with ICD9 codes. I modified the Administraion->Fees to allow setting any code as reportable, however the Syndromic Surveillance report will still only show the ICD9 ones. So, will need to get the report to support other code sets.
- The fee sheet only shows the code (and not the code type) when selecting a justification code. It would be more clear to also show the code type (ie. ICD9:258.12 rather than 258.12). (COMPLETED 6/19/12)
- The justify sql column in the billing table should also include the code types of the codes (ie. ICD9:258.12 rather than 258.12) (COMPLETED 6/19/12)
- The ar_activity table should have a code_type column since it has a code column (akin to the billing table), otherwise not clear what code set the code is actually from. Note this is something that will also need to be fixed in Z&H's recent code submission that placed the COPAY from billing table into the ar_activity/ar_session tables. ((PENDING CODE REVIEW AND TESTING 6/19/12)
- Deal with all the places where, ICD9, CPT4, HCPCS or code_type id numbers are hard-coded into queries (surprisingly, there does not seem to be many of these).
- Have the CDR diagnosis searching in rule edit use the modular code search function (COMPLETED 6/16/12)
- Place an index on the code_type column in the codes table
- Increase size of code_type column in the billing table (varchar(15))
- Increase size of modifier column in the codes and ar_activity table (varchar(12))
- Place code_types (inactive) for CPTII,ICD9-,ICD10- and SNOMED- (Change the labels of the ICD/SNOMED dx code types and export methods to make it clear)
- Still things left to do are: