MRCM for Concrete Domains

MRCM for Concrete Domains

The type of data that a given attribute type will take as a value is defined by the MRCM and this will continue to be the case as we introduce concrete domains to SNOMED CT.

The current relevant row in the MRCM attribute range refset looks like this (FSNs included for readability):

id

effectiveTime

active

moduleId

refsetId

referencedComponentId

rangeConstraint

attributeRule

ruleStrengthId

contentTypeId

a06e87f3-69a4-49cd-bd3f-c70500b9da3d

20180131

1

900000000000012004

723562003 |MRCM attribute range (INT) reference set|

733724008|Has concentration strength numerator value|

< 260299005 |Number (qualifier value)|

<< 373873005 |Pharmaceutical / biologic product (product)|: [0..*] { [0..1] 733724008 |Has concentration strength numerator value| = < 260299005 |Number (qualifier value)| }

723597001|Mandatory concept model rule|

723596005|All SNOMED CT content|


And the concrete-value version of this row is proposed  look like:

id

effectiveTime

active

moduleId

refsetId

referencedComponentId

rangeConstraint

attributeRule

ruleStrengthId

contentTypeId

a06e87f3-69a4-49cd-bd3f-c70500b9da3d

20210731

1

900000000000012004

723562003

|MRCM attribute range (INT) reference set

1234567809

|Has concentration strength numerator value|

dec(>#0..)

<< 373873005 |Pharmaceutical / biologic product (product)|: [0..*] { [0..1] 1234567809 |Has concentration strength numerator value| > #0 }

723597001|Mandatory concept model rule|

723596005|All SNOMED CT content



The syntax is for the range constraint here when used for concrete values is dec (>#0..), int (>#0..)str ("str1" "str2"...) and bool but this is still to be confirmed.   Additionally, the ECL expression in attributeRule column indicates 1234567809 |Has concentration strength numerator value| > #0 to match this.   The syntax will be consistent with SNOMED Template Language Syntax, see 8.3. Constrained Replacement Slots   Note the list of acceptable strings, if present, is space delimited to denote a logical 'OR'.   This is consistent with other SNOMED family of languages where, by contrast, a comma separated list is used to indicate a logical 'AND'.



Copyright © 2025, SNOMED International