I tried to manually add a CPT4 code. Then I go to the database, was hoping to find a CPT4 SQL table (because there were separate tables for ICD9 code). However, it doesn’t appear that there is a SQL table designed for CPT4 code. Instead, the CPT4 code that I manually entered actually creates a new row in the ‘codes’ table.
Does anyone know why CPT4 code doesn’t have its own SQL table like ICD9 code?
Manual imput of codes involves a limited data set, usually just a handful of entries. Any code entered manually will end up in the codes table, be they CPT, ICD or whatever.
In contrast, the ICD-9 table has nearly 500 pages, if the data set had been imported en masse, not to mention the 12 separate tables for ICD codes.
I would guess that for the ease of organization and quick retrieval, large data sets have their own tables. This probably is true for the import of SNOMED and RxNorm, both of which are voluminous.
One of the developers will have to confirm or correct this supposition.
The CPT data set is most certainly proprietary; to the tune of $95/$75, per 1 user, per 1 download. That is the reason Brady does not have the external load utility set up for it.
I think J.H.'s question is more about the organization and architecture of the code tables.
A simpler answer is that the “codes” table existed first, and all codes (including ICD9) used to be stored in that table.
The threshold of cost vs. benefit for moving CPT4 codes out of the old codes table and into it’s own external table hasn’t been met to justify a migration. This would include changing how manual input would be handled as Dr. Lee mentions.
Because CMS and UMLS provide datafiles for ICD9/ICD10 and SNOMED it made more sense to switch to “external tables” than to try and maintain the old ICD9 import process into the codes table and develop import into the codes table for newer code sets.