Difference between revisions of "Code Types"

From OpenEMR Project Wiki
Line 126: Line 126:
:''Italic'' - Optional setting for this code type (ie. the ct_id can be anything greater than or equal to 100 for this code type)
:''Italic'' - Optional setting for this code type (ie. the ct_id can be anything greater than or equal to 100 for this code type)
*Note the ct_key and ct_id are columns from the sql 'code_types' table and that the ct_id column is equal to the code_type column of entries in the sql 'codes' table.
*Note the ct_key and ct_id are columns from the sql 'code_types' table and that the ct_id column is equal to the code_type column of entries in the sql 'codes' table.
==Mechanism for adding Code Types==
:Can be done in Administration->Lists->Code Types.
:*If using a code type above, recommend using the same ct_key and ct_id values as above. If creating a new code type, then recommend making sure the ct_id is greater than 100. If you think the code type has general use, then please request to have it added to the official OpenEMR codebase.


==Code Type Issues==
==Code Type Issues==

Revision as of 07:21, 18 July 2012

Overview

Code types include billing, diagnosis, performance and other code sets (such as immunizations). By default, OpenEMR is set up to use ICD9 for diagnosis and CPT4/HCPCS for billing. As of OpenEMR version 4.1.1, OpenEMR can also support ICD10/SNOMED/DSMIV code types along with any other code types (guessing each country has their own flavor of these) and importing of these alternative code sets. The important topics described below are how to Configure/Add Code Types and how to Import Code Sets.

Configure/Add Code Types

A code type can be configured or added at Administration->Lists->'Code Types' . Below is a description of each element in the Code Types Editor and note this is only applicable for OpenEMR versions 4.1.1 and above.
  • Active - Toggle to turn on/off the code type.
  • Key - Name of key used to identify code type within database. This should not be altered.
  • ID - ID used to identify code type. This should not be altered.
  • Label - Label of the code type (ok to alter this)
  • Seq - Order of the code type when showing the listing.
  • ModLength - Maximum length of modifier (0 means there is no modifier used for the code type)
  • Justify - Enter the Key of the code type that is used to justify this code type (blank means no justification is used with the code type)
  • Mask - ???
  • Claims - Toggle to turn on/off whether the code type is used in insurance claims.
  • Fees - Toggle to turn on/off whether the code type is associated with fees.
  • Relations - ???
  • Hide - Toggle to turn on/off whether the code type shown in the Fee Sheet searching option.
  • Procedure - Toggle to turn on/off whether the code type represents procedure/service codes.
  • Diagnosis - Toggle to turn on/off whether the code type represents diagnosis codes.
  • External - Menu to choose where the code set of the code type is stored.
  • No - The code set is stored in the 'codes' sql table.
  • ICD9 Diagnosis - The code set is stored in the standard ICD9 diagnosis tables.
  • ICD9 Procedure/Service - The code set is stored in the standard ICD9 procedure/service tables.
  • ICD10 Diagnosis - The code set is stored in the standard ICD10 diagnosis tables.
  • ICD10 Procedure/Service - The code set is stored in the standard ICD10 procedure/service tables.
  • SNOMED (RF1) Diagnosis - The code set is stored in the standard SNOMED diagnosis tables.
  • SNOMED (RF2) Diagnosis - This is not used.

Import Code Sets

Code sets can be imported in several ways, depending on the code type. Note these instructions are only applicable to OpenEMR versions 4.1.1 or greater.
  • ICD9
  • Follow instructions at Administration->Other->External Data Loads->ICD9
  • For a new install, basically just need to click 'INSTALL'.
  • For upgrades, follow the instructions offered there.
  • ICD10
  • Follow instructions at Administration->Other->External Data Loads->ICD10
  • For a new install, basically just need to click 'INSTALL'.
  • For upgrades, follow the instructions offered there.
  • SNOMED
  • Follow instructions at Administration->Other->External Data Loads->SNOMED
  • CPT4
  • Read through the following script here: openemr/contrib/util/load_cpt_desc.plx

Current Official Code Types

ct_key ct_id description
CPT4 1 Procedure/Service Codes
ICD9 2 Diagnosis Codes
HCPCS 3 Procedure/Service Codes
OPCS 6 Sports Medicine Procedure Codes
PTCJ 7 Sports Medicine Physiotherapy Codes
OSICS10 9 Sports Medicine Diagnosis Codes
SMPC 10 Sports Medicine Radiology Codes
IPPF 11 Family Planning Statistical Codes
MA 12 Family Planning Service Codes
ACCT 13 Family Planning Accounting Codes
REF 16 Family Planning Referral Codes
CVX 100 Immunization Codes
DSMIV 101 Diagnostic and Statistical Manual of Mental Disorders, 4th edition
ICD10 102 The International Statistical Classification of Diseases and Related Health Problems, 10th Revision
SNOMED 103 Systematized Nomenclature of Medicine
CPTII 104 Performance Measure Codes
ICD9-SG 105 Procedure/Service Codes
ICD10-PCS 106 Procedure/Service Codes

LEGEND:

RED - Mandatory setting for this code type
Italic - Optional setting for this code type (ie. the ct_id can be anything greater than or equal to 100 for this code type)
  • Note the ct_key and ct_id are columns from the sql 'code_types' table and that the ct_id column is equal to the code_type column of entries in the sql 'codes' table.

Code Type Issues

Two elements in the code_types table were considered to be invariant. The ct_key element which holds a text identifier and the ct_id element which holds an id identifier. Changes either of these for ICD9, CPT4, or HCPCS can cause problems. To support allowance of incorporating new code sets in OpenEMR version 4.1.0+, it is important to code new sets in a way that only the ct_key is invariant (ie. the ct_id does not need to be a pre-determined number). An example of this is the CVX code type that was added in OpenEMR version 4.1 and the SNOMED, DSMIV and ICD10 code sets that were added in OpenEMR version 4.1.1 . When adding new codesets, we are using a ct_id above 100 to ensure we don't affect any current users that have added their own code types during the upgrade process.