One of the most often implemented clinical decision support modules, across the spectrum of healthcare applications, is drug allergy checking. In drug allergy checking a patient's allergies, or prior adverse reactions, are noted. When a drug is prescribed, it is checked against the noted allergies to see if there is a possibility that the drug could induce a reaction in the patient.
Straight forward, right?
There are some good rules of thumb from and implementation perspective, when it comes to allergy. Things that can be missed and not seem important until it is too late.
What is the general pattern for allergy checking?
Computerized drug allergy checking follows the same pattern a provider would if they were checking a free text allergy manually.
A drug has ingredients, the ingredients may be listed in an allergy class and that class may or may not be in a broader classification that indicates a cross sensitivity between classes. If I am allergic to ibuprofen and my doctor prescribes ‘ubercough syrup', the allergy checking process simply breaks the prospective drug into its ingredients, checks to see if any of those ingredients are ibuprofen. If not it begins to walk through the allergy class hierarchies (if available) for each ingredients in the prospective drug to see if there is any overlap between them and the allergy classes related to the ingredient I am allergic to. Now, it should be noted that the different drug information content vendors have different features and differentiators in their content, but this general pattern is pretty ubiquitous. To understand how your drug vendor's content specifically works, you should contact them and ask.
When is an allergy not an allergy?
While we speak about ‘allergy checking', there is actually what you might consider the silent partner to allergy checking, prior adverse reaction checking. An allergy is the result of the body's immune system reacting to a substance that the body views as an invader. The body releases an overload of histamines in response to the attacker substance, which can create symptoms such as a runny nose, itchy eyes, hives, general swelling, vomiting, diarrhea, trouble breathing, quickened heart rate and finally loss of consciousness because of a drop in the person's blood pressure. This is called anaphylaxis. I point this out just as an FYI. If a patient has experienced a drug side effect in the past, that is not an allergy. It is a thin line, but it leads me to my next point.
Ingredient is the best allergen to record, then drug, then class (if you have to).
When noting an allergy in the patient record it is always best to try to get your user to select an ingredient and here are the reasons why.
1. The actual ingredient always gives you the highest fidelity checking result. Saying you are allergic to Acetaminophen relates you allergy to one ingredient... Acetaminophen. If you say you are allergic to ‘Nyquil' you are telling the allergy checking module you are allergic to Acetaminophen, Dextromethorphan, Doxylamine succinate, Citric acid and Alcohol. That's a lot of alerts and for someone allergic to Acetaminophen. If you say you are allergic to a class you are considered as being allergic to all ingredients in that class. (Which may not even be relevant if what you experienced was a adverse reaction and not a true allergy.)
2. When considering interoperability, ingredients are much better concepts. Many content vendors share their ingredients in RxNorm. No content vendor, that I know of, currently shares their allergy classes. This means that your Patient's allergy, if expressed as a class, will most likely end up as free text in your partner's record.
The bottom line is the patient may not know the ingredient so you can't force it. However, you may be able to make it easier to select and ingredient as a first choice, since it improve the result for the patient and decreases noise for the provider.
Allergy checking and severity
You shouldn't filter allergy alerts. But let's say you want to attenuate how annoying you are to the user based on the severity of the potential allergic reaction. There is something important you need to know. Unlike other alerting venues, like drug interactions for instance, drug allergy alerts do not have an inherent severity. The severity of the drug interaction alert is based on the reaction to the allergen the patient reported. I can be allergic to amoxicillin and my reaction is hives. You may be allergic to amoxicillin and your reaction is anaphylaxis. My allergy is mild and yours is life threatening. (assuming my hives are not life threatening giant hives) The severity comes not from the content, but from the patient.
Many drug allergy patterns will report the place where the ‘hit' occurred (Ex: it was an ‘ingredient overlap' or a ‘class overlap'). Some will be tempted to treat this overlap-level like a severity and filter out a cross sensitivity or class hit in favor of a ingredient hit. This would be a mistake, as a cross sensitivity that results in anaphylaxis is likely more relevant that an ingredient hit that results in a rash. In your application allow the person noting the patient allergies to select a reaction (like ‘Hives') and a severity (like Mild, Moderate, Severe and Life Threatening). Later you can use this severity to determine how you interact with your user.
In short allergy checking is a great way to prevent a serious problem for a patient. The drug content vendors have good content supporting it, if you are diligent in implementing it correctly.