Visit the HL7 website
Visit the FHIR website

Pan-Canadian eReferral-eConsult (CA:eReC) v1.1.0-DFT-Ballot

1.1.0-DFT-Ballot   Canada flag
  • Index
  • Home
  • Business Context
    • Business Models
    • Use Cases
    • Business Events
    • Business Rules
    • Privacy and Security Guidance
    • Provincial Considerations
  • Technical Context
    • Technical Foundation
    • Integration Patterns
    • Messaging
    • Sequence Diagrams
    • Conformance Requirements
  • FHIR Artifacts
    • Messaging Events
    • Resource Profiles
    • Extensions
    • Terminology
    • Examples
    • Capability Statements
    • Downloads
    • ---
    • Appointment (CA:eReC)
    • Bundle (CA:eReC)
    • Communication (CA:eReC)
    • DocumentReference (CA:eReC)
    • Location (CA:eReC)
    • MessageHeader (CA:eReC)
    • Organization (CA:eReC)
    • Patient (CA:eReC)
    • Practitioner (CA:eReC)
    • PractitionerRole (CA:eReC)
    • HealthcareService (CA:eReC)
    • QuestionnaireResponse (CA:eReC)
    • ServiceRequest (CA:eReC)
    • Task (CA:eReC)
  • Change Log
    1. Index
    2. FHIR Artifacts
    3. MessageHeader (CA:eReC)

preBallot - The specification is currently in ballot review and subject to change. . . . For a full list of available versions, see the Directory of published versions

MessageHeader (CA:eReC)

Links

Profile

CA-eReC-MessageHeader

Derived from

http://hl7.org/fhir/StructureDefinition/MessageHeader

Description

The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.

References to this resource

Resource Content

  • Overview
  • Tree view
  • XML
  • JSON
MessageHeaderMessageHeader
There are no (further) constraints on this element
Data type

MessageHeader

idS1..
There are no (further) constraints on this element
Element id

MessageHeader.id

extension
There are no (further) constraints on this element
Element id

MessageHeader.extension

Sliced:

Unordered, Open, by url(Value)

RoutingOptionsExtension(CodeableConcept)
There are no (further) constraints on this element
Element id

MessageHeader.extension:RoutingOptions

Short description

USE CASE SUPPORT: Systems deployed in Ontario SHALL support

Data type

Extension(CodeableConcept)

Extension URL

http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Routing-Options-EXT

ReferralIdentifierExtension(Identifier)
There are no (further) constraints on this element
Element id

MessageHeader.extension:ReferralIdentifier

Short description

USE CASE SUPPORT: Systems deployed in Ontario SHALL support

Data type

Extension(Identifier)

Extension URL

http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Referral-Identifier-EXT

event[x]SBinding
There are no (further) constraints on this element
Element id

MessageHeader.event[x]

Binding

MessageEventCode (extensible)

eventCodingCoding
There are no (further) constraints on this element
Data type

Coding

destinationS
There are no (further) constraints on this element
Element id

MessageHeader.destination

endpointS
There are no (further) constraints on this element
Element id

MessageHeader.destination.endpoint

receiverReference(Practitioner | PractitionerRole | Organization)
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver

Data type

Reference(Practitioner | PractitionerRole | Organization)

referenceS
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.reference

identifierS
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier

systemS1..
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.system

valueS1..
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.value

senderReference(Practitioner | PractitionerRole | Organization)
There are no (further) constraints on this element
Element id

MessageHeader.sender

Data type

Reference(Practitioner | PractitionerRole | Organization)

referenceS
There are no (further) constraints on this element
Element id

MessageHeader.sender.reference

identifierS
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier

systemS1..
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.system

valueS1..
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.value

entererReference(PractitionerRole | Practitioner)
There are no (further) constraints on this element
Element id

MessageHeader.enterer

Data type

Reference(PractitionerRole | Practitioner)

referenceS
There are no (further) constraints on this element
Element id

MessageHeader.enterer.reference

identifierS
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier

systemS1..
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.system

valueS1..
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.value

authorS0..Reference(PractitionerRole)
There are no (further) constraints on this element
Element id

MessageHeader.author

Data type

Reference(PractitionerRole)

referenceS
There are no (further) constraints on this element
Element id

MessageHeader.author.reference

identifierS
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier

systemS1..
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.system

valueS1..
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.value

sourceS
There are no (further) constraints on this element
Element id

MessageHeader.source

endpointS
There are no (further) constraints on this element
Element id

MessageHeader.source.endpoint

reasonBinding
There are no (further) constraints on this element
Element id

MessageHeader.reason

Binding

MessageChangeReasonCode (extensible)

responseS
There are no (further) constraints on this element
Element id

MessageHeader.response

identifierS
There are no (further) constraints on this element
Element id

MessageHeader.response.identifier

codeS
There are no (further) constraints on this element
Element id

MessageHeader.response.code

detailsS
There are no (further) constraints on this element
Element id

MessageHeader.response.details

focusS1..Reference(ServiceRequest | Task | Appointment | Communication)
There are no (further) constraints on this element
Element id

MessageHeader.focus

Data type

Reference(ServiceRequest | Task | Appointment | Communication)

MessageHeaderIMessageHeader
There are no (further) constraints on this element
Element id

MessageHeader

Short description

A resource that describes a message that is exchanged between systems

Definition

The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.

Data type

MessageHeader

Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • v2: MSH / MSA / ERR
  • rim: Message
idS Σ1..1string
There are no (further) constraints on this element
Element id

MessageHeader.id

Short description

Logical id of this artifact

Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Data type

string

metaΣ0..1Meta
There are no (further) constraints on this element
Element id

MessageHeader.meta

Short description

Metadata about the resource

Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Data type

Meta

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
implicitRulesΣ ?!0..1uri
There are no (further) constraints on this element
Element id

MessageHeader.implicitRules

Short description

A set of rules under which this content was created

Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Data type

uri

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
language0..1codeBinding
There are no (further) constraints on this element
Element id

MessageHeader.language

Short description

Language of the resource content

Definition

The base language in which the resource is written.

Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Data type

code

Binding

A human language.

CommonLanguages (preferred)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
text0..1Narrative
There are no (further) constraints on this element
Element id

MessageHeader.text

Short description

Text summary of the resource, for human interpretation

Alternate names

narrative, html, xhtml, display

Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Data type

Narrative

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
contained0..*Resource
There are no (further) constraints on this element
Element id

MessageHeader.contained

Short description

Contained, inline Resources

Alternate names

inline resources, anonymous resources, contained resources

Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Data type

Resource

Mappings
  • rim: N/A
extensionI0..*ExtensionElement id

MessageHeader.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, 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.

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.

Data type

Extension

Sliced:

Unordered, Open, by url(Value)

Constraints
  • ele-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()
Mappings
  • rim: N/A
RoutingOptionsI0..*Extension(CodeableConcept)Element id

MessageHeader.extension:RoutingOptions

Short description

USE CASE SUPPORT: Systems deployed in Ontario SHALL support

Alternate names

extensions, user content

Definition

For Referral Source Type identification. Only one referral routing object is expected.

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.

Data type

Extension(CodeableConcept)

Extension URL

http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Routing-Options-EXT

Constraints
  • ele-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()
Mappings
  • rim: N/A
  • rim: n/a
ReferralIdentifierI0..1Extension(Identifier)Element id

MessageHeader.extension:ReferralIdentifier

Short description

USE CASE SUPPORT: Systems deployed in Ontario SHALL support

Alternate names

extensions, user content

Definition

For requisitions this extension is used to convey the ServiceRequest.requisition identifier in the MessageHeader.

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.

Data type

Extension(Identifier)

Extension URL

http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Referral-Identifier-EXT

Constraints
  • ele-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()
Mappings
  • rim: N/A
  • rim: n/a
modifierExtension?! I0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.modifierExtension

Short description

Extensions that cannot be ignored

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it 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 manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to 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).

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.

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.

Data type

Extension

Constraints
  • ele-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()
Mappings
  • rim: N/A
event[x]S Σ1..1BindingElement id

MessageHeader.event[x]

Short description

Code for the event this message represents or link to event definition

Definition

Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively uri to the EventDefinition.

Requirements

Drives the behavior associated with this message.

Comments

The time of the event will be found in the focus resource. The time of the message will be found in Bundle.timestamp.

Binding

One of the message events defined as part of this version of FHIR.

MessageEventCode (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.what[x]
  • v2: MSH-9.2
  • rim: ./payload[classCode="CACT" and moodCode="EVN" and isNormalAct()]/code[isNormalDatatype()]/code
eventCodingCodingData type

Coding

destinationS Σ0..*BackboneElement
There are no (further) constraints on this element
Element id

MessageHeader.destination

Short description

Message destination application(s)

Definition

The destination application which the message is intended for.

Requirements

Indicates where message is to be sent for routing purposes. Allows verification of "am I the intended recipient".

Comments

There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system.

Data type

BackboneElement

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.subject[x]
  • rim: ./communicationFunction[typeCode="RCV"]
  • w5: FiveWs.subject
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.destination.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.destination.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Constraints
  • ele-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()
Mappings
  • rim: n/a
modifierExtensionΣ ?! I0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.destination.modifierExtension

Short description

Extensions that cannot be ignored even if unrecognized

Alternate names

extensions, user content, modifiers

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 manageable, 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).

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.

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.

Data type

Extension

Constraints
  • ele-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()
Mappings
  • rim: N/A
nameΣ0..1string
There are no (further) constraints on this element
Element id

MessageHeader.destination.name

Short description

Name of system

Definition

Human-readable name for the target system.

Requirements

May be used for routing of response and/or to support audit.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: MSH-5
  • rim: unique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]/name[type='ST' and isNormalDatatype()])
targetΣ0..1Reference(Device)
There are no (further) constraints on this element
Element id

MessageHeader.destination.target

Short description

Particular delivery destination within the destination

Definition

Identifies the target end system in situations where the initial message transmission is to an intermediary system.

Requirements

Supports multi-hop routing.

Data type

Reference(Device)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: unique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]
endpointS Σ1..1url
There are no (further) constraints on this element
Element id

MessageHeader.destination.endpoint

Short description

Actual destination address or id

Definition

Indicates where the message should be routed to.

Requirements

Identifies where to route the message.

Comments

The id may be a non-resolvable URI for systems that do not use standard network-based addresses.

Data type

url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: MSH-25 (or MSH-6)
  • rim: ./telecom
receiverΣ0..1Reference(Practitioner | PractitionerRole | Organization)Element id

MessageHeader.destination.receiver

Short description

Intended "real-world" recipient for the data

Definition

Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.

Requirements

Allows routing beyond just the application level.

Data type

Reference(Practitioner | PractitionerRole | Organization)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.subject[x]
  • v2: PRT-5:PRT-4='WAYR' / PRT-8:PRT-4='WAYR'
  • rim: Not directly supported. Could be shared using attentionLine.value with an appropriate keyWordText
  • w5: FiveWs.subject
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Sliced:

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url
Constraints
  • ele-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()
Mappings
  • rim: n/a
referenceS Σ I0..1string
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.reference

Short description

Literal reference, Relative, internal or absolute URL

Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
typeΣ0..1uriBinding
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.type

Short description

Type the reference refers to (e.g. "Patient")

Definition

The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.

The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).

Comments

This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.

Data type

uri

Binding

Aa resource (or, for logical models, the URI of the logical model).

ResourceType (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
identifierS Σ0..1Identifier
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier

Short description

Logical reference, when literal reference is not known

Definition

An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

Comments

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).

Data type

Identifier

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .identifier
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Sliced:

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url
Constraints
  • ele-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()
Mappings
  • rim: n/a
useΣ ?!0..1codeBinding
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.use

Short description

usual | official | temp | secondary | old (If known)

Definition

The purpose of this identifier.

Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Data type

code

Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
typeΣ0..1CodeableConceptBinding
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.type

Short description

Description of identifier

Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Data type

CodeableConcept

Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
systemS Σ1..1uri
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.system

Short description

The namespace for the identifier value

Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Data type

uri

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
valueS Σ1..1string
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.value

Short description

The value that is unique

Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

123456


Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
periodΣ0..1Period
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.period

Short description

Time period when id is/was valid for use

Definition

Time period during which identifier is/was valid for use.

Data type

Period

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
assignerΣ0..1Reference(Organization)
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.identifier.assigner

Short description

Organization that issued id (may be just text)

Definition

Organization that issued/manages the identifier.

Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Data type

Reference(Organization)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
displayΣ0..1string
There are no (further) constraints on this element
Element id

MessageHeader.destination.receiver.display

Short description

Text alternative for the resource

Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
senderΣ0..1Reference(Practitioner | PractitionerRole | Organization)Element id

MessageHeader.sender

Short description

Real world sender of the message

Definition

Identifies the sending system to allow the use of a trust relationship.

Requirements

Allows routing beyond just the application level.

Comments

Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone.

Data type

Reference(Practitioner | PractitionerRole | Organization)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.subject[x]
  • v2: PRT-5:PRT-4='WAYR' / PRT-8:PRT-4='WAYR'
  • rim: Not directly supported. Could be shared using attentionLine.value with an appropriate keyWordText
  • w5: FiveWs.subject
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.sender.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.sender.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Sliced:

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url
Constraints
  • ele-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()
Mappings
  • rim: n/a
referenceS Σ I0..1string
There are no (further) constraints on this element
Element id

MessageHeader.sender.reference

Short description

Literal reference, Relative, internal or absolute URL

Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
typeΣ0..1uriBinding
There are no (further) constraints on this element
Element id

MessageHeader.sender.type

Short description

Type the reference refers to (e.g. "Patient")

Definition

The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.

The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).

Comments

This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.

Data type

uri

Binding

Aa resource (or, for logical models, the URI of the logical model).

ResourceType (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
identifierS Σ0..1Identifier
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier

Short description

Logical reference, when literal reference is not known

Definition

An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

Comments

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).

Data type

Identifier

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .identifier
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Sliced:

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url
Constraints
  • ele-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()
Mappings
  • rim: n/a
useΣ ?!0..1codeBinding
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.use

Short description

usual | official | temp | secondary | old (If known)

Definition

The purpose of this identifier.

Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Data type

code

Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
typeΣ0..1CodeableConceptBinding
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.type

Short description

Description of identifier

Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Data type

CodeableConcept

Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
systemS Σ1..1uri
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.system

Short description

The namespace for the identifier value

Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Data type

uri

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
valueS Σ1..1string
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.value

Short description

The value that is unique

Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

123456


Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
periodΣ0..1Period
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.period

Short description

Time period when id is/was valid for use

Definition

Time period during which identifier is/was valid for use.

Data type

Period

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
assignerΣ0..1Reference(Organization)
There are no (further) constraints on this element
Element id

MessageHeader.sender.identifier.assigner

Short description

Organization that issued id (may be just text)

Definition

Organization that issued/manages the identifier.

Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Data type

Reference(Organization)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
displayΣ0..1string
There are no (further) constraints on this element
Element id

MessageHeader.sender.display

Short description

Text alternative for the resource

Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
entererΣ0..1Reference(PractitionerRole | Practitioner)Element id

MessageHeader.enterer

Short description

The source of the data entry

Definition

The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.

Requirements

Need to know for audit/traceback requirements and possibly for authorization.

Comments

Usually only for the request but can be used in a response.

Data type

Reference(PractitionerRole | Practitioner)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.author
  • v2: EVN-5 / ORC-10 / PRT-5:PRT-4='EP' / ROL where ROL.3 is EP or ORC.10
  • rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="ENT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.enterer.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.enterer.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Sliced:

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url
Constraints
  • ele-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()
Mappings
  • rim: n/a
referenceS Σ I0..1string
There are no (further) constraints on this element
Element id

MessageHeader.enterer.reference

Short description

Literal reference, Relative, internal or absolute URL

Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
typeΣ0..1uriBinding
There are no (further) constraints on this element
Element id

MessageHeader.enterer.type

Short description

Type the reference refers to (e.g. "Patient")

Definition

The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.

The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).

Comments

This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.

Data type

uri

Binding

Aa resource (or, for logical models, the URI of the logical model).

ResourceType (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
identifierS Σ0..1Identifier
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier

Short description

Logical reference, when literal reference is not known

Definition

An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

Comments

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).

Data type

Identifier

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .identifier
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Sliced:

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url
Constraints
  • ele-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()
Mappings
  • rim: n/a
useΣ ?!0..1codeBinding
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.use

Short description

usual | official | temp | secondary | old (If known)

Definition

The purpose of this identifier.

Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Data type

code

Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
typeΣ0..1CodeableConceptBinding
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.type

Short description

Description of identifier

Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Data type

CodeableConcept

Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
systemS Σ1..1uri
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.system

Short description

The namespace for the identifier value

Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Data type

uri

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
valueS Σ1..1string
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.value

Short description

The value that is unique

Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

123456


Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
periodΣ0..1Period
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.period

Short description

Time period when id is/was valid for use

Definition

Time period during which identifier is/was valid for use.

Data type

Period

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
assignerΣ0..1Reference(Organization)
There are no (further) constraints on this element
Element id

MessageHeader.enterer.identifier.assigner

Short description

Organization that issued id (may be just text)

Definition

Organization that issued/manages the identifier.

Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Data type

Reference(Organization)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
displayΣ0..1string
There are no (further) constraints on this element
Element id

MessageHeader.enterer.display

Short description

Text alternative for the resource

Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
authorS Σ0..1Reference(PractitionerRole)Element id

MessageHeader.author

Short description

The source of the decision

Definition

The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.

Requirements

Need to know for audit/traceback requirements and possibly for authorization.

Comments

Usually only for the request but can be used in a response.

Data type

Reference(PractitionerRole)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.author
  • v2: ORC-19 / PRT-5:PRT-4='AUT' / ROL where ROL.3 is IP or ORC.12
  • rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.author.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.author.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Sliced:

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url
Constraints
  • ele-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()
Mappings
  • rim: n/a
referenceS Σ I0..1string
There are no (further) constraints on this element
Element id

MessageHeader.author.reference

Short description

Literal reference, Relative, internal or absolute URL

Definition

A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.

Comments

Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
typeΣ0..1uriBinding
There are no (further) constraints on this element
Element id

MessageHeader.author.type

Short description

Type the reference refers to (e.g. "Patient")

Definition

The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.

The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources).

Comments

This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified.

Data type

uri

Binding

Aa resource (or, for logical models, the URI of the logical model).

ResourceType (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
identifierS Σ0..1Identifier
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier

Short description

Logical reference, when literal reference is not known

Definition

An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.

Comments

When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy.

When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference

Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.

Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any).

Data type

Identifier

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .identifier
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Sliced:

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url
Constraints
  • ele-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()
Mappings
  • rim: n/a
useΣ ?!0..1codeBinding
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.use

Short description

usual | official | temp | secondary | old (If known)

Definition

The purpose of this identifier.

Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Data type

code

Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: N/A
  • rim: Role.code or implied by context
typeΣ0..1CodeableConceptBinding
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.type

Short description

Description of identifier

Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Data type

CodeableConcept

Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.5
  • rim: Role.code or implied by context
systemS Σ1..1uri
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.system

Short description

The namespace for the identifier value

Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Data type

uri

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
valueS Σ1..1string
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.value

Short description

The value that is unique

Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

123456


Mappings
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
periodΣ0..1Period
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.period

Short description

Time period when id is/was valid for use

Definition

Time period during which identifier is/was valid for use.

Data type

Period

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
assignerΣ0..1Reference(Organization)
There are no (further) constraints on this element
Element id

MessageHeader.author.identifier.assigner

Short description

Organization that issued id (may be just text)

Definition

Organization that issued/manages the identifier.

Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Data type

Reference(Organization)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
displayΣ0..1string
There are no (further) constraints on this element
Element id

MessageHeader.author.display

Short description

Text alternative for the resource

Definition

Plain text narrative that identifies the resource in addition to the resource reference.

Comments

This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: N/A
sourceS Σ1..1BackboneElement
There are no (further) constraints on this element
Element id

MessageHeader.source

Short description

Message source application

Definition

The source application from which this message originated.

Requirements

Allows replies, supports audit.

Data type

BackboneElement

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.actor
  • rim: unique(./communicationFunction[typeCode="SND"])
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.source.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.source.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Constraints
  • ele-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()
Mappings
  • rim: n/a
modifierExtensionΣ ?! I0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.source.modifierExtension

Short description

Extensions that cannot be ignored even if unrecognized

Alternate names

extensions, user content, modifiers

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 manageable, 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).

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.

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.

Data type

Extension

Constraints
  • ele-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()
Mappings
  • rim: N/A
nameΣ0..1string
There are no (further) constraints on this element
Element id

MessageHeader.source.name

Short description

Name of system

Definition

Human-readable name for the source system.

Requirements

May be used to support audit.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: MSH-3
  • rim: unique(./entity[determinerCode="INST" and classCode="DEV"]/name[type='ST' and isNormalDatatype()])
softwareΣ0..1string
There are no (further) constraints on this element
Element id

MessageHeader.source.software

Short description

Name of software running the system

Definition

May include configuration or other information useful in debugging.

Requirements

Supports audit and possibly interface engine behavior.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SFT-3 ( +SFT-1)
  • rim: unique(./entity[determinerCode="INST" and classCode="DEV"]/softwareName[isNormalDatatype()])
versionΣ0..1string
There are no (further) constraints on this element
Element id

MessageHeader.source.version

Short description

Version of software running

Definition

Can convey versions of multiple systems in situations where a message passes through multiple hands.

Requirements

Supports audit and possibly interface engine behavior.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: SFT-2
  • rim: (Not supported)
contactΣ0..1ContactPoint
There are no (further) constraints on this element
Element id

MessageHeader.source.contact

Short description

Human contact for problems

Definition

An e-mail, phone, website or other contact point to use to resolve issues with message communications.

Requirements

Allows escalation of technical issues.

Data type

ContactPoint

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: (MSH-22?)
  • rim: unique(./entity[determinerCode="INST" and classCode="DEV"]/scopesRole[normalRole() and classCode="CON" and layer[classCode="PSN"]/telecom[isNormalDatatype()])
endpointS Σ1..1url
There are no (further) constraints on this element
Element id

MessageHeader.source.endpoint

Short description

Actual message source address or id

Definition

Identifies the routing target to send acknowledgements to.

Requirements

Identifies where to send responses, may influence security permissions.

Comments

The id may be a non-resolvable URI for systems that do not use standard network-based addresses.

Data type

url

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: MSH-24
  • rim: ./telecom[isNormalDatatype()]
responsibleΣ0..1Reference(Practitioner | PractitionerRole | Organization)
There are no (further) constraints on this element
Element id

MessageHeader.responsible

Short description

Final responsibility for event

Definition

The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.

Requirements

Need to know for audit/traceback requirements and possibly for authorization.

Comments

Usually only for the request but can be used in a response.

Data type

Reference(Practitioner | PractitionerRole | Organization)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.witness
  • v2: ORC-12 / PRT-5:PRT-4='OP' / PRT-8:PRT-4='OP' / ROL where ROL.3 is RO or ORC.11
  • rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode="PSN" and determinerCode="INST"] or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/scoper[isNormalEntity() and classCode="ORG" and determinerCode="INST"])
reasonΣ0..1CodeableConceptBindingElement id

MessageHeader.reason

Short description

Cause of event

Definition

Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message.

Requirements

Need to be able to track why resources are being changed and report in the audit log/history of the resource. May affect authorization.

Data type

CodeableConcept

Binding

Reason for event occurrence.

MessageChangeReasonCode (extensible)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.why[x]
  • v2: EVN.4 / ORC.16 / OBR-31-reason for study / BPO-13-BP indication for use / RXO-20-indication / RXE-27-give indication / RXD-21-indication / RXG-22-indication / RXA-19-indication
  • rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/reasonCode[isNormalDatatype()])
responseS Σ0..1BackboneElement
There are no (further) constraints on this element
Element id

MessageHeader.response

Short description

If this is a reply to prior message

Definition

Information about the message that this message is a response to. Only present if this message is a response.

Data type

BackboneElement

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: MSA
  • rim: ./conveyedAcknowledgement
id0..1string
There are no (further) constraints on this element
Element id

MessageHeader.response.id

Short description

Unique id for inter-element referencing

Definition

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

Data type

string

Mappings
  • rim: n/a
extensionI0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.response.extension

Short description

Additional content defined by implementations

Alternate names

extensions, user content

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 manageable, 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.

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.

Data type

Extension

Constraints
  • ele-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()
Mappings
  • rim: n/a
modifierExtensionΣ ?! I0..*Extension
There are no (further) constraints on this element
Element id

MessageHeader.response.modifierExtension

Short description

Extensions that cannot be ignored even if unrecognized

Alternate names

extensions, user content, modifiers

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 manageable, 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).

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.

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.

Data type

Extension

Constraints
  • ele-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()
Mappings
  • rim: N/A
identifierS Σ1..1id
There are no (further) constraints on this element
Element id

MessageHeader.response.identifier

Short description

Id of original message

Definition

The MessageHeader.id of the message to which this message is a response.

Requirements

Allows receiver to know what message is being responded to.

Data type

id

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: MSA-2
  • rim: ./acknowledges.id[isNormalDatatype()]
codeS Σ1..1codeBinding
There are no (further) constraints on this element
Element id

MessageHeader.response.code

Short description

ok | transient-error | fatal-error

Definition

Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not.

Requirements

Allows the sender of the acknowledge message to know if the request was successful or if action is needed.

Comments

This is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus.

Data type

code

Binding

The kind of response to a message.

ResponseType (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: MSA-1
  • rim: ./typeCode[isNormalDatatype()]
detailsS Σ0..1Reference(OperationOutcome)
There are no (further) constraints on this element
Element id

MessageHeader.response.details

Short description

Specific list of hints/warnings/errors

Definition

Full details of any issues found in the message.

Requirements

Allows the sender of the message to determine what the specific issues are.

Comments

This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error.

Data type

Reference(OperationOutcome)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: ERR
  • rim: AcknowledgementDetail or Observation[classCode="ALRT" and moodCode="EVN"]
focusS Σ1..*Reference(ServiceRequest | Task | Appointment | Communication)Element id

MessageHeader.focus

Short description

The actual content of the message

Definition

The actual data of the message - a reference to the root/focus class of the event.

Requirements

Every message event is about actual data, a single resource, that is identified in the definition of the event, and perhaps some or all linked resources.

Comments

The data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The resources it references should be contained in the bundle but are not also listed here. Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets.

Data type

Reference(ServiceRequest | Task | Appointment | Communication)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: unique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="SUBJ" and isNormalParticipation]/role or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/outboundRelationship[typeCode="SBJ" and isNormalActRelatoinship]/target)
definitionΣ0..1canonical(MessageDefinition)
There are no (further) constraints on this element
Element id

MessageHeader.definition

Short description

Link to the definition for this message

Definition

Permanent link to the MessageDefinition for this message.

Requirements

Allows sender to define the expected contents of the message.

Data type

canonical(MessageDefinition)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Not directly supported.
<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="CA-eReC-MessageHeader" />
    <url value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-MessageHeader" />
    <name value="MessageHeader" />
    <title value="MessageHeader" />
    <status value="draft" />
    <description value="The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle." />
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="MessageHeader" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MessageHeader" />
    <derivation value="constraint" />
    <differential>
        <element id="MessageHeader.id">
            <path value="MessageHeader.id" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.extension">
            <path value="MessageHeader.extension" />
            <slicing>
                <discriminator>
                    <type value="value" />
                    <path value="url" />
                </discriminator>
                <ordered value="false" />
                <rules value="open" />
            </slicing>
        </element>
        <element id="MessageHeader.extension:RoutingOptions">
            <path value="MessageHeader.extension" />
            <sliceName value="RoutingOptions" />
            <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support" />
            <type>
                <code value="Extension" />
                <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Routing-Options-EXT" />
            </type>
        </element>
        <element id="MessageHeader.extension:ReferralIdentifier">
            <path value="MessageHeader.extension" />
            <sliceName value="ReferralIdentifier" />
            <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support" />
            <type>
                <code value="Extension" />
                <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Referral-Identifier-EXT" />
            </type>
        </element>
        <element id="MessageHeader.event[x]">
            <path value="MessageHeader.event[x]" />
            <type>
                <code value="Coding" />
            </type>
            <mustSupport value="true" />
            <binding>
                <strength value="extensible" />
                <valueSet value="http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/message-event-code" />
            </binding>
        </element>
        <element id="MessageHeader.destination">
            <path value="MessageHeader.destination" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.destination.endpoint">
            <path value="MessageHeader.destination.endpoint" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.destination.receiver">
            <path value="MessageHeader.destination.receiver" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization" />
            </type>
        </element>
        <element id="MessageHeader.destination.receiver.reference">
            <path value="MessageHeader.destination.receiver.reference" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.destination.receiver.identifier">
            <path value="MessageHeader.destination.receiver.identifier" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.destination.receiver.identifier.system">
            <path value="MessageHeader.destination.receiver.identifier.system" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.destination.receiver.identifier.value">
            <path value="MessageHeader.destination.receiver.identifier.value" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.sender">
            <path value="MessageHeader.sender" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization" />
            </type>
        </element>
        <element id="MessageHeader.sender.reference">
            <path value="MessageHeader.sender.reference" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.sender.identifier">
            <path value="MessageHeader.sender.identifier" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.sender.identifier.system">
            <path value="MessageHeader.sender.identifier.system" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.sender.identifier.value">
            <path value="MessageHeader.sender.identifier.value" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.enterer">
            <path value="MessageHeader.enterer" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner" />
            </type>
        </element>
        <element id="MessageHeader.enterer.reference">
            <path value="MessageHeader.enterer.reference" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.enterer.identifier">
            <path value="MessageHeader.enterer.identifier" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.enterer.identifier.system">
            <path value="MessageHeader.enterer.identifier.system" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.enterer.identifier.value">
            <path value="MessageHeader.enterer.identifier.value" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.author">
            <path value="MessageHeader.author" />
            <min value="0" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" />
            </type>
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.author.reference">
            <path value="MessageHeader.author.reference" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.author.identifier">
            <path value="MessageHeader.author.identifier" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.author.identifier.system">
            <path value="MessageHeader.author.identifier.system" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.author.identifier.value">
            <path value="MessageHeader.author.identifier.value" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.source">
            <path value="MessageHeader.source" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.source.endpoint">
            <path value="MessageHeader.source.endpoint" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.reason">
            <path value="MessageHeader.reason" />
            <binding>
                <strength value="extensible" />
                <valueSet value="http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/message-change-reason" />
            </binding>
        </element>
        <element id="MessageHeader.response">
            <path value="MessageHeader.response" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.response.identifier">
            <path value="MessageHeader.response.identifier" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.response.code">
            <path value="MessageHeader.response.code" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.response.details">
            <path value="MessageHeader.response.details" />
            <mustSupport value="true" />
        </element>
        <element id="MessageHeader.focus">
            <path value="MessageHeader.focus" />
            <min value="1" />
            <type>
                <code value="Reference" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Task" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Appointment" />
                <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication" />
            </type>
            <mustSupport value="true" />
        </element>
    </differential>
</StructureDefinition>
{
    "resourceType": "StructureDefinition",
    "id": "CA-eReC-MessageHeader",
    "url": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-MessageHeader",
    "name": "MessageHeader",
    "title": "MessageHeader",
    "status": "draft",
    "description": "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "MessageHeader",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/MessageHeader",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "MessageHeader.id",
                "path": "MessageHeader.id",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MessageHeader.extension",
                "path": "MessageHeader.extension",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "value",
                            "path": "url"
                        }
                    ],
                    "ordered": false,
                    "rules": "open"
                }
            },
            {
                "id": "MessageHeader.extension:RoutingOptions",
                "path": "MessageHeader.extension",
                "sliceName": "RoutingOptions",
                "short": "USE CASE SUPPORT: Systems deployed in Ontario SHALL support",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Routing-Options-EXT"
                        ]
                    }
                ]
            },
            {
                "id": "MessageHeader.extension:ReferralIdentifier",
                "path": "MessageHeader.extension",
                "sliceName": "ReferralIdentifier",
                "short": "USE CASE SUPPORT: Systems deployed in Ontario SHALL support",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Referral-Identifier-EXT"
                        ]
                    }
                ]
            },
            {
                "id": "MessageHeader.event[x]",
                "path": "MessageHeader.event[x]",
                "type":  [
                    {
                        "code": "Coding"
                    }
                ],
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/message-event-code"
                }
            },
            {
                "id": "MessageHeader.destination",
                "path": "MessageHeader.destination",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.destination.endpoint",
                "path": "MessageHeader.destination.endpoint",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.destination.receiver",
                "path": "MessageHeader.destination.receiver",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner",
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole",
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization"
                        ]
                    }
                ]
            },
            {
                "id": "MessageHeader.destination.receiver.reference",
                "path": "MessageHeader.destination.receiver.reference",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.destination.receiver.identifier",
                "path": "MessageHeader.destination.receiver.identifier",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.destination.receiver.identifier.system",
                "path": "MessageHeader.destination.receiver.identifier.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MessageHeader.destination.receiver.identifier.value",
                "path": "MessageHeader.destination.receiver.identifier.value",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MessageHeader.sender",
                "path": "MessageHeader.sender",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner",
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole",
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization"
                        ]
                    }
                ]
            },
            {
                "id": "MessageHeader.sender.reference",
                "path": "MessageHeader.sender.reference",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.sender.identifier",
                "path": "MessageHeader.sender.identifier",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.sender.identifier.system",
                "path": "MessageHeader.sender.identifier.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MessageHeader.sender.identifier.value",
                "path": "MessageHeader.sender.identifier.value",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MessageHeader.enterer",
                "path": "MessageHeader.enterer",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole",
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner"
                        ]
                    }
                ]
            },
            {
                "id": "MessageHeader.enterer.reference",
                "path": "MessageHeader.enterer.reference",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.enterer.identifier",
                "path": "MessageHeader.enterer.identifier",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.enterer.identifier.system",
                "path": "MessageHeader.enterer.identifier.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MessageHeader.enterer.identifier.value",
                "path": "MessageHeader.enterer.identifier.value",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MessageHeader.author",
                "path": "MessageHeader.author",
                "min": 0,
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "MessageHeader.author.reference",
                "path": "MessageHeader.author.reference",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.author.identifier",
                "path": "MessageHeader.author.identifier",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.author.identifier.system",
                "path": "MessageHeader.author.identifier.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MessageHeader.author.identifier.value",
                "path": "MessageHeader.author.identifier.value",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MessageHeader.source",
                "path": "MessageHeader.source",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.source.endpoint",
                "path": "MessageHeader.source.endpoint",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.reason",
                "path": "MessageHeader.reason",
                "binding": {
                    "strength": "extensible",
                    "valueSet": "http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/message-change-reason"
                }
            },
            {
                "id": "MessageHeader.response",
                "path": "MessageHeader.response",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.response.identifier",
                "path": "MessageHeader.response.identifier",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.response.code",
                "path": "MessageHeader.response.code",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.response.details",
                "path": "MessageHeader.response.details",
                "mustSupport": true
            },
            {
                "id": "MessageHeader.focus",
                "path": "MessageHeader.focus",
                "min": 1,
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest",
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Task",
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Appointment",
                            "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication"
                        ]
                    }
                ],
                "mustSupport": true
            }
        ]
    }
}

Terminology bindings

PathConformanceValueSet
MessageHeader.event[x]extensiblehttp://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/message-event-code
MessageHeader.reasonextensiblehttp://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/message-change-reason

Constraints

PathIdGradeDetailsExpression
MessageHeader; MessageHeader; MessageHeader; MessageHeader; MessageHeader; MessageHeader.meta; MessageHeader.implicitRules; MessageHeader.language; MessageHeader.text; MessageHeader.extension; MessageHeader.extension; MessageHeader.extension:RoutingOptions; MessageHeader.extension:RoutingOptions; MessageHeader.extension:ReferralIdentifier; MessageHeader.extension:ReferralIdentifier; MessageHeader.modifierExtension; MessageHeader.modifierExtension; MessageHeader.event[x]; MessageHeader.destination; MessageHeader.destination.extension; MessageHeader.destination.extension; MessageHeader.destination.modifierExtension; MessageHeader.destination.modifierExtension; MessageHeader.destination.name; MessageHeader.destination.target; MessageHeader.destination.endpoint; MessageHeader.destination.receiver; MessageHeader.destination.receiver.extension; MessageHeader.destination.receiver.extension; MessageHeader.destination.receiver.reference; MessageHeader.destination.receiver.type; MessageHeader.destination.receiver.identifier; MessageHeader.destination.receiver.identifier.extension; MessageHeader.destination.receiver.identifier.extension; MessageHeader.destination.receiver.identifier.use; MessageHeader.destination.receiver.identifier.type; MessageHeader.destination.receiver.identifier.system; MessageHeader.destination.receiver.identifier.value; MessageHeader.destination.receiver.identifier.period; MessageHeader.destination.receiver.identifier.assigner; MessageHeader.destination.receiver.display; MessageHeader.sender; MessageHeader.sender.extension; MessageHeader.sender.extension; MessageHeader.sender.reference; MessageHeader.sender.type; MessageHeader.sender.identifier; MessageHeader.sender.identifier.extension; MessageHeader.sender.identifier.extension; MessageHeader.sender.identifier.use; MessageHeader.sender.identifier.type; MessageHeader.sender.identifier.system; MessageHeader.sender.identifier.value; MessageHeader.sender.identifier.period; MessageHeader.sender.identifier.assigner; MessageHeader.sender.display; MessageHeader.enterer; MessageHeader.enterer.extension; MessageHeader.enterer.extension; MessageHeader.enterer.reference; MessageHeader.enterer.type; MessageHeader.enterer.identifier; MessageHeader.enterer.identifier.extension; MessageHeader.enterer.identifier.extension; MessageHeader.enterer.identifier.use; MessageHeader.enterer.identifier.type; MessageHeader.enterer.identifier.system; MessageHeader.enterer.identifier.value; MessageHeader.enterer.identifier.period; MessageHeader.enterer.identifier.assigner; MessageHeader.enterer.display; MessageHeader.author; MessageHeader.author.extension; MessageHeader.author.extension; MessageHeader.author.reference; MessageHeader.author.type; MessageHeader.author.identifier; MessageHeader.author.identifier.extension; MessageHeader.author.identifier.extension; MessageHeader.author.identifier.use; MessageHeader.author.identifier.type; MessageHeader.author.identifier.system; MessageHeader.author.identifier.value; MessageHeader.author.identifier.period; MessageHeader.author.identifier.assigner; MessageHeader.author.display; MessageHeader.source; MessageHeader.source.extension; MessageHeader.source.extension; MessageHeader.source.modifierExtension; MessageHeader.source.modifierExtension; MessageHeader.source.name; MessageHeader.source.software; MessageHeader.source.version; MessageHeader.source.contact; MessageHeader.source.endpoint; MessageHeader.responsible; MessageHeader.reason; MessageHeader.response; MessageHeader.response.extension; MessageHeader.response.extension; MessageHeader.response.modifierExtension; MessageHeader.response.modifierExtension; MessageHeader.response.identifier; MessageHeader.response.code; MessageHeader.response.details; MessageHeader.focus; MessageHeader.definitiondom-2; dom-3; dom-4; dom-5; dom-6; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1error; error; error; error; warning; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; errorIf the resource is contained in another resource, it SHALL NOT contain nested Resources; If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource; If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated; If a resource is contained in another resource, it SHALL NOT have a security label; A resource should have narrative for robust management; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or childrencontained.contained.empty(); contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty(); contained.meta.versionId.empty() and contained.meta.lastUpdated.empty(); contained.meta.security.empty(); text.`div`.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count())

Usage

A MessageHeader resource with a unique id and appropriate eventCoding, source.endpoint, destination.endpoint and focus SHALL be the first entry in each message Bundle (CA:eReC).

The MessageHeader is used to convey the purpose of the message (i.e., eventCoding), to direct the receiver toward the information acted upon (i.e., focus) and to support message routing.

Notes

.id

  • Used to uniquely identify a message
  • Populate this element with a UUID each time a message is created
  • Note: a FHIR message contains two identifiers that are unique within the message stream, rules:
    • A MessageHeader.id (this element) SHALL be assigned when the message is created
    • A Bundle.id SHALL be assigned each time the message is sent

.eventCoding

  • Used to convey the business event that triggered the message from MessageEventCode

.destination

  • Used to enable message routing through an intermediary
  • .endpoint SHALL be populated with either:
    • A literal URL that identifies the addresses to which the message should be delivered, or
    • A logical URI (i.e. non-dereferenceable) known to the intermediary.

.sender

  • Identifies who the sending system is

.enterer

  • Identifies who the sending system and/or individual who entered the data to this message

.author

  • Identifies the person who initiated the event
  • SHALL contain a .reference a PractitionerRole resource included in the message as a Bundle.entry.

.source.endpoint

  • used to enable message routing of responses through an intermediary
  • SHALL be populated with either:
    • A literal URL that identifies the addresses to which the message should be delivered, or
    • A logical URI (i.e. non-dereferenceable) known to the intermediary

.reason

  • Indicates the reason for the event that is the focus of this message, eg. RFI

.response

  • Indicates that a message is a response to a request message (with status)
  • If used:
    • .response.identifier SHALL be populated with the MessageHeader.id of the message to which this message is a response
    • .response.code SHALL be populated with a valid ResponseType
    • .response.details MAY be provided in a referenced OperationOutcome included in the Bundle

.focus

  • Identifies the information acted upon when the message was triggered
  • SHALL include a reference to a ServiceRequest, Task, Appointment, Communication which are included as a message Bundle.entry
  • A MessageHeader MAY include multiple instances of focus to communicate some events

Table of Contents | IG © based on FHIR R4 | Package package:ca.infoway.io.erec@1.1.1-dft-ballot | Version History
HL7® and FHIR® are the registered trademarks of Health Level Seven International