Order Catalog Implementation Guide
0.1.0 - STU Ballot 1

This page is part of the Order Catalog Implementation Guide (v0.1.0: STU 1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

Resource Profile: CatalogMessageDefinition

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

The official URL for this profile is:

http://hl7.org/fhir/uv/order-catalog/StructureDefinition/CatalogMessageDefinition

Formal Views of Profile Content

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

This structure is derived from MessageDefinition

Summary

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

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)
... category 0..1codeconsequence | currency | notification
Fixed Value: consequence
... responseRequired S1..1codealways | on-error | never | on-success

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition I0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... url ΣI0..1uriBusiness Identifier for a given MessageDefinition
... identifier ΣI0..*IdentifierPrimary key for the message definition on a given server
... version ΣI0..1stringBusiness version of the message definition
... name ΣI0..1stringName for this message definition (computer friendly)
... title ΣI0..1stringName for this message definition (human friendly)
... replaces ΣI0..*canonical(MessageDefinition)Takes the place of
... status ?!ΣI1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ΣI0..1booleanFor testing purposes, not real usage
... date ΣI1..1dateTimeDate last changed
... publisher ΣI0..1stringName of the publisher (organization or individual)
... contact ΣI0..*ContactDetailContact details for the publisher
... description ΣI0..1markdownNatural language description of the message definition
... useContext ΣI0..*UsageContextThe context that the content is intended to support
... jurisdiction ΣI0..*CodeableConceptIntended jurisdiction for message definition (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose ΣI0..1markdownWhy this message definition is defined
... copyright I0..1markdownUse and/or publishing restrictions
... base ΣI0..1canonical(MessageDefinition)Definition this one is based on
... parent ΣI0..*canonical(ActivityDefinition | PlanDefinition)Protocol/workflow this is part of
... event[x] SΣI1..1CodingEvent code
Binding: Message event codes for exchanging order catalog content (extensible)
... category ΣI0..1codeconsequence | currency | notification
Binding: MessageSignificanceCategory (required)
Fixed Value: consequence
... focus ΣI0..*BackboneElementResource(s) that are the subject of the event
md-1: Max must be postive int or *
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣI1..1codeType of resource
Binding: ResourceType (required)
.... profile I0..1canonical(StructureDefinition)Profile that must be adhered to by focus
.... min ΣI1..1unsignedIntMinimum number of focuses of this type
.... max I0..1stringMaximum number of focuses of this type
... responseRequired SI1..1codealways | on-error | never | on-success
Binding: messageheader-response-request (required)
Example General: always
... allowedResponse I0..*BackboneElementResponses to this message
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... message I1..1canonical(MessageDefinition)Reference to allowed message definition response
.... situation I0..1markdownWhen should this response be used
... graph I0..*canonical(GraphDefinition)Canonical reference to a GraphDefinition

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition I0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... event[x] ΣI1..1CodingEvent code
Binding: Message event codes for exchanging order catalog content (extensible)
... responseRequired I1..1codealways | on-error | never | on-success
Binding: messageheader-response-request (required)

doco Documentation for this format

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)
... category 0..1codeconsequence | currency | notification
Fixed Value: consequence
... responseRequired S1..1codealways | on-error | never | on-success

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition I0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... url ΣI0..1uriBusiness Identifier for a given MessageDefinition
... identifier ΣI0..*IdentifierPrimary key for the message definition on a given server
... version ΣI0..1stringBusiness version of the message definition
... name ΣI0..1stringName for this message definition (computer friendly)
... title ΣI0..1stringName for this message definition (human friendly)
... replaces ΣI0..*canonical(MessageDefinition)Takes the place of
... status ?!ΣI1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ΣI0..1booleanFor testing purposes, not real usage
... date ΣI1..1dateTimeDate last changed
... publisher ΣI0..1stringName of the publisher (organization or individual)
... contact ΣI0..*ContactDetailContact details for the publisher
... description ΣI0..1markdownNatural language description of the message definition
... useContext ΣI0..*UsageContextThe context that the content is intended to support
... jurisdiction ΣI0..*CodeableConceptIntended jurisdiction for message definition (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose ΣI0..1markdownWhy this message definition is defined
... copyright I0..1markdownUse and/or publishing restrictions
... base ΣI0..1canonical(MessageDefinition)Definition this one is based on
... parent ΣI0..*canonical(ActivityDefinition | PlanDefinition)Protocol/workflow this is part of
... event[x] SΣI1..1CodingEvent code
Binding: Message event codes for exchanging order catalog content (extensible)
... category ΣI0..1codeconsequence | currency | notification
Binding: MessageSignificanceCategory (required)
Fixed Value: consequence
... focus ΣI0..*BackboneElementResource(s) that are the subject of the event
md-1: Max must be postive int or *
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣI1..1codeType of resource
Binding: ResourceType (required)
.... profile I0..1canonical(StructureDefinition)Profile that must be adhered to by focus
.... min ΣI1..1unsignedIntMinimum number of focuses of this type
.... max I0..1stringMaximum number of focuses of this type
... responseRequired SI1..1codealways | on-error | never | on-success
Binding: messageheader-response-request (required)
Example General: always
... allowedResponse I0..*BackboneElementResponses to this message
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... message I1..1canonical(MessageDefinition)Reference to allowed message definition response
.... situation I0..1markdownWhen should this response be used
... graph I0..*canonical(GraphDefinition)Canonical reference to a GraphDefinition

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet / Code
MessageDefinition.languagepreferredCommonLanguages
Max Binding: AllLanguages
MessageDefinition.statusrequiredPublicationStatus
MessageDefinition.jurisdictionextensibleJurisdiction ValueSet
MessageDefinition.event[x]extensibleCatalogMessageEventVS
MessageDefinition.categoryrequiredFixed Value: consequence
MessageDefinition.focus.coderequiredResourceType
MessageDefinition.responseRequiredrequiredmessageheader-response-request

Constraints

IdPathDetailsRequirements
dom-2MessageDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3MessageDefinitionIf 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-4MessageDefinitionIf 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-5MessageDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6MessageDefinitionA resource should have narrative for robust management
: text.`div`.exists()
msd-0MessageDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
ele-1MessageDefinition.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageDefinition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageDefinition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageDefinition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageDefinition.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.replacesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.experimentalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.publisherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.useContextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.jurisdictionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.purposeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.copyrightAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.baseAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.parentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.event[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
md-1MessageDefinition.focusMax must be postive int or *
: max='*' or (max.toInteger() > 0)
ele-1MessageDefinition.focus.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageDefinition.focus.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageDefinition.focus.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageDefinition.focus.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageDefinition.focus.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.focus.profileAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.focus.minAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.focus.maxAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.responseRequiredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.allowedResponseAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.allowedResponse.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageDefinition.allowedResponse.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageDefinition.allowedResponse.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1MessageDefinition.allowedResponse.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1MessageDefinition.allowedResponse.messageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.allowedResponse.situationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1MessageDefinition.graphAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())