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

This page is part of the electronic Case Reporting (eCR) (v2.0.0: STU 2 on FHIR R4) 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 MessageHeader

Defining URL:http://hl7.org/fhir/us/ecr/StructureDefinition/ecr-messageheader
Version:2.0.0
Name:Ecr_MessageHeader
Title:eCR MessageHeader
Status:Active as of 1/18/22 12:57 PM
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

This profile requires data elements destination, sender, source, and focus. The focus of an eCR MessageHeader profile is either an eICR Document Bundle or an RR Document Bundle.

Formal Views of Profile Content

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

This structure is derived from USPublicHealthMessageHeader

This structure is derived from USPublicHealthMessageHeader

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader 0..*USPublicHealthMessageHeaderUS Public Health MessageHeader
... source 1..1BackboneElementMessage source application
.... name S0..1stringName of system
.... contact S0..1ContactPointHuman contact for problems
... focus S1..1Reference(eICR Document Bundle | RR Document Bundle)The actual content of the message

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader 0..*USPublicHealthMessageHeaderUS Public Health MessageHeader
... 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
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... us-ph-data-encrypted-extension S0..1booleanUS Public Health Data Encrypted Extension
URL: http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-data-encrypted-extension
... us-ph-message-processing-category-extension S1..1codeUS Public Health Message Processing Category Extension
URL: http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-message-processing-category-extension
Binding: MessageSignificanceCategory (required): MessageSignificanceCategory


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... event[x] SΣ1..1CodingTypes of messages being sent between systems
Binding: US Public Health Message Types ValueSet (extensible): US Public Health Message Types ValueSet

... destination SΣ1..*BackboneElementMessage 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 SΣ1..1urlActual destination address or id
.... receiver Σ0..1Reference(Practitioner | PractitionerRole | Organization)Intended "real-world" recipient for the data
... sender SΣ1..1Reference(US Public Health 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 SΣ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 SΣ1..1urlActual message source address or id
... responsible Σ0..1Reference(Practitioner | PractitionerRole | Organization)Final responsibility for event
... reason SΣ1..1CodeableConceptThe named event that gave rise to the message
Binding: US Public Health TriggerDefinition NamedEvent (extensible): US Public Health TriggerDefinition NamedEvents

... response SΣ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 SΣ1..1idId of original message
.... code SΣ1..1codeok | transient-error | fatal-error
Binding: ResponseType (required): The kind of response to a message.

.... details SΣ0..1Reference(OperationOutcome)Specific list of hints/warnings/errors
... focus SΣ1..1Reference(eICR Document Bundle | RR Document Bundle)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..*USPublicHealthMessageHeaderUS Public Health MessageHeader
... us-ph-data-encrypted-extension 0..1booleanUS Public Health Data Encrypted Extension
URL: http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-data-encrypted-extension
... us-ph-message-processing-category-extension 1..1codeUS Public Health Message Processing Category Extension
URL: http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-message-processing-category-extension
Binding: MessageSignificanceCategory (required): MessageSignificanceCategory


... event[x] Σ1..1CodingTypes of messages being sent between systems
Binding: US Public Health Message Types ValueSet (extensible): US Public Health Message Types ValueSet

.... endpoint Σ1..1urlActual destination address or id
... sender Σ1..1Reference(US Public Health Organization)Real world sender of the message
... source Σ1..1BackboneElementMessage source application
.... name Σ0..1stringName of system
.... contact Σ0..1ContactPointHuman contact for problems
.... endpoint Σ1..1urlActual message source address or id
... reason Σ1..1CodeableConceptThe named event that gave rise to the message
Binding: US Public Health TriggerDefinition NamedEvent (extensible): US Public Health TriggerDefinition NamedEvents

... response Σ0..1BackboneElementIf this is a reply to prior message
.... 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 Σ1..1Reference(eICR Document Bundle | RR Document Bundle)The actual content of the message

doco Documentation for this format

This structure is derived from USPublicHealthMessageHeader

Differential View

This structure is derived from USPublicHealthMessageHeader

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader 0..*USPublicHealthMessageHeaderUS Public Health MessageHeader
... source 1..1BackboneElementMessage source application
.... name S0..1stringName of system
.... contact S0..1ContactPointHuman contact for problems
... focus S1..1Reference(eICR Document Bundle | RR Document Bundle)The actual content of the message

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageHeader 0..*USPublicHealthMessageHeaderUS Public Health MessageHeader
... 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
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... us-ph-data-encrypted-extension S0..1booleanUS Public Health Data Encrypted Extension
URL: http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-data-encrypted-extension
... us-ph-message-processing-category-extension S1..1codeUS Public Health Message Processing Category Extension
URL: http://hl7.org/fhir/us/ecr/StructureDefinition/us-ph-message-processing-category-extension
Binding: MessageSignificanceCategory (required): MessageSignificanceCategory


... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... event[x] SΣ1..1CodingTypes of messages being sent between systems
Binding: US Public Health Message Types ValueSet (extensible): US Public Health Message Types ValueSet

... destination SΣ1..*BackboneElementMessage 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 SΣ1..1urlActual destination address or id
.... receiver Σ0..1Reference(Practitioner | PractitionerRole | Organization)Intended "real-world" recipient for the data
... sender SΣ1..1Reference(US Public Health 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 SΣ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 SΣ1..1urlActual message source address or id
... responsible Σ0..1Reference(Practitioner | PractitionerRole | Organization)Final responsibility for event
... reason SΣ1..1CodeableConceptThe named event that gave rise to the message
Binding: US Public Health TriggerDefinition NamedEvent (extensible): US Public Health TriggerDefinition NamedEvents

... response SΣ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 SΣ1..1idId of original message
.... code SΣ1..1codeok | transient-error | fatal-error
Binding: ResponseType (required): The kind of response to a message.

.... details SΣ0..1Reference(OperationOutcome)Specific list of hints/warnings/errors
... focus SΣ1..1Reference(eICR Document Bundle | RR Document Bundle)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: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
MessageHeader.languagepreferredCommonLanguages
Max Binding: AllLanguages
MessageHeader.event[x]extensibleUSPublicHealthMessageTypesValueSet
MessageHeader.reasonextensibleUSPublicHealthTriggerDefinitionNamedEvent
MessageHeader.response.coderequiredResponseType

Constraints

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