I just peaked at the code and saw that drugs can be defined as a collection of drug ingredients (see here).
However it seems that the drug’s underlying concept can never be null (see here).
I would assume that defining a drug as a collection of drug ingredients is enough. Actually, I’m now left wondering why drugs are not always defined through that collection of drug ingredients, possibly with only one in many cases?
I read through this (incl. comments) and… I’m not sure where people stood exactly at the time :
Cc @jteich @akanter @burke @darius @r_friedman @mksrom
From a pure data model perspective you’re right that we should always define ingredients, and drug itself doesn’t have/need a concept.
However in practice drug_ingredient was only added later on, and we assumed that most implementations won’t actually populate that, since it requires more management overhead, so we didn’t want to require it be filled out. Thus we left concept.drug as a required field, and our validators do not require drugs to define their ingredients.
If we eventually get something like OCL-for-drug-formularies in place, such that most implementations are pulling in drugs rather than defining their own, I’d then vote for cleaning up the data modeling as you imply.
Thanks @darius, I was guessing that the data model was somehow ahead of what most people would be currently doing. Thanks for confirming.
I would like to get opinions about the approach that we intend to follow on an actual example.
The drug name is “Rowachol” and its active substances (so ingredients) are:
- Menthol 32mg
- Menthone 6mg
- Alpha Pinene 13.6mg
- Beta Pinene 3.4mg
- Borneol 5mg
- Cineole 2mg
- Camphene 5mg
Here is how we -simply- intended to handle this by bundling everything in an ‘ingredients’ concept:
Drug name: “Rowachol”
Concept name: “Rowachol Ingredients”
Concept description: “Menthol 32mg + Menthone 6mg + Alpha Pinene 13.6mg + Beta Pinene 3.4mg + Borneol 5mg + Cineole 2mg + Camphene 5mg”
What do people think, does it sound like a valid workaround instead of actually using drug ingredients as we ideally should?
Cc @zouchine @mksrom
Drug ingredient is useful when programmatically knowing ingredients is needed, which is only true for some drugs. Most drugs have a single active ingredient or, if the do combine active ingredientes, there isn’t a clinical or research need for the computer to distinguish them.
We included drug ingredients in the data model because drug knowledgebases often contain them and we thought they could be used, for example, to find all HIV drugs containing a specific agent. In reality, this hasn’t been a high priority for implementations.
In the future, when/if drug knowledgebases (maintained by someone else) can be imported and the level of decision support in the platform increases, we could find drug ingredients more useful.
For now, it’s perfectly acceptable to use the description as you suggest. It’s only if you had dozens or hundreds of drugs like this to manage and you needed to control system behavior for all drugs containing “Borneol” that you might want a more explicit (codified) approach like drug ingredients.
I have been managing concepts/drugs in the CIEL database. Not all ingredients are important, but active ingredients need to also be in concepts to function in aggregation, etc. I have created concepts which are combination drugs with associated brand names in concept. But if we are going to change drug modeling, I definitely need to be included :). Something for NBO?