In the CPS chart's Medication section, there is a column called Class. It features entries such as "Analgesics and Anesthetics", "Respiratory Agents", "Anti-infective Agents", etc. I'm having difficulty determining where in the database this field lives. I've done a brute-force search of the database for a couple of these terms and it's come up empty. I don't find them in the GEMedispan database either.
What I need to do is identify all antibiotic meds, but manually sifting through a list of thousands of GPI codes doesn't seem like a realistic way to accomplish this. If CPS is displaying this information, there must be some way for a report to grab it as well. They can't possibly have the entire GPI database hard-coded into the application for this purpose.
Review the table named 'MS_TCRF'. I think you will like what you find. 😉
Also in mldefs.txt - Object _ThereputicClass (yes, spelled that way)
I've reviewed MS_TCRF, and have seen the report based on it, but its descriptions don't match up to what's displayed in the chart.
All or some?
If some, you might want to verify that the medication is not a combination medication or being used 'off label'. Both of these conditions can return different information from 'use'.
If all, then you might need to check with GE Support to see if something is broken or 'changed'.
MS_TCRF is the table that stores the Group, Class, Sub-Class information.
For example, I'm looking at a patient with three meds. The classes displayed in the chart's medication section read "Central Nervous System Drugs" (Ativan), "Topical Products" (Triamcinolone Acetonide), and "Respiratory Agents" (Albuterol Sulfate). None of those descriptions exist in MS_TCRF. Added to which, all classes displayed in that grid are proper case, while everything in MS_TCRF is uppercase. So it seems pretty clear that's not where they're coming from.
I see where your disconnect may be. Understanding the table is key. The table is set to certain 'depths' of the GPI code referenced by the TC_TYPE field.
TC_TYPE 1 will match on the first two digits of the GPI to produce the Group Name
TC_TYPE 2 will match on the first four digits of the GPI to produce the Class Name
TC_TYPE 3 will match on the first six digits of the GPI to produce the Sub-Class Name
TC_Type 4 will match on the first 10 digits of the GPI to produce the Medication Name plus extension (i.e. med name + HCL)
At one time, there was a Type 5, which produced the full medication name dose form and strength, but I believe that has been dropped from the table now.
The Group, Class, Sub-Class, and Med-Extension names are all found in the TC_NAME field. The example you show demonstrates the Group name (type 1) is being displayed. I think you just needed to dig a bit deeper?
I've done a SELECT against that table WHERE TC_NAME = each of those values. The query comes up empty. Those values do not appear in the table.
Interesting. What EMR version? In the MLDEFS.TXT file for that version, what table is the _TheraputicClass definition referencing?
CPS12, and mldefs is referencing that file.
Instead of searching, have you tried to return all values in the table? Does it contain anything?
Yes, I've done a SELECT *, and there's plenty in the table. All the names are in all caps, and none of them correspond to what's displayed in the chart module.
Quite odd. What exactly are you looking to achieve?
I was hoping to leverage those descriptions to find all antibiotics as one big class. Since the application lumps them all together as "Anti-Infective Agents", no reason I shouldn't be able to do the same. But in the absence of that option, we had to sift through MS_TCRF after all, try to identify every class that would represent an antibiotic (an arduous task), and use that list as our filter. It works, I'm just hoping we didn't miss any.
I compiled a list nearly a decade ago that I use as my cheat sheet. Maybe it will be of some help?
Understand that the accuracy of the list is not complete due to off label uses of medications (where the original class is retained) and combination medications (where the primary component's classification determines the overall class).
With all of the possibilities, you can be assured that you have missed a few, at minimum, just be sure to code things so that you can include more digits in the GPI mask for matching and add them on the fly as they are identified. It is about the best you can hope for given the fluid nature of pharmaceuticals.
Good Luck!