![]() HL7 V3 TERMINFO HL7 Version 3 Implementation Guide: Using SNOMED CT, Release 1 Last Ballot: DSTU Ballot 4 - May 2009 |
| Project Leader & Principal Contributor | Edward Cheetham NHS Connecting for Health |
| Principal Contributor | Robert H. Dolin, MD Kaiser Permanente |
| Principal Contributor & Editor | David Markwell, MB BS The Clinical Information Consultancy Ltd |
| Contributor | Jane Curry Health Information Strategies |
| Contributor | Davera Gabriel, RN University of California, Davis Health System |
| Contributor | Robert Hausam TheraDoc |
| Contributor | Beverly Knight Canada Health Infoway |
| Contributor | Alan Rector Manchester University |
| Contributor | Kent Spackman Oregon Health Sciences University |
| Contributor | Ian Townend NHS Connecting for Health |
| Vocabulary Co-Chair | Chris Chute Mayo Clinic/Foundation |
| Vocabulary Co-Chair | Russ Hamm Apelon |
| Vocabulary Co-Chair | Stanley Huff, MD Intermountain Health Care |
| Vocabulary Co-Chair | Ted Klein Klein Consulting, Inc. |
| Vocabulary Co-Chair | Cecil Lynch OntoReason, LLC |
| Former TermInfo Project Leader | Sarah Ryan HL7 |
| Former Project Leader | Ralph Krog NASA/NSBRI |
Last Published: 08/21/2010 11:22 AM
HL7(tm) Version 3 Standard, (c) 2010 Health Level Seven(tm), Inc. All Rights Reserved.
HL7 and Health Level Seven are registered trademarks of Health Level Seven, Inc. Reg. U.S. Pat & TM Off
The purpose of this guide is to ensure that HL7 Version 3 standards achieve their stated goal of semantic interoperability when used to communicate clinical information that is represented using concepts from SNOMED Clinical TermsŪ 1(SNOMED CT).
The guide has been developed by the HL7 TermInfo Project (a project of the HL7 Vocabulary Technical Committee). The guide is the result of a consensus process involving a wide range of interested parties.
The guide takes account of:
At the January 2009 TermInfo meeting, future work for the committee was considered. The primary candidate for future work is an implementation guide addressing the use of SNOMED CT and LOINC. This work would address the use of both Clinical and Lab LOINC and SNOMED CT within HL7 V3 and CDA artifacts.
The primary scope of this implementation guide is to provide guidance for the use of SNOMED CT in the HL7 V3 Clinical Statement pattern. The intent is to guide implementers in the construction of instances based on models derived from that pattern. These include models covering the representation of clinical information from the perspective of various HL7 domains including Structured Documents (CDA release 2), Patient Care, Orders and Observations and models using the Clinical Statement CMET2
The guidance in this document should also be applied to the use of SNOMED CT in other HL7 V3 models that share features with the Clinical Statement model, unless domain specific requirements prevent this.
While other code systems (such as LOINC or ICD9) may be required or even preferable in some situations, these situations are outside the scope of this guide. Where a particular constraint profile requires the use of other code systems, that profile should complement and not contradict recommendations stated here.
Following this introduction (Section 1), the implementation guide 'Using SNOMED CT in HL7 Version 3' contains both normative and informative sections.
Section 2 (normative) provides detailed guidance on dealing with specific overlaps between RIM and SNOMED CT semantics. It contains normative recommendations for use of SNOMED CT in relevant attributes of various RIM classes including Acts, ActRelationships and Participations. It also contains a subsection providing recommendations on Context conduction. Each subsection in consists of:
Section 3 (informative) provides a set of examples and patterns for representing common clinical statements. The approaches taken are consistent with the normative statements in Sections 2 and 5, as well as work being done within HL7 domain committees.
Section 4 (informative) describes normal forms, including their use with SNOMED CT. It also discusses considerations for transformations between various common representations and SNOMED CT or HL7 RIM based normal forms.
Section 5 (normative) contains a number of constraints on SNOMED CT Concepts applicable to relevant attributes in each of the major classes in the Clinical Statement pattern. These normative constraints are presented as a series of tables in section 5.3. This section also summarises the benefits and weaknesses of the constraints offered (see also Appendix E).
Appendix A (informative) provides a general discussion of the potential overlaps between an information model and a terminology model and the pros and cons of various possible approaches to managing these overlaps.
Appendix B (reference) provides references to relevant documents including SNOMED CT specifications and also outlines the compositional grammar used to express many of the examples in this document.
Appendix C (informative) notes the changes to this document since its the last ballot draft.
Appendix D (informative) identifies known open issues in SNOMED CT that limit the completeness and consistent application of some of the guidance in this document.
Appendix E (informative) provides a more detailed discussion of approaches to normative constraints on SNOMED CT and identifies the need for further development of formal vocabulary rules to support this.
In this document references to SNOMED CT concepts and expressions are represented using the SNOMED Compositional Grammar. An extension to this grammar is used in this document to represent constraints on use of SNOMED CT concepts and expressions. The extended grammar is explained in SNOMED CT Compositional Grammar - extended (§ B.3 ), together with references to the SNOMED CT source material related to the underlying logical model.
One of the primary goals of HL7 Version 3 is to deliver standards that enable semantic interoperability. Semantic interoperability is a step beyond the exchange of information between different applications that was demonstrated by earlier versions of HL7. The additional requirement is that a receiving application should be able to retrieve and process communicated information, in the same way that it is able to retrieve and process information that originated within that application. To meet this requirement the meaning of the information communicated must be represented in an agreed, consistent and adequately expressive form.
Clinical information is information that is entered and used primarily for clinical purposes. The clinical purposes for which information may be used include care of the individual patient and support to population care. In both cases there are requirements for selective retrieval of information either from within a single patient record or from the set of records pertaining to the population being studied. Meeting these requirements depends on consistent interpretation of the meaning of stored and communicated information. This requires an understanding of the varied and potentially complex ways in which similar information may be represented. This complexity is apparent both in the range of clinical concepts that need to be expressed and the relationships between instances of these concepts.
Delivering semantic interoperability in this field presents a challenge for traditional methods of data processing and exchange. Addressing this challenge requires an agreed way to represent reusable clinical concepts and a way to express instances of those concepts within a standard clinical record, document or other communication.
The HL7 Version 3 Reference Information Model (RIM) provides an abstract model for representing health related information. The RIM comprises classes which include sets of attributes and which are associated with one another by relationships. Details of the RIM can be found in the Foundation section of the HL7 Version 3 Publication (see RIM).
Documentation of RIM classes, attributes and relationships and the vocabulary domains specified for particular coded attributes provide standard ways to represent particular kinds of information. The RIM specifies internal vocabularies for some structurally essential coded attributes but also supports use of external terminologies to express more detailed information. SNOMED CT is one of the external terminologies that may be used in HL7 communications.
The RIM is an abstract model and leaves many degrees of freedom with regard to representing a specific item of clinical information. The HL7 Clinical Statement project is developing and maintaining a more refined model for representing discrete instances of clinical information and the context within which they are recorded.
The HL7 Clinical Statement pattern is a refinement of the RIM, which provides a consistent structural approach to representation of clinical information across a range of different domains. However, neither the RIM nor the Clinical Statement pattern place any limits on the level of clinical detail that may be expressed in a structured form. At the least structured extreme, an HL7 Clinical Document Architecture (CDA) document may express an entire encounter as text with presentational markup, without any coded clinical information. An intermediate level of structure might be applied when communicating a clinical summary with each diagnosis and operative procedure represented as a separate coded statement. Requirements for more comprehensive communication of electronic health records can be met by using the Clinical Statement pattern to fully structure and encode each individual finding and/or each step in a procedure.
The Clinical Statement pattern is the common foundation for the CDA Entries in HL7 Clinical Document Architecture release 2 and for the clinical information content of HL7 Care Provision messages. Details of the Clinical Statement pattern can be found in the Common Domains section of the HL7 Version 3 Publication (see clinical statements).
Even within the constraints of the Clinical Statement pattern, similar clinical information can be represented in different ways. One key variable is the nature of the code system chosen to represent the primary semantics of each statement. The other key variable is the way in which overlaps and gaps between the expressiveness of the information model (clinical statement) and the chosen terminology are dealt with.
The scope of clinical information is very broad and this, together with the need to express similar concepts at different levels of detail (granularity), results in a requirement to support a huge number concepts and to recognize the relationships between them.
Several candidate terminologies have been identified at national and international levels. HL7 does not endorse or recommend a particular clinical terminology. However, HL7 is seeking to address the issues raised by combining particular widely-used terminologies with HL7 standards.
This guide focuses on the issues posed by using SNOMED Clinical TermsŪ (SNOMED CT) with HL7 clinical statements. It includes specific advice on how to specify communications that use SNOMED CT to provide the primary source of clinical meaning in each clinical statement.
Although this guide is specifically concerned with SNOMED CT, it is likely that similar issues will be encountered when considering the use of other code systems within HL7 clinical statements. Therefore some of the advice related to general approaches to gaps and overlaps is more widely applicable.
SNOMED CT is a clinical terminology which covers a broad scope of clinical concepts to a considerable level of detail. It is one of the external terminologies that can and will be used in HL7 Version 3 communications. SNOMED CT has various features that add flexibility to the range and detail of meanings that can be represented. These features summarized below are documented in detail in documents listed in SNOMED CT Reference materials (§ B.2 ).
Each SNOMED CT concept is defined by relationships to one or more other concepts. The following example illustrates the type of logical definitions that are distributed as part of SNOMED CT.
[ 71620000 | fracture of femur ] is fully defined as... 116680003 | is a | = 46866001 | fracture of lower limb | , 116680003 | is a | = 7523003 | injury of thigh | , 116676008 | associated morphology | = 72704001 | fracture | , 363698007 | finding site | = 71341001 | bone structure of femur | |
NOTE: This example and many of the other illustrations in this document are expressed using the SNOMED CT compositional grammar. Where relevant this document also uses proposed extensions to this grammar to represent constraints on use of SNOMED CT concepts and expressions. The extended grammar is explained in SNOMED CT Compositional Grammar - extended (§ B.3 ), together with references to the SNOMED CT source material.
When a SNOMED CT concept is used to record an instance of information, it can be refined in accordance with the SNOMED CT Concept Model to represent more precise meanings.
The result of a refinement is referred to as a post-coordinated expression. A post-coordinated expression conforms to an abstract logical model specified the "SNOMED CT Guide to Abstract Logical Models and Representational Forms" (see SNOMED CT Reference materials (§ B.2 )). The same guide also specifies a compositional grammar for representing these expressions in a way that is both human-readable and computer-processable (see also SNOMED CT Compositional Grammar - extended (§ B.3 )). The example below uses this grammar to represent a post-coordinated expression for "compression fracture of neck of femur".
71620000|fracture of femur|: 116676008|associated morphology|=21947006|compression fracture| ,363698007|finding site|=29627003|structure of neck of femur| |
The composition grammar illustrated above is only one of the possible representational forms for a post-coordinated expression. These expressions can also be accommodated within the HL7 Concept Descriptor (CD) data type which may be applied to various coded attributes in HL7 specification. For example, the SNOMED CT expression indicating a "compression fracture of neck of femur" can be represented as shown in the following example:
|
SNOMED CT "clinical finding" and "procedure" concepts have assumed (default) contexts which apply if they are used in a record without an explicit context.
The default context for a [ <<404684003 | clinical finding ] can be overridden by an explicit representation of context. Alternative contexts include:
The default context for a [ <<71388002 | procedure ] can be overridden by an explicit representation of context. Alternative contexts include:
Explicit context may be represented either in a pre-coordinated form using a concept that is a subtypes of [ <<243796009 | situation with explicit context ] or by using a post-coordinated expression.
SNOMED CT expressions can be compared by applying "normal form" transformations that make use of logical concept definitions. These transformations generate the same normal form when applied to two expressions that logically have the same meaning.
The expressivity of SNOMED CT is one of its strengths. However this also leads to cases where overlaps may occur with semantics that may also be represented by an information model such as the HL7 RIM. For example:
There is a requirement for clear rules and guidance on these overlaps to minimize the risk that alternative representational forms, may lead to duplication, ambiguity and erroneous interpretation.
The guide identifies gaps between these models and areas in which they overlap. It provides coherent guidance on how these gaps can be bridged and the overlaps managed to meet the common goal of semantic interoperability.
The guide identifies options for use of SNOMED CT concepts, in both pre and post-coordinated forms in various attributes of HL7 RIM classes. The primary focus is on the RIM class clones used in the HL7 Clinical Statement pattern. However, the general principles of the advice are also applicable to many RIM class clones used in constrained information models that form part of other HL7 specifications and standards.
In some situations, the features of HL7 Version 3 and SNOMED CT dictate a single way to utilize these two models together. Where this is true, the guide contains a single recommended approach which is normative, based on referenced pre-existing standards.
In other situations, there are several possible ways to combine HL7 and SNOMED CT to resolve a gap or overlap. In these cases, the advantages and disadvantages of each option are evaluated. The next section explains the criteria used in this evaluation.
The intent of this section is to describe the requirements and criteria used to weigh various instance representations in order to arrive at the recommendations in this specification.
As discussed above, there are situations where there are several possible ways to combine HL7 and SNOMED CT to resolve a gap or overlap. In these cases, the advantages and disadvantages of each option are evaluated using the criteria stated here. The guide recommends against approaches that have a disproportionate balance of disadvantages and are unlikely to deliver semantic interoperability. In some cases, the guide contains advice on several alternative approaches and the recommended approach may be based on prior implementation in accordance with criterion 4 below.
The following criteria have been identified to address these requirements:
This specification defines constraints on the use of SNOMED CT in an HL7 V3 instance. HL7 V3 provides a mechanism to reference a template or implementation guide that has been assigned a unique identifier, by referencing the guide's identifier in the InfrastructureRoot.templateId field. The formal identifier for this guide is '2.16.840.1.113883.10.5'.
The following example shows how to formally assert the use of this implementation guide. Use of the templateId indicates that the HL7 V3 instance not only conforms to the base specification, but in addition, conforms to constraints specified in this implementation guide.
<V3Instance> <templateId root='2.16.840.1.113883.10.5'/> ... </V3Instance> |
NOTE: The normative constraints in this guide are expressed in a technology-neutral formalism. The key words "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "MAY", and "NEED NOT" in this document are to be interpreted as described in the HL7 Version 3 Publishing Facilitator's Guide. Various options for computable representations are under consideration and non-normative example implementations may be provided in the future.
When used together SNOMED CT and HL7 often offer multiple possible approaches to representing the same clinical information. This need not be a problem where clear rules can be specified that enable transformation between alternative forms. However, unambiguous interpretation and thus reliable transformation depends on understanding the semantics of both the RIM and HL7 and guidelines to manage areas of overlap or apparent conflict.
| Phrase | Meaning | Examples |
|---|---|---|
| [RimClass] class |
The HL7 Version 3 Reference Information Model class named [RimClass]. |
"Act class" - refers to the RIM class Act as specified in the RIM. |
| [RimClass] class specialization |
Any class in the RIM that is a specialization of the named [RimClass]. |
"Act class specialization" - refers to any RIM class that is model as specialization of Act in the RIM. For example, the "Observation
class". |
| [RimClass] class clone | A class in a constrained information model (e.g. an DMIM, RMIM, HMD or template) that is derived from one of the following:
|
"Observation class clone" - refers to any design time constraint on the Observation class. This may be part of a domain model, a message design specification or template. |
| [RimClass] class instance | An instance of information structured in accordance with one of the following:
|
"Act class instance" - refers to an instance of run time information structured in accordance with either the Act class or any specialization or constraint applied to the Act class. |
| [RimClass].[Attribute] | The named [Attribute] in any of the following:
|
"Act.code" refers the "code" attribute of either the Act class itself or of an Act class specialization (.e.g. Observation,
Procedure). In contrast, "Observation.code" refers specifically to the "code" attribute of an Observation class. |
| SNOMED CT expression | One or more SNOMED CT concept identifiers used to represent meaning. | See the examples for "Pre-coordinated expression" and "Post-coordinated expression" in the following two rows. |
| Pre-coordinated expression | A SNOMED CT expression containing only one SNOMED identifier. In an HL7 attribute any of the coded data types can be used to represent a pre-coordinated expression. |
<value code="195967001|asthma|" codeSystem="2.16.840.1.113883.6.96"/> |
| Post-coordinated expression | A SNOMED CT expression containing more than one SNOMED identifier. In an HL7 attribute the Concept Descriptor (CD) data type is used to represent a post-coordinated expression. |
<value codeSystem="2.16.840.1.113883.6.96" code="195967001|asthma|:246112005|severity|=24484000|severe|"/> |
The Act.classCode is a structural code which specifies the general nature of the Act. Its values are drawn from the HL7 ActClass vocabulary table.
The Act.classCode has the effect of specializing the Act class and, as a result, constrains the vocabulary domains that apply to other coded attributes of that class. If a SNOMED CT expression is used to encode the values of one or more of these other attributes, the meaning of the expression must be appropriate to the constrained vocabulary domain.
The vocabulary domain constraints applicable to specific SNOMED CT encoded attributes of different HL7 classes are specified in SNOMED CT vocabulary domain constraints (§ 5 ).
The rationale for the vocabulary domain constraints applicable to particular HL7 classes are discussed in SNOMED CT vocabulary domain constraints (§ 5 ). This is supplemented by Detailed aspects of issues with a vocabulary specification formalism (§ E ), which discusses different ways in which constraints may need to be expressed to take account of the SNOMED CT terminology model.
The Act.code represents a refinement of the Act.classCode and expresses the specific nature of the Act. In the case of the Observation class, the Observation.value expresses the result of the Observation specified by the Act.code.
A SNOMED CT expression can be used in the Act.code to represent the nature of the action (e.g. using concepts from the hierarchy). In cases where an observation results in a non-numeric result this can also be represented using a SNOMED CT expression. Actions involving measurement or a property or observation of a specified quality can readily be represented unambiguously using this pair of attributes.
Some kinds of observation are typically expressed in a way that either does not specify the action but merely asserts a result (or finding). In these cases the asserted result is fully specified and does not require a detailed indication of the action taken (e.g. "abdomen tender", "past history of renal colic", etc). SNOMED CT supports representation of these assertions in a single expression using concepts from the [ <<404684003 | clinical finding ] and [ 413350009 | finding with explicit context ] hierarchies. Several different ways of representing the same information thus exist using different combinations of the Act.code and Observation.value. Unconstrained use of the alternatives presents a major challenge for computation of semantic equivalence and that for safe interpretation of observations origination from different applications and users.
The following rules are intended to support validation and consistent interpretation of particular combinations of the Observation.code and Observation.value attributes where SNOMED CT is used in either or both of these attributes.
The approach to the use of Act.code in most Act class specializations is fairly straight forward. The exception to this is the Observation class where in some cases the way that the Observation.code and Observation.value attributes are populated and interpreted has led to extensive discussions which are summarized below.
A clinical record consists of statements related directly or indirectly to the health of a patient. Some statements relate to actions taken or requested as part of the provision of care. These actions may include procedures, investigations, referrals, encounters, supply and administration of medication. In the case of these statements, SNOMED CT expressions representing [ <<71388002 | procedure ] concepts provide appropriate content for the Act.code attribute of the relevant Act class specialization. Other statements in a clinical record relate to information found or derived in a variety of ways during the delivery of care. For the purpose, these statements can be referred to as “statements about clinical findings”. The way in which “statements about clinical findings” are represented has been a source of considerable discussion within HL7. This discussion focuses on the way in which the coded representation of such statements is expressed in the Observation.code” and Observation.value” attributes of the Observation class.
Statements about clinical findings can be divided into two categories.
A) Statements about findings in which two facets are clearly distinct
Examples:
B) Statements about findings that are often captured as a single “nominalized” expression
Examples: The following examples are statements that might appear in clinical records. In each case they assert a finding in relation to the “record target”. Each of these examples illustrates a particular aspect of the potential for nominalizing a statement.
Record target …
Type (A) statements can be readily represented using the Observation class as documented in the RIM. However, a variety of options have been considered for type (B) "nominalized" statements. These options vary in the use they make of the Observation.code and Observation.value attributes.
In summary the options considered included
As a result the preferred option is for a fixed Observation.code value "ASSERTION" to be used and for the meaning of the nominalized statement to be conveyed in the Observation.value. All other options are deprecated but some of these are permitted for backward compatibility.
The options permitted for backward compatibility are those that are known to be in use and these are supported as far as possible with transformation rules to allow the preferred form to be derived for comparison. There is a practical limitation to the transformation rules where code and value are used independently because it may not be possible to confirm computationally whether the code was intended to significantly modify the meaning of the value.
The Act.moodCode is a structural code which is defined as "a code distinguishing whether an Act is conceived of as a factual statement or in some other manner as a command, possibility, goal, etc". Its values are drawn from the HL7 ActMood vocabulary table.
The values specified in the ActMood vocabulary partially overlap with SNOMED CT representations of [ 408729009 | finding context ] and [ 408730004 | procedure context ].
The following rules ensure validation and consistent interpretation of particular combinations of moodCode and SNOMED CT context. They also specify the context a particular moodCode value applies to a SNOMED CT expression that does not include an explicit representations of context.
For example
moodCode="RQO" and code=[ 408730004 | procedure context | = 385644000 | requested ]
This means "requested". It does not mean a "request to request".
moodCode="INT" and code=[ 408730004 | procedure context | = 385650005 | organised ]
This means "organized". It does not mean an "intention to organize".
moodCode="INT" and value=[ 408729009 | finding context | = 410518001 | goal ]
This is an error. It does not mean an "intention to set a goal".
Table 2 shows the mapping from moodCode to the default [ 408729009 | finding context ] for concepts that are subtypes of [ 404684003 | clinical finding ]. Table 4 shows the mapping from moodCode to default [ 408730004 | procedure context ] for concepts that are subtypes of [ <<71388002 | procedure ].
Table 3 shows the [ 408729009 | finding context ] validation constraints for SNOMED CT expressions based on the moodCode of the containing Act class instance. Table 5 shows the [ 408730004 | procedure context ] validation constraints for SNOMED CT expressions based on the moodCode of the containing Act class instance.
In these tables the symbol "<<" preceding a value indicates that either the value or any subtype of the value is permitted.
The context values in these tables are based on the following assumptions about other attributes in the same Act class instance:
NOTE: For more information on statusCode dependent values see Table 7
For more information on statusCode dependent values see Table 7
Table 6 lists Act.moodCodes that have no direct relationship to SNOMED CT context attributes. While no constraints are specified for these moodCodes, some combinations may be irrational or open to misinterpretation. Therefore, caution should be used when combining these moodCodes with explicit representations of SNOMED CT context.
| moodCode | Name |
|---|---|
| DEF | Definition |
| SLOT | Resource slot |
| EVN.CRT | Event criterion |
| OPT | Option |
The Act.moodCode is a mandatory component all HL7 Act classes. Therefore this HL7 representation is required irrespective of whether SNOMED CT context representations are used.
SNOMED CT [ 408729009 | finding context ] and [ 408730004 | procedure context ] value hierarchies include more specific meanings than those associated with the Act.moodCode. Therefore, the SNOMED CT representation cannot be prohibited without resulting in loss of information.
For example, Act.moodCode cannot be used to express various:
The SNOMED CT context model permits default context values to be applied, based on the surrounding information model. Therefore, inclusion of SNOMED CT context can be specified as optional, provided there are explicit rules (such as those in Table 2 and Table 4) for deriving default context values from the moodCode and, where relevant, from other HL7 Act class attributes.
The Act.statusCode is defined "a code specifying the state of the Act". This definition is further elaborated by the state-machine diagram for the Act class in the RIM documentation and the ActStatus vocabulary.
The interaction between statusCode and SNOMED CT semantics varies according to the nature of the statusCode and the value of the Act.moodCode.
Unlike the other attributes discussed in this section the value of the statusCode may progress over time. Thus the fact that a "request" was aborted implies that a request was made, as well as indicating that the request was not acted upon. Therefore, the impact of a Act.statusCode on SNOMED CT semantics depends on whether the concern is to know what steps were taken or to know whether a step was completed.
The relevance of statusCode is fairly clear cut when the Act.moodCode value is "EVN", since this implies an actual occurrence. In these cases, the statusCode pertains to whether the event is complete and thus directly to the SNOMED CT [ 408730004 | procedure context ].
In other moods, this relationship is less clear. For example, the Act.statusCode applies to an Act with moodCode "RQO" refers to the status of the request, whereas the [ 408730004 | procedure context ] refers to the progress of the concept specified by the [ 363589002 | associated procedure ].
The following rules deal only with cases where the Act.statusCode has a clear effect on the meaning of an Act class instance in a particular mood. Other rules or guidelines, based on similar principles, may be added in the future.
The HL7 statusCode changes throughout the life cycle of an Act in its specified mood, until it reaches an end-state. Consideration of the impact of a statusCode on aspects of semantics depends on whether the requirement is to know 'what steps were taken' or 'whether a step was completed'. Thus the fact that a "request" was aborted implies that a request was made, as well as indicating that the request was not taken through to normal completion.
The statusCode values "new", "active", "held", "completed", "cancelled", "suspended", "nullified" and "obsolete" track the progress of the Act in its specified mood. The semantic relevance of statusCode in "event" mood is more clear cut than in other moods.
The statusCode values "NORMAL", "OBSOLETE" and "NULLIFIED" relate to the validity of a particular representation of an Act class instance. These states do not result in any overlaps with SNOMED CT semantics because the meaning of an Act class instance is no longer relevant if it has been "NULLIFIED" or marked as "OBSOLETE".
The Procedure.targetSiteCode is defined by HL7 as “the anatomical site or system that is the focus of the procedure.” The Observation.targetSiteCode is defined as "a code specifying detail about the anatomical site or system that is the focus of the observation if this information is not already implied by the observation definition or Act.code."
SNOMED CT finding concepts have a defining attribute that specifies the [ 363698007 | finding site ] and similarly SNOMED CT procedure concepts have a defining attribute that specifies the "procedure site". The post-coordination rules that apply to SNOMED CT permit refinement of these defining attributes. The resulting post-coordinated expressions can be represented in a single coded attribute using the HL7 Concept Description (CD) data type.
The result of this is that there are two completely overlapping approaches to the representation of sites associated with observations and procedures.
The following rules avoid redundancy and the risk of misinterpretation by restricting the use of targetSiteCode in Act class instances. There are two sections dealing with information models which 1) contain only SNOMED content and 2) allow multiple terminologies to be used.
If an Act.code or Observation.value contains only SNOMED-CT content then the following shall apply:
If an Act.code or Observation.value contains SNOMED-CT content as one permitted code system then the following shall apply:
NOTE: The relevant site attribute depends on the SNOMED CT Concept Model for the type of procedure or finding. It may be one of the following: [ 363698007 | finding site ], [ <<363704007 | procedure site ], [ 405813007|procedure site - Direct ] or [ 405814001|procedure site - Indirect ]. In some cases, "procedure morphology", "direct morphology" or "indirect morphology" may also provide more specific site related information.
The notes following the definition of Observation.targetSiteCode make it clear that the intent is not to repeat a site implied by the Act.code.
Most observation target sites are implied by the observation definition and Act.code, or Observation.value. For example, "heart murmur" always has the heart as target. This attribute is used only when the observation target site needs to be refined, to distinguish right and left etc.
The notes following the Procedure.targetSiteCode definition are perhaps a little less clear cut. However, they convey a similar general sense.
Some target sites can also be "pre-coordinated" in the Act definition, so that there is never an option to select different body sites. The same information structure can handle both the pre-coordinated and the post-coordinated approach.
Therefore, if the Procedure.code or Observation.code specifies the site to a sufficient level of detail, there is no requirement to include a separate targetSiteCode attribute. When using SNOMED CT post-coordination to refine the site, the Act.code specifies the site to the same level of detail as can be achieved using the targetSiteCode.
SNOMED CT offers additional features which make it significantly more expressive than the targetSiteCode:
The recommendation to use the SNOMED CT representation of site is based on the added expressivity. Omission of the HL7 targetSiteCode attribute is recommended to avoid the redundancy and the potential for conflicts between the two forms of representation of site. However, while the use of these HL7 attributes is deprecated, it is permitted to support use in environments that do not support SNOMED CT post-coordination. In this case, requiring these attributes to be encoded using SNOMED CT and interpreted as refinements of the relevant SNOMED CT attributes, enables a simple transformation to the recommended form.
The Procedure.approachSiteCode is defined by HL7 as "the anatomical site or system through which the procedure reaches its target (see targetSiteCode)."
SNOMED CT procedure concepts have a defining attribute that specifies the [ 424876005 | approach ] and has a comparable meaning. The post-coordination rules that apply to SNOMED CT permit refinement of this defining attribute. The resulting post-coordinated expressions can be represented in a single coded attribute using the HL7 Concept Description (CD) data type.
The result of this is that there are two completely overlapping approaches to the representation of approaches associated with procedures.
While HL7 models SubstanceAdministration as a separate class from Procedure, the SNOMED CT concept [ 432102000 | administration of therapeutic substance ] is a subtype of procedure. Therefore the [ 424876005 | approach ] attribute can also be applied to refine SNOMED expressions that encode the action associated with SubstanceAdministration. Therefore, this overlap also applies to that class.
The following rules avoid redundancy and the risk of misinterpretation by restricting the use of the approachSiteCode in Procedure and SubstanceAdministration class instances. There are two sections dealing with information models which 1) contain only SNOMED content and 2) allow multiple terminologies to be used.
If a Procedure.code or SubstanceAdministration.code contains only SNOMED-CT content then the following shall apply:
If a Procedure.code or SubstanceAdministration.code contains SNOMED-CT content as one permitted code system then the following shall apply:
The notes following the Procedure.approachSiteCode definition suggest that the intent is not to repeat the approach if it is fixed by the nature of the procedure specified by the Act.code.
Some [ 424876005 | approach ] sites can also be "pre-coordinated" in the Act definition, so that there is never an option to select different body sites. The same information structure can handle both the pre-coordinated and the post-coordinated approach.
Therefore, if the Procedure.code or SubstanceAdministration.code specifies the [ 424876005 | approach ] to a sufficient level of detail, there is no requirement to include a separate approachSiteCode attribute. When using SNOMED CT post-coordination to refine the [ 424876005 | approach ] , the Act.code can specify the approach to the same level of detail as can be achieved using the approachSiteCode attribute.
The vocabulary domain specified for approachSiteCode is ActSite which is the same as the vocabulary domain for targetSiteCode. In contrast SNOMED CT uses a specific value hierarchy for approaches which is different from the one used for [ 363698007 | finding site ] or [ <<363704007 | procedure site ]. The distinction is that an approach is a route used to reach a target site rather than a specific structural landmark that represents a point on or part of that route.
The example values in the approachSiteCode include a mixture of approaches (e.g. "trans-abdominal approach" and "retroperitoneal approach") which fit the idea of approach as used by SNOMED CT. However, references to the punctured area of skin or structural landmarks have a significantly different semantic quality. Many sites are never the names of routes, several routes may pass through a single site and a route may pass through several sites. Therefore attempts to combine SNOMED CT and HL7 representations of approach may result in confusion rather than clarity.
The recommendation to use the SNOMED CT representation of [ 424876005 | approach ] is based on the more appropriate range of values available for this attribute, and on the fact that many procedure concepts pre-coordinate an implied or explicitly stated approach. Omission of the HL7 approachSiteCode attribute is recommended to avoid the redundancy and the potential for conflicts between the two forms of representation of site. However, while the use of these HL7 attributes is deprecated, it is permitted to support use in environments that do not support SNOMED CT post-coordination. In this case, requiring the approachSiteCode attributes to be encoded using SNOMED CT and interpreted as refinements of the SNOMED CT [ 424876005 | approach ] , enables a simple transformation to the recommended form.
The Procedure.methodCode is defined by HL7 as “identifies the means or technique used to perform the procedure”. The Observation.methodCode is defined as “a code that provides additional detail about the means or technique used to ascertain the observation.”
SNOMED CT concepts have a defining attribute that specifies the [ 260686004 | method ] used. SNOMED CT "evaluation procedure" concepts, which may be used to specify the nature of an observation, have a defining attribute that specifies the [ 370129005 | measurement method ]. SNOMED CT [ 404684003 | clinical finding ] concepts, which may be used as values of a nominalized observation or assertion, have a defining attribute that specifies the [ 418775008 | finding method ]. The post-coordination rules that apply to SNOMED CT permit refinement of this defining attribute. The resulting post-coordinated expressions can be represented in a single coded attribute using the HL7 Concept Description (CD) data type.
The result of this is that there are two overlapping approaches to the representation of methods associated with observations and procedures.
The following rules avoid redundancy and the risk of misinterpretation by restricting the use of the methodCode in Procedure and Observation class instances. There are two sections dealing with information models which 1) contain only SNOMED content and 2) allow multiple terminologies to be used.
If an Act.code or Observation.value contains only SNOMED-CT content then the following shall apply:
If an Act.code or Observation.value contains SNOMED-CT content as one permitted code system then the following shall apply:
NOTE: The relevant method attribute depends on the SNOMED Concept Model in respect of the type of procedure or finding. It may be one of the following: [ 260686004 | method ], [ 418775008 | finding method ] or [ 370129005 | measurement method ].
The notes following the definition of Observation.methodCode make it clear that the intent is not to repeat a method implied by the Act.code.
In all observations the method is already partially specified by simply knowing the kind of observation (observation definition, Act.code) and this implicit information about the method does not need to be specified in Observation.methodCode.
The notes following the Procedure.methodCode are less explicit about avoidance of duplication. However, they do suggest that code systems might be designed with relationships between procedures and possible method – which is exactly how SNOMED CT is designed. What the note does not take into account is that the terminology may also specify a way to represent a specific method with the procedure in a single code or expression.
'… a code system might be designed such that it specifies a set of available methods for each defined Procedure concept'
Therefore, if the Act.code or Observation.value specifies the method to a sufficient level of detail, there is no requirement to include a separate methodCode attribute. When using SNOMED CT post-coordination to refine the method, the Act.code or Observation.value specifies the method to the same level of detail as can be achieved using the methodCode.
The notes on methodCode use "open" and "laparoscopic" procedures as examples of differences in method. SNOMED CT makes this same differentiation using another defining attribute [ 260507000 | access ]. This highlights the potential for confusion from using both SNOMED and HL7 representations of method.
The Act.priorityCode is defined by HL7 as “a code or set of codes (e.g., for routine, emergency), specifying the urgency under which the Act happened, can happen, is happening, is intended to happen, or is requested/demanded to happen.”
The semantics of this attribute potentially overlaps with SNOMED CT “[ 260870009 | priority ]” attribute which "... refers to the priority assigned to a procedure".
The following rules recommend specific uses for the HL7 and SNOMED CT representations of priority. There are two sections dealing with information models which 1) contain SNOMED content and 2) allow multiple terminologies to be used.
In all cases:
In cases where SNOMD-CT is used.:
At face value the Act.priorityCode and the SNOMED CT [ 260870009 | priority ] attribute appear to have similar meanings. However, the way in which these are used appears to differ significantly.
The use of a distinct information model attribute (i.e. Act.priorityCode), which is applicable to all services, makes the priority more readily accessible to workflow management. It does not require the SNOMED CT expression to be parsed to determine the priority of a request or action. In addition, it allows consistent handling of priority when some services are represented using SNOMED CT while others are represented using different code systems.
The use of a representation of priority that is integrated with the definition model of the associated concept is more useful from the perspective of clinical record retrieval. The description logic model of SNOMED CT ensures the computational equivalence of a procedure concept defined as an emergency and a post-coordinated expression in which [ 260870009 | priority | = 25876001 | emergency ] is added to the more general procedure concept.
The Act.negationInd is defined by HL7 as “An indicator specifying that the Act statement is a negation of the Act as described by the descriptive attributes”.
The semantics of this attribute overlaps with:
This overlap leads to a potential ambiguity since a combination of negationInd with a contextual representation of absence might be interpreted either as:
The following rules avoid the risk of misinterpretation by prohibiting use of the negationInd in Act class instances that are encoded using SNOMED CT.
The Act.negationInd is an optional RIM attribute which negates the meaning of an Act. This negation is unnecessary in cases where SNOMED CT is used because the context attributes can be used to specify the absence of a finding or the fact that a procedure has not been done. Including both representations introduces potential for serious misinterpretation of combinations including the following:
The simplest way to avoid these possible misunderstandings is to omit the negationInd attribute and allow the SNOMED CT context attributes to provide information about absent findings and procedures that have not been done. However, to meet requirements to support some simple negation in systems that do not support the SNOMED CT context model, use of negationInd is permitted where it cannot be misinterpreted . The only cases where no risk of misinterpretation are where the SNOMED CT context is either unspecified or explicitly states the default values [ 410515003 | known present ] or [ 385658003 | done ]. The negationInd can be used to switch these defaults to the appropriate negated values such as [ 410516002 | known absent ] and [ 385660001 | not done ].
The Act.uncertaintyCode is defined by HL7 as “a code indicating whether the Act statement as a whole, with its subordinate components has been asserted to be uncertain in any way.” The values of this attribute in the HL7 vocabulary are "stated with no assertion of uncertainty" (N) and "stated with uncertainty" (U).
The semantics of this attribute overlaps with SNOMED CT [ 408729009 | finding context ] values [ <<410590009 | known possible ] and its subtypes including [ 410592001 | probably present ] and [ 410593006 | probably not present]. This provides different ways to express the uncertainty of a finding and ambiguity about the impact of combining these two representations in a single Act class instance.
The following rules avoid the risk of misinterpretation by prohibiting use of the uncertaintyCode in Act class instances that are encoded using SNOMED CT. There are two sections dealing with information models which 1) contain only SNOMED content and 2) allow multiple terminologies to be used.
If an Act.code or Observation.value contains only SNOMED-CT content then the following shall apply:
If an Act.code or Observation.value contains SNOMED-CT content as one permitted code system then the following shall apply:
The SNOMED CT [ 408729009 | finding context ] values provide a more specific way to express uncertainty about the presence or absence of a finding. This is therefore preferred over the use of the optional uncertaintyCode attribute.
The SNOMED CT [ 408730004 | procedure context ] does not contain values to represent "possibly done" or "probably done". As a result there is no obvious way to express uncertainty about whether a procedure has been done. This may be relevant if an informer reports something like "I think I had a tetanus vaccination but I am not sure". The current advice is to treat such information as an Observation about past history, rather than adding uncertainty value to the [ 408730004 | procedure context ] value hierarchy. However, this issue has been raised with the SNOMED Concept Model Working Group and the advice may be revised if after further consideration the [ 408730004 | procedure context ] value set is expanded.
The HL7 UVP (Uncertain Value - Probabilistic) data type was considered as this as another HL7 approach to representation of uncertainty. The UVP data type is defined as "A generic data type extension used to specify a probability expressing the information producer's belief that the given value holds." The data types specification adds that "How the probability number was arrived at is outside the scope of this specification." There is some potential for overlap as the UVP data type is a "generic data type extension". This means it can be applied to any other data type, and hence to any HL7 attribute. This data type may be applied to attribute values associated with a SNOMED CT code. For example, to express uncertainty associated with the value of a particular measurement. However, use of UVP to apply a specific level of uncertainty to a SNOMED CT concept in an Act should be avoided.
The HL7 RIM defines Observation.interpretationCode as:
A qualitative interpretation of the observation.
Examples: Normal, abnormal, below normal, change up, resistant.
Usage Notes: These interpretation codes are sometimes called "abnormal flags," however, the judgment of normalcy is just one
of the interpretations, and is often not relevant. For example, the susceptibility interpretations are not about "normalcy,"
and for any observation of a pathologic condition, it does not make sense to state the normalcy, since pathologic conditions
are never considered "normal."
The value of including an observation interpretation is to be able to say:
(a) “The hemoglobin measurement is 18g/dl and this is abnormally high (when compared with the reference range).”
or
(b) “This Streptococcus pneumoniae isolate has been tested for susceptibility to Penicillin G and has been found to be resistant.”
There are multiple scenarios that may result in overlap, particularly with data recorded in Observation.code or Observation.value.
Given the complexities described in ‘discussion and rationale’, it is not currently possible to provide normative guidance on the use of Observation.interpretationCode. In particular, it is not possible to provide guidance on the prohibition of Observation.interpretationCode where SNOMED CT is the only permitted code system for the Act.code.
However, the following guidance (with caveats) can be provided:
Relevant to this topic, an HL7 Observation will currently support the representation of three notions:
Either primitively represented or modeled using the ‘has interpretation’ attribute, SNOMED CT will support the representation of the following notions:
There is therefore incomplete overlap in ‘interpretation’ representation, and incomplete expressivity of SNOMED CT to support all aspects of representation (a SNOMED CT Expression cannot exhaustively communicate the result of an observation and its interpretation).
Evidence suggests that Observation.interpretationCode is currently used, and it is not possible currently to provide a SNOMED CT-only representation to allow its prohibition.
Neither is it possible, currently, to enhance normalization rules to support equivalence detection between ‘interpretations’ communicated in Observation.value or in Observation.interpretationCode.
The HL7 Observation.value attribute allows units to be applied to a physical quantity, range or ratio. The HL7 datatypes specification recommends the use of UCUM (Unified Code for Units of Measure5) to express units in the PQ (physical quantity) datatype.
SNOMED CT contains concepts that represent most of the widely used units and these overlap with the UCUM representation. These SNOMED CT concepts could be represented in the translation sub-element of the PQ datatype. However, this would introduce redundancy and the potential for conflict between the alternative representations.
The following guidance is intended to reduce the need for redundant representation of units and maximize the opportunity for automated unit conversion.
Use of UCUM representation simplifies interoperability using HL7 messages. The UCUM specification also supports translation between different types of units. It is possible to map from SNOMED CT concepts to UCUM in all cases except those where an informal unit is specified. On the other hand, since the UCUM representation is an expression syntax it can be used to represent an almost unlimited range of complex units in a formal mathematical manner. Many of the units that can potentially be represented in UCUM have no pre-coordinated equivalent in SNOMED CT. SNOMED post-coordination does not currently support the type of mathematical formalism that UCUM offers.
The HL7 Act class includes two attributes related to the temporal situation of an action (Act.effectiveTime, Act.activityTime7). In addition, each participation in an Act may have an associated time (for example, author.time or performed.time). Each of these times can be expressed either as a point-in-time or a period of time.
The SNOMED CT [ 408731000 | temporal context ] distinguishes between findings or procedures that are recorded as part of "past" history and those that are recorded as [ 15240007 | current ]. It also allows a distinction to be made between a specified point or period in time (e.g. and a more general unspecified time (e.g. [ 410588008 | past - unspecified ]). The [ 408731000 | temporal context ] potentially affects the interpretation HL7 date and time attributes.
When a SNOMED CT expression (or concept definition) includes an explicit representation of [ 408731000 | temporal context ], the effectiveTime might be interpreted either as "the time at which the situation applied" or "the time at which the focus concept applied". Guidance is needed to avoid this potentially misleading ambiguity.
The following rules clarify the impact of [ 408731000 | temporal context ] on interpretation of HL7 data and time attributes associated with an Act class instance.
In most cases, following the general rules specified by the HL7 RIM allow unequivocal interpretation of the meaning of the Act.effectiveTime and associated Participation.time values. However, there are several possible interpretations of Act.effectiveTime, in relation to a SNOMED CT expression which includes an explicit past history temporal context (i.e. [ 408731000 | temporal context << 410513005 | past ]). Therefore, the rules specified above require that the relative time as specified by the SNOMED CT [ 408731000 | temporal context ] and any specific point or period of time expressed in Act.effectiveTime should be consistent with one another. The rules do not permit the effectiveTime and [ 408731000 | temporal context ] to be interpreted in a combinatorially manner. Thus if the [ 408731000 | temporal context | = 410513005 | past ] the Act.effectiveTime, if stated, must be the point or period in the past when the finding applied.
Constrained information models specified by some Domain committees use an ActRelationship to allow one Observation to qualify the meaning of another Observation. For example, to specify the severity of an abnormal observation.
SNOMED CT includes qualifiers that allow refinement of meaning using post-coordinated expressions. As a result, the use of an additional Observation class is unnecessary and introduces alternative ways to represent the same meaning.
The following rules are specified to simplify interpretation by minimizing unnecessary variability in representation.
In the HL7 clinical statement model the ActRelationship class is used to express links or associations between different clinical statements. These linkages may be of different types expressed using the typeCode attribute. Examples of typeCode values include "contains", "pertain to", "caused by", and "reason for".
SNOMED CT provides a variety of attributes that can be used to represent relationships between different concepts in a post-coordinated expression. These post-coordinated expressions have the potential to represent some association that might alternatively be represented using ActRelationships. For example, the attributes [ 42752001 | due to ] could be used to construct expressions such as [ 49218002 | hip pain |: 42752001 | due to | = 396275006 | osteoarthritis ], which could also be represented using two separate Observations linked by an ActRelationship with the typeCode "caused by".
There is no absolute rule about when to express linkage in the terminology and when to use linkage mechanisms in the RIM (e.g. ActRelationships). However, the following guidance should be followed:
In general SNOMED CT expressions (whether pre-coordinated or post-coordinated) are most appropriate for expressing multiple facets of a single logical concept. On the other hand, HL7 ActRelationships are more appropriate for making associations between multiple distinct observations or procedures. However, this boundary is fuzzy and there are many situations in which either approach may have equal merit.
The use of SNOMED CT attributes may result in arbitrarily complex statements that wrap multiple distinct findings within a single terminological expression. In these cases, the use of separate coded statements linked by Act Relationships is preferable. On the other hand, use of multiple statements linked by ActRelationships to represent a single composite finding or procedure may result in loss of the natural clinical term used by a clinician within a collection or linked classes.
Even when the guidelines above are followed, there will be grey areas. In an ideal world rule would be devised to compute equivalence between single Act class instances containing a post-coordinated SNOMED CT expressions and multiple Act class instances. While this is theoretically possible, there are several practical obstacles. The HL7 vocabulary for the ActRelationship.typeCode attribute differs from the range of values for linkage attributes in SNOMED CT. Simple precise or close mappings exist for some values but more work is needed before we can assert full semantic interoperability between the two representations. In addition, while a single instance post-coordinated representation has a single life-history the individual instances in multiple class representation may have separate life histories and separate associations with other contextual information.
The HL7 participation type “subject” relates a finding or procedure to a subject who may or may not be the subject of the record. This allows specific named individuals to be identified as the subject of an Act. It can also be used to associate a related person by specifying their relationship rather than by identifying them. For example [ 303071001 | person in the family ], [ 72705000 | mother], [ 70862002 | contact person], etc.
The SNOMED CT [ 408732007 | subject relationship context ] attribute provides a mechanism for indicating that the subject of a procedure or finding is a person (or other entity) related to the subject of the record. This facility is used to define some SNOMED CT concepts (e.g. "family history of asthma" has [ 408732007 | subject relationship context ] = [ 303071001 | person in the family ]). The same attribute can also be used to create post-coordinated expressions. For example, it can be used to express a family history of a disorder without requiring the a concept that expresses a family history of that particular disorder. Unlike the HL7 "subject" participation, the SNOMED CT mechanism does not directly support reference to an identified person.
The following rules are specified to encourage explicit recording of the [ 408732007 | subject relationship context ] in order to minimize risks of overlooking this aspect of the information.
These recommendations leave some situations in which either approach may be used. Therefore, to compute equivalence, a map between the values used in the code attribute of the associated subject role is required. The simplest option would be to specify that when the classCode attribute of the HL7 Role specifies "personal relationship" the code attribute should have a value from the SNOMED CT [ 408732007 | subject relationship context ] hierarchy.
Ambiguity may be introduced if the information is coded using a concept with explicit [ 408732007 | subject relationship context ] and also has an association to a specific subject. For example, if the concept [ 160303001 | FH: diabetes mellitus ] is stated in an observation linked to a person other than the subject of the record, this could mean either (a) "the patient has a family history of diabetes, in the named family member" or (b) "the identified subject has a family history of diabetes".
Specific recommendations on this should be included in communication specifications. Where a communication pertains to an individual patient interpretation (a) is recommended. However, specific instances of the subject participation in a communication about a group of patients may need to specify interpretation (b).
The HL7 participation type “specimen” relates an observation to the specimen on which an observation was made (or is to be made). The specimen participation allows type of specimen or an actual identifiable specimen to be specified.
Some SNOMED CT [ <<386053000 | evaluation procedure ] and [ <<363787002 | observable entity ] concepts indicate the type of specimen that is the subject of the measurement or observed property. Refinement is possible using the [ 116686009 | has specimen ] attribute to specify particular specimen types for any relevant procedure. Therefore, there is a potential overlap between two approaches to representation of the nature of the specimen.
The recommendations on representation of specimen take account of the current incomplete set of investigation codes available. Recent experience in the UK suggests that the first approach above, using the Entity.code is a more flexible basis for requesting and reporting laboratory investigation using SNOMED CT.
The guidance on use of SNOMED CT in the Entity.code attribute is intended to avoid conflicts or ambiguity that may result from representing the values of [ 116686009 | has specimen ] and Entity.code using different coding systems.
The HL7 product Participation associates a specified material (via an appropriate Role) with the instance of the Supply class instance that delivers this material to a subject. Similarly the "consumable" associates a specified material (via an appropriate Role) with the instance of the SubstanceAdministration class instance that delivers this material to a subject. In both these cases, the relevant Act class instance itself only needs to specify the action involved and does not need to indicate the nature of the material supplied or administered.
In SNOMED CT concepts that are subtypes of [ 432102000 | administration of therapeutic substance] can also specify the nature of the substance administered. Refinement of any particular type of administration is possible by applying values to the "direct substance" attribute to represent administration of any pharmaceutical product. Therefore, there is a potential overlap between two approaches to representation of the nature of the substance administered.
Example: SubstanceAdministration.code= [ 36673005 | intradermal injection ] with associated Entity (via a consumable Participation and an appropriate Role), in which Entity.code=[ <<82573000 | lidocaine ] OR
Example: SubstanceAdministration.code=[ 36673005 | intradermal injection | 363701004 | direct substance | << 82573000 | lidocaine ]
The first approach follows the form recommended by the Pharmacy TC and endorsed by the Clinical Statement pattern and other domain committees. The alternative approach may be relevant for summary notes related to certain types of treatment but is not appropriate for prescribing or medication management as it does not provide a reference to a specific quantifiable amount of the substances administered nor does it allow reference to batch numbers and detailed product information.
HL7 Version 3 includes specific attributes, which indicate whether context propagates across Participation and ActRelationship associations. The rules associated with these attributes determine whether the target Act of an ActRelationship shares the participations and other contextual attributes of the source Act and whether these can be substituted by alternative explicit values within the target Act.
Propagation of context is valuable and in some cases almost essential, as it reduces the need to duplicate contextual information. However, it is not entirely clear whether and if so how this propagation of context applies to coded information in each Act instance. Safe interpretation of clinical information requires a common understanding of where contextual information represented using SNOMED CT if either Act.code or Observation.value propagates to related Acts based on the context propagation rules. For example, several Observations coded using SNOMED CT disorder concepts might be related as component parts of an Organizer labeled with the SNOMED CT code "family history of disorder". If the coded context propagated it might seem to express a family history, if not these might be part of the personal medical history of the subject of record.
The following rules are specified to minimize the risk of ambiguity due to loss of contextual information.
It is not clear how context conduction is intended to apply to contextual information that is represented in concepts within an Act. If this type of context is assumed to propagate it would mean that the meaning of a single Observation might be fundamentally altered by a related Act (or potentially by a chain of several different related Acts). This type of dependency presents significant risks, since different systems may be unable to reproducibly determine the composite meaning. Therefore, it seems safest to recommend restatement of the essential aspects of context as defined by the SNOMED CT context model rather than permitting this context to conduct.
There may be some specific cases, where a tightly coupled set of Acts are expected to behave as a block with regard to the surrounding context and where some or all aspects of context represented using SNOMED CT also need to be conducted. In these cases the potential for misinterpretation needs to be considered and appropriately documented.
Common patterns are clinical statements that are used frequently, often in many different specifications, for a wide variety of communication use cases. The patterns shown here are based upon the Principles and Guidelines defined above, and represent informative examples, unless otherwise stated. 8
NOTE: The approach taken in the development of these patterns is to build upon the modeling work being done within HL7 domain committees. In many cases, the patterns presented here are small subsets of more complete domain models, often greatly simplified so as to illustrate certain principles. Actual instances must conform to the particular HL7 V3 specification being communicated.
The RIM defines the abstract ActClass "ActClassRecordOrganizer" as a navigational structure or heading used to group a set of acts sharing a common context. Record organizers include such structures as folders, documents, document sections, and batteries. The Clinical Statement model includes an Organizer class, whose class code can be valued with an ActClassRecordOrganizer subtype. Where the Organizer class is used, the value of Organizer.code MAY be drawn from the SNOMED CT [ (<<419891008 | Record artifact | ) OR (<<386053000 | Evaluation procedure | ) ] hierarchies.9 .
It is often the case that there is a close correspondence between a particular kind of clinical statement (e.g. a blood pressure reading) and the organizer where the clinical statement is commonly found (e.g. a vital signs section). The patterns presented here are irrespective of and not dependent on the organizer in which they are found. Thus, the pattern for allergies and adverse reactions should be used regardless of any organizers they may or may not be contained in; and any distinction between a finding vs. disorder vs. diagnosis needs to be made explicit in the clinical statement itself, without reliance on the containing organizer. Stated in another way, a clinical statement needs to be a correct assertion by itself, when viewed outside the organizer.10
A recurring issue for many observation events, regardless of the particular pattern, is determining how to populate observation.code and observation.value. While this is typically straight-forward for laboratory observations, it can get blurry for other types of observations, such as findings and disorders, family history observations, etc.
The intent of this section is to illustrate the acceptable patterns. Subsequent sections do not include all possible permutations of code/value split, and it should be assumed that any of the acceptable patterns described here would be equally applicable.
An HL7 Observation in event mood is analogous to a SNOMED CT [ 404684003 | Clinical Finding ], and an HL7 Observation in event mood with explicit context (such as presence or absence, subject, past or present) is analogous to a SNOMED CT [ 413350009 | Finding with explicit context ]. Noting this, and drawing from section "Codes and Values" above, come the following guiding principles for populating observation.code and observation.value:
Based on these guiding principles come the following acceptable patterns:
PATTERN ONE: Observation.code [ (<<363787002 | Observable entity) OR (<<386053000 | Evaluation procedure) ] ; Observation.value = not null (e.g. numeric, nominal, ordinal, coded result).
NOTE: At the time of this writing, the SNOMED Standards Development Organization is debating whether or not Observable entity concepts should be recommended for use in Observation.code.
|
"2.16.840.1.113883.6.96" is the code system designation for SNOMED CT.
PATTERN TWO: Observation.code = "ASSERTION" (codeSystem="2.16.840.1.113883.5.4"); Observation.value [ (<<413350009 | Finding with explicit context) OR (<<404684003 | Clinical finding) ] .
|
In this example, the observation is simply the assertion of a "headache". If there is a need to distinguish between, say, a patient-reported symptom vs. a clinician-asserted diagnosis, more information would need to be present. Thus, while an acceptable pattern is to assert a clinical finding, that may not convey sufficient context for all communication use cases. Likewise, an assertion of a procedure.code (such as for an appendectomy performed 5 years ago) doesn't distinguish between a patient's reported past surgical history vs. information gleaned from chart review, and additional contextual information will be needed in some cases.
<observation classCode="OBS" moodCode="EVN"> <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"/> <text>Presence of headache</text> <value xsi:type="CD" code="373573001|Clinical finding present|:246090004|Associated finding|=25064002|Headache|" codeSystem="2.16.840.1.113883.6.96"/> </observation> |
In this example, a finding with explicit context is used to assert the presence of a headache.
Another recurring issue for many clinical statements is the representation of how the information in that statement was obtained (e.g. patient-reported symptom, gleaned from chart review, physical exam finding). Whether or not the source of information needs to be included in a particular communication is outside the scope of this guide, but in some cases, such as the recording of patient medications, knowing the source of the information can have significant clinical implications, and since there are overlaps in HL7 and SNOMED CT representations, the topic is addressed in this guide.
Common sources include: [1] Previously recorded information (e.g. a patient-authored questionnaire, a problem list entry, a lab report); [2] Informant (e.g. the patient, a witness); [3] Direct examination (e.g. a physical examination finding, a radiographic finding, an automated specimen analysis).
Various ways by which the source of information can be represented include:
Patterns for the common sources listed above include:
PATTERN ONE: Source is previously recorded information.
|
This pattern uses an actRelationshipType of "XCRPT" to indicate that there is a new observation which represents an excerpt of previously recorded information. The ActReference class is used here as the target, but other clinical statement act choices could also be used. Context conduction to the ActReference class is blocked by setting contextConductionInd to "false".
PATTERN TWO: Source is informant.
The distinction between the excerpt relationship in the prior figure and an informant participant discussed here can be blurry, such as when a clinician is drawing upon the patient's recollection and a prior record of medication use to determine the current medication usage. An informant (or source of information) is a person who provides relevant information, whereas an excerpt is a sub portion of some other act.
|
The first example uses an Informant participant to indicate that the observation is gleaned through the record subject's father, and the second example expresses the same thing using the finding informer attribute in a post-coordinated expression.
The first example is particularly useful where there is a need to identify or provide additional specifics about the informant participant. Where both informant participant and finding informer are present, the former should be the same as or a specialization of the latter.
<observation classCode="OBS" moodCode="EVN"> <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"/> <text>Patient states he has a headache</text> <value xsi:type="CD" code="25064002|Heachache|:419066007|Finding informer|=116154003|Patient|" codeSystem="2.16.840.1.113883.6.96"/> </observation> |
This example shows the use of the finding informer attribute to indicate that the patient is the source of the information. It will commonly be the case that a V3 instance will assert an informant participant, which will propagate to nested observations. Therefore it won't often be necessary to directly assert a finding informer of patient.
PATTERN THREE: Source is direct examination.
<observation classCode="OBS" moodCode="EVN"> <code code="77989009|Measurement of skin fold thickness|:370129005|Measurement method|=5880005|Physical exam|" codeSystem="2.16.840.1.113883.6.96"/> <text>Skin fold thickness is 7cm</text> <value xsi:type="PQ" value="7" unit="cm"/> </observation> |
This pattern uses the SNOMED CT measurement method attribute to qualify a measurement procedure concept, indicating that the observation was determined via physical exam.
|
This pattern uses the SNOMED CT finding method attribute to qualify a finding concept, indicating that the finding was determined via CT chest. To relate the finding to the actual CT scan being observed, the example uses an act relationship of type "SUBJ", with blocked context conduction.
Both SNOMED CT and HL7 differentiate an isolated reaction event from the condition of being allergic or intolerant. For instance, the following hierarchy is present in SNOMED CT (Jan 2007 release):
Different SNOMED CT value sets may apply, depending on the application context. Potential value sets include:
NOTE: The HL7 Patient Care Technical Committee is developing a formal model for allergy tracking, which supports the representation of the sequential determination of primary and secondary observations relating to discovery and analysis of adverse reactions. The examples provided here are greatly simplified so as to illustrate certain aspects of SNOMED CT implementation.
|
Where the clinician fills in both the substance/product and the reaction, context can propagate across the MFST relationship. The manifestation should not be post-coordinated with the allergic disorder (i.e. this guide recommends against a single post-coordinated expression such as "penicillin allergy manifesting as hives").
|
In this case, the selected finding indicates the condition of being allergic.
An assessment scale is a collection of observations that together yield a summary evaluation of a particular condition. Examples include the Braden Scale (used for assessing pressure ulcer risk), APACHE Score (used for estimating mortality in critically ill patients), Mini-Mental Status Exam (used to assess cognitive function), APGAR Score (used to assess the health of a newborn), and Glasgow Coma Scale (used for assessment of coma and impaired consciousness.)
Assessment scales share certain features, which are described here as part of a recommended pattern:
The following Figure shows a sample Glasgow Coma Scale and result. A score is given for each of three types of neurological responses. A Coma Score of 13 or higher indicates a mild brain injury, 9 to 12 is a moderate injury and 8 or less a severe brain injury.
| Glasgow Coma Scale | Value | Score |
|---|---|---|
| Eye Opening | ||
| spontaneous | 4 | |
| to speech | 3 | |
| to pain | 2 | 2 |
| no response | 1 | |
| Motor Response | ||
| obeys verbal command | 6 | |
| localizes pain | 5 | |
| flexion-withdrawal | 4 | |
| flexion-abnormal | 3 | 3 |
| extension | 2 | |
| no response | 1 | |
| Verbal Response | ||
| oriented and converses | 5 | |
| disoriented and converses | 4 | |
| inappropriate words | 3 | |
| incomprehensible sounds | 2 | 2 |
| no response | 1 | |
| Glasgow Coma Score | 7 | |
|
The aggregate observation is modeled as a component of the assessment procedure. The <derivationExpr> can contain a formal language expression specifying how the value is computed. Component observations are nested under the aggregate observation, linked with a "DRIV" (is derived from) relationship. Where a component observation needs to be communicated in different formats, each format is a discrete observation, linked by a "XFRM" relationship.
NOTE: The HL7 Patient Care Technical Committee is developing a formal model for condition tracking. The examples provided here are greatly simplified so as to illustrate certain aspects of SNOMED CT implementation.
Observations, Conditions, Diagnoses, and Concerns are often confused, but in fact have distinct definitions and patterns.
Differentiation of Observation, Condition, Diagnosis, and Concern in common patterns:
It should be noted that the administrative representation of a diagnosis and the representation of a concern break the rules from section 3.1.1 Observations vs. Organizers, in that these designations are based on context, whereas the designation of something as an Observation vs. Condition is inherent in the clinical statement itself.
|
The observation is asserting a clinical finding of "headache".
|
That a given diagnosis is, for instance, an Admission Diagnosis, can be asserted by wrapping the observation within a particular organizer.
|
That a given clinical statement is a part of a condition tracking structure can be asserted by containing the clinical statement within the concern act, using the mechanism defined by the HL7 Patient Care Technical Committee, as shown here.
As noted above (see section 2.2.5 Participations), the HL7 "subject" participant overlaps in meaning with the SNOMED CT Subject Relationship Context.
Where a family member has a condition, regardless of whether the observation code contains an explicit Subject Relationship Context, the subject of the observation is the family member, and not the patient. Where the observation code does include an explicit Subject Relationship Context, the subject participant can also be used where needed to provide further information about the subject.
<observation classCode="OBS" moodCode="EVN"> <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4"/> <text>Family history of cancer in father</text> <value xsi:type="CD" code="275937001|Family history of cancer|:408732007|Subject relationship context|=9947008|Biological father|" codeSystem="2.16.840.1.113883.6.96"/> </observation> |
This observation uses an explicit SNOMED CT Subject relationship context attribute to represent the fact that the subject of the observation is the father.
|
This example is equivalent to the preceding example, using the subject participant rather than the SNOMED CT Subject relationship context attribute to represent the fact that the subject of the observation is the father.
Areas of overlap between HL7 and SNOMED CT include the source of information, as described above (see 3.1.3 Source of information). This is particularly important for medications, where one needs to differentiate what a patient is actually having administered vs. what is being dispensed. The former is typically gleaned from the patient, family member, or the medication administration record for an inpatient. The latter is often gleaned from a pharmacy application.
Another area of overlap between HL7 and SNOMED CT includes the method and route by which a substance is administered. Various ways by which this information can be represented include:
The following patterns post-coordinate within SubstanceAdministration.code to represent the route of administration. Within a particular realm, or as required by a particular implementation, there may also be a need to populate SubstanceAdministration.routeCode, possibly with values drawn from a required and non-SNOMED CT value set.
The level of detail by which an administered substance is known can vary greatly, particularly when dealing with patient recollection. SNOMED CT has both a [ 105590001 | Substance ] hierarchy and a [ 373873005 | Pharmaceutical / Biologic Product ] hierarchy, and may have realm-specific drug extensions that include manufacturer-specific product codes. Concepts from the Substance hierarchy SHOULD NOT be used to code an administered substance.
In the following examples, the pharmacy is dispensing atenolol 50mg tablets with instructions to take one tablet per day, whereas the patient's daughter says that only a half-tablet per day is being ingested.
|
This act represents an excerpt from a pharmacy application.
|
This act represents information gleaned from the patient's daughter.
Every application has its own data entry screens, workflow, internal database design, and other nuances, and yet despite this, we talk of semantic interoperability. In order to achieve interoperability, and enable a receiver to aggregate data coming from any of a number of applications, it must be possible to compare data generated on any of these applications. In order to compare data, it helps to imagine a canonical or normal form. If all data, regardless of how it was captured, can be converted into a common form, it becomes possible to compare.
To that end, we differentiate the "model of use" from the "model of meaning", where the former represents the way in which the data was captured, and the latter represents a common representation. All representations recommended in this guide can be converted into a common model of meaning. This common model of meaning can be expressed in a SNOMED CT normal form and/or a RIM Normal Form, thereby enabling data comparisons.
The text below is taken from the introduction to the document 'SNOMED CT Transformations to Normal Forms', and outlines the purpose of transformations and the general method of transformation. This document, and its companion ' SNOMED CT Abstract Models and Representational Forms' can be found at http://www.ihtsdo.org/our-standards/technical-documents/. From the perspective of integration of SNOMED CT expressions in HL7 communications the assumption is that in most cases a "close to user" form will be stored and communicated. The normal form transformation provides a method that enables consistent comparison of these expressions with one another and with retrieval queries.
The purpose of generating normal forms is to facilitate complete and accurate retrieval of pre and post-coordinated SNOMED CT expressions from clinical records or other resources.
The approach described is based on the description logic definitions of SNOMED CT concepts which are used when recording clinical statements in an electronic records system. Using this approach, expressions that are authored, stored and/or communicated in a relatively informal close-to-user form are logically transformed into a common normalized form. In this normalized form it is possible to apply simple rules to test subsumption between expressions.
The simplest case of a valid close-to-user expression is a single conceptId, and the approach described can be applied to these simple pre-coordinated expressions, as well as to more complex expressions that include multiple conceptIds and refinements (qualifiers).
Likewise, transformations and normalisations can be both simple and complex, however the general principle is that the normalisation process will restate a SNOMED CT expression in terms of the 'primitive' Concepts with which it is associated in the reference data. By example, the SNOMED CT Concept [ 80146002 | appendectomy ] would, in essence, transform under normalisation to [ 71388002 | procedure |: { 260686004 | method |= 129304002 | excision - action |, 405813007 | procedure site - Direct |= 66754008 | appendix structure | } ] ("a procedure that consists of excising an appendix").
The approach to normalization may be applied to the specific SNOMED CT expressions but may also be extended to take account of contextual information derived from the information model in which the expression is situated. Therefore, the normal form may include SNOMED CT context information, even if this is not present in the initial SNOMED CT expression. As such the result of transformation of [ 80146002 | appendectomy ] is a simplification (the additional contextual/situation information is missing), but it is hoped that the example sufficiently illustrates the principle of normalisation.
The algorithm extends earlier work on canonical forms as follow:
The requirements for full normalization of alternative representation using different combinations of SNOMED CT and HL7 RIM artifacts requires an agreed comprehensive reference normal form. This is beyond the scope of this document. However, the rules and guidance in Guidance on Overlaps between RIM and SNOMED CT Semantics (§ 2 ) provide the foundations for specifying some of the more common transformation requirements.
In particular the following types of transformation may be required
Additional documentation on this topic will be added based on experience of use of this specification.
This section presents general guidance regarding which SNOMED CT concepts are suitable for use as values for specific attributes of the main classes of the Clinical Statement pattern. These value set constraints are presented at a fairly high level, by partitioning of SNOMED CT into a number of major concept classes that relate to the Vocabulary Domains of that apply to the relevant HL7 attributes.
In most cases, these value sets are supersets of the values used in the constrained models in Common Patterns (§ 3 ) (any exceptions to this are indicated).
For reasons introduced in this section and explored in greater detail in Detailed aspects of issues with a vocabulary specification formalism (§ E ), a complete solution to value set representation is not presented in this Guide. The nature of and rationale for the approach taken is given in the following sections.
The value set specifications are presented as tables in the following general structure:
| Class Name: The Clinical Statement pattern class is identified here | Class Code: If relevant, distinct classCodes are identified here |
| Attribute Name: The relevant attribute(s) is/are identified here | |
| Narrative description of vocabulary domain: The relevant narrative description of the vocabulary domain is identified here. |
|
| Value set representation: Value sets are identified here, using the SNOMED CT compositional grammar extended for the purpose of this Implementation Guide as described in Appendix B/>. |
|
| Notes: Any notes relevant to this className+classCode+attributeName value set specification are made here. |
|
Specifications of the "simple" form provided in this section have some limitations but they serve two important purposes described in the following sub-sections.
A large clinical terminology, such as SNOMED CT, represents a number of lexically similar concepts which are grammatically, linguistically or semantically distinct. This phenomenon is particularly pronounced if the terminology is considered without any kind of partitioning. The coarse-grained partitioning specified by these constraints simplifies and clarifies decisions about which of a set of superficially similar SNOMED CT concepts are appropriate to particular HL7 vocabulary domains.
For example, consider a vocabulary domain specification that is intended to represent "an adverse event in reaction to a drug".
The Schematic Illustrations of SNOMED CT Expressions (§ E.6 ) identify the "clinical kernel" or primary clinical "focus concept" that may exist alone or as part of a contextualized expression. In most cases, the simple value set constraints in this specification apply to this clinical focus concept. In combination with the SNOMED CT concept model these constraints form a foundation for more detailed "complete" value set specifications (as explored in Detailed aspects of issues with a vocabulary specification formalism (§ E )).
Simple value set constraints can be regarded as a set of subsumption clauses related by OR logic. Each clause permits the inclusion of a focus concept that is subsumed by a specified concept. In contrast, a more complete specification would check normal form transformations of candidate expressions against a variety of subsumption and role-based restrictions. In addition a complete specification require support of a full set of logical operators between clauses (i.e. OR, AND, NOT).
For example, consider a value-set constraint which indicates that the "focus concept" must be a kind of [ <<404684003 | clinical finding ].
A simple approach to value set constraints is inevitably incomplete when applied to SNOMED CT as a result of two features supported by SNOMED CT.
Two different aspects of SNOMED CT post-coordination ("attribute refinement" and "context/situation wrapping") may result in the valid expressions being rejected by "simple" value sets tests.
Example of "attribute refinement" false negative:
The concept [ 82764005 | operation on duodenum ] could be refined by applying more specific values to its [ 260686004 | method ] and [ 363704007 | procedure site ] attributes.
If the value for [ 260686004 | method ] is refined to [ 129304002 | excision - action ] and the value for [ 363704007 | procedure site ] to [ 181247007 | entire duodenum ], the resulting expression means "excision of the entire duodenum" and we would expect this to mean the same as "total excision of duodenum". This expression would be inappropriately rejected by a "simple" value set test of the instruction [ <<173848007 | total excision of duodenum ] (i.e. "include 'total excision of duodenum' any sub-types").
Example of "context/situation wrapping" false negative:
The concept [ 373573001 | clinical finding present ] can be refined by applying a more specific value to its attribute [ 246090004 | associated finding ].
If the value for [ 246090004 | associated finding ] is refined to [ 404640003 | dizziness ], the resulting post-coordinated expression means "dizziness present". This expression would be inappropriately rejected by a "simple" value set test of the instruction [ <<404640003 | dizziness ] (i.e. "include 'dizziness' and any sub-types").
A potential pattern of false positive value set testing would result from attempts to augment the "simple" value set specifications to include corresponding "context/situation" Concepts. The absence (by design) of an exhaustive set of "context/situation" Concepts corresponding to each "finding" or "procedure" Concept means that on many occasions only the specification of a more general "situation" Concept will guarantee that desirable Concepts will be included, but at the expense of allowing multiple false positives.
Example of pre-coordinated "situation" false positive:
Consider a value set designed to include "respiratory disorders". To avoid rejecting concepts which include explicit context, a simple value set might include [ <<413350009 | finding with explicit context ] as well as [ <<50043002 | disorder of respiratory system ]. Such a clause would include the relevant respiratory findings, including those with explicit context. However, it would also inappropriately include other findings with explicit context (i.e. non-respiratory finding with explicit context).
Failure to include [ <<413350009 | finding with explicit context ] would result in false negatives as illustrated in the previous section.
The "simple" value set constraints are provided as a set of tables, covering the major classes of the Act and Entity Choice boxes.
| Class Name: Observation | Class Code: OBS |
| Attribute Name: Observation.value | |
| Narrative description of vocabulary domain: An act that is intended to result in new information about a subject. The main difference between observations and other acts is that it has a value attribute that is used to state the result of the assessment action described in Act.code. |
|
| Simple representation: ((<<404684003 | clinical finding |) OR (<<413350009 | finding with explicit context |) OR (<<272379006 | event |)) |
|
| Notes: Where Observation.code = ASSERTION.
An alternative approach (now deprecated) is for the same value set to be communicated in Observation.code where the attribute Observation.value is not present in the Observation class instance. As indicated in section 2.2.2.2 subheading 7, the situation may arise in which Observation.value is a SNOMED CT expression from the set specified in the 'simple representation' field of this table and Act.code is represented by a code other than "ASSERTION". For such an approach can only be safely used if interpretation of the Act.code together with the Observation.value does not yield a meaning that is substantially different from the meaning implied if the Act.code was "ASSERTION". Without exhaustive scrutiny of SNOMED CT's content it is not possible to identify that set of codes that can safely be used in this way in Act.code. |
|
A further alternative representation is needed to communicate record entries where SNOMED CT content has been used to represent Observation.code and Observation.value is present. Observation.value may be a numeric, nominal or ordinal result, so itself may come from SNOMED CT also:
| Class Name: Observation | Class Code: OBS |
| Attribute Name: Observation.code
Attribute Name: Observation.value |
|
| Narrative description of vocabulary domain: An act that is intended to result in new information about a subject. The main difference between observations and other acts is that it has a value attribute that is used to state the result of the assessment action described in Act.code. |
|
| Simple representation for Observation.code: ((<<386053000 | evaluation procedure |) OR (<<363787002 | observable entity |)) Simple representation for Observation.value (where SNOMED CT-encoded): ((<<281296001 | result comments |) OR (<<260245000 | findings values |)) |
|
| Notes: As noted in Section 3, editorial debate continues regarding whether or not [ <<363787002 | observable entity ] concepts should
be recommended for use in Observation.code; It should also be noted that the Observation.value specification is limited to
those values specified by the SNOMED CT concept model as suitable targets for the [ 363713009 | has interpretation ] attribute.
This specification would currently disallow/exclude the value [ 371246006 | green color ] used in Example 1 of Section 3.
|
|
| Class Name: Procedure |
Class Code: PROC |
| Attribute Name: Procedure.code |
|
| Narrative description of vocabulary domain: An Act whose immediate and primary outcome (post-condition) is the alteration of the physical condition of the subject. |
|
| Simple representation: ((<<71388002 | procedure |) OR (<<129125009 | procedure with explicit context|)) AND (!432102000 | Administration of substance|) AND (!<243704004 | provision of appliances|) AND (!<183253002 | provision of medical equipment |) AND (!<404919001 | wheat-free diet) AND (!<223456000 | provision of a special diet) AND (!<440298008 | Dispensing of pharmaceutical/biologic product |)) |
|
| Notes: in order to prevent overlap, this specification includes the negated clauses to exclude the value set of "Substance administration"
and "Supply".
|
|
| Class Name: SubstanceAdministration |
Class Code: SBADM |
| Attribute Name: SubstanceAdministration.code |
|
| Narrative description of vocabulary domain: Introducing or otherwise applying a substance to the subject |
|
| Simple representation: 416118004 | administration |) optionally: <<432102000 | administration of therapeutic substance | |
|
| Notes: In Release 1 of this guide, and n order to support a tighter standardization of this class and ensure that the "substance"
administered was only represented in the related Material Entity, SNOMED CT content that explicitly explicitly referred to
substances (for example 39543009|administration of insulin (procedure)|) were excluded (by a specification that limits to
the codes offered and none of the subtypes. In response to examples that have been identified where specific subtypes of 432102000 | Administration of substance (procedure) | are required for use in SubstanceAdministration.code, the looser optional constraint is offered to provide access. Nevertheless, the intent of the guide (to ensure that the the "substance" administered was only represented in a related Material Entity) still holds to enable consistent analysis. |
|
| Class Name: Supply |
Class Code: SPLY |
| Attribute Name: Supply.code |
|
| Narrative description of vocabulary domain: The provision of a material by one entity to another |
|
| Simple representation: ((<<243704004 | provision of appliances|) OR (<<183253002 | provision of medical equipment |) OR (<<404919001 | wheat-free diet|) OR (<<223456000 | provision of a special diet|) OR (<<440298008 | Dispensing of pharmaceutical/biologic product |)) |
|
| Notes:Possibly incomplete. Currently SNOMED CT has no abstract notion of the "supply/provision of material", so whilst diet and
appliances, equipment and pharmaceutical/biologics are supported, it is still possible that some cases are not supported.
|
|
| Class Name: Organizer |
Class Code: ORGANIZER |
| Attribute Name: Organizer.code |
|
| Narrative description of vocabulary domain: Organizer of entries. Navigational. No semantic content. Knowledge of the section code is not required to interpret contained observations. Represents a heading in a heading structure, or "organizer tree". |
|
| Simple representation: ((<<419891008 | record artifact |) OR (<<386053000 | evaluation procedure |)) |
|
| Notes: [ <<386053000 | evaluation procedure ] is included to allow the naming of batteries with Laboratory procedure terms.
|
|
The following very general SNOMED CT value set for using the Entity.code attribute is outlined below. In any specific model this set should be appropriately constrained.
| Class Name: Entity |
Class Code: ENT |
| Attribute Name: Entity.code |
|
| Narrative description of vocabulary domain: A physical thing, group of physical things or an organization capable of participating in Acts, while in a role. |
|
| Simple representation: ((<<410607006 | organism |) OR (<<373873005 | pharmaceutical / biologic product |) OR (<<260787004 | physical object |) OR (<<105590001 | substance |) OR (<<123038009 | specimen |) OR (<<308916002 | environment or geographical location |)). |
|
| Notes: (1) A more sophisticated division of SNOMED CT Entities is needed to reconcile with the coarse-grained specializations of
Entity within the HL7v3 Specification (e.g. LivingSubject, Place, Manufactured Material...).
(2) the SNOMED CT class [ 123038009 | specimen ] could be viewed as merging both the Entity and the specimen "role", however it is included in this specification, on the understanding that the "specimen" role would be restated within the Clinical Statement pattern-conformant specification. |
|
A comprehensive notation for all SNOMED CT ‘findings and procedures" value sets is logically ‘wrapped" in the SNOMED CT context/situation wrapper, and indeed the context/situation wrapper would be used to communicate negation and uncertainty in message designs where SNOMED CT is the only permitted code system. In more "complete" value set constraint specifications therefore, it can be expected that the moodCode values found in message instances should influence the corresponding valid "finding and procedure context" values. Details of the recommended mappings are provided in Act.moodCode (§ 2.2.3 )
A value set constraint can be applied to any coded content where the codeSystem is SNOMED CT. This includes cases where original encoding is SNOMED CT or where the SNOMED CT encoding is based on a translation from another codeSystem. Thus the value set constraints may be tested against the original encoding or translation sub-element in an instance of the HL7 Concept Description (CD) data type.
New record entries should be made using SNOMED CT concepts with an active status. However it is possible that communications may contain SNOMED CT content that, while active at the time of entry, have subsequently been rendered inactive in the reference data(e.g. as a result of recognition or errors such as duplication or ambiguity). In these cases value set testing SHOULD include analysis of information contained in the SNOMED CT history data. Such data will assist in establishing the relationship(s) between inactive concepts and active concepts. If it can be demonstrated that an inactive concept has an appropriate historical relationship to a value set valid active concept, and if the specification does not explicitly exclude inactive concepts, then the inactive concept should be regarded as valid for communication.
For example, consider the concept [ 274638001 | asthenia ], which is now marked as an inactive duplicate in SNOMED CT. This concept may have been active in the past, and may thus have been used in the creation a record entry. This historical record entry may subsequently be communicated (perhaps as part of a record extract), by which time the concept has been marked as inactive. If this is encountered it is possible (by analysis of the SNOMED CT history data) to identify the [ 168666000 | SAME AS ] relationship to the active concept [ 13791008 | asthenia ]. Assuming the message specification does not explicitly exclude inactive concepts it is then possible to test the (active) concept for suitability in the message instance and accept it as valid.
This section outlines the general options for dealing with overlaps in semantics between an information model and terminology model. It considers the advantages and disadvantages of requiring, prohibiting or allowing either or both of two overlapping forms of representation.
The discussion in this section is applicable to the potential overlaps between any information model and any terminology. It was used as the basis for the consideration of specific overlaps between HL7 and SNOMED CT semantics in Guidance on Overlaps between RIM and SNOMED CT Semantics (§ 2 ).
Table 1 considers the interplay between three rules (required, optional and prohibited) that might in theory be applied to the use of HL7 and a terminology representations in each case where there is an overlap. For each optional rule two potential instances are considered – presence and absence of the optional element. The intersection of the rules and instances result in a total of sixteen potential cases. In half these cases there is no difficulty because there is no actual overlap. The remaining cases create either a requirement to manage duplication or some a requirement to enforce a prohibition imposed by the relevant rule. The general issues related to different types of prohibition or duplicate management are considered below. These general considerations are then applied to specific areas of overlap.
| TR | TO(I) | TO(O) | TP | |
|---|---|---|---|---|
| Terminology representation Required | Terminology representation Option and is Included | Terminology representation Option but is Omitted | Terminology representation Prohibited | |
| HR HL7 representation Required |
Generate, validate and combine dual representations | Generate HL7 representation (if not present) Validate and combine dual representations | No overlap | Manage unconditional prohibition of Terminology representation |
| HO(I) HL7 representation Optional and is Included |
Generate Terminology representation (if not present) Validate and combine dual representations | Validate and combine dual representations | No overlap | Manage conditional prohibition of Terminology representation |
| HO(O) HL7 representation Optional but is Omitted |
No overlap | No overlap | No information | No information |
| HP HL7 representation Prohibited |
Manage unconditional prohibition of HL7 attribute/structure | Manage conditional prohibition of HL7 attribute/structure | No information | No information |
Any prohibition of an HL7 representation that overlaps with a terminology representation is unconditional if the corresponding Terminology representation is required. However, if the terminology representation is optional, the prohibition is conditional and does not apply unless the terminology representation is present.
Some unconditional prohibitions may be sufficiently generalized to be modeled by excluding a particular attribute or association from the relevant model. If a prohibition is conditional, other constraints (e.g. a restricted vocabulary domain) or implementation guidelines (e.g. textual supporting material) may be more necessary.
Any prohibition needs to be expressed in a way that does not undermine support for any required communications of data encoded using other code systems. In most cases, the universal HL7 standards for a domain should support conditional prohibition. This allows some realms or communities to enforce prohibition, while allowing others to use alternative code systems.
A prohibition of a terminology representation that overlaps with a HL7 representation is unconditional if the corresponding HL7 representation is required. However, if the HL7 representation is optional, the prohibition is conditional and does not apply unless the HL7 representation is present.
Prohibition of a terminology representation is fraught with difficulties. If a particular terminology representation is recorded in a sending system, prohibiting the inclusion of that expression in an HL7 message prevents faithful communication of original structured clinical information. Transformation of a terminology representation into an HL7 syntactic form such as the Concept Descriptor (CD) data type should be possible for most if not all terminologies. It has been argued that disaggregating a post-coordinated Terminology representation across multiple HL7 attributes (e.g. assigning SNOMED "procedure site" to the HL7 Procedure.targetSiteCode) is a similar kind of transformation. However, this presumes a one-to-one match between the semantics of the Terminology representation and the specific HL7 attribute. In many cases this mapping will be less precise as a terminology may have more or less finely grained attributes than those present in the RIM (e.g. SNOMED CT includes "procedure site – direct" and "procedure sit – indirect"). As a terminology continues to evolves more of these distinct attributes are likely to be added increasing the information loss from transforms of this type.
A general prohibition of use of valid terminology representations is likely to form an obstacle to communication rather than encouraging semantic interoperability. However, guidelines on specific topics within a domain may recommend use of HL7 representations rather than or in addition to Terminology representations. These guidelines will be most effective if implemented in the design of data entry and storage rather than restricted by communication specifications.
If either form of representation is required, any sending system that does not store that required representation must generate it to populate a valid message. In any case where a particular representation is required, clear mapping rules from the other representation are needed, unless the communicating applications also use the required representation for storage.
If HL7 and terminology representations of a similar characteristic are permitted to co-exist, there is a requirement for rules that determine how duplicate, refined and different meanings are validated or combined. Table 2 outlines the general types of rules that might be applied. The rules in this table form a framework for discussion of specific recommendations related to the overlaps between HL7 and particular terminology representation.
Note that different rules that appear superficially rational can result in profoundly different interpretations of the same data. While it is possible for different rules to apply to different overlaps it is essential that the rules for each given overlap are clear and unambiguous. Applying different rules based on convenience of a particular representational form in a particular environment, domain or use case is liable to lead to serious misinterpretation information flows between environments. Furthermore, every variation in the rules will require additional processing overhead and implementer understanding.
| Overlap condition | Examples | Possible rules for interpretation | Interpretation |
|---|---|---|---|
| General form used for examples | HL7:(HL7 representation) TMR:(Terminology model representation) |
- | - |
| The meanings of both the HL7 and Terminology representations are equivalent | HL7:negationInd="true" TMR:presence="not present" |
Apply meaning ignoring repetition | NOT PRESENT |
| '' | '' |
Apply the HL7 representation as a combinatorial revision of the terminology representation | PRESENT (i.e. double negative "not not present") |
| The meaning of one of the two representations is a subtype of the meaning of the other representation | HL7:moodCode=" intention" TMR:stage="requested" |
Apply more specific meaning (ignoring more general meaning) | REQUESTED |
| '' | '' |
Apply the HL7 representation as a combinatorial revision of the terminology representation | INTENTION TO REQUEST |
| The meaning of the two representations differs and neither meaning is a subtype of the other | HL7:moodCode=" intention" TMR:stage="goal" |
Apply the HL7 representation as a combinatorial revision of the terminology representation | INTENTION TO SET A GOAL |
| '' | '' | Apply the HL7 representation as an addition to the terminology representation | INTENTION AND A GOAL |
| '' | '' | Apply HL7 and ignore terminology representation | INTENTION |
| '' | '' | Ignore HL7 and apply terminology representation | GOAL |
| '' | '' | Treat as an error | - |
| '' | HL7:targetSiteCode="ovary" TMR:site="cyst" |
Apply the HL7 representation as a combinatorial revision of the terminology representation | CYST OF OVARY |
| '' | '' | Apply the HL7 representation as an addition to the terminology representation | CYST AND OVARY |
| '' | '' | Apply HL7 and ignore terminology representation | OVARY |
| '' | '' | Ignore HL7 and apply terminology representation | CYST |
| '' | '' | Treat as an error | - |
The following SNOMED CT reference materials are available at http://www.ihtsdo.org/our-standards/technical-documents/ the available materials include:
This document uses the SNOMED CT Compositional Grammar to refer to SNOMED CT concepts and expressions. Table 11 provides an overview of this grammar which is intended to meet the needs of readers of this document. However, those with a more detailed interest in this topic should read the "SNOMED CT Guide to Abstract Models and Representational Forms" available at http://www.ihtsdo.org/our-standards/technical-documents/ which explains the underlying abstract model and includes a full BNF definition of the grammar.
The abstract model of expressions and definitions that is at the heart of SNOMED CT. In contrast, the grammar is just one way of representing instances of concepts, definitions and expressions. As noted in the Formal rules for post-coordinated expressions (§ 1.7.5.2 ), there are other ways to represent expressions, including the HL7 Concept Descriptor data type. The reason for using the compositional grammar in this document is that it offers a terse representation which is both human-readable and computer-processable.
The grammar used in this document extends the SNOMED CT Compositional Grammar in two respects:
Note: According to the HL7 TermInfo criteria Requirements and Criteria (§ 1.8 ) where alternative representations transform to a common model of meaning either representation may be used. The SNOMED CT Concept Model declares that two expressions that transform to the same normal form have the same meaning. Therefore, these constraints in this document specify the range or possible meanings, rather than the precise way a meaning is represented. From an operational perspective it may sometimes be desirable to constrain the forms of representation permitted within a given community or realm. In these cases, additional constraints may be stated in an implementation profile.
The HL7 v3 “Data Types – Abstract Specification, Release 2” defines what can be carried in the Concept Description (CD) data type as “the plain code symbol defined by the code system, or an expression in a syntax defined by the code system which describes the concept.”
In response to the requirement for “syntax defined by the code system” The IHTSDO has published the document Compositional Grammar for SNOMED CT Expressions in HL7 Version 3”. The serialization syntax (SNOMED Compositional Grammar, SCG) defined is the same as the ‘unextended’ syntax described in this document .
This section describes a recommended way for communicating SNOMED CT Expressions using the HL7 v3 Concept Description (CD) datatype.
Where communicating parties agree that only ConceptId’s are required for communication, whether single Id’s or compositional code phrases, these SHALL be communicated using CD.code, with expressions structured according to the SCG.
<value code="66308002" codeSystem="2.16.840.1.113883.6.96"/> |
<value code="127278005:363698007=85050009,116676008=72704001" codeSystem="2.16.840.1.113883.6.96"/> |
It is, however, likely that good recording/communication practice between communicating parties will require the communication of associated human readable elements. Guidance is therefore provided for the following circumstances:
Where a Term of a valid Description for the communicated SNOMED CT ConceptId has been selected to make the originating record entry, or where communicating parties wish to communicate a valid Description for a code it may be communicated as:
CD.displayName - subject to the rules of the terminology, e.g. by use of a designated reference set that specifies the term to be selected for each code:
<value code="66308002" codeSystem="2.16.840.1.113883.6.96"> <displayName value="fracture of humerus"/> </value> |
CD.code, using the SCG rules:
<value code="66308002|fracture of humerus|" codeSystem="2.16.840.1.113883.6.96"/> |
Both CD.code and CD.displayName:
<value code="66308002|fracture of humerus|" codeSystem="2.16.840.1.113883.6.96"> <displayName value="fracture of humerus"/> </value> |
Where both CD.code and CD.displayName are used, the terms must be the same.
CD.originalText may, of course, also be communicated - subject to the rules of the data type specification:
<value code="66308002" codeSystem="2.16.840.1.113883.6.96"> <displayName value="fracture of humerus"/> <originalText mediaType="text/plain" value="fracture of the humerus"/> </value> |
Where either a pre-crafted human-readable string or a relevant fragment from analysed narrative text is associated with a single code or compositional SNOMED CT Expression, this string SHALL be communicated as CD.originalText:
<code code="387713003:363704007=264116001,260507000=129236007,260686004=257903006" codeSystem="2.16.840.1.113883.6.96"> <originalText mediaType="text/plain" value="Open repair of outlet of muscular interventricular septum"/> </code> |
Where the recording process also presents a valid SNOMED CT Description (or Descriptions) to assist in the selection/creation of the communicated SNOMED CT Expression, or where communicating parties wish to communicate a valid Description for a code (or each code in a compositional expression) the associated Term (or set of Terms) MAY be communicated as follows:
|
If communicating parties agree that CD.code will only convey ConceptIds, then there is no current support, according to the rules of the datatype specification and the SCG rules, for unambiguously communicating Descriptions using available CD attributes.
In future, if alternative standard term-phrase composition rules become part of the SNOMED CT standard (and regarded as such by relevant communicating parties) then the value of displayName could be generated according to these rules.
If neither a pre-crafted human-readable string, nor a relevant fragment from analysed narrative text is associated with a single code or compositional SNOMED CT Expression, then:
|
The approach described is based on the following principles:
Changes from the May 2009 balloted version include:
Major changes from the January 2007 balloted version include:
This section identifies areas of SNOMED CT that need to be resolved so as to be consistent with the recommendations in this guide.
SNOMED CT vocabulary domain constraints (§ 5 ) specifies SNOMED CT value sets using a ‘simple notation'. As noted in Approach to Value Set Constraint Specifications (§ 5.2 ) this simple notation may result in certain error patterns in membership testing.
Two related requirements for value set specification need to be considered. These, and the dominant error patterns that will be encountered if they are not addressed are as follows:
Neither of the above requirements can be satisfactorily supported by value set specifications that either simply enumerate ‘valid codes’ or ‘valid subsumption nodes’ ('codes and logical descendants').
These requirements are now explored in more detail, and are followed by (1) an enumeration of the desirable features of a specification formalism and (2) an explanation for the inclusion of a normalization step in value set testing.
Whilst ‘simple implicit’ (subtype testing) value set specifications are suitable for ‘Primitive’ SNOMED CT Concepts (even if post-coordination is allowed), in those situations where value sets are specified by reference to ‘Fully Defined’ Concepts, a ‘simple’ solution is inadequate.
As with (presumably) all vocabularies organized by subsumption hierarchies, SNOMED CT includes a number of abstract14 ‘high-level’ Concepts that can be thought of as organizing the content into coherent ‘chapters.’ By example, SNOMED CT has high-level Concepts such as [ 404684003 | clinical finding ], [ 71388002 | procedure ] and [ 105590001 | substance ], each correspondingly subsuming thousands of pre-coordinated Concepts that are deemed to be ‘Findings’, ‘Procedures’ or ‘Substances.’
It is a property/requirement of the SNOMED CT classification process that a distinction is made between ‘Primitive’ and ‘Defined’ Concepts (put simply, only Defined [in terms of other Concepts] Concepts can acquire new, inferred sub-types as a result of the classification process), and whilst a high number of Defined Concepts is desirable for more complete classification, it is an inevitable feature of SNOMED CT that a number of Concepts need to be regarded as Primitive (to introduce nuances of the world against which ‘Defined’ content can be formally differentiated).
For this guide, the importance of the Primitive/Defined15 distinction is that as long as value sets are defined by reference only to Primitive Concepts, we can be confident that, even where post-coordination is allowed16, Expressions cannot logically be ‘made’ members of the value set (§ E.2.3 ). This suggests that for many coarse-grained ‘universal’ value set specifications there is little need for a specification form of greater sophistication than:
“this field may communicate Concepts subsumed by [SNOMED CT Primitive]a OR subsumed by [SNOMED CT Primitive]b OR subsumed by [SNOMED CT Primitive]…n”
which would appear to be satisfactorily supported by a notation similar to the current HL7 documentation convention of:
Act.code <= [SNOMED CT Primitive]a OR [SNOMED CT Primitive]b OR [SNOMED CT Primitive]…n |
Whilst many ‘universal’ value sets can be specified by the mechanism above, as vocabulary domains are progressively constrained we may reach a point where a detailed SNOMED CT-derived value set is specified by reference to one or more Fully-Defined Concepts17. In this setting, where post-coordination is allowed, it will be possible to 'create' Expressions that are now members of the value set but whose ‘focus Concepts’ would not be members according to ‘simple’ subsumption testing (§ E.2.4 ). The '(clinical) focus Concept' (often singular but strictly-speaking a set of 'focus Concepts') is the Concept that to a large degree characterizes the type of Expression being documented or communicated. Reference to the SNOMED CT concept model when the nature of the 'focus Concept' is known will indicate which types of refinement and which axes of 'context modification' can be applied. For example, if the 'focus Concept' is a member of the set specified by [ <<404684003 | clinical finding ], inspection of the concept model will tell us that the Concept can be modified by selecting/refining values for defining characteristics with attribute names such as [ 363698007 | finding site ], [ 246112005 | severity ], [ 116676008 | associated morphology ] etc., and that the focus Concept can serve as the value of an [ 246090004 | associated finding ] attribute of a 'context/situation' wrapped post-coordinated Expression. Additional information which may influence appropriate aspects of model application are (1) whether a concept chosen from the sets specified by [ ((<<363787002 | observable entity |) OR (<<386053000 | evaluation procedure |)) ] is accompanied by a value (determining whether it should be treated by the concept model as a 'finding' or a 'procedure') and (2) the moodCode value of the relevant HL7 v3 class (as this will determine the detailed value applied to the respective attribute names [ 408729009 | finding context ] or [ 408730004 | procedure context ]).
In order to avoid false rejection of valid ‘post-coordination by refinement’ Expressions, value set specifications need to be modified to allow their inclusion. Consistent with the guidance that is currently offered for normal form generation for data retrieval, the following general modifications to each specification (and, for comparison purposes, each 'candidate' expression) should be considered:
By example, such a transformation would result in the 'simple' value set ‘predicate’
33149006 | Pancreatectomy |
being rephrased as
71388002 | procedure |:
{ 260686004 | method |= 129304002 | excision - action |,
363704007 | procedure site |= 15776009 | pancreatic structure |}
and the value set ‘candidate’
9524002 | Total pancreatectomy |
being rephrased as
71388002 | procedure |:
{ 260686004 | method |= 129304002 | excision - action |,
363704007 | procedure site |= 181277001 | entire pancreas |}
As indicated in figure F.2.4 ( (§ E.2.4 )), failure to include this transformation step would result in inappropriate rejection of a valid post-coordinated representation of 'total pancreatectomy'.
The tests performed to determine value set membership against 'complex' value set predicates are still 'subsumption' tests, but here might be regarded as