In ISO 21090 the SC class is closely related to the CD class. Differences are highlighted there, but within the LRA the usage
of the SC class is restricted to circumstances where a LRA conformant system sends information that is part of an enumerated
list, where that enumeration is local to the sending system. The enumeration MUST be represented by the controlled string
held in the value attribute and MAY be associated with a code from a local (to the sending system) coding scheme. The SC class
MUST NOT be used to convey coded information using SNOMED CT, or any other globally controlled code set. Logic within the
LRA MUST NOT rely on the coded value of SC. The SC.code attribute MUST NOT be used to represent document type coding, as such
document strings MUST be represented as ED.DOC. Document type encoding is not performed at data type level.
The use of SC as a criteria for conformance within the LRA specification is to be avoided, its use is optional within the
LRA as an implementation alternative for ST where a system supplier deems it useful for internal processes. It may possibly
be used so a conformant system MUST be able to interpret the SC.value attribute of the data type.
This is implemented as described in ISO 21090.
Specializes
Attributes
| Name |
Data type |
Occurs |
Description |
|
code
|
CD
|
0..1 |
In the use of the SC datatype as described above there are specific constraints that must be applied to the CD value of the
SC.code attribute. In ISO 21090 there is already a constraint to have no originalText attribute. In the LRA the SC.code MUST
not contain source mappings, the SC.code.codeSystemName MUST provide a identifier as a string consisting of a URL to a maintained
accessible terminology service. The SC.code.codeSystemVersion and SC.code.code strings must act as extensions to that URL
to derive the specific value as specified in SC.Value (e.g. SC.code.codeSystemName = “http://some.ehr.manufacturer/vocabserver/somevocabulary/â€
SC.code.codeSystemVersion = “v1â€, SC.code.code = “Code1234â€. Then the URI “http://some.ehr.manufacturer/vocabserver/somevocabulary/v1#Code1234â€
MUST resolve to SC.Value. - see http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-URI-Vocabulary for further examples.).
At a most basic level this can be an stable HTML page which defines anchored elements for every entry in the local terminology.
|
Constraints
| Type |
Name |
Specification |
| local codeset must provide URI in LRA |
LRA Invariant |
inv: code.codeSystemName.concat(code.codeSystemVersion.concat('#'.concat(code.code))).matches("(([a-zA-Z][0-9a-zA-Z+\-\.]*:)?/{0,2}[0-9a-zA-Z;/?:@&=+$\.\-_!~*'()%]+)?(#[0-9a-zA-Z;/?:@&=+$\.\-_!~*'()%]+)?") |
| no code if no value |
Invariant |
inv: code.isNotNull implies isNotNull |
| no mappings for local codes in LRA |
LRA Invariant |
inv:code.isNotNull implies code.source.oclIsUndefined |
| no originalText |
Invariant |
inv: code.isNotNull implies code.originalText.isNull |
| no updateMode or History on SC attributes |
Invariant |
inv: noUpdateOrHistory(code) |