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):
And the concrete-value version of this row is proposed look like:
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 could potentially read 1234567809 |Has concentration strength numerator value| > 0 for greater specificity. The syntax will be consistent with SNOMED Template Language Syntax, see 8.3. Constrained Replacement Slots (outstanding question of what this looks like with decimals and the range syntax eg 2.3..5.7 (spaces could help 2.3 .. 5.7 )