416 View
6 CommentIn discussionComments enabled
In the category:
DEUSG
Hi All,
As a follow up to our DEUSG meeting last week please use this discussion thread for any feedback on an different strength representations being used in the drug model.
The lozenges are a great example. Strength normalization is relatively trivial and, in my not so strong opinion, should be the responsibility of the ECL engine rather than changing editing guidelines. However, I don't know how difficult it would be to implement such a comparator restricted on just clinical drugs.
One approach would be to have the system store unit values at their lowest units (picogram, picoliter, etc.) and retain their original values at the presentation layer. Then results of differing units could be returned (e.g., mg and mcg).
The challenege is there's often competing requirements for strength representation, both in clinical practice and within the terminology (modelling vs terms).
The Fentanyl lozenge example covers all this...
The modelled units are different. Without consistency
The classifier won't recognise that a concept modelled with 1.6mg is equivalent to 1600 microgram.
ECL comparisons won't know that 1.6mg is > 200 microgram.
Labelling requirements often want a number between 1 and 999 (adjusting the units accordingly. But at the same time, some drugs (like Fentanyl) might be required to "always be written" in micrograms.
We've adopted the approach similar to what you describe - with milligram for all mass units. And milliliter for volume. This is close to the units clinically used for the vast majority of products. Most others are only a single factor up or down from that. So the numbers aren't particularly large/small. What's important, is that it's consistent and predictable for implementers.
Most of our topical products simply use a % strength in the preferred term e.g. "Hydrocortisone acetate 0.5% cream" (though modelled with mg/mg)
But topicals show a dual representations e.g. "Progesterone 3.2% (32 mg/mL) cream" This generally comes down to if the product is intended to have a topical or systemic effect.
But in short, the naming rules can be are complex. It's unrealistic to expect International Content to comply with complexity of the various naming rules around the world.
But without clear guidance and consistency in modelling we'll end up with different concepts for the same thing. Rather than just different names for the same concept (which is fine). And that was the thesis of our presentation.
Dion McMurtrie has presented work in the past on the challenges of strength comparisons within description logic and ECL.
What you're suggesting is to store these values in the data of the terminology. What I'm suggesting is to store them internally for the ECL engine, and to add a switch within the engine triggered by the query of both unit and unit value. An index, if you will. Bottom line: this particular use case can be solved through tooling and not data.
The problem is we're not just dealing with more complexity for the ECL engine (of which there are already far too few that implement the full current feature set). These properties affect correct classification of the concepts which relies on the axioms, and there are other non-ECL implementations to consider too.
One approach would be to have the system store unit values at their lowest units (picogram, picoliter, etc.) and retain their original values at the presentation layer. Then results of differing units could be returned (e.g., mg and mcg).
To me the "presentation layer" in SNOMED CT are the descriptions - these are what is intended for human rendering. The underlying machinable layer are the axioms and the generated NNF that the ECL engines run off - these are intended for machine processing, i.e. the classifier for DL reasoning, ECL engines, and other implementations wanting to get at properties of the concepts. That data isn't designed for humans but for software engineers and machines.
We could create GCIs (ideally complex on both sides which we can't have at present) to provide unit conversions for all in use values/units to the classifier (these values could be calculated), and represent all relevant values and units in the calculated NNF. But that would result in quite a bit more weight for the terminology and classifier, and probably make the NNF look bloated, complex and confusing to those that don't know what they are looking at. You could keep all of those extra values and units out of the NNF and only use it in the ECL engines - but then what about other implementers who aren't ECL engines?
Our experience with implementers of medicines terminology content is that consistency and predicability in these properties is useful. For example it is much easier to sort a list of drugs by their ingredient strength if they are all predictably in the same units, than have to perform unit normalisation because you can't rely on the units being already consistent - and if the units are based on human preferences they won't be consistent. Anyone who's tried to write a name generator for medications will know that the rules for naming are complex and full of exceptions.
This is in part the problem with basing the DL definition of the concepts in "presentation strength" matching the way the drug's strength appears on its registration. The registration rules vary jurisdiction to jurisdiction, and even registration of different brands of essentially the same product within a jurisdiction. These strength representations also change over time - for example, a while back in Australia all the paracetamol liquids were in mg/5mL, now they are all mg/mL. Basing the definition in something arbitrary and temporal is problematic, when the products haven't changed but the way humans prefer to refer to and have them rendered does change.
To me this is more evidence that these unit preferences are the domain of preferred strength rendering and not defining. They have many different equivalent renderings, some of which may have been the preferred rendering in the past, or may become preferred in the future. The terminology can deal with these human rendering preferences in the part of the terminology designed for that - preferred terms - while the DL definition can remain stable over time.
The best way to make that definition stable is to define as simple as possible normalisation rules. These rules can ensure that classification is correct and consistent without the need for unit conversion chasing changing rendering preferences over time. It also provides implementation consistency and predictability in the NNF, without making it complex containing all the possible unit conversion values. It also makes ECL straightforward to write with the current ECL engines that don't need to be unit conversion aware.
Certainly if ECL engines or other implementations want or need to support unit conversions they could implement that algorithmically using UCUM for example to convert from user input to the consistent normalised units in the terminology (consistent target is important). Or they could be as you point out based on a precalculated index from the NNF with up and down scaled units...although this is theoretically unbounded. I think the algorithmic approach from the ECL input to a consistent and predictable substrate in the NNF is more tractable, particularly for arbitrary units input in ECL (i.e. maybe not matching any of the in use units in the NNF).
Dion McMurtrie did you see the presentation on Hybrid Reasoning from the Context Representation Group? What did you think?
The Hybrid Reasoning proposal starts with the realisation that we are already using more than OWL in the classification process to create the NNF. There is custom logic to create the OWL ontology, before for reasoning, and custom logic after reasoning to calculate the NNF including new logic since for the 2018/2019 owl enhancements. Thankfully all known SNOMED authoring tools now uses the SNOMED Owl Toolkit which standardises the classification process. To an extent this standardisation reduces the impact of future classification changes.
The Hybrid Reasoning approach is to add more functionality to the classification process, to help reduce authoring effort and improve consistency. In the drugs domain; authors could model drug axioms using presentation-strength, with the same units as in the drug labels and concept descriptions. The classification process could replace presentation-strength attributes with computed normalised-strength attributes before passing the concept definition to the reasoner. The normalised-strength attributes ensure consistent subsumption regardless of strength presentation style. The NNF could contain both the presentation-strength and normalised-strength attributes. Normalised-strength is more useful for comparative queries.
This approach would:
Reduce the risk of errors during authoring - authors state what's on the label
Simplify templates and automated validation between stated attributes and descriptions
Allow drugs from any jurisdiction to subsume and be queried in a consistent way
Align drugs in the International Edition with real drugs?
The possible down sides are that the NNF would be more busy with both presentation-strength and normalised-strength attributes always present, even though they would often be the same. Perhaps this could be mitigated in the UI by browsers allowing switching between strength forms?
What are your thoughts on this? What would be the down sides?
I'll let Dion McMurtrie comment on Hybrid Reasoning approach further.
But our meds tooling can effectively do this also. Users author by essentially filling out a form and the tool uses this information to author up to 6 concepts at once. The tool can be configured to let the user enter strengths in whatever strength they want (e.g. 1.5g) but creates a strength as 1500mg - or whatever the target unit is. The conversion is trivial* (there are no molar <> mass conversions). We just don't store the input strength, but that could be added. And the NNF would be as you said. Which is feasible, but I'm wary the "complexity" will breed poor implementations.
* The one non-trivial conversion is for a strength like "200mg/3mL" (What that 3mL actually means is also a challenge for the model... )
"validation between stated attributes and descriptions" - this might work for other content. But severely underestimates the complexity of requirements and editorial rules for medicines descriptions.
The reason for most of our approaches to medicines authoring and modelling is that we needed a solution 10+ years ago...
6 Comments
Robert Wynne
The lozenges are a great example. Strength normalization is relatively trivial and, in my not so strong opinion, should be the responsibility of the ECL engine rather than changing editing guidelines. However, I don't know how difficult it would be to implement such a comparator restricted on just clinical drugs.
One approach would be to have the system store unit values at their lowest units (picogram, picoliter, etc.) and retain their original values at the presentation layer. Then results of differing units could be returned (e.g., mg and mcg).
Matt Cordell
The challenege is there's often competing requirements for strength representation, both in clinical practice and within the terminology (modelling vs terms).
The Fentanyl lozenge example covers all this...
But at the same time, some drugs (like Fentanyl) might be required to "always be written" in micrograms.
We've adopted the approach similar to what you describe - with milligram for all mass units. And milliliter for volume. This is close to the units clinically used for the vast majority of products. Most others are only a single factor up or down from that. So the numbers aren't particularly large/small. What's important, is that it's consistent and predictable for implementers.
The units used in the terms depend on our local editorial rules. Often driven by requirements specified by , Australian Commission on Safety and Quality in Health Care Labelling Standards amongst others.
Another example:
This generally comes down to if the product is intended to have a topical or systemic effect.
But in short, the naming rules
can beare complex. It's unrealistic to expect International Content to comply with complexity of the various naming rules around the world.But without clear guidance and consistency in modelling we'll end up with different concepts for the same thing. Rather than just different names for the same concept (which is fine). And that was the thesis of our presentation.
Dion McMurtrie has presented work in the past on the challenges of strength comparisons within description logic and ECL.
Robert Wynne
What you're suggesting is to store these values in the data of the terminology. What I'm suggesting is to store them internally for the ECL engine, and to add a switch within the engine triggered by the query of both unit and unit value. An index, if you will. Bottom line: this particular use case can be solved through tooling and not data.
Dion McMurtrie
The problem is we're not just dealing with more complexity for the ECL engine (of which there are already far too few that implement the full current feature set). These properties affect correct classification of the concepts which relies on the axioms, and there are other non-ECL implementations to consider too.
To me the "presentation layer" in SNOMED CT are the descriptions - these are what is intended for human rendering. The underlying machinable layer are the axioms and the generated NNF that the ECL engines run off - these are intended for machine processing, i.e. the classifier for DL reasoning, ECL engines, and other implementations wanting to get at properties of the concepts. That data isn't designed for humans but for software engineers and machines.
We could create GCIs (ideally complex on both sides which we can't have at present) to provide unit conversions for all in use values/units to the classifier (these values could be calculated), and represent all relevant values and units in the calculated NNF. But that would result in quite a bit more weight for the terminology and classifier, and probably make the NNF look bloated, complex and confusing to those that don't know what they are looking at. You could keep all of those extra values and units out of the NNF and only use it in the ECL engines - but then what about other implementers who aren't ECL engines?
Our experience with implementers of medicines terminology content is that consistency and predicability in these properties is useful. For example it is much easier to sort a list of drugs by their ingredient strength if they are all predictably in the same units, than have to perform unit normalisation because you can't rely on the units being already consistent - and if the units are based on human preferences they won't be consistent. Anyone who's tried to write a name generator for medications will know that the rules for naming are complex and full of exceptions.
This is in part the problem with basing the DL definition of the concepts in "presentation strength" matching the way the drug's strength appears on its registration. The registration rules vary jurisdiction to jurisdiction, and even registration of different brands of essentially the same product within a jurisdiction. These strength representations also change over time - for example, a while back in Australia all the paracetamol liquids were in mg/5mL, now they are all mg/mL. Basing the definition in something arbitrary and temporal is problematic, when the products haven't changed but the way humans prefer to refer to and have them rendered does change.
To me this is more evidence that these unit preferences are the domain of preferred strength rendering and not defining. They have many different equivalent renderings, some of which may have been the preferred rendering in the past, or may become preferred in the future. The terminology can deal with these human rendering preferences in the part of the terminology designed for that - preferred terms - while the DL definition can remain stable over time.
The best way to make that definition stable is to define as simple as possible normalisation rules. These rules can ensure that classification is correct and consistent without the need for unit conversion chasing changing rendering preferences over time. It also provides implementation consistency and predictability in the NNF, without making it complex containing all the possible unit conversion values. It also makes ECL straightforward to write with the current ECL engines that don't need to be unit conversion aware.
Certainly if ECL engines or other implementations want or need to support unit conversions they could implement that algorithmically using UCUM for example to convert from user input to the consistent normalised units in the terminology (consistent target is important). Or they could be as you point out based on a precalculated index from the NNF with up and down scaled units...although this is theoretically unbounded. I think the algorithmic approach from the ECL input to a consistent and predictable substrate in the NNF is more tractable, particularly for arbitrary units input in ECL (i.e. maybe not matching any of the in use units in the NNF).
Kai Kewley
Dion McMurtrie did you see the presentation on Hybrid Reasoning from the Context Representation Group? What did you think?
The Hybrid Reasoning proposal starts with the realisation that we are already using more than OWL in the classification process to create the NNF. There is custom logic to create the OWL ontology, before for reasoning, and custom logic after reasoning to calculate the NNF including new logic since for the 2018/2019 owl enhancements. Thankfully all known SNOMED authoring tools now uses the SNOMED Owl Toolkit which standardises the classification process. To an extent this standardisation reduces the impact of future classification changes.
The Hybrid Reasoning approach is to add more functionality to the classification process, to help reduce authoring effort and improve consistency.
In the drugs domain; authors could model drug axioms using presentation-strength, with the same units as in the drug labels and concept descriptions. The classification process could replace presentation-strength attributes with computed normalised-strength attributes before passing the concept definition to the reasoner. The normalised-strength attributes ensure consistent subsumption regardless of strength presentation style.
The NNF could contain both the presentation-strength and normalised-strength attributes. Normalised-strength is more useful for comparative queries.
This approach would:
The possible down sides are that the NNF would be more busy with both presentation-strength and normalised-strength attributes always present, even though they would often be the same. Perhaps this could be mitigated in the UI by browsers allowing switching between strength forms?
What are your thoughts on this? What would be the down sides?
Matt Cordell
I'll let Dion McMurtrie comment on Hybrid Reasoning approach further.
But our meds tooling can effectively do this also. Users author by essentially filling out a form and the tool uses this information to author up to 6 concepts at once. The tool can be configured to let the user enter strengths in whatever strength they want (e.g. 1.5g) but creates a strength as 1500mg - or whatever the target unit is. The conversion is trivial* (there are no molar <> mass conversions). We just don't store the input strength, but that could be added. And the NNF would be as you said. Which is feasible, but I'm wary the "complexity" will breed poor implementations.
* The one non-trivial conversion is for a strength like "200mg/3mL" (What that 3mL actually means is also a challenge for the model... )
"validation between stated attributes and descriptions" - this might work for other content. But severely underestimates the complexity of requirements and editorial rules for medicines descriptions.
The reason for most of our approaches to medicines authoring and modelling is that we needed a solution 10+ years ago...