HL7 FHIR® Implementation Guide: Electronic Case Reporting (eCR) - US Realm
1.1.0 - STU 2 Ballot

This page is part of the electronic Case Reporting (eCR) (v1.1.0: STU 2 on FHIR R4 Ballot 1) based on FHIR R4. The current version which supercedes this version is 2.1.0. For a full list of available versions, see the Directory of published versions

Resource Profile: eCR Message Header

Defining URL:http://hl7.org/fhir/us/ecr/StructureDefinition/ecr-messageheader
Version:1.1.0
Name:Ecr_MessageHeader
Title:eCR MessageHeader
Status:Active as of 2020-12-16T19:27:50+00:00
Definition:

This MessageHeader profile represents metadata to support the eCR messaging paradigm.

Publisher:HL7 Public Health Work Group (http://www.hl7.org/Special/committees/pher/index.cfm)
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/us/ecr/StructureDefinition/ecr-messageheader

It requires data elements destination, sender, source, and focus. The focus of an eCR MessageHeader profile is the eCR Task profile.

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from MessageHeader

Summary

Mandatory: 3 elements
Must-Support: 6 elements

Structures

This structure refers to these other structures:

This structure is derived from MessageHeader

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader 0..*MessageHeaderA resource that describes a message that is exchanged between systems
... event[x] S1..1CodingCode for the event this message represents or link to event definition
Binding: eCR MessageHeader Event Value Set (extensible)
... destination S1..1BackboneElementMessage destination application(s)
... sender S1..1Reference(Practitioner | PractitionerRole | Organization)Real world sender of the message
.... name S0..1stringName of system
.... contact S0..1ContactPointHuman contact for problems
... focus S1..1Reference(eCR Task)The actual content of the message

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader 0..*MessageHeaderA resource that describes a message that is exchanged between systems
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... event[x] SΣ1..1CodingCode for the event this message represents or link to event definition
Binding: eCR MessageHeader Event Value Set (extensible)
... destination SΣ1..1BackboneElementMessage destination application(s)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name Σ0..1stringName of system
.... target Σ0..1Reference(Device)Particular delivery destination within the destination
.... endpoint Σ1..1urlActual destination address or id
.... receiver Σ0..1Reference(Practitioner | PractitionerRole | Organization)Intended "real-world" recipient for the data
... sender SΣ1..1Reference(Practitioner | PractitionerRole | Organization)Real world sender of the message
... enterer Σ0..1Reference(Practitioner | PractitionerRole)The source of the data entry
... author Σ0..1Reference(Practitioner | PractitionerRole)The source of the decision
... source Σ1..1BackboneElementMessage source application
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name SΣ0..1stringName of system
.... software Σ0..1stringName of software running the system
.... version Σ0..1stringVersion of software running
.... contact SΣ0..1ContactPointHuman contact for problems
.... endpoint Σ1..1urlActual message source address or id
... responsible Σ0..1Reference(Practitioner | PractitionerRole | Organization)Final responsibility for event
... reason Σ0..1CodeableConceptCause of event
Binding: ExampleMessageReasonCodes (example): Reason for event occurrence.

... response Σ0..1BackboneElementIf this is a reply to prior message
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier Σ1..1idId of original message
.... code Σ1..1codeok | transient-error | fatal-error
Binding: ResponseType (required): The kind of response to a message.

.... details Σ0..1Reference(OperationOutcome)Specific list of hints/warnings/errors
... focus SΣ1..1Reference(eCR Task)The actual content of the message
... definition Σ0..1canonical(MessageDefinition)Link to the definition for this message

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader 0..*MessageHeaderA resource that describes a message that is exchanged between systems
... event[x] Σ1..1CodingCode for the event this message represents or link to event definition
Binding: eCR MessageHeader Event Value Set (extensible)
... destination Σ1..1BackboneElementMessage destination application(s)
... sender Σ1..1Reference(Practitioner | PractitionerRole | Organization)Real world sender of the message
.... name Σ0..1stringName of system
.... contact Σ0..1ContactPointHuman contact for problems
... focus Σ1..1Reference(eCR Task)The actual content of the message

doco Documentation for this format

This structure is derived from MessageHeader

Summary

Mandatory: 3 elements
Must-Support: 6 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from MessageHeader

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader 0..*MessageHeaderA resource that describes a message that is exchanged between systems
... event[x] S1..1CodingCode for the event this message represents or link to event definition
Binding: eCR MessageHeader Event Value Set (extensible)
... destination S1..1BackboneElementMessage destination application(s)
... sender S1..1Reference(Practitioner | PractitionerRole | Organization)Real world sender of the message
.... name S0..1stringName of system
.... contact S0..1ContactPointHuman contact for problems
... focus S1..1Reference(eCR Task)The actual content of the message

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader 0..*MessageHeaderA resource that describes a message that is exchanged between systems
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... event[x] SΣ1..1CodingCode for the event this message represents or link to event definition
Binding: eCR MessageHeader Event Value Set (extensible)
... destination SΣ1..1BackboneElementMessage destination application(s)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name Σ0..1stringName of system
.... target Σ0..1Reference(Device)Particular delivery destination within the destination
.... endpoint Σ1..1urlActual destination address or id
.... receiver Σ0..1Reference(Practitioner | PractitionerRole | Organization)Intended "real-world" recipient for the data
... sender SΣ1..1Reference(Practitioner | PractitionerRole | Organization)Real world sender of the message
... enterer Σ0..1Reference(Practitioner | PractitionerRole)The source of the data entry
... author Σ0..1Reference(Practitioner | PractitionerRole)The source of the decision
... source Σ1..1BackboneElementMessage source application
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... name SΣ0..1stringName of system
.... software Σ0..1stringName of software running the system
.... version Σ0..1stringVersion of software running
.... contact SΣ0..1ContactPointHuman contact for problems
.... endpoint Σ1..1urlActual message source address or id
... responsible Σ0..1Reference(Practitioner | PractitionerRole | Organization)Final responsibility for event
... reason Σ0..1CodeableConceptCause of event
Binding: ExampleMessageReasonCodes (example): Reason for event occurrence.

... response Σ0..1BackboneElementIf this is a reply to prior message
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier Σ1..1idId of original message
.... code Σ1..1codeok | transient-error | fatal-error
Binding: ResponseType (required): The kind of response to a message.

.... details Σ0..1Reference(OperationOutcome)Specific list of hints/warnings/errors
... focus SΣ1..1Reference(eCR Task)The actual content of the message
... definition Σ0..1canonical(MessageDefinition)Link to the definition for this message

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet
MessageHeader.languagepreferredCommonLanguages
Max Binding: AllLanguages
MessageHeader.event[x]extensibleValueSet_Ecr_MessageHeader_Event
MessageHeader.reasonexampleExampleMessageReasonCodes
MessageHeader.response.coderequiredResponseType

Constraints

IdPathDetailsRequirements
dom-2MessageHeaderIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3MessageHeaderIf 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-4MessageHeaderIf 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-5MessageHeaderIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6MessageHeaderA resource should have narrative for robust management
: text.`div`.exists()
ele-1MessageHeader.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageHeader.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageHeader.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageHeader.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageHeader.event[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.destinationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.destination.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageHeader.destination.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageHeader.destination.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageHeader.destination.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageHeader.destination.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.destination.targetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.destination.endpointAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.destination.receiverAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.senderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.entererAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.sourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.source.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageHeader.source.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageHeader.source.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageHeader.source.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageHeader.source.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.source.softwareAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.source.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.source.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.source.endpointAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.responsibleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.reasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.responseAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.response.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageHeader.response.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageHeader.response.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageHeader.response.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageHeader.response.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.response.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.response.detailsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageHeader.definitionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())