I agree @greynoso, we need an agreed sensible approach. The current SNOMED International rounding is too aggressive and isn’t usable for AMT. This is partly due to unit normalisation, which is an important related additional topic.
I think we tie ourselves in knots over this because we’re conflating the DL definition with human preferred renderings. For classification (and ECL with greater-than/less-than operations to work reliably), we need deterministic renderings - one agreed normalised representation. Human preferences should be expressed in descriptions, or in additional axioms or non-defining properties if necessary, and those can carry as many ways as humans want to see strength represented. But for interoperability we need one agreed deterministic way for the defining axiom.
Rounding alone won’t get us there though - this also needs unit of measure rules and normalisation. No use getting the rounding consistent if the units are different.
A concrete example from the international content - an ECL query for “Risperidone tablets with less than 2 mg” against the international edition returns only the 1 mg tablet. It misses the 250 microgram and 500 microgram risperidone tablets because they’re modelled in microgram rather than mg, and the ECL constraint specifies mg. In AMT those products are normalised to 0.25 mg and 0.5 mg, so the same query returns them all. The rounding rules don’t help with this - it’s a unit normalisation problem, and it has direct clinical safety implications. Analysis of the international content shows 252 ingredients affected by inconsistent units across products of the same substance and dose form, so this isn’t an edge case.
This is where I think AMT’s approach is strong
- Minimal consistent set of units of measure across all medications
- 6 significant decimals specified to ensure sufficient accuracy across that range
This makes measurements across ingredients in multiple products directly comparable without unit conversion and achieves correct classification.
I’d go one step further than AMT though. If you are going to have a denominator value and unit (which AMT doesn’t, for other reasons I still think are valid) you might as well use it and avoid non-terminating decimals altogether by using lowest common denominator fractional representation. For example, a product with 100 mg in 30 mL currently has to be normalised to 3.333… mg/1 mL, introducing non-terminating decimals and rounding. With a lowest common denominator approach, this could be expressed exactly as 10 mg/3 mL - no rounding needed. This requires unit normalisation and a lowest common denominator calculation across the content, but it sidesteps the rounding problem rather than papering over it.
The trade-off is that sorting by strength would require a calculation rather than simple value comparison - but this is already non-trivial given the inconsistent units across products in the current content, so it’s not as much of a regression as it might first appear.
I know at the April meeting @greynoso you resolved to use the existing SNOMED International rounding as is. But I still think there are issues to be resolved there.