Order Catalog Implementation Guide
current - CI Build International flag

Order Catalog Implementation Guide, published by HL7 International - Orders and Observations Work Group. This is not an authorized publication; it is the continuous build for version current). This version is based on the current content of https://github.com/HL7/fhir-order-catalog/ and changes regularly. See the Directory of published versions

Resource Profile: CatalogMessageDefinition Profile

Official URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogMessageDefinition Version: current
Draft as of 2020-04-02 Computable Name: CatalogMessageDefinition

This profile constrains MessageDefinition in the context of messaging the content of catalogs, in conformance with the FHIR messaging framework

This profile specifies the event codes that are available for messaging the content of catalogs between a system owning a catalog and a system interested in the catalog content, in whole or in part.

Usage:

Formal Views of Profile Content

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

This structure is derived from MessageDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition 0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... event[x] S1..1CodingEvent code
Binding: Message event codes for exchanging order catalog content (extensible): message events for messages conveying order-catalog content

... category 0..1codeconsequence | currency | notification
Fixed Value: consequence
... responseRequired S1..1codealways | on-error | never | on-success

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
MessageDefinition.event[x]extensibleCatalogMessageEventVS
NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition C0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... date Σ1..1dateTimeDate last changed
... event[x] SΣ1..1CodingEvent code
Binding: Message event codes for exchanging order catalog content (extensible): message events for messages conveying order-catalog content

... category Σ0..1codeconsequence | currency | notification
Binding: MessageSignificanceCategory (required): The impact of the content of a message.


Fixed Value: consequence
... responseRequired S1..1codealways | on-error | never | on-success
Binding: MessageheaderResponseRequest (required): This enables the capability currently available through MSH-16 (Application Level acknowledgement) in HL7 Version 2 to declare at a message definition level whether a response is required or only upon error or success, or never.


Example General: always

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
MessageDefinition.statusrequiredPublicationStatus
MessageDefinition.event[x]extensibleCatalogMessageEventVS
MessageDefinition.categoryrequiredFixed Value: consequence
MessageDefinition.responseRequiredrequiredMessageheaderResponseRequest

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningMessageDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition C0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

... 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
... url ΣC0..1uriThe cannonical URL for a given MessageDefinition
... identifier Σ0..*IdentifierBusiness Identifier for a given MessageDefinition
... version Σ0..1stringBusiness version of the message definition
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this message definition (computer friendly)
... title Σ0..1stringName for this message definition (human friendly)
... replaces Σ0..*canonical(MessageDefinition)Takes the place of
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ1..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description Σ0..1markdownNatural language description of the message definition
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction ΣXD0..*CodeableConceptIntended jurisdiction for message definition (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose Σ0..1markdownWhy this message definition is defined
... copyright 0..1markdownUse and/or publishing restrictions
... copyrightLabel 0..1stringCopyright holder and year(s)
... base Σ0..1canonical(MessageDefinition)Definition this one is based on
... parent Σ0..*canonical(ActivityDefinition | PlanDefinition)Protocol/workflow this is part of
... event[x] SΣ1..1CodingEvent code
Binding: Message event codes for exchanging order catalog content (extensible): message events for messages conveying order-catalog content

... category Σ0..1codeconsequence | currency | notification
Binding: MessageSignificanceCategory (required): The impact of the content of a message.


Fixed Value: consequence
... focus ΣC0..*BackboneElementResource(s) that are the subject of the event
.... 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
.... code Σ1..1codeType of resource
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.

.... profile 0..1canonical(StructureDefinition)Profile that must be adhered to by focus
.... min Σ1..1unsignedIntMinimum number of focuses of this type
.... max C0..1stringMaximum number of focuses of this type
... responseRequired S1..1codealways | on-error | never | on-success
Binding: MessageheaderResponseRequest (required): This enables the capability currently available through MSH-16 (Application Level acknowledgement) in HL7 Version 2 to declare at a message definition level whether a response is required or only upon error or success, or never.


Example General: always
... allowedResponse 0..*BackboneElementResponses to this 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
.... message 1..1canonical(MessageDefinition)Reference to allowed message definition response
.... situation 0..1markdownWhen should this response be used
... graph 0..1canonical(GraphDefinition)Canonical reference to a GraphDefinition

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
MessageDefinition.languagerequiredAllLanguages
MessageDefinition.versionAlgorithm[x]extensibleVersionAlgorithm
MessageDefinition.statusrequiredPublicationStatus
MessageDefinition.jurisdictionextensibleJurisdictionValueSet
MessageDefinition.event[x]extensibleCatalogMessageEventVS
MessageDefinition.categoryrequiredFixed Value: consequence
MessageDefinition.focus.coderequiredResourceType
MessageDefinition.responseRequiredrequiredMessageheaderResponseRequest

Constraints

IdGradePath(s)DetailsRequirements
cnl-1warningMessageDefinition.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
md-1errorMessageDefinition.focusMax must be postive int or *
: max='*' or (max.toInteger() > 0)

This structure is derived from MessageDefinition

Summary

Mandatory: 1 element
Must-Support: 2 elements
Fixed Value: 1 element

Differential View

This structure is derived from MessageDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition 0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... event[x] S1..1CodingEvent code
Binding: Message event codes for exchanging order catalog content (extensible): message events for messages conveying order-catalog content

... category 0..1codeconsequence | currency | notification
Fixed Value: consequence
... responseRequired S1..1codealways | on-error | never | on-success

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
MessageDefinition.event[x]extensibleCatalogMessageEventVS

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition C0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... date Σ1..1dateTimeDate last changed
... event[x] SΣ1..1CodingEvent code
Binding: Message event codes for exchanging order catalog content (extensible): message events for messages conveying order-catalog content

... category Σ0..1codeconsequence | currency | notification
Binding: MessageSignificanceCategory (required): The impact of the content of a message.


Fixed Value: consequence
... responseRequired S1..1codealways | on-error | never | on-success
Binding: MessageheaderResponseRequest (required): This enables the capability currently available through MSH-16 (Application Level acknowledgement) in HL7 Version 2 to declare at a message definition level whether a response is required or only upon error or success, or never.


Example General: always

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
MessageDefinition.statusrequiredPublicationStatus
MessageDefinition.event[x]extensibleCatalogMessageEventVS
MessageDefinition.categoryrequiredFixed Value: consequence
MessageDefinition.responseRequiredrequiredMessageheaderResponseRequest

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningMessageDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition C0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

... 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
... url ΣC0..1uriThe cannonical URL for a given MessageDefinition
... identifier Σ0..*IdentifierBusiness Identifier for a given MessageDefinition
... version Σ0..1stringBusiness version of the message definition
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this message definition (computer friendly)
... title Σ0..1stringName for this message definition (human friendly)
... replaces Σ0..*canonical(MessageDefinition)Takes the place of
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ1..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description Σ0..1markdownNatural language description of the message definition
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction ΣXD0..*CodeableConceptIntended jurisdiction for message definition (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose Σ0..1markdownWhy this message definition is defined
... copyright 0..1markdownUse and/or publishing restrictions
... copyrightLabel 0..1stringCopyright holder and year(s)
... base Σ0..1canonical(MessageDefinition)Definition this one is based on
... parent Σ0..*canonical(ActivityDefinition | PlanDefinition)Protocol/workflow this is part of
... event[x] SΣ1..1CodingEvent code
Binding: Message event codes for exchanging order catalog content (extensible): message events for messages conveying order-catalog content

... category Σ0..1codeconsequence | currency | notification
Binding: MessageSignificanceCategory (required): The impact of the content of a message.


Fixed Value: consequence
... focus ΣC0..*BackboneElementResource(s) that are the subject of the event
.... 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
.... code Σ1..1codeType of resource
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.

.... profile 0..1canonical(StructureDefinition)Profile that must be adhered to by focus
.... min Σ1..1unsignedIntMinimum number of focuses of this type
.... max C0..1stringMaximum number of focuses of this type
... responseRequired S1..1codealways | on-error | never | on-success
Binding: MessageheaderResponseRequest (required): This enables the capability currently available through MSH-16 (Application Level acknowledgement) in HL7 Version 2 to declare at a message definition level whether a response is required or only upon error or success, or never.


Example General: always
... allowedResponse 0..*BackboneElementResponses to this 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
.... message 1..1canonical(MessageDefinition)Reference to allowed message definition response
.... situation 0..1markdownWhen should this response be used
... graph 0..1canonical(GraphDefinition)Canonical reference to a GraphDefinition

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
MessageDefinition.languagerequiredAllLanguages
MessageDefinition.versionAlgorithm[x]extensibleVersionAlgorithm
MessageDefinition.statusrequiredPublicationStatus
MessageDefinition.jurisdictionextensibleJurisdictionValueSet
MessageDefinition.event[x]extensibleCatalogMessageEventVS
MessageDefinition.categoryrequiredFixed Value: consequence
MessageDefinition.focus.coderequiredResourceType
MessageDefinition.responseRequiredrequiredMessageheaderResponseRequest

Constraints

IdGradePath(s)DetailsRequirements
cnl-1warningMessageDefinition.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
md-1errorMessageDefinition.focusMax must be postive int or *
: max='*' or (max.toInteger() > 0)

This structure is derived from MessageDefinition

Summary

Mandatory: 1 element
Must-Support: 2 elements
Fixed Value: 1 element

 

Other representations of profile: CSV, Excel, Schematron