v2+ Details
0.3.2 - Working Draft to present the concept ideas (FO)

v2+ Details - Local Development build (v0.3.2). See the Directory of published versions

Logical Model: v2+ Message Structure Definition - Detailed Descriptions

Draft as of 2023-10-23

Definitions for the v2MessageStructureDefinition logical model.

Guidance on how to interpret the contents of this table can be found here

0. v2MessageStructureDefinition
Control0..*
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. v2MessageStructureDefinition.code
Shortcode name of this message structure, eg. ADT_A01
Control1..1
BindingThe codes SHALL be taken from hl7VS-messageStructure: Message Structure Code
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
4. v2MessageStructureDefinition.title
Shorthuman readable display name
Control0..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
6. v2MessageStructureDefinition.description
Shorttextual description of this message structure
Control0..1
TypeNarrative(Narrative)
8. v2MessageStructureDefinition.messageType
Control1..1
BindingThe codes SHALL be taken from http://terminology.hl7.org/ValueSet/v2plus-vs-message-type
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. v2MessageStructureDefinition.steward
Control0..1
BindingThe codes SHALL be taken from steward: Steward for this Message Structure
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. v2MessageStructureDefinition.triggerEvents
Control0..*
BindingUnless not suitable, these codes SHALL be taken from event: What are the associated triggering events?
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
14. v2MessageStructureDefinition.structure
Shortdetailed structure
Control1..*
TypeBackboneElement
16. v2MessageStructureDefinition.structure.sequenceNumber
Control1..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
18. v2MessageStructureDefinition.structure.segment
Shortchoice of segment group, segment, or choice
Control1..*
SlicingThis element introduces a set of slices on v2MessageStructureDefinition.structure.segment. The slices are unordered and Open, and can be differentiated using the following discriminators: , and can be differentiated using the following discriminators:
  • value @ system
20. v2MessageStructureDefinition.structure.segment:SegmentGroup
Slice NameSegmentGroup
Shortgroup of segments
Control1..1
22. v2MessageStructureDefinition.structure.segment:SegmentGroup.name
Shortgroup of segments
Control1..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
24. v2MessageStructureDefinition.structure.segment:SegmentGroup.structure
ShortNested Structure
Control1..1
TypeBackboneElement
26. v2MessageStructureDefinition.structure.segment:IndividualSegment
Slice NameIndividualSegment
Shortindividual segments
Control1..*
28. v2MessageStructureDefinition.structure.segment:IndividualSegment.code
Shortcode for individual segment
Control1..1
Typecode(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
30. v2MessageStructureDefinition.structure.segment:ChoiceGroup
Slice NameChoiceGroup
Shortchoice of segments
Control1..*
32. v2MessageStructureDefinition.structure.segment:ChoiceGroup.number
Shortnumber to identify this individual group
Control1..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
34. v2MessageStructureDefinition.structure.segment:ChoiceGroup.name
Shortgroupname
Control1..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
36. v2MessageStructureDefinition.structure.segment:ChoiceGroup.structure
Control1..1
TypeBackboneElement
38. v2MessageStructureDefinition.structure.implement
ShortThis value indicates wheether this segment has to be implemented. The default value is empty, i.e. optional.
Control0..1
BindingThe codes SHALL be taken from v2plus-implement
Typecode(code)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
40. v2MessageStructureDefinition.structure.minCardinality
Control0..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
42. v2MessageStructureDefinition.structure.maxCardinality
Control0..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
44. v2MessageStructureDefinition.structure.status
Definition

Specify the concept domain if it is a coded element

Control0..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension

Guidance on how to interpret the contents of this table can be found here

0. v2MessageStructureDefinition
Definition

Base definition for all types defined in FHIR type system.

ShortBase for all types and resources
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. v2MessageStructureDefinition.code
Shortcode name of this message structure, eg. ADT_A01
Control1..1
BindingThe codes SHALL be taken from hl7VS-messageStructure: Message Structure Code
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
4. v2MessageStructureDefinition.title
Shorthuman readable display name
Control0..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
6. v2MessageStructureDefinition.description
Shorttextual description of this message structure
Control0..1
TypeNarrative(Narrative)
8. v2MessageStructureDefinition.messageType
Control1..1
BindingThe codes SHALL be taken from http://terminology.hl7.org/ValueSet/v2plus-vs-message-type
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. v2MessageStructureDefinition.steward
Control0..1
BindingThe codes SHALL be taken from steward: Steward for this Message Structure
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. v2MessageStructureDefinition.triggerEvents
Control0..*
BindingUnless not suitable, these codes SHALL be taken from event: What are the associated triggering events?
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
14. v2MessageStructureDefinition.structure
Shortdetailed structure
Control1..*
TypeBackboneElement
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
16. v2MessageStructureDefinition.structure.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

ShortExtensions that cannot be ignored even if unrecognized
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summarytrue
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content, modifiers
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
18. v2MessageStructureDefinition.structure.sequenceNumber
Control1..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
20. v2MessageStructureDefinition.structure.segment:SegmentGroup
Slice NameSegmentGroup
Shortgroup of segments
Control1..1
SlicingThis element introduces a set of slices on v2MessageStructureDefinition.structure.segment. The slices are unordered and Open, and can be differentiated using the following discriminators: , and can be differentiated using the following discriminators:
  • value @ system
22. v2MessageStructureDefinition.structure.segment:SegmentGroup.name
Shortgroupname
Control1..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
24. v2MessageStructureDefinition.structure.segment:SegmentGroup.structure
ShortNested Structure
Control1..1
TypeBackboneElement
26. v2MessageStructureDefinition.structure.segment:IndividualSegment
Slice NameIndividualSegment
Shortindividual segments
Control1..*
28. v2MessageStructureDefinition.structure.segment:IndividualSegment.code
Shortcode for individual segment
Control1..1
Typecode(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
30. v2MessageStructureDefinition.structure.segment:ChoiceGroup
Slice NameChoiceGroup
Shortchoice of segments
Control1..*
32. v2MessageStructureDefinition.structure.segment:ChoiceGroup.number
Shortnumber to identify this individual group
Control1..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
34. v2MessageStructureDefinition.structure.implement
ShortThis value indicates wheether this segment has to be implemented. The default value is empty, i.e. optional.
Control0..1
BindingThe codes SHALL be taken from v2plus-implement
Typecode(code)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
36. v2MessageStructureDefinition.structure.minCardinality
Control0..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
38. v2MessageStructureDefinition.structure.maxCardinality
Control0..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
40. v2MessageStructureDefinition.structure.status
Definition

Specify the concept domain if it is a coded element

Control0..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension

Guidance on how to interpret the contents of this table can be found here

0. v2MessageStructureDefinition
Definition

Base definition for all types defined in FHIR type system.

ShortBase for all types and resources
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. v2MessageStructureDefinition.code
Shortcode name of this message structure, eg. ADT_A01
Control1..1
BindingThe codes SHALL be taken from hl7VS-messageStructure: Message Structure Code
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
4. v2MessageStructureDefinition.title
Shorthuman readable display name
Control0..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
6. v2MessageStructureDefinition.description
Shorttextual description of this message structure
Control0..1
TypeNarrative(Narrative)
8. v2MessageStructureDefinition.messageType
Control1..1
BindingThe codes SHALL be taken from http://terminology.hl7.org/ValueSet/v2plus-vs-message-type
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. v2MessageStructureDefinition.steward
Control0..1
BindingThe codes SHALL be taken from steward: Steward for this Message Structure
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. v2MessageStructureDefinition.triggerEvents
Control0..*
BindingUnless not suitable, these codes SHALL be taken from event: What are the associated triggering events?
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
14. v2MessageStructureDefinition.structure
Shortdetailed structure
Control1..*
TypeBackboneElement
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
16. v2MessageStructureDefinition.structure.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ShortUnique id for inter-element referencing
Control0..1
This element is affected by the following invariants: ele-1
Typeid
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
18. v2MessageStructureDefinition.structure.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on v2MessageStructureDefinition.structure.extension. The slices are unordered and Open, and can be differentiated using the following discriminators: , and can be differentiated using the following discriminators:
  • value @ url
20. v2MessageStructureDefinition.structure.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

ShortExtensions that cannot be ignored even if unrecognized
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summarytrue
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content, modifiers
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
22. v2MessageStructureDefinition.structure.sequenceNumber
Control1..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
24. v2MessageStructureDefinition.structure.segment:SegmentGroup
Slice NameSegmentGroup
Shortgroup of segments
Control1..1
SlicingThis element introduces a set of slices on v2MessageStructureDefinition.structure.segment. The slices are unordered and Open, and can be differentiated using the following discriminators: , and can be differentiated using the following discriminators:
  • value @ system
26. v2MessageStructureDefinition.structure.segment:SegmentGroup.name
Shortgroupname
Control1..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
28. v2MessageStructureDefinition.structure.segment:SegmentGroup.structure
ShortNested Structure
Control1..1
TypeBackboneElement
30. v2MessageStructureDefinition.structure.segment:IndividualSegment
Slice NameIndividualSegment
Shortindividual segments
Control1..*
32. v2MessageStructureDefinition.structure.segment:IndividualSegment.code
Shortcode for individual segment
Control1..1
Typecode(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
34. v2MessageStructureDefinition.structure.segment:ChoiceGroup
Slice NameChoiceGroup
Shortchoice of segments
Control1..*
36. v2MessageStructureDefinition.structure.segment:ChoiceGroup.number
Shortnumber to identify this individual group
Control1..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
38. v2MessageStructureDefinition.structure.implement
ShortThis value indicates wheether this segment has to be implemented. The default value is empty, i.e. optional.
Control0..1
BindingThe codes SHALL be taken from v2plus-implement
Typecode(code)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
40. v2MessageStructureDefinition.structure.minCardinality
Control0..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
42. v2MessageStructureDefinition.structure.maxCardinality
Control0..1
Typeinteger(integer)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
44. v2MessageStructureDefinition.structure.status
Definition

Specify the concept domain if it is a coded element

Control0..1
Typestring(string)
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension