HL7 Reference Information Model

Version: 0237 (2012Jan)

Not Balloting This Cycle
HL7 V3 RIM, R4
HL7 Version 3 Standard: Reference Information Model, Release 4
Last Ballot: Normative Ballot 1 - May 2011
Modeling & Methodology Co-Chair George Beeler, Jr., PhD.
Beeler Consulting LLC
Modeling & Methodology Co-Chair Jean-Henri Duteau
Gordon Point Informatics
Modeling & Methodology Co-Chair Grahame Grieve
Kestral Computing
Modeling & Methodology Co-Chair Lloyd McKenzie
McKenzie Consulting
Modeling & Methodology Co-Chair Ravi Natarajan
NHS Connecting for Health

Table of Contents

1   Preface - Notes To Readers
    1.1   Balloting Under ANSI Continuous Maintenance Process
    1.2   Harmonized Update to RIM R4
    1.3   Scope of Normative RIM Content
    1.4   Management of RIM Changes Arising from Ballot
    1.5   Changes to RIM and Vocabulary Content Between R4 and Ballot2012Jan
    1.6   Release notes
Introduction: Requirements and Interpretation of the RIM
    2.1   Uses of a Reference Information Model (RIM) in Health Informatics [Reference]
    2.2   Specification contents [Normative]
    2.3   RIM Abstraction and UML Properties [Normative]
    2.4   Further information
Vocabulary and Data Types Specifications
    3.1   Normative Vocabulary for the RIM
    3.2   Governing Data Type Specification for the RIM
UML Diagrams of RIM Content
    4.1   Available Diagrams
    4.2   Graphic Diagrams of the RIM Back Bone content
    4.3   Graphic Diagrams of the RIM Infrastructure classes
Subject areas
    5.1  CommunicationInfrastructure
        5.1.1  CoreInfrastructure
        5.1.2  MessageCommunicationsControl
            5.1.2.1  MessageControl
            5.1.2.2  QueryControl
    5.2  FoundationClasses
        5.2.1  Acts
            5.2.1.1  StructuredDocuments
        5.2.2  Entities
        5.2.3  Roles
Classes
    6.1   Access
    6.2   Account
    6.3   Acknowledgement
    6.4   AcknowledgementDetail
    6.5   Act
    6.6   ActHeir
    6.7   ActRelationship
    6.8   Attachment
    6.9   AttentionLine
    6.10  Batch
    6.11  CommunicationFunction
    6.12  Container
    6.13  ContextStructure
    6.14  ControlAct
    6.15  Device
    6.16  DeviceTask
    6.17  DiagnosticImage
    6.18  Diet
    6.19  Document
    6.20  Employee
    6.21  Entity
    6.22  EntityHeir
    6.23  Exposure
    6.24  FinancialContract
    6.25  FinancialTransaction
    6.26  InfrastructureRoot
    6.27  InvoiceElement
    6.28  LanguageCommunication
    6.29  LicensedEntity
    6.30  LivingSubject
    6.31  ManagedParticipation
    6.32  ManufacturedMaterial
    6.33  Material
    6.34  Message
    6.35  NonPersonLivingSubject
    6.36  Observation
    6.37  Organization
    6.38  Parameter
    6.39  ParameterItem
    6.40  ParameterList
    6.41  Participation
    6.42  Patient
    6.43  PatientEncounter
    6.44  Person
    6.45  Place
    6.46  Procedure
    6.47  PublicHealthCase
    6.48  QualifiedEntity
    6.49  QueryAck
    6.50  QueryByParameter
    6.51  QueryContinuation
    6.52  QueryEvent
    6.53  QuerySpec
    6.54  Role
    6.55  RoleHeir
    6.56  RoleLink
    6.57  SortControl
    6.58  SubstanceAdministration
    6.59  Supply
    6.60  Transmission
    6.61  TransmissionRelationship
    6.62  WorkingList
Associations

Reference1 Preface - Notes To Readers
 1.1 Balloting Under ANSI Continuous Maintenance Process

This American National Standard is maintained using the continuous maintenance process. Comments or proposals for revision to any part of this standard may be submitted to HL7 at any time. Comments or proposals may be submitted on-line at www.HL7.org or in writing to the Associate Executive Director at Health Level Seven, Inc., 3300 Washtenaw Avenue Suite 227, Ann Arbor, Michigan 48104-4261. Comments or proposals submitted in writing must identify the standard in question and include the submitter’s name, affiliation, telephone number, and e-mail address.

 1.2 Harmonized Update to RIM R4

This RIM is not under ballot. It is the first Harmonized update to what will become RIM Release 5. It includes changes adopted during RIM and Vocabulary Harmonization in November 2011. The Normative RIM R4 is Version 02-36, which will be included in Normative Edition 2012.

 1.3 Scope of Normative RIM Content

The section outlines the portions of the RIM Normative Content for which negative ballot comments will be considered "in scope." The establishment of Normative ballot status for any particular section of the document is determined by two factors: the intention or objective of the document section in question; and the current Normative status of specific elements within those sections. The following two subsections address these facets.

 1.3.1 Ballot Status by Section

This ballot is made up of seven sections, including this one. As indicated by the icons in the ballot, the status for these seven sections is as follows:

  1. Preface - Notes to Balloters - Reference: Provides a guide to the reviewers for their review and establishes the "scope" of this ballot.

  2. Introduction - Mixed:See following sub-topics. and design of the RIM.

    • 2.1 Uses of a Reference Information Model (RIM) in Health Informatics - Reference Provides an overview of the requirements for the RIM.

    • 2.2 Specification contents - Normative Ballot (note below)

    • 2.3 RIM Abstraction and UML Properties - Normative Ballot This and 2.2 relate to the core structure of the RIM and the extensions to the UML to represent HL7-specific properties in the RIM.

  3. Vocabulary and Data Types Specifications - Normative Ballot: Expresses the Normative vocabulary content that is also part of this ballot, as well as the Normative binding to specific data types in both Data Types Release 1, and Data Types Release 2.

  4. RIM Diagrams - Reference: Facilitates reviewing the detailed elements of the RIM that appear in later sections.

  5. RIM Subject Areas - Reference: Provide a convenient, but non-normative grouping of classes by related areas.

  6. RIM Classes - Normative Ballot: This is the core content of the HL7 Reference Information Model, including the complete specification of each class in the RIM, the attributes of those classes, and data type and vocabulary constraints on those attributes.

  7. RIM Associations - Normative Ballot: This is a complete definition of the associations within the RIM, including, where a they exist, descriptions of those associations.
 1.3.2 RIM Changes as Result of Harmonization

The current RIM differs from RIM Release 4, owing to changes approved in Harmonization. This section considers the types of changes that have occurred to date:

  • Changes in the Cardinality and other properties of Attributes and Associations: Previously Normative attributes and associations may have had their cardinality changed. Such changes generally reflect a "relaxation" of the cardinality constraint, in order that the change not affect existing designs. Nevertheless, these changes are "in scope" for comment and vote. A listing of these changes can be found in subsequent sections.

  • Class and Attribute descriptive changes: Modeling and Methodology has an on-going process to review and improve the textual definitions and descriptions in the RIM The objective is to improve the definitions and descriptions that are at the core of the specification for Classes and Attributes in the RIM. In each case, the objective is to clarify the descriptions, not to alter them. The activity may also involve splitting the descriptive text into various annotation types.

    The presence of such alterations in the class and attribute descriptions are not "in scope" as changes in the class or attribute in question, unless it can be demonstrated that the alteration changed the semantic interpretation of the element in question. In general, the semantic definition includes only the "Definition", "Description", "Formal Constraint" and "Usage Constraint" annotations.

    The above notwithstanding, editorial comments and suggestions on the definitions are always welcome.

  • Additions and changes to Vocabulary Governing RIM Attributes with Data Type CS: In the period between RIM release there are always numerous additions to the Code Systems that provide concept codes for RIM attributes whose data type is "CS". These code systems are part of the Normative RIM Ballot, and thus these changes are "in scope" for comment and vote.
 1.4 Management of RIM Changes Arising from Ballot

The RIM is developed and maintained within HL7 using a process known as Harmonization. In this process, change proposals are developed by individual Work Groups that are developing content for forthcoming ballots. These change proposals are forwarded for review at a scheduled Harmonization Meeting, where they are reviewed by representatives of all of the Working Groups involved in ballot development. The results of those meetings are announced, and are subject to appeal at the Technical Steering Committee, although there has never been such an appeal to date.

With the adoption of the "ANSI Continuous Maintenance Process" for the RIM, which amounts to a continuous balloting process, the Methodology and Modeling Work Group (M&M) has determined that it wishes to continue using the Harmonization process as the primary method of adopting RIM and Vocabulary content changes. As a consequence, any RIM changes needed to reconcile Negative ballots will be documented and submitted for review at the next-available Harmonization meeting. The specific process, which was followed with prior "continuous maintenance" ballots, is as follows:

  • In face-to-face ballot reconciliation meetings and scheduled reconciliation conference calls, the Methodology and Modeling Work Group will review each negative comment and determine a recommended action. This action is documented in the Ballot reconciliation spreadsheet.

  • For each reconciliation action that would require Harmonization review, whether or not the change was found persuasive, M&M will seek to have a formal harmonization change proposal made to implement that change. The vote of M&M during reconciliation, will be noted as the "Interested Committee's Position" on the issue.

  • The change proposal will then be reviewed and acted upon at the next Harmonization meeting.

  • If the Harmonization Meeting does not agree with the recommendations from the M&M reconciliation meeting, the reconciliation group will be reconvened to consider what action to take next.

One of the consequences of this decision is that individuals submitting Negative votes should provide enough documentation that a formal Harmonization Change Proposal can be developed in support of the voter's position.

 1.5 Changes to RIM and Vocabulary Content Between R4 and Ballot2012Jan

Between the conclusion of balloting on RIM Release 4 in May 2010, and the publication of Ballot2012Jan a number of RIM changes were approved in the November Harmonization meeting. These are listed in the following sections.

 1.5.1 Additions to RIM Normative Content Since R4

No new properties were added to the list in section 2.2. Therefore that section and the the list of property definitions in section 2.3.3 are unchanged.

No classes or attributes were added in their entirety as new elements of the RIM since Release 4 was approved.

 1.5.2 Attributes Deprecated in RIM Normative Content Since R3

The following attributes in Normative RIM classes were Deprecated from further use since Release 4 was approved:

 1.5.3 Changes in Normative Vocabulary Content for RIM Since R3

REMAINS TO BE DOCUMENTED

 1.5.4 Cardinality Changes in RIM Normative Content Since R4

The following attributes in Normative RIM classes had their Cardinality changed since Release 4 was approved:

 1.5.5 Other Substantive Changes in RIM Normative Content Since R4

The following additional changes represent substantive change to RIM Release 4:

 1.5.6 Annotation Changes in RIM Normative Content Since R4

The following annotation changes (including the annotation type) were approved:

 1.6 Release notes

This RIM version includes updates to RIM, Release 4 that were approved during Harmonization in November 2011. This release of the RIM is bound to HL7 Abstract Data Types Release 2.

Questions should be addressed to the co-chairs of the Methodology and Modeling Committee and/or sent to the M&M e-mail list at mnm@lists.hl7.org


Return to Table of Contents
MixedContent2Introduction: Requirements and Interpretation of the RIM
 2.1 Uses of a Reference Information Model (RIM) in Health Informatics [Reference]
 2.1.1 Use of the RIM by HL7

The HL7 RIM is a critical component of the V3 development process. It is the root of all information models and structures developed as part of the V3 development process.

The HL7 V3 standard development process is a model-driven methodology in which a network of inter-related models are developed that depict the static and behavioral aspects of the requirements and design of HL7 standards, as well as the underlying semantics and business rules that govern them.

The RIM provides a static view of the information needs of HL7 V3 standards. It includes class and state-machine diagrams and is accompanied by story boards, interaction models, data type models, terminology models, and other types of models to provide a complete view of the requirements and design of HL7 standards. The classes, attributes, state-machines, and relationships in the RIM are used to derive domain-specific information models that are then transformed through a series of constraining refinement processes to eventually yield a static model of the information content of an HL7 standard.

The HL7 V3 standard development process defines the rules governing the derivation of domain information models from the RIM and the refinement of those models into HL7 standard specifications. The rules require that all information structures in derived models be traceable back to the RIM and that their semantic and related business rules not conflict with those specified in the RIM. The RIM therefore is the ultimate source for all information content in HL7 V3 standards.

The RIM is used by HL7 affiliates to extend HL7 V3 standards to meet local needs. Through a process known as localization, V3 standard specifications are extended using the RIM as the source for new information content. This new information is derived from the RIM and refined in the same manner used to create the original specification.

 2.1.2 Uses of the RIM Outside of HL7

The RIM is primarily for use by HL7 and its international affiliates. However, others outside of HL7 have also found the RIM useful. Although HL7 maintains a copyright on the expression of this standard, HL7 does not seek to license or otherwise control the use of information structures or programs that implement this specification.

Some adopters use the V3 standards development process and the RIM to develop HL7-like message specifications in their own environments. Other organizations are known to use the RIM as a source of input to their enterprise information architectures, as a starting place for systems analysis and design, as internal application objects, or even as the basic model for enterprise integration databases.These adopters include vendors, large integrated delivery networks, and government agencies. These same adopters are extremely active in HL7 and provide practical input to the RIM and other aspects of V3 the development process.

The RIM is only one model of health care information needs. The abstract style of the RIM and the ability to extend the RIM through vocabulary specifications make the RIM applicable to any conceivable health care system information interchange scenario. In fact, it is conceptually applicable to any information domain involving entities playing roles and participating in acts.

The universal applicability of the RIM makes it particularly useful for an organization like HL7 that has to consider the needs of a large and diverse membership. The style of the RIM makes it extremely stable, which is another important characteristic for HL7. The HL7 standards development process calls for the creation of domain specific models derived from the RIM and the incremental refinement of those models into design models that are specific to the problem area. These problem area specific design models narrow the abstractness of the RIM and include constraints on attribute values and class relationships that are use case specific. External organizations considering using the HL7 RIM are advised to adopt a similar process of deriving design models as a transformation of the RIM.

 2.2 Specification contents [Normative]

The RIM consists of classes assigned to one or more subject area packages. Attributes, Relationships, and State Machines are associated with classes.

Each class within the RIM represents information about a concept that must be documented and communicated within the health care environment. The names that are assigned to these classes are drawn from normal language, but the use of these names is necessarily constrained to the "name space" of the RIM. The meaning of these classes is entirely embodied in the definition of the class, and the definitions of the properties (attributes and associations) assigned to that class. Thus, for example, the meaning of the "Role" class can only be understood by studying the definition provided and the properties assigned. Definitions from another context or dictionary definitions for the name are not relevant within the context of the RIM name space.

The RIM is expressed using the Unified Modeling Language (UML) with HL7 specific tags as extensions to the UML model element meta-data. All standard UML model element meta-data values are normative but only the following HL7 extensions are also normative:

  1. Class.classCode
  2. Class.stateAttribute
  3. Attribute.conductible
  4. Attribute.conformance
  5. Attribute.defaultValue
  6. Attribute.isDocumentCharacteristic
  7. Attribute.isImmutable
  8. Attribute.mandatoryInclusion
  9. Attribute.vocabDomain
  10. Association.conformance
 2.3 RIM Abstraction and UML Properties [Normative]

The RIM uses a very abstract modeling style. At the core of the RIM are its back-bone classes, their specializations (sub-types), and the "structural" attributes that encode definitions for further enumerated sub-types that have no additional attributes and associations and are therefore not diagrammed as part of the RIM structure. An understanding of these classes and attributes is essential to understanding the RIM. This section describes how the abstractions are represented in UML and controlled through the application of controlling vocabulary that is part of this specification. An "executive overview" or high-level tutorial that provides examples of how these abstractions can be used to represent more detailed health information is contained in Annex B. [Note: the designation of attributes as "structural" is only an informal designation. Formally, these class codes and other type codes in the RIM are designated with the "isImmutable" property set to "true". Immutable attributes receive special handling in the Implementable Technology Specifications(ITS) and in the rules surrounding the allowed values in instances of the class.]

 2.3.1 RIM as an abstract model

The "back-bone" of the RIM, which is used to express the clinical and administrative content of health care, is comprised of six classes:

  • Act which represents the actions that are executed and must be documented as health care is managed and provided;
  • Participation which expresses the context for an act in terms such as who performed it, for whom it was done, where it was done, etc.;
  • Entity which represents the physical things and beings that are of interest to, and take part in health care;
  • Role which establishes the roles that entities play as they participate in health care acts;
  • ActRelationship which represents the binding of one act to another, such as the relationship between an order for an observation and the observation event as it occurs; and
  • RoleLink which represents relationships between individual roles.

Three of these classes - Act, Entity and Role - are further represented by a set of specialized classes, where the set of sub-types are not fully enumerated in the class model . In the HL7 representation, a sub-type is only added to the RIM class model if it requires one or more attributes or associations that are not inherited from its parents. Classes that represent distinct concepts, but which need no further attributes or associations are represented solely as a unique code in the controlling vocabulary. Therefore, these three classes include the following coded attributes, which serve to further define the concept being modeled:

  • classCode (in Act, Entity and Role) represents the exact class or concept intended, whether or not that class is represented as a class in the RIM hierarchy;
  • moodCode (in Act) and determinerCode (in Entity) an attribute that distinguishes whether the class represents an instance or a kind of Act or Entity. If the class is a specialization of Act then moodCode further delineates the instance as an occurrence or an intent;
  • code (in Act, Entity and Role) provides for further classification within a particular classCode value, such as a particular type of observation within the Observation class.

The other three RIM back-bone classes - Participation, ActRelationship and RoleLink - are not represented by enumerated generalization-specialization hierarchies. Nevertheless, these classes represent a variety of concepts, such as different forms of participation or different kinds of relationships between acts. These distinctions are represented by a typeCode attribute that is asserted for each of these classes.

 2.3.2 Representation of RIM class structure

As noted previously, the RIM is modeled using a subset of the semantics embodied in UML. The RIM is a set of UML classes, each containing one or more attributes, which are assigned a data type based on an independent specification of data types. The classes are linked either by a set of association relationships, identified by unique role names, or by generalization relationships.

Selected classes have defined state machines. The primary purpose of these state machines is to allow "trigger events" (events that initiate communication) to be defined with respect to the state transitions. These state machines are not intended to represent a full behavioral model for their respective classes. At present state machines are only defined for those "back bone" classes that have a unique identity, and thus represent persistent concepts. These classes are: Act, Managed Participation, Role and Entity. A state machine is also defined for the QueryEvent class in the QueryControl subject area.

Each of these elements includes a textual definition. The appearance of attributes and associations is controlled by cardinality and related constraints applied to the attributes and to the roles that link the associations to the classes.

 2.3.2.1 HL7 Properties for RIM classes

In order to meet the requirements of model-based development, the UML profile defined by HL7 includes two additional "properties" for RIM classes. These are:

  • Property: classCode - For classes that have specializations and a coded attribute that designates which of the specializations is active (Act Role and Entity in the current RIM), this property contains the defined class code for each specialization. Thus, for the Observation class in the RIM, the value of this property is "OBS."
  • Property: stateAttribute - For classes with a state machine, this property names the attribute that will be encoded with the name of the state of the class.
 2.3.3 Representation of RIM attributes

As noted previously, the RIM draws its information model elements from UML. Thus the attributes of the RIM classes each have a definition (and related annotations), a specified cardinality, and a defined data type. As was the case with classes (see above), the UML profile defined by HL7 includes five additional "properties" for RIM attributes. These are:

  • Property: conductible - Specific characteristics of this property are:
    • It applies to all attributes of the Act class and of the specializations of the Act class
    • It is a Boolean property; conformance to it is mandatory; and its default value is false.
    • The interpretation of this property is that:
      • If the property is true for a particular attribute it asserts that the value of that attribute will conduct. Conducted Act attributes are treated as propagating and overriding.
      • Example: In an instance, ActA.confidentialityCode = I. The "conductible" property for the RIM attribute Act.confidentialityCode is true and therefore, in this instance, the confidentialityCode value is conducted to ActB via a component act relationship. If ActB.confidentialityCode is not present, then ActB.confidentialityCode inherits the value “I” via conduction (propagating). If ActB.confidentialityCode were populated with a value of “N”, for instance, then the ActB value overrides the value conducted in, and propagates to subsequent acts (overriding and propagating).
  • Property: conformance -
    • The conformance constraint specifies how a model element must be handled by sending or receiving applications. Every attribute and association element in a model has an explicit or implicit conformance indicator constraint. The constraint has one of three values: Required, Unspecified or Not Permitted. The full specification of this property can be found in the Refinement, Constraint and Localization specification.
  • Property: defaultValue -
    • Selected RIM attributes, primarily those with a Boolean data type, have a designated "default value" specified with this property. If the attribute is not otherwise specified applications should treat the class as though this attribute is equal to its default value.
  • Property: isDocumentCharacteristic: - Specific characteristics of this property are:
    • Complete specification is in the document Core Principles and Properties of HL7 Version 3 Models, where the following definition is provided:
      • If true, indicates that the Act attribute or association (as represented by a typeCode for either ActRelationship or Participation) is a descriptor of the document (record) represented by the act object.
      • If false, indicates the property is a descriptor of the action itself — actual, intended, or potential. Applies to interpretation of attributes and associations with respect to changes in the value of Act.actionNegationInd and Act.moodCode. (See descriptions of these attributes for further discussion.)
      • For example, in an order, the "id" attribute [isDocumentCharacteristic = true] is an identifier of the record of the order, not an identifier of the intended event. On the other hand, the "code" attribute [isDocumentCharacteristic = false] describes a characteristic of the intended event.
  • Property: isImmutable -
    • Selected attributes of the RIM are designated as "immutable" by setting this property true. Once an object instance is defined that contains a value for an immutable attribute, that attribute cannot be changed for the life of that instance. (Note that for coded attributes, the attribute can be expressed at greater and lesser levels of granularity. For example, a public health case could be expressed with a classCode of CASE, OBS or ACT without violating the "no change" rule.
  • Property: mandatoryInclusion -
    • In an information model for communication, the mandatory property indicates whether a particular attribute must always have a non-null value in any HL7 instance. This property is asserted as true for a limited number of RIM attributes. Thus these attributes must be included in any information model class that is derived from the RIM class that contains the attribute.
  • Property: vocabDomain - Specific characteristics of this property are:
    • Each attribute of the RIM that is assigned a data type indicating that the attributes are coded (or might be constrained to a coded data type - such as ANY) has a "vocabDomain" property designating the HL7-defined Concept Domain whose concept space satisfies the requirements of that attribute. All of these concept domains are included as part of this ballot and are subject to the same voting principles as the other elements of the RIM.
    • Further, several of the attributes in the RIM are coded with the CS data type. In these cases the designated "vocabDomain" has been bound in the universal realm to a value set from which the codes for this SHALL be drawn. Moreover, this value set is defined against a code system that SHALL be defined and maintained by HL7. The classCode and typeCode attributes mentioned above are examples of attributes with a CS data type. All of the code systems for these attributes are included as part of this ballot and are subject to the same voting principles as the other elements of the RIM.
 2.3.4 Representation of RIM associations

As noted previously, the RIM draws its information model elements from UML. Thus the associations of the RIM classes each have a definition (and related annotations), a specified cardinality, etc. As was the case with attributes (see above), the UML profile defined by HL7 includes one additional "property" for RIM associations. This is:

  • Property: conformance -
    • The conformance constraint specifies how a model element must be handled by sending or receiving applications. Every attribute and association element in a model has an explicit or implicit conformance indicator constraint. The constraint has one of three values: Required, Unspecified or Not Permitted. The full specification of this property can be found in the Refinement, Constraint and Localization specification.
 2.3.5 Related specifications

As noted above, each attribute in the RIM is assigned a data type. The formal specification for these data types is embodied in the normative specification "HL7 Version 3 Standard: Data Types - Abstract Specification, Release 2".

 2.4 Further information

Questions or comments about the content of the standard may be addressed to HL7 at (www.hl7.org), to one of the HL7 International Affiliate organizations.

MembershipNormativeBallot3Vocabulary and Data Types Specifications
 3.1 Normative Vocabulary for the RIM
 3.1.1 Normative Concept Domain Constraints for RIM Attributes

The HL7 vocabulary specifications are detailed in a separate document. A selected sub-set of these specifications is part of the normative RIM specification. Specifically, each RIM attribute that is assigned a coded data type also has a defined Concept Domain that is the RIM-level constraint for that attribute. At the point where each RIM attribute is defined (below) the Concept Domain constraint for the coded attributes will be shown along with a hyper-link to the Concept Domain specification in the Vocabulary. Each of these Concept Domain definitions is part of this Normative specification.

 3.1.2 Normative Code Systems for RIM Attributes of Data Type CS
 3.2 Governing Data Type Specification for the RIM

In this ballot for Release 4 the RIM is bound to HL7 Version 3 Standard: Data Types - Abstract Specification, Release 2. As a consequence, the bulk of the HL7 V3 specifications in this ballot is expressed as data types R2. This practice was announced in 2009 and 2010 and took effect with ballot for January 2011.

Reference4UML Diagrams of RIM Content
 4.1 Available Diagrams

The representations available for the RIM include a diagram for most of the subject areas, state-machine diagrams for classes and a reference to the full RIM "billboard" in a PDF file where 'zooming' is more readily supported. The diagrams for the subject areas and state machines are grouped below.

 4.2 Graphic Diagrams of the RIM Back Bone content

The classes in the "back-bone" of the RIM are represented in the following diagrams:

 4.2.1 FoundationClasses Subject Area
FoundationClasses Subject Area

 4.2.2 Acts Subject Area
Acts Subject Area

 4.2.3 Entities Subject Area
Entities Subject Area

 4.2.4 Roles Subject Area
Roles Subject Area

 4.2.5 State-machine diagram for Act class
State-machine diagram for Act class

 4.2.6 State-machine diagram for Entity class
State-machine diagram for Entity class

 4.2.7 State-machine diagram for ManagedParticipation class
State-machine diagram for ManagedParticipation class

 4.2.8 State-machine diagram for Role class
State-machine diagram for Role class

 4.2.9 State-machine diagram for RoleLink class
State-machine diagram for RoleLink class

 4.2.10 StructuredDocuments Subject Area
StructuredDocuments Subject Area

 4.3 Graphic Diagrams of the RIM Infrastructure classes

The classes in the Communication Infrastructure subject areas are represented in the following diagrams:

 4.3.1 MessageCommunicationsControl Subject Area
MessageCommunicationsControl Subject Area

 4.3.2 MessageControl Subject Area
MessageControl Subject Area

 4.3.3 QueryControl Subject Area
QueryControl Subject Area

 4.3.4 CoreInfrastructure Subject Area
CoreInfrastructure Subject Area

 4.3.5 State-machine diagram for QueryEvent class
State-machine diagram for QueryEvent class

Reference5Subject areas

A collection of subject areas that define the technical infrastructure of HL7, including messaging and other components.

  • CommunicationInfrastructure contains subject areas:
CoreInfrastructure
MessageCommunicationsControl

This subject area contains those classes that provide foundation elements for the HL7 communications infrastructure.

Link to a class diagram of this subject area.

  • CoreInfrastructure contains classes:
ActHeir
EntityHeir
InfrastructureRoot
RoleHeir

A collection of classes related to the technical definition and control of message-based communication in HL7.

Link to a class diagram of this subject area.

  • MessageCommunicationsControl contains subject areas:
MessageControl
QueryControl

This subject area contains those RIM elements involved in the control, communication and acknowledgement of messages.

Link to a class diagram of this subject area.

  • MessageControl contains classes:
Acknowledgement
AcknowledgementDetail
Attachment
AttentionLine
Batch
CommunicationFunction
Message
Transmission
TransmissionRelationship

This subject area contains those classes necessary to formulate, communicate and respond to query messages.

Link to a class diagram of this subject area.

  • QueryControl contains classes:
Parameter
ParameterItem
ParameterList
QueryAck
QueryByParameter
QueryContinuation
QueryEvent
QuerySpec
SortControl

This collection of classes and their associations represent the "normative" content of the HL7 RIM. The content of this subject area has been balloted within HL7 as a normative document.

Link to a class diagram of this subject area.

  • FoundationClasses contains subject areas:
Acts
Entities
Roles

 5.2.1  Acts (in FoundationClasses)

A collection of classes including the Act class and its specializations. These relate to the actions and events that constitute health care services.

Link to a class diagram of this subject area.

  • Acts contains subject areas:
StructuredDocuments
  • Acts contains classes:
Account
Act
ActRelationship
ControlAct
DeviceTask
DiagnosticImage
Diet
Exposure
FinancialContract
FinancialTransaction
InvoiceElement
ManagedParticipation
Observation
Participation
PatientEncounter
Procedure
PublicHealthCase
SubstanceAdministration
Supply
WorkingList

 5.2.1.1  StructuredDocuments (in Acts)

A collection of classes related to the definition of document-based communication in HL7, as represented by the Clinical Document Architecture standards.

Link to a class diagram of this subject area.

  • StructuredDocuments contains classes:
ContextStructure
Document

 5.2.2  Entities (in FoundationClasses)

A collection of classes related to the Entity class, its specializations and related qualifying classes. The classes represent health care stakeholders and other things of interest to health care.

Link to a class diagram of this subject area.

  • Entities contains classes:
Container
Device
Entity
LanguageCommunication
LivingSubject
ManufacturedMaterial
Material
NonPersonLivingSubject
Organization
Person
Place

 5.2.3  Roles (in FoundationClasses)

A collection of classes related to the Role class and its specializations. These classes focus on the roles participants may play in health care.

Link to a class diagram of this subject area.

  • Roles contains classes:
Access
Employee
LicensedEntity
Patient
QualifiedEntity
Role
RoleLink

Return to Table of Contents
MembershipNormativeBallot6Classes

Each of the classes is listed below. They are sorted in the alphabetic order of their names. Each class includes a hyper-link to its primary subject area adjacent to the class name. This link can be used to quickly locate similar classes.

-
 6.1Class: Access (classCode= ACCESS) (in Roles)

Features of Access:

  • Attributes of Access:
approachSiteCode :: CD
targetSiteCode :: CD
gaugeQuantity :: PQ
  • Generalization of Access: Role

Definition of Access:

A role played by a device when the device is used to administer therapeutic agents (medication and vital elements) into the body, or to drain material (e.g., exudates, pus, urine, air, blood) out of the body.

UsageNotes:

In general, Access is a Role of a ManufacturedMaterial or Device, something specifically manufactured or created to serve that purpose, such as a catheter or cannula inserted into a compartment of the body. Devices in the role of an Access are typically used in intake/outflow observations and in medication routing instructions. Microbiologic observations on the material itself or on fluids coming out of a drain are also common.

The Access role primarily exists in order to describe material actually deployed as an access, and not so much the fresh material as it comes from the manufacturer. For example, in supply ordering a box of catheters from a distributor, it is not necessary to use the Access role class, since the material attributes will usually suffice to describe and identify the product for the order. The Access role is used to communicate about the maintenance, intake/outflow, and due replacement of tubes and drains.

Attributes of Access:

 6.1.1 Access.approachSiteCode :: CD (0..1)
   Property conformance: U
   Concept domain: ActSite

Definition:

The anatomic site where the Access (cannula, line or drain) first enters the body and, if applicable, a routing from the first entrance to the target site.

Rationale:

Since accesses are typically placed for a considerable period of time, and since the access is used as a resource of many acts, the access approach site becomes an important identifying attribute of the access itself (as opposed to merely being an attribute of the placement procedure).

Examples:

An arteria pulmonalis catheter targeting a pulmonary artery, with the access approach site being the vena carotis interna at the neck, or the vena subclavia at the fossa subclavia.

FormalConstraint:

The coding system is the same as for Procedure.approachSiteCode; indeed, the Access.approachSiteCode has been copied from the Procedure class into the Access role class. The value of the Access.approachSiteCode should be identical to the value of the Procedure.approachSiteCode of an associated access placement procedure.

 6.1.2 Access.targetSiteCode :: CD (0..1)
   Property conformance: U
   Concept domain: ActSite

Definition:

The site or body compartment into which access is being provided, (i.e., the compartment into which material is administered or from which it is collected).

Rationale:

Since accesses are typically placed for a considerable period of time, and since the access is used as a resource of many acts, the target site becomes an important identifying attribute of the access itself (as opposed to merely being an attribute of the placement procedure). The target site is important information that determines what kinds of substances may or may not be administered (e.g., special care to avoid medication injections into an arterial access).

Examples:

For a pulmonary artery catheter, the target site "arteria pulmonalis."

FormalConstraint:

The coding system is the same as for Procedure.targetSiteCode; indeed, the Access.targetSiteCode has been copied from the Procedure class into the Access role class. The value of the Access.targetSiteCode SHOULD be identical to the value of the Procedure.targetSiteCode of an associated access placement procedure.

 6.1.3 Access.gaugeQuantity :: PQ (0..1)
   Property conformance: U

Definition:

The inner diameter of the access.

Examples:

The lumen of the tube.

 6.2Class: Account (classCode= ACCT) (in Acts)

Features of Account:

  • Attributes of Account:
balanceAmt :: MO
currencyCode :: CD
interestRateQuantity :: RTO<MO,PQ.TIME>
allowedBalanceQuantity :: IVL<MO>
  • Generalization of Account: Act

Definition of Account:

A set of financial transactions that are tracked and reported together with a single balance.

UsageNotes:

Account can be used to represent the accumulated total of billable amounts for goods or services received, payments made for goods or services, and debit and credit accounts between which financial transactions flow.

Examples:

Patient accounts, encounter accounts, cost centers, accounts receivable

Attributes of Account:

 6.2.1 Account.balanceAmt :: MO (0..1)
   Property conformance: U

Definition:

The sum total of the debit and credit transactions that have posted to the account.

UsageNotes:

The balance of an account will generally be communicated in the currency identified as the account's currencyCode. However, one MAY communicate the balance in alternative currencies.

 6.2.2 Account.currencyCode :: CD (0..1)
   Property conformance: U
   Concept domain: Currency

Definition:

The currency that the account is managed in.

UsageNotes:

Specific amounts might be reported in another currency, but this attribute represents the default currency for activity in this account.

 6.2.3 Account.interestRateQuantity :: RTO<MO,PQ.TIME> (0..1)
   Property conformance: U

Definition:

The rate of interest that the account balance may be subject to.

UsageNotes:

This may represent interest charged (e.g., for loans, overdue accounts, etc.) or credited (investments, etc.) depending on the type of account.

Examples:

0.10/1a (10%/year); 0.0005895/1d (.05895%/day)

FormalConstraint:

Unit of the denominator PQ data type SHALL be comparable to seconds; i.e., the denominator must be measured in time.

 6.2.4 Account.allowedBalanceQuantity :: IVL<MO> (0..1)
   Property conformance: U

Definition:

An interval describing the minimum and maximum allowed balances for an account.

UsageNotes:

These are not necessarily 'hard' limits (i.e., the account may go above or below the specified amounts), however, they represent the 'target' range for the account, and there may be consequences for going outside the specified boundaries. It is not necessary to specify both upper and lower limits (or either) for an account.

Examples:

Stop loss limits, credit limits

 6.3Class: Acknowledgement (in MessageControl)

Features of Acknowledgement:

  • Attributes of Acknowledgement:
typeCode :: CS
expectedSequenceNumber :: INT.POS
messageWaitingNumber :: INT.NONNEG
messageWaitingPriorityCode :: CD

Definition of Acknowledgement:

Metadata necessary when acknowledging a message.

Attributes of Acknowledgement:

 6.3.1 Acknowledgement.typeCode :: CS (1..1) Mandatory
   Property conformance: R
   Property isImmutable: true
   Concept domain: AcknowledgementType

Definition:

The acknowledgement as defined in an enumerated set of acknowledgement types.

Examples:

The receiving application successfully processed message; the receiving application found error(s) in message

 6.3.2 Acknowledgement.expectedSequenceNumber :: INT.POS (0..1)
   Property conformance: U

Definition:

The sequence number of the message within a set of messages.

 6.3.3 Acknowledgement.messageWaitingNumber :: INT.NONNEG (0..1)
   Property conformance: U

Definition:

The number of messages the acknowledging application has waiting in queue for the receiving application.

UsageNotes:

These messages would need to be retrieved via queries. The message count facilitates receiving applications that cannot receive unsolicited message (i.e., polling).

Examples:

If there are 3 low priority messages, 1 medium priority message and 1 high priority message, the message waiting number would be 5, because that is the total number of messages.

 6.3.4 Acknowledgement.messageWaitingPriorityCode :: CD (0..1)
   Property conformance: U
   Concept domain: MessageWaitingPriority

Definition:

The highest level of importance in the set of messages the acknowledging application has waiting in queue for the receiving application.

UsageNotes:

These messages would need to be retrieved via queries. This facilitates receiving applications that cannot receive unsolicited messages (i.e., polling). The specific code specified identifies how important the most important waiting message is and may affect how soon the receiving application is required to poll for the message. Priority may be used by local agreement to determine the timeframe in which the receiving application is expected to retrieve the messages from the queue

 6.4Class: AcknowledgementDetail (in MessageControl)

Features of AcknowledgementDetail:

  • Attributes of AcknowledgementDetail:
typeCode :: CS
code :: CD
text :: ED
location :: DSET<ST>

Definition of AcknowledgementDetail:

A message that provides information about the communication, parsing or formal (non-business-rule) validation of the message being acknowledged.

Attributes of AcknowledgementDetail:

 6.4.1 AcknowledgementDetail.typeCode :: CS (1..1) Mandatory
   Property conformance: R
   Property isImmutable: true
   Concept domain: AcknowledgementDetailType

Definition:

The kind of information specified in the acknowledgement message.

Examples:

Error, warning, information.

 6.4.2 AcknowledgementDetail.code :: CD (0..1)
   Property conformance: U
   Concept domain: AcknowledgementDetailCode

Definition:

The type of acknowledgement, from an enumerated set of acknowledgement types.

DesignComments:

Original examples seem to indicate text, not code, by including specific attributes, dates. New examples supplied from concept domain.

Examples:

Required attribute missing; unsupported interaction; invalid code system in CNE.

 6.4.3 AcknowledgementDetail.text :: ED (0..1)
   Property conformance: U

Definition:

Additional diagnostic information relevant to the message.

UsageNotes:

This may be free text or structured data (e.g., XML).

Examples:

Java exception, memory dump, internal error code, call-stack information

 6.4.4 AcknowledgementDetail.location :: DSET<ST> (0..*)
   Property conformance: U

Definition:

Definition: The position within the message being acknowledged that is related to the acknowledgement message.

UsageNotes:

Only messages with localized errors will have this attribute populated. Open Issue: The specific format for the string that defines the message location needs to be identified. This might be "XPath" or possibly "OCL".

Examples:

Location of missing required attribute; location of invalid code in CNE; location not valued for unsupported interaction.

 6.5Class: Act (classCode= ACT) (in Acts)

Features of Act:

  • Attributes of Act:
classCode :: CS
moodCode :: CS
id :: DSET<II>
code :: CD
actionNegationInd :: BL
negationInd :: BL
derivationExpr :: ST.SIMPLE
title :: ED
text :: ED
statusCode :: CS
effectiveTime :: QSET<TS>
activityTime :: QSET<TS>
availabilityTime :: TS
priorityCode :: DSET<CD>
confidentialityCode :: CD
repeatNumber :: IVL<INT.NONNEG>
interruptibleInd :: BL
levelCode :: CD
independentInd :: BL
uncertaintyCode :: CD
reasonCode :: DSET<CD>
languageCode :: CD
isCriterionInd :: BL
  • Specializations of Act:
Account
ActHeir
ContextStructure
ControlAct
DeviceTask
Exposure
FinancialContract
FinancialTransaction
InvoiceElement
Observation
PatientEncounter
Procedure
Supply
WorkingList

Definition of Act:

A record of something that is being done, has been done, can be done, or is intended or requested to be done.

UsageNotes:

Acts connect to Entities in their Roles through Participations, and they connect to other Acts through ActRelationships. Participations indicate the performers, authors, and other responsible parties as well as subjects and beneficiaries (including tools and material used in the performance of the act, which are also subjects). The moodCode distinguishes among Acts that are meant as factual records, records of intended or ordered services, and other modalities in which acts can be recorded.

Rationale:

Acts are the pivot of the RIM: domain information and process records are represented primarily in Acts. Any profession or business, including healthcare, is primarily constituted of intentional and occasionally non-intentional actions, performed and recorded by responsible actors. An Act-instance is a record of such an action.

An Act-instance represents a "statement," according to Rector and Nowlan (1991) [Foundations for an electronic medical record. Methods Inf Med. 30.]

An activity in the real world may progress from definition, through planning and ordering to execution: these stages are represented as the moods of the Act. Even though one might think of a single activity as progressing through these stages, the "attributable statement" model of Act entails that this progression be reflected by multiple Act-instances, each having one and only one mood, and that this mood not change during the Act-instance's life cycle. This is because the attribution and content of speech acts along this progression of an activity may be different, and it is critical that a permanent and faithful record be maintained of this progression. The specification of orders or promises or plans must not be overwritten by the specification of what was actually done, so as to allow recipients of the information to compare actions with their earlier specifications. Act-instances that describe this progression of the same real world activity are linked through the ActRelationships (of the relationship category "sequel").

Acts as statements are the only representations of real world facts or processes in the HL7 RIM. The truth about the real world is constructed through the combination (and arbitration) of such attributed statements only, and there is no class in the RIM whose objects represent "objective state of affairs" or "real processes" independent from attributed statements. A factual statement may be made about recent (but past) activities, authored (and signed) by the performer of such activities, e.g. a surgical procedure report, clinic note, etc. Similarly, a status update may be made about an activity that is presently in progress, authored by the performer (or a close observer), and later superseded by a full procedure report. Both status update and procedure report are acts, distinguished by mood and state (see Act.statusCode) and completeness of information: neither has any epistemological priority over the other except as judged by the recipient of the information.

Examples:

The kinds of acts that are common in health care include (1) clinical observations, (2) assessments of health condition (such as problems and diagnoses), (3) healthcare goals, (4) treatment services (such as medication, surgery, physical and psychological therapy), (5) acts of assisting, monitoring or attending, (6) training and education services to patients and their next of kin, (7) notary services (such as advanced directives or living will), (8) editing and maintaining documents, and many others.

Attributes of Act:

 6.5.1 Act.classCode :: CS (1..1) Mandatory
   Property conformance: R
   Property isImmutable: true
   Concept domain: ActClass

Definition:

The major class of Acts to which an Act-instance belongs.

UsageNotes:

For Act-instances that have an Act.code, the Act.code SHALL be a specialization of the Act.classCode. The Act.code, however, cannot alter the meaning of the Act.classCode.

This attribute provides a tightly controlled vocabulary of Act class "types" that is balloted with the RIM, and can be used to represent a type enumeration that might have been represented as a physical class in the RIM, but was not because while it had unique meaning, it did not require unique attributes or unique patterns of associations. The "code" attribute defines a specific sub-type of this Act type, and is intended to allow use of rich terminologies such as LOINC and SNOMED to represent these sub-types.

FormalConstraint:

Every Act-instance SHALL have a classCode. If the act class is not further specified, the most general Act.classCode (ACT) is used.

 6.5.2 Act.moodCode :: CS (1..1) Mandatory
   Property conformance: R
   Property isImmutable: true
   Property isDocumentCharacteristic: true
   Concept domain: ActMood

Definition:

The intended use of the Act statement: as a report of fact, a command, a possibility, a goal, etc.

UsageNotes:

To describe the progression of a business activity from definition to planning to execution, etc., one must instantiate Act-instances in each of the required moods and link them using ActRelationship of general type "sequel." (See ActRelationship.typeCode.)

Since the mood code is a determining factor for the meaning of an entire Act object, the mood must always be known. This means that whenever an act object is instantiated, the mood attribute SHALL be assigned to a valid code, and the mood assignment SHALL NOT change throughout the lifetime of the act object.

The Act.moodCode modifies the meaning of the Act class in a controlled way, just as in natural language, grammatical form of a verb modifies the meaning of a sentence in defined ways. For example, if the mood is factual (event), then the entire act object represents a known fact. If the mood expresses a plan (intent), the entire act object represents the expectation of what should be done.

As the meaning of an Act-instance is factored in the mood code, the mood code affects the interpretation of the entire Act object and with it every property (attributes and associations). Note that the mood code affects the interpretation of the act object, and the meaning of the act object in turn determines the meaning of the attributes. However, the mood code does not arbitrarily change the meaning of individual attributes.

Acts have two kinds of act properties, inert and descriptive. Inert properties are not affected by the mood, but descriptive properties follow the mood of the object. For example, there is an identifier attribute Act.id, which gives a unique identification to an act object. Being a unique identifier for the object is in no way dependent on the mood of the act object. Therefore, the "interpretation" of the Act.id attribute is inert with respect to the act object's mood.

By contrast, most of the Act class attributes describe what the Act statement expresses. Descriptive properties of the Act class answer the questions who, whom, where, with what, how and when the action is done. The questions who, whom, with what, and where are answered by Participations, while how and when are answered by descriptive attributes and ActRelationships. The interpretation of a descriptive attribute is aligned with the interpretation of the entire act object, and controlled by the mood.

Examples:

To illustrate the effect of mood code, consider a "blood glucose" observation.

The Definition mood specifies the Act of "obtaining blood glucose." Participations describe in general the characteristics of the people who must be involved in the act, and the required objects, e.g., specimen, facility, equipment, etc. involved. The Observation.value specifies the absolute domain (range) of the observation (e.g., 15-500 mg/dl).

In Intent mood the author of the intent expresses the intent that he or someone else "should obtain blood glucose." The participations are the people actually or supposedly involved in the intended act, especially the author of the intent or any individual assignments for group intents, and the objects actually or supposedly involved in the act (e.g., specimen sent, equipment requirements, etc.). The Observation.value is usually not specified, since the intent is to measure blood glucose, not to measure blood glucose in a specific range. (But compare with GOAL below).

In Request mood, a kind of intent, the author requests "please measure blood glucose." The Participations identify the people actually and supposedly involved in the act, especially the order placer and the designated filler, and the objects actually or supposedly involved in the act (e.g., specimen sent, equipment requirements, etc.). The Observation.value is usually not specified, since the order is not to measure blood glucose in a specific range.

In Event mood, the author states that "blood glucose was measured." Participations indicate the people actually involved in the act, and the objects actually involved (e.g., specimen, facilities, equipment). The Observation.value is the value actually obtained (e.g., 80 mg/dL, or <15 mg/dL).

In Event Criterion (not to be confused with Criterion) mood, an author considers a certain class of "obtaining blood glucose" possibly with a certain value (range) as outcome. The Participations constrain the criterion, for instance, to a particular patient. The Observation.value is the range in which the criterion would hold (e.g. > 180 mg/dL or 200-300 mg/dL).

In Goal mood (a kind of criterion), the author states that "our goal is to be able to obtain blood glucose with the given value (range)." The Participations are similar to those in Intent mood, especially the author of the goal and the patient for whom the goal is made. The Observation.value is the range which defines when the goal is met (e.g. 80-120 mg/dl).

OpenIssue:

In the May 2009 ballot, a strong Negative vote was lodged against several of the concept definitions in the vocabulary used for Act.moodCode. The vote was found "Persuasive With Mod", with the understanding that M&M would undertake a detailed review of these concept definitions for a future release of the RIM

 6.5.3 Act.id :: DSET<II> (0..*)
   Property conformance: U
   Property isDocumentCharacteristic: true

Definition:

A unique identifier for the Act.

UsageNotes:

Successful communication only requires that an act have a single identifier assigned to it. However, it is recognized that as different systems maintain different databases, there may be different instance identifiers assigned by different systems.

 6.5.4 Act.code :: CD (0..1)
   Property conformance: U
   Concept domain: ActCode

Definition:

The particular kind of Act that the Act-instance represents within its class.

UsageConstraint:

Act.code, if used, SHALL be a specialization of the Act.classCode.

UsageNotes:

Act.code is not a required attribute of Act. Rather than naming the kind of Act using an Act.code, one can specify the Act using only the class code and other attributes and properties of the Act. In general and more commonly, the kind of Act is readily specified by an ActRelationship specifying that this Act instantiates another Act in definition mood. Even without reference to an act definition, the act may be readily described by other attributes, ActRelationships and Participations. For example, the kind of SubstanceAdministration may be readily described by referring to the specific drug, as the Participation of an Entity representing that drug.

This attribute defines a specific sub-type of a given Act type (determined by the "classCode" attribute). It allows the use of rich terminologies such as LOINC and SNOMED to represent sub-types of the limited set of Act types defined by "classCode."

Act.classCode and Act.code are not modifiers of each other. The Act.code concept should imply the Act.classCode concept. For a negative example, it is not appropriate to use an Act.code "potassium" together with and Act.classCode for "laboratory observation" to somehow mean "potassium laboratory observation" and then use the same Act.code for "potassium" together with Act.classCode for "medication" to mean "substitution of potassium". This mutually modifying use of Act.code and Act.classCode is not permitted.

DesignComments:

The superstructure of the ActCode domain should reflect the structure of ActClass domain, in order that individual codes or externally referenced vocabularies within ActCode be subordinated to the ActClass structure.

Explain criteria for when it would be appropriate to use code rather than ActRelationship.

Examples:

Physical examination, serum potassium, inpatient encounter, charge financial transaction, etc.

 6.5.5 Act.actionNegationInd :: BL (0..1)
   Property conformance: U
   Property defaultValue: false
   Property isImmutable: true

Definition:

An indicator specifying that the Act statement is a negation of the Act in Event mood as described by the descriptive attributes.

UsageNotes:

The actionNegationInd works as a negative existence quantifier on the actual, intended or described Act event. In Event mood, it indicates the defined act did not occur. In Intent mood, it indicates the defined act is not intended/desired to occur. In Criterion mood, it indicates that the condition is based on the non-occurrence of the event. It is nonsensical to have a negationInd of true for acts with a mood of definition.

The actionNegationInd negates the Act as described by the descriptive properties (including Act.code, Act.effectiveTime, Observation.value, Act.doseQty, etc.) and any of its components. The document characteristic properties such as Act.id, Act.moodCode, Act.confidentialityCode, and particularly the Author-Participation are not negated. These document characteristic properties always have the same meaning: i.e., the author remains to be the author of the negative observation. Also, most ActRelationships (except for components) are not included in the negation. Refer to the attribute isDocumentCharacteristic property and the ActRelationshipType and ParticipationType code system isDocumentCharacteristic properties for specific guidance.

For example, a highly confidential order written by Dr. Jones, to explicitly not give "succinyl choline" for the "reason" (ActRelationship) of a history of malignant hyperthermia (Observation) negates the descriptive properties "give succinyl choline" (Act.code), but it is still positively an order and written by Dr. Jones and for patient John Smith, and the reason for this order is the patient's history of malignant hyperthermia.

However, additional detail in descriptive attributes will be part of the negation which then limits the effectiveness of the negated statement. For example, had the order "not to give a substance" included a doseQuantity, it would mean that the substance should not be given at that particular dose (but any other dose might still be O.K.).

An act statement with actionNegationInd is still a statement about the specific fact described by the Act. For instance, a negated "patient had an appendectomy on July 1" means that the author positively denies that appendectomy occurred on July 1, and that he takes the same responsibility for such statement and the same requirement to have evidence for such statement than if he had not used negation. Conversely, the action negation indicator does not just negate that the fact was affirmed or that the statement had been made. This holds for all moods in the same way, e.g., a negated order is an order not to do the described act, not just the lapidary statement that there is no such order. Such lapidary statements are handled by negating the control act that created the subject act. I.e. "An order of this type (DEFN mood) with an author of Dr. Smith was not created."

Note that for Observations, actionNegationInd indicates that the act itself did not occur. I.e. no observation took place. To indicate that an observation did occur but the finding was negative, use Observation.valueNegationInd.

Examples:

When used with event mood, allows communicating "Surgery was not performed" or "Consent was not given". When used in order mood, allows communicating "Do not administer this substance". When used in EVN.CRIT mood allows you to say "If the patient is not admitted . . ."

 6.5.6 Act.negationInd :: BL (0..1)
   Property conformance: U
   Property defaultValue: false
   Property isImmutable: true

Deprecation Information:

This attribute was deprecated for future use in HL7 Design Models at the September, 2008 Working Group Meeting, effective with RIM release 0221. The semantics of this attribute have been divided between the new actionNegationInd attribute and the Observation.valueNegationInd attribute. For existing models, designers should examine the model documentation and usage to determine which set of semantics apply. New models and new versions of existing models SHALL NOT use this attribute. This attribute will be removed from the RIM as part of the 2011 Normative Edition.


Definition:

An indication that the Act statement is a negation of the Act as described by the descriptive attributes.

UsageNotes:

The negationInd works as a negative existence quantifier. This is best explained on Acts in criterion mood, and then translates into all other moods. In criterion mood without negation, one usually only specifies a few critical attributes and relationships (features) of an Act, i.e., only those that are needed to test the criterion. The more features one specifies, the more constrained (specific) is the criterion. For example, to test for "systolic blood pressure of 90-100 mm Hg," one would use only the descriptive attributes Act.code (for systolic blood pressure) and Observation.value (for 90-100 mm Hg). If one would also specify an effectiveTime, i.e., for "yesterday," the criterion would be more constrained. If the negationInd is true for the above criterion, then the meaning of the test is whether a systolic blood pressure of 90-100 mm Hg yesterday does not exist (independent of whether any blood pressure was measured).

The negationInd negates the Act as described by the descriptive properties (including Act.code, Act.effectiveTime, Observation.value, Act.doseQty, etc.) and any of its components. The inert properties such as Act.id, Act.moodCode, Act.confidentialityCode, and particularly the Author-Participation are not negated. These inert properties always have the same meaning: i.e., the author remains to be the author of the negative observation. Of ActRelationships , only components are included in the negation.

For example, a highly confidential order written by Dr. Jones, to explicitly not give "succinyl choline" for the "reason" (ActRelationship) of a history of malignant hyperthermia (Observation) negates the descriptive properties "give succinyl choline" (Act.code), but it is still positively an order and written by Dr. Jones and for patient John Smith, and the reason for this order is the patient's history of malignant hyperthermia.

However, additional detail in descriptive attributes will limit the effective scope of the negation. For example, had the order not to give a substance included a doseQuantity, it would mean that the substance should not be given at that particular dose, but does not prohibit medication at any other dose.

An act statement with negationInd is still a statement about the specific fact described by the Act. For instance, a negated "finding of wheezing on July 1" means that the author positively denies that there was wheezing on July 1, and that he takes the same responsibility for such statement and the same requirement to have evidence for such statement than if he had not used negation. Conversely, negationInd does not just negate that the fact was affirmed or that the statement had been made. This holds for all moods in the same way, e.g., a negated order is an order not to do the described act, not just a statement that there is no such order.

Examples:

Used with an Observation event, it allows one to say "patient has NO chest pain." With an Observation criterion it negates the criterion analogously, e.g., "if patient has NO chest pain for 3 days ...," or "if systolic blood pressure is not within 90-100 mm Hg ..."

 6.5.7 Act.derivationExpr :: ST.SIMPLE (0..1)
   Property conformance: U

Deprecation Information:

This attribute was deprecated for future use in HL7 Design Models at the March 2011 Harmonization Meeting. Data types R2, to which this model is bound, contains the EXPR data type that subsumes the use of the previous Act.derivationExpr attribute. As described in the data types R2 standard, EXPR is: "A generic data type extension used to specify an expression that can be used to derive the actual value of T [another data type] given information taken from the context of use." It may be used as part of the data type constraint of any attribute.


Definition:

A character string containing a formal language expression that specifies how the Act's attributes are, should be, or have been derived from input parameters associated with derivation relationships.

UsageNotes:

Derived observations can be defined through association with other observations using ActRelationships of type "derivation." For example, to define a derived observation for Mean Corpuscular Hemoglobin (MCH) one will associate the MCH observation with a Hemoglobin (HGB) observation and a Red Blood cell Count (RBC) observation: the derivation expression value encodes the formula: MCH = HGB / RBC.

FormalConstraint:

The derivation expression is represented as a character string.

OpenIssue:

The syntax of that expression is yet to be fully specified. Update status of this effort.

 6.5.8 Act.title :: ED (0..1)
   Property conformance: U
   Property isDocumentCharacteristic: true

Definition:

A word or phrase by which a specific Act may be known among people.

UsageNotes:

This is not a formal identifier but rather a human-recognizable common name. However it is similar to the id attribute in that it refers to a specific Act rather than a 'kind' of act. (For definition mood, the title refers to that specific definition, rather than to a broad category that might be conveyed with Act.code.)

Examples:

Name of a research study (e.g., "Scandinavian Simvastatin Study"), name of a court case (e.g., "Brown v. Board of Education"), name of another kind of work project or operation. For acts representing documents, this is the title of the document.

FormalConstraint:

Previous to release 2.05 of the RIM, this attribute bore the datatype ST. From release 2.05 onwards, the datatype was extended to a constrained restriction of the ED datatype. The constraints to be imposed are identical to those for the ST datatype, except that the mediaType shall be "text/x-hl7-title+xml" or "text/plain". The intent is to allow sufficient mark-up to convey the semantics of scientific phrases, such as chemical compounds. This markup must not be used to convey simple display preferences. The default mediaType should be "text/plain".

 6.5.9 Act.text :: ED (0..1)
   Property conformance: U
   Property isDocumentCharacteristic: true

Definition:

A renderable textual or multimedia description (or reference to a description) of the complete information which would reasonably be expected to be displayed to a human reader conveyed by the Act.

UsageNotes:

The content of the description is not considered part of the functional information communicated between computer systems. For Acts that involve human readers and performers, however, computer systems must show the Act.text field to a human user, who has responsibility for the activity; or at least must indicate the existence of the Act.text information and allow the user to see that information.

Free text descriptions are used to help individuals interpret the content and context of acts, but all information relevant for automated functions SHALL be communicated using the proper attributes and associated objects.

A user SHOULD be able to read Act.text alone, without seeing any of the encoded information, and have no risk of misinterpreting or lacking full understanding of the full content of the Act. For example, II.root, or CD.codeSystem would not normally be displayed to a human and thus would not need to be exposed as part of Act.text.

The rendering is expected to include all 'descendent' ActRelationships and Participations, recursively navigating child Acts as exposed in that particular 'snapshot.' However, there are several data elements which are NOT expected to be included in the rendering. These are

  • Component Sections (ActRelationship=COMP, classCode <= DOCSECT)

  • The title attribute

  • Anything attached to ActRelationship=XFRM)

  • Previous versions (ActRelationship=RPLC)

Act.text MAY include information that is not in the other attributes/associations, but SHALL include all information that is in such attributes or associations, with the exception of those identified above.

Act.text SHALL NOT be used for the sharing of computable information. Computable information SHALL be conveyed using discrete attributes. Any information which Act.text contains not elsewhere exposed in encoded information will be opaque to computer systems. For this reason, Act.text SHALL not be used to contain information which negates or significantly modifies the understanding of information encoded in discrete attributes.

To communicate "supplemental text," an act relationship (e.g. "component" or "subject of") should be created to a separate Act with a bare Act.text attribute to convey the supplemental information, possibly with a code indicating "annotation" or some similar concept.

UsageNotes:

Clarify strength of "Act.text SHALL NOT be used for the sharing of computable information": should this be a constraint?

Examples:

For act definitions, the Act.text can contain textbook-like information about that act. For act orders, the description will contain particular instructions pertaining only to that order.

 6.5.10 Act.statusCode :: CS (0..1)
   Property conformance: U
   Concept domain: ActStatus

Definition:

The state of the Act.

UsageNotes:

The status reflects the state of the activity. In the case of an Observation, this is the status of the activity of observing (e.g., "new," "complete," "cancelled"), not the status of what is being observed (e.g., disease status, "Active" allergy to penicillin). To convey the status of the subject being observed, consider coordinating it into the code or value attribute of the Observation or using a related Observation.

 6.5.11 Act.effectiveTime :: QSET<TS> (0..1)
   Property conformance: U

Definition:

The clinically or operationally relevant time of an act, exclusive of administrative activity.

UsageNotes:

The effectiveTime is also known as the "primary" time (Arden Syntax) or the "biologically relevant time" (HL7 v2.x). This attribute is distinguished from activityTime.

For observations, the time of the observation activity may be much later than the time of the observed feature. For instance, in a Blood Gas Analysis (BGA), a result will not be available for several minutes after the specimen was taken, meanwhile the patient's physiological state may have changed significantly.

For essentially physical activities (surgical procedures, transportations, etc.), the effective time is the time of interest for the Act's intention, i.e., since the intention of a transportation is to deliver a payload from location A to B, the effectiveTime is the time this payload is underway from A to B. However, the Act usually also includes accidental work which is necessary to perform the intention of the Act, but is not relevant for the Act's purpose.

For example, the time a driver needs to go to the pick-up location A and then return from drop-off location B to some home base, is included in the physical activity (as activityTime), but it does not matter from the perspective of the payload's transportation and is excluded from effectiveTime. Another example: a person's work hours (effectiveTime) may be from 8 AM to 5 PM, no matter whether that person needs 10 minutes for the commute or 2 hours. The commute is necessary to be at work, but it is not part of the working time.

Examples:

For clinical Observations, the effectiveTime is the time at which the observation holds (is effective) for the patient.

For contracts, the effectiveTime is the time for which the contract is in effect.

For consents, the effectiveTime is the time for which the consent is valid.

For substance administrations, the effective time is the time over which the substance is to be administered, including the frequency of administration (e.g., TID for 10 days)

For a surgical procedure (operation), the effectiveTime is the time relevant for the patient, i.e., between incision and last suture.

For transportation acts, the effective time is the time the transported payload is en route.

For patient encounters, this is the "administrative" time, i.e., the encounter start and end date required to be chosen by business rules, as opposed to the actual time the healthcare encounter related work is performed.

 6.5.12 Act.activityTime :: QSET<TS> (0..1)
   Property conformance: U

Definition:

A time expression specifying when an Observation, Procedure, or other Act occurs, or, depending on the mood, is supposed to occur, scheduled to occur, etc. The activityTime includes the times of component actions (such as preparation and clean-up). For Procedures and SubstanceAdministrations, the activityTime can provide a needed administrative function by providing a more inclusive time to be anticipated in scheduling.

UsageNotes:

The activityTime is primarily of administrative rather than clinical use. The clinically relevant time is the effectiveTime. When an observation of a prior symptom is made, the activityTime describes the time the observation is made, as opposed to effectiveTime which is the time the symptom is reported to have occurred. Thus the activityTime may be entirely different from the effectiveTime of the same Act. However, even apart from clinical use cases, designers should first consider effectiveTime as the primary relevant time for an Act.

ActivityTime indicates when an Act occurs, not when it is recorded. Many applications track the time an observation is recorded rather than the precise time during which an observation is made, in which case Participation.time (e.g. of the Author) should be used. These recorded observations can take place during an encounter, and the time of the encounter often provides enough information so that activityTime isn't clinically relevant.

ActivityTime is a descriptive attribute: like effectiveTime, it always describes the Act event as it does or would occur. For example, when a procedure is requested, the activityTime describes the requested total time of the procedure, which may differ from the time recorded for the resulting event. By contrast, the author Participation.time is inert, i.e., author participation time on an order specifies when the order was written and has nothing to do with when the event might actually occur.

 6.5.13 Act.availabilityTime :: TS (0..1)
   Property conformance: U
   Property isDocumentCharacteristic: true

Definition:

The point in time at which information about Act-instance (regardless of mood) first became available to a system reproducing this Act. The availabilityTime is metadata describing the record, not the Act.

UsageNotes:

The availabilityTime is added (or changed) by any system that receives this Act, and is not attributed to the author of the act statement (it would not be included in the material the author would attest to with a signature). The system reproducing the Act is often not the same as the system originating the Act, but a system that received this Act from somewhere else, and, upon receipt of the Act, values the availabilityTime to convey the time since the users of that particular system could have known about this Act-instance.

A system evaluates availabilityTime on receipt (or creation) of information, and must be able to produce the availabilityTime of the information if and when it communicates that information further.

Rationale:

An Act might record that a patient had a right-ventricular myocardial infarction effective three hours ago (see Act.effectiveTime), but we may only know about this unusual condition a few minutes ago (Act.availabilityTime). Thus, any interventions from three hours ago until a few minutes ago may have assumed the more common left-ventricular infarction, which can explain why these interventions (e.g., nitrate administration) were taken, even though they may not have been appropriate in light of the more recent knowledge.

DesignComments:

Clarify: Does the act acquire a new availability time with each transmission? Does this value indicate to which system it refers? Or is it always defined as the availability time for the transmitting system in the context of a message, any further transmission either dropping or overwriting it, and recording, if necessary, previous transmission times as separate observations?

Deleted text indicates availabilityTime is "attributed to the author of an act that includes or refers to the act." It is not clear why this attribute should require special conduction rules: are they different from the rules for other attributes?

 6.5.14 Act.priorityCode :: DSET<CD> (0..*)
   Property conformance: U
   Concept domain: ActPriority

Definition:

The urgency under which the Act happened, can happen, is happening, is intended to happen, or is requested/demanded to happen.

UsageNotes:

This attribute is used in orders to indicate the ordered priority, and in event documentation it indicates the actual priority used to perform the act. In definition mood it indicates the available priorities, hence the open cardinality.

Examples:

Routine, elective, emergency.

 6.5.15 Act.confidentialityCode :: CD (0..1)
   Property conformance: U
   Concept domain: Confidentiality

Definition:

Constraints around appropriate disclosure of information about this Act, regardless of mood.

 6.5.16 Act.repeatNumber :: IVL<INT.NONNEG> (0..1)
   Property conformance: U

Definition:

An interval of integer numbers stating the minimal and maximal number of repetitions of the Act.

UsageNotes:

This attribute is a member of the workflow control suite of attributes.

The number of repeats is additionally constrained by time. The act will repeat at least the minimal number of times and at most, the maximal number of times, unless the time exceeds the maximal Act.effectiveTime, at which point the repetitions will terminate

On an Act in Event mood, the repeatNumber is usually 1. If greater than 1, the Act represents a summary of several event occurrences occurring over the time interval described by effectiveTime. These occurrences are not otherwise distinguished.

To distinguish occurrences of acts within a sequence of repetitions, use distinct instances of Act related by ActRelationships using ActRelationship.sequenceNumber.

Examples:

An oral surgeon's advice to a patient after tooth extraction might be: "replace the gauze every hour for 1 to 3 times until bleeding has stopped completely." This translates to repeatNumber with low boundary 1 and high boundary 3.

 6.5.17 Act.interruptibleInd :: BL (0..1)
   Property conformance: U

Definition:

An indication that the Act is interruptible by asynchronous events.

UsageNotes:

This attribute is part of the suite of workflow control attributes. Act events that are currently active can be interrupted in various ways. Interrupting events include (1) an explicit abort request against the Act, (2) expiration of the time allotted to this Act (timeout), (3) a "through condition" ceases to hold true for this Act (see ActRelationship.checkpointCode), (4) the Act is a component with the joinCode "kill" and all other components in that same group have terminated (see Act.joinCode), and (5) a containing Act is interrupted.

If an Act receives an interrupt and the Act itself is interruptible, but it has currently active component-Acts that are non-interruptible, the Act will be interrupted when all of its currently active non-interruptible component-acts have terminated.

 6.5.18 Act.levelCode :: CD (0..1)
   Property conformance: U
   Property isDocumentCharacteristic: true
   Concept domain: ActContextLevel

Deprecation Information:

Readers should be aware that this attribute may be declared "obsolescent" in the next normative release of the HL7 RIM. An alternate representation of this concept using a specified hierarchy of Act classCode values is being considered. If the change is adopted, HL7's RIM maintenance procedures state that the levelCode would be declared "obsolescent" in the next RIM release, and then become "obsolete" in the release following that. Users are advised to check with the latest HL7 internal definitions of the RIM, before using this attribute.


Definition:

Code specifying the level within a hierarchical Act composition structure and the kind of contextual information attached to composite Acts ("containers") and propagated to component Acts within those containers. The levelCode signifies the position within such a containment hierarchy and the applicable constraints.

UsageConstraint:

The constraints applicable to a particular level may include differing requirements for participations (e.g. patient, source organization, author or other signatory), relationships to or inclusion of other Acts, documents or use of templates. The constraints pertaining to a level may also specify the permissible levels that may be contained as components of that level. Several nested levels with the same levelCode may be permitted, prohibited (or limited). Instances of the next subordinate level are usually permitted within any level but some levels may be omitted from a model and it may be permissible to skip several layers.

UsageNotes:

The levelCode concepts have been defined to meet specific health record transfer requirements. While these concepts are known to be applicable to some other types of transactions, they are not intended to be a complete closed list. Options exist for other sets of orthogonal levels where required to meet a business purpose (e.g. a multiple patient communication may be subdivided by a super-ordinate level of subject areas).

DesignComments:

Pending deprecation decision: this attribute does not seem to have been maintained.

Examples:

The "extract level" and the "folder level" must contain data about a single individual, whereas the "multiple subject level" may contain data about multiple individuals. While "extract" can originate from multiple sources, a "folder" should originate from a single source. The "composition" level usually has a single author.

 6.5.19 Act.independentInd :: BL (0..1)
   Property conformance: U
   Property defaultValue: true

Definition:

An indicator specifying whether the Act can be manipulated independently of other Acts or only through a super-ordinate composite Act that has this Act as a component.

UsageNotes:

By default the independentInd should be true. An Act definition is sometimes marked with independentInd=false if the business rules would not allow this act to be ordered without ordering the containing act group.

Examples:

An order may have a component that cannot be aborted independently of the other components.

 6.5.20 Act.uncertaintyCode :: CD (0..1)
   Property conformance: U
   Property isDocumentCharacteristic: true
   Concept domain: ActUncertainty

Definition:

An indication that the Act statement as a whole, with its subordinate components has been asserted to be uncertain in some way.

UsageNotes:

Uncertainty asserted using this attribute applies to the combined meaning of the Act statement established by all descriptive attributes (e.g., Act.code, Act.effectiveTime, Observation.value, SubstanceAdministration.doseQuantity, etc.), and the meanings of any components, not uncertainty regarding the value of Observation.value or any other particular attribute. These should be specified by applying the PPD or UVP data type extensions to the specific attribute. Uncertainty regarding a quantitative measurement value must still be represented by a PPD<PQ> in the value; differential diagnoses enumerated or weighed for probability must use the UVP<CD>. The use of the uncertaintyCode is appropriate only if the entirety of the Act and its dependent Acts is questioned.

There is no relationship between uncertaintyCode and negationInd. One may be very uncertain about an event, but that does not mean that one is certain about the negation of the event.

If this attribute is left unspecified or is omitted from a particular model, it SHALL be inferred that the attribute has the semantic of “stated with no assertion of uncertainty”.

No default value shall be declared for this attribute with a semantic that differs from “stated with no assertion of uncertainty”, though defaults may be asserted that convey this semantic in any desired code system.

Examples:

Patient might have had a cholecystectomy procedure in the past, but isn&apost sure: stated with uncertainty. Patient stipulates a cholecystectomy procedure in the past: stated with no assertion of uncertainty.

 6.5.21 Act.reasonCode :: DSET<CD> (0..*)
   Property conformance: U
   Concept domain: ActReason

Definition:

The motivation, cause, or rationale of an Act, when such rationale is not reasonably represented as an ActRelationship of type "has reason" linking to another Act.

UsageNotes:

Most reasons for acts can be clearly expressed by linking the new Act to another prior Act record using an ActRelationship of type "has reason." This simply states that the prior Act is a reason for the new Act (see ActRelationship). The prior act can then be a specific existing act or a textual explanation. This works for most cases, and the more specific the reason data is, the more should this reason ActRelationship be used instead of the reasonCode.

The reasonCode remains as a place for common reasons that are not related to a prior Act or any other condition expressed in Acts. Indicators that something was required by law or was on the request of a patient may qualify. However, if that piece of legislation, regulation, or the contract or the patient request can be represented as an Act (and they usually can), such a representation is preferable to the reasonCode.

Examples:

Example reasons that might qualify for being coded in this field might be: "routine requirement," "infectious disease reporting requirement," "on patient request," "required by law."

 6.5.22 Act.languageCode :: CD (0..1)
   Property conformance: U
   Concept domain: HumanLanguage

Definition:

The primary language in which this Act statement is specified, particularly the language of the Act.text.

 6.5.23 Act.isCriterionInd :: BL (0..1)
   Property conformance: U
   Property defaultValue: false
   Property isImmutable: true

Definition:

If true, indicates that the data conveyed by the act, including outbound associations, represent "criteria" for some other act, not a "real" act. I.e. If an Act exists with a classCode of ACT and a moodCode of RQO and isCriterionInd is true, it does not represent an order for an act. Rather, it represents a criteria that will match on all orders.

Constraint: Act-relationships directed to any Act with "isCriterionInd=true" SHALL have "conductible=false" unless the source Act also has isCriterionInd=true.

 6.5.24 State machine for Act (state attribute is statusCode)
Link to state diagram for this class.

States of Act:

  • aborted (sub-state of normal):

    The Act has been terminated prior to the originally intended completion.

  • active (sub-state of normal):

    The Act can be performed or is being performed.

  • cancelled (sub-state of normal):

    The Act has been abandoned before activation.

  • completed (sub-state of normal):

    An Act that has terminated normally after all of its constituents have been performed.

  • held (sub-state of normal):

    An Act that is still in the preparatory stages has been put aside. No action can occur until the Act is released.

  • new (sub-state of normal):

    An Act that is in the preparatory stages and may not yet have been acted upon.

  • normal:

    Encompasses the expected states of a service object, but excludes "nullified" and "obsolete" which represent unusual terminal states for the life-cycle.

  • nullified:

    This Act instance was created in error and has been 'removed' and is treated as though it never existed. A record is retained for audit purposes only.

  • obsolete:

    This Act instance has been replaced by a new instance.

  • suspended (sub-state of normal):

    Active service object is temporarily suspended.


State transitions of Act:

  • abort (from active to aborted)
  • abort (from suspended to aborted)
  • activate (from new to active)
  • activate (from null to active)
  • cancel (from held to cancelled)
  • cancel (from new to cancelled)
  • complete (from active to completed)
  • complete (from new to completed)
  • complete (from null to completed)
  • complete (from suspended to completed)
  • create (from null to new)
  • hold (from new to held)
  • jump (from null to normal)
  • nullify (from normal to nullified)
  • obsolete (from normal to obsolete)
  • reactivate (from completed to active)
  • release (from held to new)
  • resume (from suspended to active)
  • revise (from active to active)
  • revise (from completed to completed)
  • revise (from held to held)
  • revise (from new to new)
  • revise (from suspended to suspended)
  • suspend (from active to suspended)
 6.6Class: ActHeir (is Abstract) (in CoreInfrastructure)
  • Generalization of ActHeir: Act

Definition of ActHeir:

A subtype of Act defined solely as a work-around for the lack of support of the reflexive closure of generalization relationships (i.e. "Act is-a Act") by the current set of tools.

UsageNotes:

Although it is used to represent Acts that are not otherwise sub-classed in the RIM, the use of the ActHeir class is entirely dictated by the (excusable) shortcomings of certain tools and data-structures used in the HL7 methodology, and it has no conceptual meaning or semantic modeling implications. Note that EntityHeir and RoleHeir have the same use for Entity and Role respectively.

Rationale:

It has been discovered that one cannot create an HMD choice structure for a set of classes, all of which are sub-types of Act, Role or Entity, but for which there is not a defined physical class. These are the classes that would have been in the RIM as direct descendants (heirs) of Act, Role and Entity, except for the fact that they carried no unique attributes or associations.

The addition of this single empty class in each hierarchy will permit messages with the appropriate and necessary choice structures to be built. Subsequent evolution of the methodology and tooling may permit the elimination of these classes in favor of an equivalent abstraction in the methodology.

Examples:

Consider a refined message information model (RMIM) containing the Act specializations of Observation and PatientEducationAct, where PatientEducationAct is conceptually a direct specialization ("clone") of Act. In this case, the ActHeir class is used as the basis of the PatientEducationAct clone rather than the Act RIM class itself. The Act RIM class is used here only to represent the common generalization of Observation and PatientEducationAct.

OpenIssue:

In order to address the limitations cited in the definition of this class, HL7 is actively pursuing a solution that will allow deprecation of the "heir" classes (including this class) and their removal from the RIM in a future release.

 6.7Class: ActRelationship (in Acts)

Features of ActRelationship:

  • Attributes of ActRelationship:
typeCode :: CS
inversionInd :: BL
blockedContextActRelationshipType :: DSET<CS>
blockedContextParticipationType :: DSET<CS>
actAttributeContextBlockedInd :: BN
contextControlCode :: CS
contextConductionInd :: BL
sequenceNumber :: INT.NONNEG
priorityNumber :: REAL
pauseQuantity :: PQ.TIME
checkpointCode :: CS
splitCode :: CS
joinCode :: CS
negationInd :: BL
conjunctionCode :: CS
localVariableName :: ST.SIMPLE
seperatableInd :: BL
subsetCode :: CS
uncertaintyCode :: CD

Definition of ActRelationship:

A directed association between a source Act and a target Act.

UsageNotes:

The ActRelationship class is used to construct systems of acts to represent complex observations, action plans, and to represent clinical reasoning or judgments about action relationships. Prior actions can be linked as the reasons for more recent actions. Supporting evidence can be linked with current clinical hypotheses. Problem lists and other networks of related judgments about clinical events are represented by the ActRelationship link.

Every ActRelationship instance is like an arrow with a point (headed to the target) and a butt (coming from the source). The functions that source and target Acts play in that association are defined for each ActRelationship type differently. For instance, in a composition relationship, the source is the composite and the targets are the components. In a reason-relationship the source is any Act and the target is the reason or indication for the source-Act.

The relationships associated with an Act are considered properties of the source act object. This means that the author of an Act-instance is also considered the author of all of the act relationships that have this Act as their source, (though not necessarily of the target Acts of those relationships). There are no exceptions to this rule.

The meaning and purpose of an ActRelationship is specified in the ActRelationship.typeCode attribute.

Examples:

has component, fulfills, has reason.

1) An electrolyte observation panel may have sodium, potassium, pH, and bicarbonate observations as components. The composite electrolyte panel would then have 4 outbound ActRelationships of type "has component," which would be inbound to their target sodium, potassium, pH, and bicarbonate observations.

2) The electrolyte panel event has been performed in fulfillment of an observation order. The electrolyte panel event has an outbound ActRelationship of type "fulfills" with the order as target.

3) A Procedure "cholecystectomy" may be performed for the reason of an Observation of "cholelithiasis." The procedure has an outbound ActRelationship of type "has reason," which would be inbound to the cholelithiasis observation.

Attributes of ActRelationship:

 6.7.1 ActRelationship.typeCode :: CS (1..1) Mandatory
   Property conformance: R
   Property isImmutable: true
   Concept domain: ActRelationshipType

Definition:

The meaning and purpose of the ActRelationship instance.

UsageNotes:

The ActRelationship class is used to construct a variety of semantic structures, including panels, action plans, and representations of clinical reasoning or judgments. Prior actions can be linked as the reasons for more recent actions. Supporting evidence can be linked with current clinical hypotheses. Problem lists and other networks of related judgments about clinical events are represented by the ActRelationship link. The typeCode implies specific constraints on what kinds of Act objects can be related and in what way.

The types of act relationships fall under 6 categories:

1) Composition, with composite (source) and component (target). One of the most commonly used ActRelationship types is "has component" to describe the composition and de-composition of Acts. The relationship type allows specifying detail of Acts to varying degrees.

The composition relationship can group actions into "batteries," e.g., LYTES, CHEM12, or CBC, where multiple routine laboratory tests are ordered as a group. Some groupings, such as CHEM12, may be defined by a specific implementation; others, such as blood pressure, seem to naturally consist of systolic and diastolic pressure.

With the composition relationship, the detail of Acts can be revealed to different levels for different purposes without the structure of the Act hierarchy needing to be rearranged. This allows supporting multiple viewpoints on the same business processes. For instance, a billing viewpoint of a laboratory test battery may be as a single billable act. A clinician's view of the same laboratory test battery is as a set of individual observations, where the ordering among the observations is irrelevant. The laboratory's view of this act will be more detailed, including action plan steps that are never reported to the clinician (e.g., centrifugation, decantation, aliquoting, running certain machines, etc.). The laboratory's viewpoint warrants a thorough specification of action plans (that can be automated). During this specification, more and more nested sub-activities will be defined. Still, the source Act is the same, with varying degrees of detail uncovered in the de-composition relationship.

2) Sequel, which includes follow-up, fulfillment, instantiation, replacement, transformation, etc., for which source and target are Acts of essentially the same kind but with variances in mood, and where the target exists before the source.

3) Pre-condition, trigger, reason, contraindication, with the conditioned Act ("give aspirin") at the source and the condition or reason Act ("if fever above threshold") at the target.

4) Post-condition, outcome, goal and risk, with the Act at the source having the outcome or goal at the target.

5) Workflow. The composition and sequence relationships can be arranged in a sequence to form temporal and conditional (non-temporal) action plans (e.g., care plan, critical path, clinical trials protocols, drug treatment protocols). There is a group of attributes in both Act and ActRelationship called the "workflow Control suite of attributes" that allow the detailed specification of executable action plans. These attributes are

  • Act.repeatNumber

  • Act.interrubtibleInd

  • ActRelationship.sequenceNumber

  • ActRelationship.pauseQuantity

  • ActRelationship.checkpointCode

  • ActRelationship.splitCode

  • ActRelationship.joinCode

ActRelationship.sequenceNumber arranges the components of an Act as a sequence or as concurrent collections of components, expressing logical branches as well as parallel tasks (tasks carried out at the same time). The ActRelationship attributes splitCode and joinCode control how branches are selected or executable in parallel.

Act.activityTime and ActRelationship.pauseQuantity allow one to explicitly time an action plan. Act.repeatNumber allows specifying act to repeat (loop), while Act.interruptibleInd determines whether an Act can be interrupted by related Acts.

The ActRelationship type has-precondition allows plan steps to be conditional on the status or outcome of previous actions. The ActRelationship.checkpointCode specifies when pre-conditions of acts are tested during the flow of control. See the individual attribute entries in this model for more information.

The composition ActRelationship allows these constructs to be organized in nests and layers to fully support workflow management. This nesting and the workflow control attributes are designed in analogy to a block-structured programming language with support for concurrency (fork, join, interrupts), and without "goto" statements. All workflow plans are established through sequencing components (steps) in a composite act (block) consistent with structured programming principles.

6.) A host of functional relationships including support, cause, derivation, etc. generalized under the notion of "pertinence."

OpenIssue:

The property "isDocumentCharacteristic" is currently assigned to selected codes in ActRelationshipType, and is populated based on expected behaviour around negation. However, the values seem inappropriate when considering document behaviour. This property needs further analysis to determine whether a single property can suffice for both the negation and document characteristic use cases.

 6.7.2 ActRelationship.inversionInd :: BL (0..1)
   Property conformance: U
   Property defaultValue: false
   Property isImmutable: true

Definition:

An indicator specifying that the ActRelationship.typeCode should be interpreted as if the roles of the source and target Acts were reversed.

DesignComments:

Define Default annotation. Clarify why an indicator would be preferable to swapping source and target.

 6.7.3 ActRelationship.blockedContextActRelationshipType :: DSET<CS> (0..*)
   Property conformance: U
   Property isImmutable: true
   Concept domain: ActRelationshipType

Definition:

Identifies the type(s) of ActRelationships that are not permitted to conduct across this ActRelationship.

UsageConstraint:

This attribute can only be used if the serializable model in which it appears has a contextConductionStyle property of "V (vocabulary-based)".

UsageNotes:

If one or more codes are specified, all other ActRelationships with typeCodes that match one of the specified codes or that are specializations of one of the specified codes will not conduct. All other ActRelationships with typeCodes having a "conductible" property of "true" or whose ancestor has a "conductible" property of "true" will conduct. Conducted ActRelationships behave such that the Act being navigated to is treated as though it had the same association(s) as the Act being navigated from. Refer to the Core Principles specification for more information.

 6.7.4 ActRelationship.blockedContextParticipationType :: DSET<CS> (0..*)
   Property conformance: U
   Property isImmutable: true
   Concept domain: ParticipationType

Definition:

Identifies the type(s) of Participations that are not permitted to conduct across this ActRelationship.

UsageConstraint:

This attribute can only be used if the serializable model in which it appears has a contextConductionStyle property of "V (vocabulary-based)".

UsageNotes:

If one or more codes are specified, all other Participations with typeCodes that match one of the specified codes or that are specializations of one of the specified codes will not conduct. All other Participations with typeCodes having a "conductible" property of "true" or whose ancestor has a "conductible" property of "true" will conduct. Conducted Participations behave such that the Act being navigated to is treated as though it had the same association(s) as the Act being navigated from. Refer to the Core Principles specification for more information.

 6.7.5 ActRelationship.actAttributeContextBlockedInd :: BN (0..1)
   Property conformance: U
   Property defaultValue: false
   Property isImmutable: true

Definition:

Blocks conduction of act attribute values across this act relationship when true.

UsageNotes:

If true act attribute values are not conducted across this act relationship. If false the values of Act attributes having a "conductible" property of "true" will conduct. Conducted Act attribute values are treated as propagating and overriding.

 6.7.6 ActRelationship.contextControlCode :: CS (0..1)
   Property conformance: U
   Property isImmutable: true
   Concept domain: ContextControl

Deprecation Information:

This attribute is deprecated from further use for RIM versions later than version 2.30. This attribute and those that worked with it have been superseded by the attributes ActRelationship.blockedContextActRelationshipType and ActRelationship.blockedContextParticipationType, together with the "conductible" property on concepts in the ActRelationshipType and ParticipationType code systems.


Definition:

The manner in which this ActRelationship contributes to the context of the current Act, and whether it may be propagated to descendent Acts whose association allows such propagation (see ActRelationship.contextConductionInd).

UsageNotes:

This attribute allows the clear specification of whether an association adds to the context associated with a particular item (e.g. adding an additional author) or whether it overrides and replaces the contextual assertion made by an Act relationship (e.g., identifying a sole author, independent of the containing item). It also indicates whether the association applies to only the immediate target act (non-propagating) or to derived acts as well (propagating).

This attribute works in concert with ActRelationship.contextConductionInd, which determines whether information will actually be conducted to a child Act, whatever the manner of conduction indicated by the contextControlCode.

If no value or default is specified for this attribute (i.e., it is null), no inference can be made about context. Systems must make their own assumptions on the basis of the data represented. For this reason, HL7 committees are encouraged to specify a default or fixed value for this attribute as part of their designs to ensure consistency of interpretation.

Rationale:

Humans often rely on context when interpreting information. For example, when reading a report taken from a folder containing a patient's medical record, the reader will infer that the report deals with the patient, even if there is no direct reference to the patient on the form. However, other pieces of information, such as the author of the folder (the hospital that maintains it) may sometimes apply to the contents of the folder (e.g., a report generated by a doctor at the hospital) and other times not (e.g., a copy of a report from another institution). Humans are quite good at making the necessary inferences about what context should be propagated from an item to something within that item. However, incorrect inferences can occur (perhaps the report in the patient's record deals with a relative). Furthermore, computers have substantially more difficulty making such inferences, even though they can be essential for decision-support systems.

DesignComments:

In the example, it seems the dispense event would carry the author from the composite order.

Examples:

An observation event has a patient participation marked "additive, propagating" (AP) and has component observation events linked through act relationships that are marked propagating. This means that the patient participation behaves as a patient participation of those component observation events in addition to the parent observation event.

A composite order (1) is created containing a pharmacy order (2) as well as requests for several lab tests (3). The composite order has participations for patient (4) and author (5), and an act relationship to a diagnosis (6), all marked as "additive, propagating." The "component" association (7) between the composite order (1) and the pharmacy order (2) is marked as conductive (contextConductionInd is True). The pharmacy order has an author participation (8) marked as "additive, non-propagating" (AN), and a reason relationship (9) to a diagnosis, marked as "overriding, propagating" (OP). The pharmacy order (2) further has a relationship to a dispense event (10), marked as conductive, and an association (11) to a drug protocol marked as non-conductive (contextConductionInd is False). The meaning would be as follows:

The pharmacy order (2) is interpreted as having the patient (4) from the composite order (1), and having two authors (the one from the composite order, and the one on the pharmacy order itself). The diagnosis for the pharmacy order relationship (9) would be the only diagnosis specified on the pharmacy order (2), not the one specified on the composite order (6). The dispense event (10) would carry the patient from the composite order (4) and the diagnosis from the pharmacy order (9), but no author. The drug protocol (11) would not be associated with a patient, diagnosis or author.

 6.7.7 ActRelationship.contextConductionInd :: BL (0..1)
   Property conformance: U
   Property isImmutable: true

Deprecation Information:

This attribute is deprecated from further use for RIM versions later than version 2.30. This attribute and those that worked with it have been superseded by the attributes ActRelationship.blockedContextActRelationshipType and ActRelationship.blockedContextParticipationType, together with the "conductible" property on concepts in the ActRelationshipType and ParticipationType code systems.


Definition:

An indicator determining whether associations in the parent act are to be conducted across the ActRelationship to the child act.

UsageNotes:

Refer to ActRelationship.contextControlCode for rationale and examples.

 6.7.8 ActRelationship.sequenceNumber :: INT.NONNEG (0..1)
   Property conformance: U

Definition:

An integer specifying the relative sequential ordering of this relationship among other like-types relationships having the same source Act.

UsageNotes:

This attribute is part of the workflow control suite of attributes. An action plan is a composite Act with component Acts. In a sequential plan, each component has a sequenceNumber that specifies the ordering of the plan steps. Multiple components with the same sequenceNumber make a branch. Branches can be exclusive (case-switch) or can indicate parallel processes indicated by the splitCode.

If value is null, the relative position of the target Act is unspecified. (i.e., it may occur anywhere.)

Use the 'priorityNumber' attribute to indicate relative preference instead of order of occurrence.

 6.7.9 ActRelationship.priorityNumber :: REAL (0..1)
   Property conformance: U

Definition:

An integer specifying the relative preference for considering this relationship before other like-typed relationships having the same source Act. Relationships with lower priorityNumber values are considered before and above those with higher values.

UsageNotes:

For multiple criteria, this attribute specifies which criteria are considered before others. For components with the same sequence number, it specifies which ones are considered before others. Among alternatives or options that are being chosen by humans, the priorityNumber specifies preference.

The ordering may be a total ordering, in which all priority numbers are unique, or a partial ordering, in which the same priority may be assigned to more than one relationship.

 6.7.10 ActRelationship.pauseQuantity :: PQ.TIME (0..1)
   Property conformance: U

Definition:

A quantity of time that elapses or should elapse between the source act and the target act.

UsageNotes:

This attribute is part of the workflow control suite of attributes. An action plan is a composite Act with component Acts. In a sequential plan, each component has a sequenceNumber that specifies the ordering of the plan steps. Before any step with preconditions is executed, these conditions are tested: if the test is positive, the Act has clearance for execution. At that time, if the act has a pauseQuantity, the pauseQuantity timer is started: the Act is executed after the pauseQuantity has elapsed.

As a precondition (e.g., administer 3 hours prior to surgery), pause quantity is allowed to be negative, provided that it is possible to predict the occurrence of the target condition.

FormalConstraint:

Units SHALL be a type of time.

 6.7.11 ActRelationship.checkpointCode :: CS (0..1)
   Property conformance: U
   Concept domain: ActRelationshipCheckpoint

Definition:

The point in the course of an Act when a precondition for the Act is evaluated: e.g., before the Act starts for the first time, before every repetition, after each repetition but not before the first, or throughout the entire time of the Act.

UsageNotes:

This attribute is part of the workflow control suite of attributes. An action plan is a composite Act with component Acts. In a sequential plan, each component has a sequenceNumber that specifies the ordering of the plan steps. Before each step is executed, those with preconditions have their conditions tested; where the test is positive, the Act has clearance for execution. The checkpointCode specifies when the precondition is to be checked; it is analogous to the various conditional statements and loop constructs in programming languages "while-do" vs. "do-while" or "repeat-until" vs. "loop-exit."

For all checkpointCodes except "end," preconditions are being checked at the time when the preceding step of the plan has terminated and this step would be next in the sequence established by the sequenceNumber attribute.

When the checkpointCode for a criterion of a repeatable Act is "end," the criterion is tested only at the end of each repetition of that Act. When the condition holds true, the next repetition is ready for execution.

When the checkpointCode is "entry," the criterion is checked at the beginning of each repetition, if any, whereas "beginning" means the criterion is checked only once before the repetition "loop" starts.

The checkpointCode "through" is special in that it requires the condition to hold throughout the execution of the Act, even throughout a single execution. As soon as the condition turns false, the Act should receive an interrupt event (see Act.interruptibleInd) and will eventually terminate.

The checkpointCode "exit" is only used on a special plan step that represents a loop exit step. This allows an action plan to exit due to a condition tested inside the execution of this plan. Such exit criteria are sequenced with the other plan components using the ActRelationship.sequenceNumber.

 6.7.12 ActRelationship.splitCode :: CS (0..1)
   Property conformance: U
   Concept domain: ActRelationshipSplit

Definition:

The manner in which branches in an action plan are selected from among other branches.

UsageNotes:

This attribute is part of the workflow control suite of attributes. An action plan is a composite Act with component Acts. In a sequential plan, each component has a sequenceNumber that specifies the ordering of the plan steps. Branches exist when multiple components have the same sequenceNumber. The splitCode specifies whether a branch is executed exclusively (case-switch) or inclusively, i.e., in parallel with other branches.

In addition to exclusive and inclusive split the splitCode specifies how the pre-condition (also known as "guard conditions" on the branch) are evaluated. A "try once" guard condition may be evaluated once when the branching step is entered and if the conditions do not hold at that time, the branch is abandoned. Conversely, execution of a "wait" branch may wait until the guard condition turns true.

In exclusive wait branches, the first branch whose guard conditions turn true will be executed and all other branches abandoned. In inclusive wait branches some branches may already be executed while other branches still wait for their guard conditions to turn true.

Examples:

Exclusive wait, inclusive wait, exclusive try once.

 6.7.13 ActRelationship.joinCode :: CS (0..1)
   Property conformance: U
   Concept domain: ActRelationshipJoin

Definition:

The manner in which concurrent Acts are resynchronized in a parallel branch construct.

UsageNotes:

This attribute is part of the workflow control suite of attributes. An action plan is a composite Act with component Acts. In a sequential plan, each component has a sequenceNumber that specifies the ordering of the plan steps. Branches exist when multiple components have the same sequenceNumber. Branches are parallel if the splitCode specifies that more than one branch can be executed at the same time. The joinCode then specifies if and how the branches are resynchronized.

The principal re-synchronization actions are (1) the control flow waits for a branch to terminate (wait-branch), (2) the branch that is not yet terminated is aborted (kill-branch), (3) the branch is not re-synchronized at all and continues in parallel (detached branch).

A kill-branch is only executed if there is at least one active wait branch. If there is no other wait branch active, a kill-branch is not started at all (rather than being aborted shortly after it is started). Since a detached branch is unrelated to all other branches, active detached branches do not prevent a kill-branch from being aborted.

Examples:

Detached, kill, exclusive wait.

 6.7.14 ActRelationship.negationInd :: BL (0..1)
   Property conformance: U
   Property defaultValue: false
   Property isImmutable: true

Definition:

An indicator that asserts that the meaning of the link is negated.

UsageNotes:

This attribute is used primarily for clarifying statements. As the examples show, the use of this attribute is quite limited, notably contrast this with the Act.negationInd that actually requires that the described Act not exist, not be done, etc. whereas the ActRelationship.negationInd merely negates this relationship between source and target act, but does not change the meaning of each Act.

Note also the difference between negation and the contrary. A contraindication is the contrary of an indication (reason) but not the negation of the reason. The fact that lower back pain is not a reason to prescribe antibiotics doesn't mean that antibiotics are contraindicated with lower back pain.

Examples:

If the relationship without negation specifies that Act A has Act B as a component, then the negation indicator specifies that Act A does not have Act B as a component. If B is a reason for A, then negation means that B is not a reason for A. If B is a pre-condition for A, then negation means that B is not a precondition for A.

 6.7.15 ActRelationship.conjunctionCode :: CS (0..1)
   Property conformance: U
   Concept domain: RelationshipConjunction

Definition:

The logical conjunction of the criteria among all the condition-links of Acts (e.g., and, or, exlusive-or).

UsageNotes:

This attribute is used for criteria, typically in definition or goal mood.

Upon evaluation, the criterion is passed if all "and" criteria are true. If "or" and "and" criteria occur together, one criterion out of the "or"-group must be true and all "and" criteria must be true also. If "xor" criteria occur together with "or" and "and" criteria, exactly one of the "xor" criteria must be true, and at least one of the "or" criteria and all "and" criteria must be true. In other words, the sets of "and", "or", and "xor" criteria are in turn combined by a logical "and" operator (all "and" criteria and at least one "or" criterion and exactly one "xor" criterion). To overcome this ordering, Act criteria can be nested as necessary.

 6.7.16 ActRelationship.localVariableName :: ST.SIMPLE (0..1)
   Property conformance: U

Definition:

A character string name for the input parameter from which the source Act of this ActRelationship derives some of its attributes. The local variable name is bound in the scope of the Act.derivationExpr with its value being an Act selected based on the input parameter specified by this attribute.

 6.7.17 ActRelationship.seperatableInd :: BL (0..1)
   Property conformance: U
   Property defaultValue: true

Definition:

An indication that the source Act is intended to be interpreted independently of the target Act.

UsageNotes:

The indicator cannot prevent an individual or application from separating the Acts, but indicates the author's desire and willingness to attest to the content of the source Act if separated from the target Act. Note that this attribute is orthogonal and unrelated to the RIM's context/inheritance mechanism. If the context of an Act is propagated to nested Acts, it is assumed that those nested Acts are not intended to be interpreted without the propagated context.

 6.7.18 ActRelationship.subsetCode :: CS (0..1)
   Property conformance: U
   Concept domain: ActRelationshipSubset

Definition:

An indication that the target of the relationship will be a filtered subset of the total related set of targets.

UsageNotes:

This attribute is used when there is a need to limit the number of components to the first, the last, the next, the total, the average or some other filtered or calculated subset.

Examples:

First, maximum, summary.

 6.7.19 ActRelationship.uncertaintyCode :: CD (0..1)
   Property conformance: U
   Concept domain: ActUncertainty

Definition:

An assertion that specific relationship between the source and target Acts is uncertain.

UsageNotes:

Uncertainty asserted using this attribute applies only to the relationship between two acts. The certainty of the acts themselves should be conveyed via Act.uncertaintyCode.

Examples:

A particular exposure event is suspected but not known to have caused a particular symptom: stated with uncertainty.

 6.8Class: Attachment (in MessageControl)

Features of Attachment:

  • Attributes of Attachment:
id :: II
text :: ED

Definition of Attachment:

An addressable data block which can be referred to from the interior of the message.

UsageNotes:

Attachments are referred to from the message body using the reference functionality of the ED data type.

DesignComments:

Open issue requires more detail.

OpenIssue:

Proper use of this class (Attachment) requires an extension of the referencing mechanism of the ED data type.

Attributes of Attachment:

 6.8.1 Attachment.id :: II (0..1)
   Property conformance: U

Definition:

An identifier for the attachment referenced by an ED attribute contained elsewhere in the interaction.

 6.8.2 Attachment.text :: ED (0..1)
   Property conformance: U

Definition:

The data block that constitutes the attachment

 6.9Class: AttentionLine (in MessageControl)

Features of AttentionLine:

  • Attributes of AttentionLine:
keyWordText :: SC.NT
value :: ANY

Definition of AttentionLine:

A collection of parameters related to a transmission that may need to be accessible from the transmission wrapper.

UsageConstraint:

The contents of the class shall be related to the transmission as a whole and shall be solely used for transmission related purposes and not have any impact on the semantic interpretation of the contents of the transmission.

UsageNotes:

AttentionLine is a name-value pair, with keyWordText providing the topic from an enumerated set and value providing the parameter.

DesignComments:

Confirm edits. Clarify in definition, add to examples.

Examples:

If encrypted or compressed payloads are used, and the receiver needs to have access to the Patient.id for internal routing purposes within the receiving application, then the sender can make this information available in AttentionLine.

Attributes of AttentionLine:

 6.9.1 AttentionLine.keyWordText :: SC.NT (0..1)
   Property conformance: U
   Concept domain: AttentionKeyword

Definition:

A category of attentionLine parameter.

Examples:

Patient identifier, public health case type

 6.9.2 AttentionLine.value :: ANY (0..*)
   Property conformance: U
   Concept domain: AttentionLineValue

Definition:

A value associated with the key as provided in the AttentionLine.keyWordText attribute.

FormalConstraint:

The data type of the attribute SHALL be constrained to one of the following data types: BL, CV, II, URL, INT, REAL, TS, PQ, MO, IVL<TS>.

 6.10Class: Batch (in MessageControl)

Features of Batch:

  • Attributes of Batch:
referenceControlId :: II
name :: SC.NT
batchComment :: DSET<ST>
transmissionQuantity :: INT.NONNEG
batchTotalNumber :: DSET<INT.NONNEG>
contentProcessingModeCode :: CD

Definition of Batch:

A message which is a collection of HL7 V3 messages.

DesignComments:

Does the batch have any effect on the member message, or is it a composition class that contains the member messages?

Attributes of Batch:

 6.10.1 Batch.referenceControlId :: II (0..1)
   Property conformance: U

Definition:

The control identifier of the batch when it was originally transmitted.

 6.10.2 Batch.name :: SC.NT (0..1)
   Property conformance: U
   Concept domain: BatchName

Definition:

An identifier for the batch.

UsageNotes:

This attribute is used by the application processing the batch.

 6.10.3 Batch.batchComment :: DSET<ST> (0..*)
   Property conformance: U

Definition:

Comments related to the batch.

 6.10.4 Batch.transmissionQuantity :: INT.NONNEG (0..1)
   Property conformance: U

Definition:

The count of individual transmissions contained within the batch, including nested batches.

 6.10.5 Batch.batchTotalNumber :: DSET<INT.NONNEG> (0..*)
   Property conformance: U

Definition:

The total number of messages in the batch.

UsageNotes:

In cases of nested batches, batchTotalNumber is specific to the immediate batch, whereas transmissionQuantity sums all nested totals.

DesignComments:

Confirm differentiation from transmissionQuantity

 6.10.6 Batch.contentProcessingModeCode :: CD (0..1)
   Property conformance: U
   Property defaultValue: SEQL
   Concept domain: ContentProcessingMode

Definition:

The type of content processing that the receiver of the batch is expected to undertake.

UsageNotes:

Default value is sequential.

Examples:

Sequential, unordered.

 6.11Class: CommunicationFunction (in MessageControl)

Features of CommunicationFunction:

  • Attributes of CommunicationFunction:
typeCode :: CS
telecom :: TEL

Definition of CommunicationFunction:

A relationship class that binds the various entities participating in the transmission (sender, receiver, respond-to) to be linked to the transmission.

Attributes of CommunicationFunction:

 6.11.1 CommunicationFunction.typeCode :: CS (1..1) Mandatory
   Property conformance: R
   Property isImmutable: true
   Concept domain: CommunicationFunctionType

Definition:

The role of an entity with respect to the transmission.

Examples:

Sender, receiver, respond-to party

 6.11.2 CommunicationFunction.telecom :: TEL (0..1)
   Property conformance: U

Definition:

The telecomm address that can be used to reach the entity in the identified role.

 6.12Class: Container (classCode= CONT) (in Entities)

Features of Container:

  • Attributes of Container:
capacityQuantity :: PQ
heightQuantity :: PQ
diameterQuantity :: PQ
capTypeCode :: CD
separatorTypeCode :: CD
barrierDeltaQuantity :: PQ
bottomDeltaQuantity :: PQ

Definition of Container:

An Entity that holds other Entities.

UsageNotes:

Content material is related to a Container through Role.classCode = CONT (content).

Rationale:

The specifications for this class arose from the collaboration between HL7 and the NCCLS. Many of the attribute definitions are drawn from or make reference to the NCCLS standard. With amorphic substances (e.g., liquids and gases), a container is required. However, the content of a container is always distinguishable and relatively easily separable from the container, unlike the content (ingredient) of a mixture.

Attributes of Container:

 6.12.1 Container.capacityQuantity :: PQ (0..1)
   Property conformance: U

Definition:

The functional capacity of the container.

 6.12.2 Container.heightQuantity :: PQ (0..1)
   Property conformance: U

Definition:

The height of the container.

 6.12.3 Container.diameterQuantity :: PQ (0..1)
   Property conformance: U

Definition:

The outside diameter of the container.

 6.12.4 Container.capTypeCode :: CD (0..1)
   Property conformance: U
   Concept domain: ContainerCap

Definition:

The type of cap (closure) associated with the container that is the entity being described.

 6.12.5 Container.separatorTypeCode :: CD (0..1)
   Property conformance: U
   Concept domain: ContainerSeparator

Definition:

A material added to a container to facilitate and create a physical separation of specimen components of differing density.

Rationale:

The composition or nature of the separator material may have an effect on the analysis. Knowledge of the material aids interpretation of results.

Examples:

A gel material added to blood collection tubes that, following centrifugation, creates a physical barrier between the blood cells and the serum or plasma.

 6.12.6 Container.barrierDeltaQuantity :: PQ (0..1)
   Property conformance: U

Definition:

The distance from the point of reference to the separator material (barrier) within a container.

UsageNotes:

This distance may be provided by a laboratory automation system to an instrument and/or specimen processing/handling device to facilitate the insertion of a sampling probe into the specimen without touching the separator. See the Point of Reference definition or in NCCLS standard AUTO5, .

 6.12.7 Container.bottomDeltaQuantity :: PQ (0..1)
   Property conformance: U

Definition:

The distance from the Point of Reference to the outside bottom of the container.

UsageNotes:

Refer to Point of Reference in NCCLS standard AUTO5 .

 6.13Class: ContextStructure (classCode= COMPOSITION) (in StructuredDocuments)

Features of ContextStructure:

  • Attributes of ContextStructure:
setId :: II
versionNumber :: ST
  • Generalization of ContextStructure: Act
  • Specializations of ContextStructure:
Document

Definition of ContextStructure:

A a container within a document.

UsageNotes:

Structures have captions which can be coded. Structures can nest, and structures can contain entries.

An original report is the first version of a report. It gets a new unique value for setId, and has the value of versionNumber set to equal "1."

An addendum is an appendage to an existing report that contains supplemental information. The appendage is itself an original report. The parent report being appended is referenced via an ActRelationship, with ActRelationship.typeCode set to equal "APND" (for "appends"). The parent report being appended remains in place and its content and status are unaltered.

A replacement report replaces an existing report. The replacement report uses the same value for setId as the parent report being replaced, and increments the value of versionNumber by 1. The state of the parent report being replaced should become "superseded," but is still retained in the system for historical reference.

OpenIssue:

The name of this class, and the allowable ActClass values, will be revised so as to be consistent with the ActContainer hierarchy, which is currently undergoing review. (November 2004)

What is the status of the revision? Is a ContextStructure always a "report"?

Attributes of ContextStructure:

 6.13.1 ContextStructure.setId :: II (0..1)
   Property conformance: U
   Property isDocumentCharacteristic: true

Definition:

A unique identifier for a report.

UsageNotes:

The setID remains constant across all revisions that derive from a common original.

 6.13.2 ContextStructure.versionNumber :: ST (0..1)
   Property conformance: U
   Property isDocumentCharacteristic: true

Definition:

A unique identifier for a version of a report.

UsageNotes:

The Modeling and Methodology Work Group will seek HL7 endorsement for a data type flavor of string that constrains the string to numerals only. This flavor, when available, can be used to constrain this attribute in such a way that users who prefer the previous "integer" version number can remain consistent with previous RIM releases of this attribute.

 6.14Class: ControlAct (classCode= CACT) (in Acts)
  • Generalization of ControlAct: Act

Definition of ControlAct:

An act representing a change to the state of another class, a user event (e.g. query), or a system event (e.g. time-based occurrences).

UsageNotes:

This class corresponds to the concept of 'Trigger Event', and as such, must be present as the focus of every messaging interaction (because of the 1..1 association between a trigger event and an interaction.) However, control acts can also appear within a message payload. For example, a set of control acts associated with a Lab Order identifying the events that have occurred against that order (first created, then revised, then suspended, then resumed, then completed.)

Examples:

  • Discharging a patient (Encounter from Active to Completed);

  • Stopping a medication (SubstanceAdministration from Active to Aborted);

  • Sending an end-of-day summary (time-based event).

 6.15Class: Device (classCode= DEV) (in Entities)

Features of Device:

  • Attributes of Device:
manufacturerModelName :: SC
softwareName :: SC
localRemoteControlStateCode :: CD
alertLevelCode :: CD
lastCalibrationTime :: TS

Definition of Device:

A ManufacturedMaterial used in an activity without being substantially changed through that activity.

UsageNotes:

This includes durable (reusable) medical equipment as well as disposable equipment. The kind of device is identified by the code attribute inherited from Entity.

Attributes of Device:

 6.15.1 Device.manufacturerModelName :: SC (0..1)
   Property conformance: U
   Concept domain: ManufacturerModelName

Definition:

The human designated moniker for a device, assigned by the manufacturer.

Examples:

Perkin Elmer 400 Inductively Coupled Plasma Unit

 6.15.2 Device.softwareName :: SC (0..1)
   Property conformance: U
   Concept domain: SoftwareName

Definition:

The moniker, version and release of the software that operates the device as assigned by the software manufacturer or developer.

Examples:

Agilent Technologies Chemstation A.08.xx

 6.15.3 Device.localRemoteControlStateCode :: CD (0..1)
   Property conformance: U
   Concept domain: LocalRemoteControlState

Definition:

The state of control of the device.

Rationale:

A device can either work autonomously or it can be controlled by another system. The control status of a device must be communicated between devices prior to remote commands being transmitted. If the device is not in "Remote" status, external commands will be ignored.

Examples:

Local, remote

 6.15.4 Device.alertLevelCode :: CD (0..1)
   Property conformance: U
   Concept domain: DeviceAlertLevel

Definition:

The current functional status of an automated device.

UsageNotes:

The value of the attribute is determined by the device.

Examples:

Normal, warning, critical

 6.15.5 Device.lastCalibrationTime :: TS (0..1)
   Property conformance: U

Definition:

The date and time the device was last calibrated.

Rationale:

Devices are required to be recalibrated at specific intervals to ensure they are performing within specifications. The accepted interval between calibrations varies with protocols. Thus for results to be valid, the precise date and time of last calibration is a critical component.

 6.16Class: DeviceTask (classCode= CONTREG) (in Acts)

Features of DeviceTask:

  • Attributes of DeviceTask:
parameterValue :: LIST<ANY>
  • Generalization of DeviceTask: Act

Definition of DeviceTask:

An activity of an automated system.

UsageNotes:

Device tasks are either invoked by an outside command or scheduled and executed spontaneously by the device (e.g., regular calibration or flushing). The command to execute the task has moodCode <= RQO; an executed task (including a task in progress) has moodCode <= EVN; and an automatic task on the schedule has moodCode <= APT.

Attributes of DeviceTask:

 6.16.1 DeviceTask.parameterValue :: LIST<ANY> (0..*)
   Property conformance: U

Definition:

The parameters of the task submitted to the device upon the issuance of a command (or configuring the schedule of spontaneously executed tasks).

UsageConstraint:

Parameters are only specified here if they are not included in a separate HL7-defined structure.

UsageNotes:

The parameters are data values interpreted by the device. The parameters should be typed with an appropriate HL7 data type (e.g., codes for enumerated values, REAL and INT for numbers, TS for points in time, PQ for dimensioned quantities, etc.). However, apart from data typing, the parameter semantics is opaque to the HL7 standard.

Rationale:

Some parameters for tasks are uniquely defined by a specific model of equipment. Most critical arguments of a task (e.g., container to operate on, positioning, timing, etc.) are specified in an HL7 standardized static information structure, and the parameter list would not be used for those. The parameter list is used only for those parameters that cannot be standardized because they are uniquely defined for a specific model of equipment. NOTE: This means that the semantics and interpretation of a parameterValue can only be made with an understanding of the specifications or documentation for the specific device being addressed. This contextual information is not conveyed as part of the message.

DesignComments:

The concept of an HL7 defined or standardized structure should be defined here or in the glossary and referenced.

 6.17Class: DiagnosticImage (classCode= DGIMG) (in Acts)

Features of DiagnosticImage:

  • Attributes of DiagnosticImage:
subjectOrientationCode :: CD

Definition of DiagnosticImage:

An observation in the form of a spatial representational of a physical subject suitable for visual presentation.

DesignComments:

Definition rewritten to exclude apparently extraneous concepts.

Attributes of DiagnosticImage:

 6.17.1 DiagnosticImage.subjectOrientationCode :: CD (0..1)
   Property conformance: U
   Concept domain: ImagingSubjectOrientation

Definition:

The spatial relation between an imaged object and the imaging film or detector.

 6.18Class: Diet (classCode= DIET) (in Acts)

Features of Diet:

  • Attributes of Diet:
energyQuantity :: PQ
carbohydrateQuantity :: PQ
  • Generalization of Diet: Supply

Definition of Diet:

A supply Act dealing specifically with the feeding or nourishment of a subject.

UsageNotes:

The detail of the diet is given as a description of the Material associated via Participation.typeCode="product". Medically relevant diet types may be communicated in Diet.code, however, the detail of the food supplied and the various combinations of dishes should be communicated as Material instances.

DesignComments:

The introduction should stipulate how to document usage of or constraints on attributes from the generalization-e.g. Diet.code.

Examples:

Gluten free, low sodium.

Attributes of Diet:

 6.18.1 Diet.energyQuantity :: PQ (0..1)
   Property conformance: U

Deprecation Information:

This attribute was deprecated along with its parent class at the August 2009 Harmonization Meeting. It is deprecated for future use in HL7 Design Models effective with RIM Release 2.28. In the future, this quantity can be conveyed by using a Content relationship with a quantity attribute expressing the "calories".


Definition:

The supplied biologic energy (calories) per day.

FormalConstraint:

This physical quantity SHOULD be convertible to 1 kcal/d (or 1 kJ/d).

 6.18.2 Diet.carbohydrateQuantity :: PQ (0..1)
   Property conformance: U

Deprecation Information:

This attribute was deprecated along with its parent class at the August 2009 Harmonization Meeting. It is deprecated for future use in HL7 Design Models effective with RIM Release 2.28. In the future, this quantity can be conveyed using a Content relationship to an Entity with a code of "carbohydrate" and a quantity attribute on the content relationship.


Definition:

The supplied amount of carbohydrates per day.

UsageNotes:

For a diabetes diet one typically restricts the amount of metabolized carbohydrates to a certain amount per day (e.g., 240 g/d). This restriction can be communicated in the carbohydrateQuantity.

DesignComments:

Units (g) was in definition, but there does not seem to be a constraint on PQ.

 6.19Class: Document (classCode= DOC) (in StructuredDocuments)

Features of Document:

  • Attributes of Document:
completionCode :: CD
storageCode :: CD
copyTime :: TS
bibliographicDesignationText :: DSET<ED>

Definition of Document:

A specialization of Act that supports the characteristics unique to document management services.

Attributes of Document:

 6.19.1 Document.completionCode :: CD (0..1)
   Property conformance: U
   Concept domain: DocumentCompletion

Definition:

A code depicting the completion status of a report.

Examples:

Incomplete, authenticated, legally authenticated.

 6.19.2 Document.storageCode :: CD (0..1)
   Property conformance: U
   Concept domain: DocumentStorage

Definition:

The storage status of a report.

Examples:

Active, archived, purged

 6.19.3 Document.copyTime :: TS (0..1)
   Property conformance: U

Definition:

The time a document is released (i.e., copied or sent to a display device) from a document management system that maintains revision control over the document.

UsageNotes:

The intent of this attribute is to give the viewer of the document some notion as to how long the document has been out of the safe context of its document management system.

FormalConstraint:

Once valued, this attribute cannot be changed.

 6.19.4 Document.bibliographicDesignationText :: DSET<ED> (0..*)
   Property conformance: U

Definition:

A citation for a cataloged document that permits its identification, location and/or retrieval from common collections.

 6.20Class: Employee (classCode= EMP) (in Roles)

Features of Employee:

  • Attributes of Employee:
jobCode :: CD
jobTitleName :: SC
jobClassCode :: CD
occupationCode :: CD
salaryTypeCode :: CD
salaryQuantity :: MO
hazardExposureText :: ED
protectiveEquipmentText :: ED
  • Generalization of Employee: Role

Definition of Employee:

A role played by a person who is associated with an organization to receive wages or salary.

UsageNotes:

The employing organization is the scoper. The purpose of the role is to identify the type of relationship the employee has to the employer rather than the nature of the work actually performed (contrast with AssignedEntity).

Attributes of Employee:

 6.20.1 Employee.jobCode :: CD (0..1)
   Property conformance: U
   Concept domain: EmployeeJob

Definition:

An employer-defined categorization of work.

UsageNotes:

This value is used primarily for payroll/remuneration purposes and is not necessarily indicative of an employee's specific work assignments, responsibilities and privileges.

Examples:

Accountant, programmer analyst, patient care associate, staff nurse

 6.20.2 Employee.jobTitleName :: SC (0..1)
   Property conformance: U
   Concept domain: JobTitleName

Definition:

The title associated with the job held.

UsageNotes:

This is a local name for the employee's occupation that does not necessarily correspond to any scheme for categorizing occupation. Trading partners that need a coded standard should be using the Employee "occupation" attribute.

Examples:

Vice President; Senior Technical Analyst

 6.20.3 Employee.jobClassCode :: CD (0..1)
   Property conformance: U
   Concept domain: EmployeeJobClass

Definition:

The frequency or periodicity of employment.

Examples:

Examples: Full-time; part-time

 6.20.4 Employee.occupationCode :: CD (0..1)
   Property conformance: U
   Concept domain: EmployeeOccupationCode

Definition:

A value that qualifies the classification of 'kind-of-work' based upon a recognized industry or jurisdictional standard.

 6.20.5 Employee.salaryTypeCode :: CD (0..1)
   Property conformance: U
   Concept domain: EmployeeSalaryType

Definition:

A value representing the method used by an employer to compute an employee's salary or wages.

Examples:

Hourly, annual, commission

 6.20.6 Employee.salaryQuantity :: MO (0..1)
   Property conformance: U

Definition:

The amount paid in salary or wages to an employee.

UsageNotes:

This amount should be determined according to the computation method specified in salaryTypeCode, (e.g., if the salaryTypeCode is "hourly" the salaryQuantity specifies the hourly wage).

 6.20.7 Employee.hazardExposureText :: ED (0..1)
   Property conformance: U

Definition:

The hazards associated with the work performed by an employee for an employer.

Examples:

Asbestos; infectious agents

 6.20.8 Employee.protectiveEquipmentText :: ED (0..1)
   Property conformance: U

Definition:

Protective equipment needed for the job performed by an employee for an employer.

Examples:

Safety glasses, hardhat

 6.21Class: Entity (classCode= ENT) (in Entities)

Features of Entity:

  • Attributes of Entity:
classCode :: CS
determinerCode :: CS
id :: DSET<II>
code :: CD
quantity :: PQ
name :: COLL<EN>
desc :: ED
statusCode :: CS
existenceTime :: IVL<TS>
telecom :: COLL<TEL>
riskCode :: DSET<CD>
handlingCode :: DSET<CD>
  • Specializations of Entity:
EntityHeir
LivingSubject
Material
Organization
Place

Definition of Entity:

A physical thing, group of physical things or an organization capable of participating in Acts while in a role.

UsageNotes:

An entity is a physical object that has, had or will have existence. The only exception to this is Organization, which while not having a physical presence, fulfills the other characteristics of an Entity. Entity stipulates the thing itself, not the Roles it may play: the Role of Patient, e.g., is played by the Person Entity.

Examples:

Living subjects (including human beings), organizations, materials, places and their specializations.

Attributes of Entity:

 6.21.1 Entity.classCode :: CS (1..1) Mandatory
   Property conformance: R
   Property isImmutable: true
   Concept domain: EntityClass

Definition:

The major class of Entities to which an Entity-instance belongs.

Rationale:

Due to the extremely large number of potential values for a code set representing all physical things in the universe, the class code is a high level classifier to place the instance of Entity in appropriate context, which then constrains the eligible value domains for the Entity.code attribute.

Examples:

Person, Animal, Chemical Substance, Group, Organization

 6.21.2 Entity.determinerCode :: CS (1..1) Mandatory
   Property conformance: R
   Property isImmutable: true
   Concept domain: EntityDeterminer

Definition:

A code specifying whether the Entity object represents a universal (KIND) vs. a particular (INSTANCE).

Rationale:

An Entity may at times represent information concerning a specific instance (the most common) or a general type of Entity.

Examples:

One human being (instance); or citizens of Indianapolis (kind)

 6.21.3 Entity.id :: DSET<II> (0..*)
   Property conformance: U

Definition:

A unique identifier for the Entity.

UsageNotes:

An instance identifier is a unique identifier, not a classifier. For Materials, serial numbers assigned by specific manufacturers, catalog numbers of specific distributors, or inventory numbers issued by owners, may better be represented by the Role.id, which allows a more clear expression of the fact that such a code is assigned by a specific party associated with that material.

Rationale:

Successful communication only requires that an entity have a single identifier assigned to it. However, as different systems maintain different databases, there may be different instance identifiers assigned by different systems.

 6.21.4 Entity.code :: CD (0..1)
   Property conformance: U
   Concept domain: EntityCode

Definition:

The specific kind of Entity to which an Entity-instance belongs.

UsageNotes:

For each Entity, the value for this attribute is drawn from one of several coding systems as suggested by the Entity.classCode, such as living subject (animal and plant taxonomies), chemical substance (e.g., IUPAC code), organization (e.g., CMS provider number), etc. It is possible that Entity.code may be so fine grained that it represents a single instance. An example is the CDC vaccine manufacturer code, modeled as a concept vocabulary, when in fact each concept refers to a single instance. The boundary cases distinguishing codes and identifiers are controversial: this specification allows a certain amount of flexibility.

Examples:

A medical building, a Doberman Pinscher, a blood collection tube, a tissue biopsy.

 6.21.5 Entity.quantity :: PQ (0..1)
   Property conformance: U

Definition:

A physical quantity specifying the amount of the physical thing represented by the Entity object, either as a count of the members of a group, or as some other physical quantity. Describes the amount of the Entity, irrespective of potential Participations of the Entity as a whole or in parts. In order to explicitly identify a group of like entities, a static model design should constrain the PQ data type of this attribute to INT, thus providing a count of the entities in the group.

UsageConstraint:

The unit of quantity should make sense for the Entity.code and Material.formCode attributes where specified. For example, "10cm of tubing" is fine, while "10cm of cow" is not.

UsageConstraint:

Entity quantity should only be used for specifically identified Entities (such as the contents of beer keg #XP27-35) or in cases where the quantity is an intrinsic part of the specification of the entity (such as a specific portion of phosgene).

UsageNotes:

Just as the name of a Person may change, or even its gender, the quantity of any entity can be subject to change too. With material and bulk living subjects it is possible for the quantity to gradually diminish, or, for such an Entity to be portioned out into smaller amounts of the same kind of Entity (e.g. aliquoting in a laboratory or distributing a production lot in smaller amounts.) In the case of this portioning out of an amount into smaller amounts, the initial Entity instance of the large amount may cease to exist, yet the portions may still be traceable to the initial Entity of the large amount (as in patient for a specimen aliquot or lot for a vaccine).

Specifying Entity.quantity is often not necessary as one can specify quantity in relation to other Entities (Role.quantity), participations (Participation.quantity), and and in Acts which consume or produce such Entity (e.g. SubstanceAdministration.doseQuantity, Supply.quantity).

Examples:

1 human being, 2 cats, 500 cows, 20 mL of blood, 1 kg of yeast, 154 mmol of sodium chloride.

FormalConstraint:

Quantity must be an extensive amount, that is, a count number or an additive quantity, such as mass (1 kg), volume (1 L), amount of substance (1 mol), or another quantity of a kind suitable to describe an amount (catalytic activity).

OpenIssue:

Specifying quantity in terms of an arbitrary, procedure-defined kind of quantity (e.g., tuberculin-units) may not allow to reliably interpret such quantity statement.

 6.21.6 Entity.name :: COLL<EN> (0..*)
   Property conformance: U

Definition:

A non-unique textual identifier or moniker for the Entity.

Rationale:

Most entities have a commonly used name that can be used to differentiate them from other Entities, but that does not provide a necessarily unique identifier.

Examples:

Proper names, nicknames, legal names of persons, places or things.

 6.21.7 Entity.desc :: ED (0..1)
   Property conformance: U

Definition:

A textual or multimedia depiction of the Entity.

UsageNotes:

The content of the description is not considered part of the functional information communicated between systems. Descriptions are meant to be shown to interested human individuals. All information relevant for automated functions must be communicated using the proper attributes and associated objects.

Rationale:

Names and descriptions of entities are typically more meaningful to human viewers than numeric, mnemonic or abbreviated code values. The description allows for additional context about the entity to be conveyed to human viewers without affecting the functional components of the message.

 6.21.8 Entity.statusCode :: CS (0..1)
   Property conformance: U
   Concept domain: EntityStatus

Definition:

A value representing whether the information associated with an Entity is currently active or inactive for the purpose of participation in acts.

UsageNotes:

This attribute was defined in the original RIM as repeating, owing to the presence of nested states in the state machines. In actual practice, however, there is never a need to communicate more than a single status value. Therefore, committees are advised to constrain this attribute to a maximum cardinality of 1 in all message designs.

 6.21.9 Entity.existenceTime :: IVL<TS> (0..1)
   Property conformance: U

Definition:

An interval of time specifying the period in which the Entity physically existed.

UsageNotes:

Physical entities have specified periods in which they exist. Equipment is manufactured, placed in service, retired and salvaged. The relevance of this attribute is in planning, availability and retrospective analysis. This period may represent past, present or future time periods.

Examples:

ManufactureDate / DisposalDate

 6.21.10 Entity.telecom :: COLL<TEL> (0..*)
   Property conformance: U

Definition:

A telecommunication address for the Entity.

 6.21.11 Entity.riskCode :: DSET<CD> (0..*)
   Property conformance: U
   Concept domain: EntityRisk

Definition:

The type of hazard or threat associated with the Entity.

Examples:

Petrochemical or organic chemicals are highly flammable agents that pose an increased risk of fire under certain conditions. Entities with either natural or introduced radioactive character pose a risk to those handling them. Entities comprising specimens from diseased individuals pose an increased risk of infection to those handling them. Persons or animals of irascible temperament may prove to be a risk to healthcare personnel.

 6.21.12 Entity.handlingCode :: DSET<CD> (0..*)
   Property conformance: U
   Concept domain: EntityHandling

Definition:

A value representing special handling requirements for the Entity.

UsageNotes:

This attribute is used to describe required special handling.

Examples:

Keep at room temperature; Keep frozen below 0 C; Keep in a dry environment; Keep upright.

 6.21.13 State machine for Entity (state attribute is statusCode)
Link to state diagram for this class.

States of Entity:

  • active (sub-state of normal):

    The state representing the fact that the Entity is currently active.

  • inactive (sub-state of normal):

    The state representing the fact that an entity can no longer be an active participant in events.

  • normal:

    The "typical" state. Excludes "nullified", which represents the termination state of an Entity instance that was created in error

  • nullified:

    The state representing the termination of an Entity instance that was created in error.


State transitions of Entity:

  • create (from null to active)
  • inactivate (from active to inactive)
  • nullify (from normal to nullified)
  • reactivate (from inactive to active)
  • revise (from active to active)
  • revise (from inactive to inactive)
 6.22Class: EntityHeir (is Abstract) (in CoreInfrastructure)
  • Generalization of EntityHeir: Entity

Definition of EntityHeir:

A subtype of Entity defined solely as a work-around for the lack of support of the reflexive closure of generalization relationships (i.e. "Entity is-an Entity") by the current set of tools.

UsageNotes:

Although it is used to represent Entities that are not otherwise sub-classed in the RIM, the use of the EntityHeir class is entirely dictated by the (excusable) shortcomings of certain tools and data-structures used in the HL7 methodology, and it has no conceptual meaning or semantic modeling implications. Note that ActHeir and RoleHeir have the same use for Act and Role respectively.

Rationale:

It has been discovered that one cannot create an HMD choice structure for a set of classes, all of which are sub-types of Act, Role or Entity, but for which there is not a defined physical class. These are the classes that would have been in the RIM as direct descendants (heirs) of Act, Role and Entity, except for the fact that they carried no unique attributes or associations.

The addition of this single empty class in each hierarchy will permit messages with the appropriate and necessary choice structures to be built. Subsequent evolution of the methodology and tooling may permit the elimination of these classes in favor of an equivalent abstraction in the methodology.

Examples:

A refined message information model (RMIM) contains Entity with the specializations of EnvironmentalEntity, and LivingSubject, where EnvironmentalEntity is conceptually a direct specialization ("clone") of Entity. In this case, the EntityHeir class is used as the basis of the EnvironmentalEntity clone rather than the Entity RIM class itself. The Entity RIM class is used only to represent the common generalization of Observation and EnvironmentalEntity.

OpenIssue:

In order to address the limitations cited in the definition of this class, HL7 is actively pursuing a solution that will allow deprecation of the "heir" classes (including this class) and their removal from the RIM in a future release.

 6.23Class: Exposure (classCode= EXPOS) (in Acts)

Features of Exposure:

  • Attributes of Exposure:
routeCode :: CD
exposureLevel :: CD
exposureModeCode :: CD
  • Generalization of Exposure: Act

Definition of Exposure:

An interaction between entities that provides opportunity for transmission of a physical, chemical, or biological agent from an exposure source entity to an exposure target entity.

UsageNotes:

This class deals only with opportunity and not the outcome of the exposure; i.e. not all exposed parties will necessarily experience actual harm or benefit.

Exposure differs from Substance Administration by the absence of the participation of a performer in the act.

The following participations SHOULD be used with the following participations to distinguish the specific entities:

  • The exposed entity participates via the "exposure target" (EXPTRGT) participation.

  • An entity that has carried the agent transmitted in the exposure participates via the "exposure source" (EXSRC) participation. For example:

    • a person or animal who carried an infectious disease and interacts (EXSRC) with another person or animal (EXPTRGT) transmitting the disease agent;

    • a place or other environment (EXSRC) and a person or animal (EXPTRGT) who is exposed in the presence of this environment.

  • When it is unknown whether a participating entity is the source of the agent (EXSRC) or the target of the transmission (EXPTRGT), the "exposure participant" (EXPART) is used.

  • The physical (including energy), chemical or biological substance which is participating in the exposure uses the "exposure agent" (EXPAGNT) participation. There are at least three scenarios:

    1. the player of the Role that participates as EXPAGNT is the chemical or biological substance mixed or carried by the scoper-entity of the Role (e.g., ingredient role); or

    2. the player of the Role that participates as EXPAGNT is a mixture known to contain the chemical, radiological or biological substance of interest; or

    3. the player of the Role that participates as a EXPAGNT is known to carry the agent (i.e., the player is a fomite, vector, etc.).

The Exposure.statusCode attribute should be interpreted as the state of the Exposure business object (e.g., active, aborted, completed) and not the clinical status of the exposure (e.g., probable, confirmed). The clinical status of the exposure should be associated with the exposure via a subject observation.

DesignComments:

The usage notes require a clear criterion for determining whether an act is an exposure or substance administration-deleterious potential, uncertainty of actual transmission, or otherwise. SBADM states that the criterion is the presence of a performer-but there are examples above that call this criterion into question (e.g., the first one, concerning a dosing error).

Examples:

The following examples are provided to indicate what interactions are considered exposures rather than other types of Acts:

  • A patient accidentally receives three times the recommended dose of their medication due to a dosing error.

    • This is a substance administration. Public health and/or safety authorities may also be interested in documenting this with an associated exposure.

  • A patient accidentally is dispensed an incorrect medicine (e.g., clomiphene instead of clomipramine). They have taken several doses before the mistake is detected. They are therefore "exposed" to a medicine that there was no therapeutic indication for them to receive.

    • There are several substance administrations in this example. Public health and/or safety authorities may also be interested in documenting this with associated exposures.

  • In a busy medical ward, a patient is receiving chemotherapy for a lymphoma. Unfortunately, the IV infusion bag containing the medicine splits, spraying cytotoxic medication over the patient being treated and the patient in the adjacent bed.

    • There are three substance administrations in this example. The first is the intended one (IV infusion) with its associated (implicit) exposure. There is an incident with an associated substance administration to the same patient involving the medication sprayed over the patient as well as an associated exposure. Additionally, the incident includes a substance administration involving the spraying of medication on the adjacent patient, also with an associated exposure.

  • A patient who is a refugee from a war-torn African nation arrives in a busy inner city A&E department suffering from a cough with bloody sputum. Not understanding the registration and triage process, they sit in the waiting room for several hours before it is noticed that they have not booked in. As soon as they are being processed, it is suspected that they are suffering from TB. Vulnerable (immunosuppressed) patients who were sharing the waiting room with this patient may have been exposed to the tubercule bacillus, and must be traced for investigation.

    • This is an exposure (or possibly multiple exposures) in the waiting room involving the refugee and everyone else in the waiting room during the period. There might also be a number of known or presumed substance administrations (coughing) via several possible routes. The substance administrations are only hypotheses until confirmed by further testing.

  • A patient who has received an elective total hip replacement procedure suffers a prolonged stay in hospital, due to contracting an MRSA infection in the surgical wound site after the surgery.

    • This is an exposure to MRSA. Although there was some sort of substance administration, it's possible the exact mechanism for introduction of the MRSA into the wound will not be identified.

  • Routine maintenance of the X-ray machines at a local hospital reveals a serious breach of the shielding on one of the machines. Patients who have undergone investigations using that machine in the last month are likely to have been exposed to significantly higher doses of X-rays than was intended, and must be tracked for possible adverse effects.

    • There has been an exposure of each patient who used the machine in the past 30 days. Some patients may have had substance administrations.

  • A new member of staff is employed in the laundry processing room of a small cottage hospital, and a misreading of the instructions for adding detergents results in fifty times the usual concentration of cleaning materials being added to a batch of hospital bedding. As a result, several patients have been exposed to very high levels of detergents still present in the "clean" bedding, and have experienced dermatological reactions to this.

    • There has been an incident with multiple exposures to several patients. Although there are substance administrations involving the application of the detergent to the skin of the patients, it is expected that the substance administrations would not be directly documented.

  • Seven patients who are residents in a health care facility for the elderly mentally ill have developed respiratory problems. After several months of various tests having been performed and various medications prescribed to these patients, the problem is traced to their being "sensitive" to a new fungicide used in the wall plaster of the ward where these patients reside.

    • The patients have been contin