SNOMED CT constraint syntax - for querying instances or terminology?

The latest version of the SNOMED CT constraint language proposes expressions like the following:

Section 6.3

To find those capsules that have a strength between 500 and 800 mg (inclusive), the following expression constraint may be used:

< 27658006 |amoxicillin| :
411116001 |has dose form| = << 385049006 | capsule|,
{ 111115 |has basis of strength| = ( 111115 |amoxicillin only| :
111115 |strength magnitude| >= #500, 111115 |strength magnitude| <= #800,
111115 |strength unit| = 258684004 |mg|)}

The purpose of this is apparently as a query to find instances of Amoxycillin recorded somewhere - presumably in EHRs, or some kind of prescriptions database? However, the document talks of executing queries over a ‘Substrate’, defined as ‘The SNOMED CT content over which an expression constraint is evaluated or a query is executed.’.

Elsewhere (p12) it says:

Please note that the substrate over which the expression constraint is evaluated is not explicitly defined within the expression constraint, and must therefore be established by some other means. By default, the assumed substrate is the set of active components from the snapshot release (in distribution normal form) of the SNOMED CT versioned edition currently loaded into the given tool.

It is also not clear what the query really means - is it a query for Amoxycillin that has been prescribed for a specific patient? For any patient in some cohort? Or for a medication order that has been suspended, postponed, or completed?

More generally, I am not clear how the one language is intended to be used across SNOMED CT itself (e.g. to generate intentional ref sets) and also across instance data. If it’s the former, it can only be concept-based; if the latter, the query won’t correspond to whatever information model is in use for the data.

How would it be used with data based on (for example) the openEHR medication item archetype in the UK clinical models CKM, shown below?

The recommendations in section 7.5 for executing the queries seem to imply that they are for evaluation against SNOMED CT.

There are various other oddities, but I’ll leave them for later.

if anyone who is working with this can clarify, it would be most appreciated.

  • thomas

Hi Thomas,

(attachments)

headdjcf.png
headdjcf.png

Hi Michael,

in that case, to what information base or DB could the amoxycillin query be applied? What is it for?

thanks

- thomas

Imagine instead the example was using the corresponding AMT concepts (since snomed pure doesn’t have any concrete domain modelling – I.e. numeric values).

Then the focus concept would be the AMT amoxycillin Medicinal Product concept 21415011000036100 and the constraint matches would be MPUUs and TPUUs with capsule form and between 500 and 800 mg of amoxycillin as an active ingredient

ok - so the query would be applied to instances in a drug database (each instance there is a drug descriptor)?

- thomas

I am following this discussion with great interest, just wanted you and Michael to know, just in case you would want to stop it or have it private, which I would regret.

Bert

Hello,

At this point I think that is the only option. I want to believe that the SNOMED CT Expression Constraint Language has been designed with a future evolution of SNOMED CT in mind, where concepts will be enriched with numerical values. For example, SNOMED CT now contains a set of Virtual Medical Products (VMP) such as “[374649006] Amoxicillin 400mg/5mL suspension (product)” with two relationships:

  • Has active ingredient → Amoxicillin
  • Has dose form → Oral suspension

If these relationships are enriched with the medication strength, then the VMP concepts would be better defined and could be queried using the numerical options of the constraint language.

This is indeed the intent: the language has been design to cater exactly for this extension. I can’t say that there’s any international content about to come out with this addition numeric modelling, but Australia has been publishing this kind of content in the Australian Medicines Terminology (AMT) since July 2014 (one release per month).