The following features are required for the template development in the QI project. They are not covered by the current SNOMED Template Language. We will need an agreed technical extension of functionalities to support the QI project. Then, these syntax can be transformed to the standard Template Language in future.
Definition status
Currently, there is no way to express the definition status in the template language. The definition can be used in two scenarios.
- Definition status for focus concept to support proximal primitive parent modeling. For example:
[[ +id (<< 64572001 |Disease| {{ C.definitionStatus = primitive }} ) ]]
This would allow disease or any primitive subconcepts to be used as parent concept for modeling. - Definition status for concepts modeled by template
Most concepts can be 'defined' if they conform to the template. However, some of them are not and they need to be assigned as 'primitive'.
Repeating role group
There are use cases to support that same attributes need to be present in multiple role groups. For example, fracture of x and y bones, Bilateral cataracts.
The role group that must have the same attributes can be represented as a named role group by syntax such as @rolegroup . All attributes needs to be same for the name role group. For example, bilateral fracture of femur bone. Each named @rolegroup must have finding site and associated morphology. If an optional attribute is present in a named role group, this attribute must be present in the rest role group with same name.
Default value
A default value could be specified and populated in the authoring platform when a range is specified in the template.