Page tree
Skip to end of metadata
Go to start of metadata


Logic

If only the ingredient(s) present, construct a Medicinal Product, OR

If form is also present, construct a Medicinal Product Form, OR

If amount is also present construct a Clinical Drug

Construct one role group in the template per ingredient object.

Assertion:  Cannot have an amount without form.

Assertion:  Cannot have numerator value without denominator value, although this may be "per 1 tablet"

Ignore any non-active ingredients - not part of SNOMED Drug Model.


Issues

  • Does not allow for amounts being based on the Basis of Substance Strength (BoSS).  Might be better to leave this attribute out, to avoid errors in subsumption calculation.
  • Will we have to create a map for the unit of presentation from the dose form?
  • SNOMED CT is still using "concepts as numbers" which we'd have to map to.
  • ingredient.amount.numerator.unit is a string.   We'll have to map to the SNOMED CT code from there, if "code" is not supplied.   Check system = snomed if code is supplied.

  • Still waiting for finalization of "Ingredient Count" attribute.

  • We'd want to normalize the amount using >1000 <1 rules eg 1500mg → 1.5g   and 0.05 g → 50mg.
  • No current SNOMED model for the "amount" which sits above the ingredient eg I want 5ml of 250mg/10ml     We have no representation for the 5ml, only the concentration.

SNOMED CT Template for Drugs

763158003 |Medicinal product (product)| : 
[[0..1]] 411116001 |Has manufactured dose form (attribute)| = [[(<736542009 | Pharmaceutical dose form (dose form)|) @form ]],
[[0..1]] 763032000 |Has unit of presentation (attribute)| = [[+(<732935002 | Unit of presentation (unit of presentation)|) @??? ]],
[[1..*]] {      
    [[1..1]] 762949000 |Has precise active ingredient (attribute)| = [[+(<261217004 |Substance (attribute)|) @ingredient.item ]],
    [[0..1]] 7732943007 |Has basis of strength substance (attribute)| = [[+(<261217004 |Substance (attribute)|) @ingredient.item ]],
    [[0..1]] 732944001 |Has presentation strength numerator value (attribute)| = [[+(<260299005|Number (qualifier value)|) @ingredient.amount.numerator.value ]],
    [[0..1]] 732945000 |Has presentation strength numerator unit (attribute)| = [[+(<258666001|Unit (qualifier value)) @ingredient.amount.numerator.code ]],
    [[0..1]] 732947008 |Has presentation strength denominator unit (attribute)| = [[+(<260299005|Number (qualifier value)|) @ingredient.amount.denominator.value ]],
    [[0..1]] 732947008 |Has presentation strength denominator unit (attribute)| = [[+(<258666001|Unit (qualifier value)) @ingredient.amount.denominator.code ]]
 }

Worked Example


  • No labels