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
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
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from MessageDefinition
This structure is derived from MessageDefinition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MessageDefinition | 0..* | MessageDefinition | A resource that defines a type of message that can be exchanged between systems | |
event[x] | S | 1..1 | Coding | Event code Binding: Message event codes for exchanging order catalog content (extensible) |
category | 0..1 | code | consequence | currency | notification Fixed Value: consequence | |
responseRequired | S | 1..1 | code | always | on-error | never | on-success |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MessageDefinition | I | 0..* | MessageDefinition | A resource that defines a type of message that can be exchanged between systems |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
url | ΣI | 0..1 | uri | Business Identifier for a given MessageDefinition |
identifier | ΣI | 0..* | Identifier | Primary key for the message definition on a given server |
version | ΣI | 0..1 | string | Business version of the message definition |
name | ΣI | 0..1 | string | Name for this message definition (computer friendly) |
title | ΣI | 0..1 | string | Name for this message definition (human friendly) |
replaces | ΣI | 0..* | canonical(MessageDefinition) | Takes the place of |
status | ?!ΣI | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required) |
experimental | ΣI | 0..1 | boolean | For testing purposes, not real usage |
date | ΣI | 1..1 | dateTime | Date last changed |
publisher | ΣI | 0..1 | string | Name of the publisher (organization or individual) |
contact | ΣI | 0..* | ContactDetail | Contact details for the publisher |
description | ΣI | 0..1 | markdown | Natural language description of the message definition |
useContext | ΣI | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | ΣI | 0..* | CodeableConcept | Intended jurisdiction for message definition (if applicable) Binding: Jurisdiction ValueSet (extensible) |
purpose | ΣI | 0..1 | markdown | Why this message definition is defined |
copyright | I | 0..1 | markdown | Use and/or publishing restrictions |
base | ΣI | 0..1 | canonical(MessageDefinition) | Definition this one is based on |
parent | ΣI | 0..* | canonical(ActivityDefinition | PlanDefinition) | Protocol/workflow this is part of |
event[x] | SΣI | 1..1 | Coding | Event code Binding: Message event codes for exchanging order catalog content (extensible) |
category | ΣI | 0..1 | code | consequence | currency | notification Binding: MessageSignificanceCategory (required) Fixed Value: consequence |
focus | ΣI | 0..* | BackboneElement | Resource(s) that are the subject of the event md-1: Max must be postive int or * |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | ΣI | 1..1 | code | Type of resource Binding: ResourceType (required) |
profile | I | 0..1 | canonical(StructureDefinition) | Profile that must be adhered to by focus |
min | ΣI | 1..1 | unsignedInt | Minimum number of focuses of this type |
max | I | 0..1 | string | Maximum number of focuses of this type |
responseRequired | SI | 1..1 | code | always | on-error | never | on-success Binding: messageheader-response-request (required) Example General: always |
allowedResponse | I | 0..* | BackboneElement | Responses to this message |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
message | I | 1..1 | canonical(MessageDefinition) | Reference to allowed message definition response |
situation | I | 0..1 | markdown | When should this response be used |
graph | I | 0..* | canonical(GraphDefinition) | Canonical reference to a GraphDefinition |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MessageDefinition | I | 0..* | MessageDefinition | A resource that defines a type of message that can be exchanged between systems |
event[x] | ΣI | 1..1 | Coding | Event code Binding: Message event codes for exchanging order catalog content (extensible) |
responseRequired | I | 1..1 | code | always | on-error | never | on-success Binding: messageheader-response-request (required) |
Documentation for this format |
This structure is derived from MessageDefinition
Differential View
This structure is derived from MessageDefinition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MessageDefinition | 0..* | MessageDefinition | A resource that defines a type of message that can be exchanged between systems | |
event[x] | S | 1..1 | Coding | Event code Binding: Message event codes for exchanging order catalog content (extensible) |
category | 0..1 | code | consequence | currency | notification Fixed Value: consequence | |
responseRequired | S | 1..1 | code | always | on-error | never | on-success |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MessageDefinition | I | 0..* | MessageDefinition | A resource that defines a type of message that can be exchanged between systems |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
url | ΣI | 0..1 | uri | Business Identifier for a given MessageDefinition |
identifier | ΣI | 0..* | Identifier | Primary key for the message definition on a given server |
version | ΣI | 0..1 | string | Business version of the message definition |
name | ΣI | 0..1 | string | Name for this message definition (computer friendly) |
title | ΣI | 0..1 | string | Name for this message definition (human friendly) |
replaces | ΣI | 0..* | canonical(MessageDefinition) | Takes the place of |
status | ?!ΣI | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required) |
experimental | ΣI | 0..1 | boolean | For testing purposes, not real usage |
date | ΣI | 1..1 | dateTime | Date last changed |
publisher | ΣI | 0..1 | string | Name of the publisher (organization or individual) |
contact | ΣI | 0..* | ContactDetail | Contact details for the publisher |
description | ΣI | 0..1 | markdown | Natural language description of the message definition |
useContext | ΣI | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | ΣI | 0..* | CodeableConcept | Intended jurisdiction for message definition (if applicable) Binding: Jurisdiction ValueSet (extensible) |
purpose | ΣI | 0..1 | markdown | Why this message definition is defined |
copyright | I | 0..1 | markdown | Use and/or publishing restrictions |
base | ΣI | 0..1 | canonical(MessageDefinition) | Definition this one is based on |
parent | ΣI | 0..* | canonical(ActivityDefinition | PlanDefinition) | Protocol/workflow this is part of |
event[x] | SΣI | 1..1 | Coding | Event code Binding: Message event codes for exchanging order catalog content (extensible) |
category | ΣI | 0..1 | code | consequence | currency | notification Binding: MessageSignificanceCategory (required) Fixed Value: consequence |
focus | ΣI | 0..* | BackboneElement | Resource(s) that are the subject of the event md-1: Max must be postive int or * |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | ΣI | 1..1 | code | Type of resource Binding: ResourceType (required) |
profile | I | 0..1 | canonical(StructureDefinition) | Profile that must be adhered to by focus |
min | ΣI | 1..1 | unsignedInt | Minimum number of focuses of this type |
max | I | 0..1 | string | Maximum number of focuses of this type |
responseRequired | SI | 1..1 | code | always | on-error | never | on-success Binding: messageheader-response-request (required) Example General: always |
allowedResponse | I | 0..* | BackboneElement | Responses to this message |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
message | I | 1..1 | canonical(MessageDefinition) | Reference to allowed message definition response |
situation | I | 0..1 | markdown | When should this response be used |
graph | I | 0..* | canonical(GraphDefinition) | Canonical reference to a GraphDefinition |
Documentation for this format |
Other representations of profile: Schematron
Path | Conformance | ValueSet / Code |
MessageDefinition.language | preferred | CommonLanguages Max Binding: AllLanguages |
MessageDefinition.status | required | PublicationStatus |
MessageDefinition.jurisdiction | extensible | Jurisdiction ValueSet |
MessageDefinition.event[x] | extensible | CatalogMessageEventVS |
MessageDefinition.category | required | Fixed Value: consequence |
MessageDefinition.focus.code | required | ResourceType |
MessageDefinition.responseRequired | required | messageheader-response-request |
Id | Path | Details | Requirements |
dom-2 | MessageDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | MessageDefinition | 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 | MessageDefinition | 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 | MessageDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | MessageDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
msd-0 | MessageDefinition | Name 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-1 | MessageDefinition.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MessageDefinition.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MessageDefinition.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MessageDefinition.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MessageDefinition.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.title | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.replaces | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.experimental | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.date | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.publisher | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.contact | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.useContext | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.jurisdiction | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.purpose | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.copyright | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.base | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.parent | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.event[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.focus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
md-1 | MessageDefinition.focus | Max must be postive int or * : max='*' or (max.toInteger() > 0) | |
ele-1 | MessageDefinition.focus.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MessageDefinition.focus.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MessageDefinition.focus.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MessageDefinition.focus.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MessageDefinition.focus.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.focus.profile | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.focus.min | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.focus.max | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.responseRequired | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.allowedResponse | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.allowedResponse.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MessageDefinition.allowedResponse.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MessageDefinition.allowedResponse.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | MessageDefinition.allowedResponse.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | MessageDefinition.allowedResponse.message | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.allowedResponse.situation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | MessageDefinition.graph | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |