Drug-drug Interactions for Bahmni

As part of clinical decision support for Bahmni, we are working on building the functionality of Drug - Drug Interactions. To be able to provide the functionality out of the box with Bahmni, we want to standardise the rules for drug-drug interactions in a rules engine.

We want to start off with a few examples first, test the MVP and then incrementally build the rules engine. We are thinking about the UX of the alerts and should be able to present the mock-ups soon.

A few problems areas identified and solutions proposed:

  1. Since the drug-drug interactions happen at the drug family level, we want to create the dictionary in a tree structure. Solution proposed - Create concept sets of drugs at the drug family level. Eg - Penicillin derived Antibiotics (Concept set/Drug Family) ——> Penicillin G

  2. Currently, the drug dictionaries used by different Bahmni installations are implementation specific and use brand names of drugs, which means every Bahmni installation has different names for the same generic drug. Solution proposed - To make the rules generic and usable across implementations, we want to use CIEL concepts and implementations should be able to map their drug concepts to CIEL concepts using reference term mapping.

Suggestions from the community are welcome.

1 Like

First, I believe most drug-drug interactions (as opposed to prior adverse reaction/allergy) are performed at the ingredient or the precise ingredient level (concept table). Although it is possible that inactive ingredients and formulations (the drug table). I think the link should probably start at the concept level and not the concept set level. So the RxNorm-encoding currently occurs at the Concept level (although CIEL is maintaining the RxNORM links at the drug table level too, but these are not available in OpenMRS at this time).

What is going to be the source of the drug-drug interaction data and what code systems will be used to bridge to the EHR or in this case CIEL?

The reasons we wanted to write the rules at the concept set level -

  • The MVP of drug-drug interactions for Bahmni includes examples such as macrolides and carbamazepine. So we wanted to start on the drug family level interactions. We will be talking to the doctors at current implementations and if they present use cases for ingredient level interactions, we will write the rules at that level too.

  • Doing it at the precise ingredient level will start generating a lot of alerts which may cause alert fatigue for the clinicians. We need to think about ways to prevent this.

Actually it is not so simple. Precise ingredients are in the concept dictionary. Formulations are not. So if you have an interaction with trimethoprim you would need to find the concept for trimethoprim, trimethoprim/sulfa (a MIN) and trimethoprim hydroxide (made up but would be a PIN). I think you are going to want to have a group of Rxnorm codes which interact with a group of Rxnorm codes and use the maps to concepts. Happy to talk more.

Btw, your last point doesn’t really make sense. Either the drug interacts or it doesn’t. The PIN or the IN or the formulation makes no difference to the number of alerts.

Andy is right about the interaction and the code and that the drug interacts or it doesn’t. Interactions are usually tiered, so it is accurate that some could be chosen to be ignored and/or not displayed based on some rubric. There is a lot of information available on drug-drug interactions including the way to formulate alerts, the potential for alert fatigue, and the high impact on patient safety. World VistA has experience with the implementation of RxNorm and the generation of alerts; if you would like to contact them, Nancy Anthracite is available for discussions. nancy@anthracite.name

In addition, i can send Darius a recent powerpoint about drug-drug alerts and screen design ( tried to upload but i couldn’t). Due to major issues within the Indian Health Service and VA over the years, we elected to include human factors as well as patient safety experts (and, obviously for pharmacy, pharmacists) from the beginning and through the SDLC for our HIT development.

hope that this helps. Terry

(Adding material from an email thread here; read this entry like an email, chronologically progressing from bottom to top.)

Thanks, Darius. As you said, I am working with Akhil and the Bahmni team, and in fact I’m the culprit who kicked off the idea of drug families and insisting on using some common central source of medication truth across implementations – hopefully, CIEL and whatever we determine has to be bolted on to CIEL. I was staying quiet on the talk topic to get some unbiased ideas from you all, but didn’t realize that it had migrated into this email thread. (We should probably copy some of this back into talk, although I realize that not everybody on this email can fully participate in talk).

I am available for discussion Tuesday between 10:30-12:30 ET (the second hour is preferable but I could do either). I could probably also meet Monday, although I leave it to the other Americans who may object.

Terry, I’d be very interested to see that VA table as well.

I’ve built DDI systems for hospitals using handmade dictionaries as well as commercial ones, so I have some background, but I do have some questions and thoughts about how to best build it out in this setting, where we have many sites with many formularies, possibly more limited formularies then we have to deal with in the US, and a relatively small number of high-priority interactions of key importance:

  1. Andy, I agree that DDIs chemically involve ingredients rather than drugs, so you may want to have some common identifier for drugs containing a particular ingredient of interest. However, drug interactions also commonly involve families that are much broader than any drug; for example, calcium channel blockers can interact with (any) beta blockers; potassium supplements interact with (any) ACE inhibitors. So, the families that we need are actually collections of drugs, or collections of ingredients, rather than checking against any single ingredient. One way or another, we have to get a curated list or curate one ourselves. Question: which way combines robustness and simplicity?

  2. Just by way of making the work manageable, I wonder if we will find that we can limit things for right now to a relatively small number of specific interaction pairs, which will reduce this curation work exponentially. I realize that this means that some lower priority interactions will sneak through, but at the same time you will have a great deal less over-alerting. In some work we’ve published with Shobha Phansalkar and Dave Bates, we identified a few dozen high priority DDIs and also low-value ones (in the US setting) and suggested that a smaller list of interactions may actually provide more net patient safety than a larger, complete one. Question: can we do this for phase one? I think so, but we need to verify. Does it save enough work to be valuable? I think yes here too, but it’s definitely open to review by this expert group.

  3. For DDI and CDS in general, we want to do most of our logic against that common CIEL-based reference dictionary. Question: Do we reliably map drugs from a new site formulary to CIEL? Is it done expertly, i.e. are the drugs in a new site’s formulary mapped reliably to the right items? Do we have a good mechanism for adding a new drug to CIEL when a site needs one? Do we include ingredients in the new CIEL entry?

Looking forward to answers and idea exchange. Perhaps 11:30 on Tuesday?


On Feb 12, 2016, at 4:17 PM, Darius Jazayeri djazayeri■■■■■■■■■■ wrote:

Adding Akhil who will be leading this work in Bahmni, and Jonathan Teich who is advising.

It’s great to see the excitement around exchanging ideas, and I would love to participate (as I know virtually nothing about this area).

I would suggest that we default to trying to have this conversation during a regularly-scheduled Monday 11am EST OpenMRS design forum. (Unfortunately this Monday is a US holiday, but in general I would assume that Argentina has sufficiently-good internet access to be able to do a call sometime.)

If we need to do a starter call in the next few days, that’s fine too. (I’m free from 10:30am EST on Tuesday.)


On Fri, Feb 12, 2016 at 11:15 AM, Cullen, Theresa wrote: ​adding Darius also From: Andrew Kanter Sent: Friday, February 12, 2016 12:05 PM To: Cullen, Theresa; Nancy E. Anthracite, MD; Mamlin, Burke Subject: Re: drug drug interactions

Just an FYI… I grabbed one of the HTML files and looked up an allopurinol entry. This was flagged with RxNORM 519. I then went to my hierarchy of codes which might be related. The second third and fourth codes are MINs, the last code is a PIN. The formulations are mixed in the middle. So we’d need a way to go from 519 only to CIEL concepts potentially mapped to 813631, 813995, 815923 and 80566.

Code Description 519 Allopurinol 813631 Allopurinol / Benzbromarone 813995 Allopurinol / Colchicine 815923 Allopurinol / Probenecid 249702 Allopurinol 100 MG / Benzbromarone 20 MG Oral Tablet 432455 Allopurinol 100 MG / Benzbromarone 25 MG Oral Tablet 249727 Allopurinol 100 MG / Colchicine 0.5 MG Oral Tablet 434431 Allopurinol 100 MG Extended Release Oral Tablet 199525 Allopurinol 100 MG Oral Capsule 197319 Allopurinol 100 MG Oral Tablet 201155 Allopurinol 100 MG Oral Tablet [Aloral] 201156 Allopurinol 100 MG Oral Tablet [Aluline] 201158 Allopurinol 100 MG Oral Tablet [Caplenal] 201159 Allopurinol 100 MG Oral Tablet [Cosuric] 201157 Allopurinol 100 MG Oral Tablet [Hamarin] 213994 Allopurinol 100 MG Oral Tablet [Lopurin] 105971 Allopurinol 100 MG Oral Tablet [Rimapurinol] 201161 Allopurinol 100 MG Oral Tablet [Xanthomax] 213995 Allopurinol 100 MG Oral Tablet [Zyloprim] 250106 Allopurinol 150 MG Oral Capsule 412121 Allopurinol 200 MG Oral Capsule 245422 Allopurinol 200 MG Oral Tablet 249530 Allopurinol 300 MG / Colchicine 0.5 MG Extended Release Oral Capsule 249275 Allopurinol 300 MG Extended Release Oral Capsule 252368 Allopurinol 300 MG Extended Release Oral Tablet 199526 Allopurinol 300 MG Oral Capsule 197320 Allopurinol 300 MG Oral Tablet 201162 Allopurinol 300 MG Oral Tablet [Aloral] 201163 Allopurinol 300 MG Oral Tablet [Aluline] 201164 Allopurinol 300 MG Oral Tablet [Caplenal] 201165 Allopurinol 300 MG Oral Tablet [Cosuric] 201166 Allopurinol 300 MG Oral Tablet [Hamarin] 213997 Allopurinol 300 MG Oral Tablet [Lopurin] 105972 Allopurinol 300 MG Oral Tablet [Xanthomax] 213998 Allopurinol 300 MG Oral Tablet [Zyloprim] 252931 Allopurinol 500 MG Injection 261265 Allopurinol 500 MG Injection [Aloprim] 246476 Allopurinol 75 MG / Probenecid 250 MG Oral Tablet 80566 Allopurinol Sodium

Andrew S. Kanter, MD MPH FACMI

On Friday, February 12, 2016 10:24 AM, “Cullen, Theresa” wrote:

​adding Burke to this to include in the discussion. Thanks, Nancy. We will see what we can do with a call–and obviously take notes! From: Nancy E. Anthracite, MD Sent: Friday, February 12, 2016 9:05 AM To: Cullen, Theresa Subject: Re: drug drug interactions

Nancy Van Ness and George Lilly are leaving for 6 weeks in Argentina next Wednesday. They hope to be able to handle conference calls via Skype, but they won’t know if it is possible until they actually get there and try it out. As much as I would like to be on the call, I will not be able to join if you have it before they leave but I have included Sam Habiel, George Lilly and Nancy Van Ness on this email hoping that it might be scheduled before they leave. I have also pasted in a prior email I sent to get my 2 cents worth in about what I think you might want to cover on the call. I did not mention, but should have, George’s thoughts on how to combine all of the open source databases in a way that could be used as a web service which would be a major breakthrough for all open source projects.

The French translation is of the pdf files provided here.

http://ansm.sante.fr/ http://ansm.sante.fr/var/ ansm_site/storage/original/application/c3e79a58210be76cc751e393bdc8a5f2.pdf

The release of the translation as open source was funded by WorldVistA. Here is the web site where they are posted temporarily.

http://opensourcevista.net/NancysVistAServer/FrenchDrugInteractionsTranslatedByNancy VanNess/

Sam Habiel, who is a pharmacist and computer programmer and expert at configuring VistA, advised Nancy Van Ness, who translated the documents. He advised her to code them with RxNorm and ADT codes as well which she did. It was an huge undertaking but immensely increases the value of the translation as a resource.

George Lilly is putting the html files from Nancy into XML format and Dr. Richard Boyce from the Faculty of the Center for Pharmaceutical Policy and Prescribing, U of Pittsburgh is working with them now to compare them to other open source drug databases and put them into a database where they will be easily accessible to those working with him on his project.

Sam wrote software for VistA that allows the RxNorm drug interactions, which came from the open source Canadian drug database, to be used with VistA. His also allows use of proprietary databases.

We would be pleased to have a con call to discuss not only what we have but what we are working toward which we feel will be of great benefit and will be open source.

– Nancy E. Anthracite, MD

We had a call between people from WorldVistA, OpenMRS, Bahmni, and CIEL today. Notes here: http://notes.openmrs.org/drug-drug-interactions

and here are some additional notes that i took ( they are in agreement with what Darius noted above); in case you want to read notes!! please feel free to reach out to Nancy Anthracite if you have specific questions for the World VistA group. terry