This page is part of the FHIR Specification (v1.8.0: STU 3 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
FHIR Infrastructure Work Group | Maturity Level: 0 | Compartments: Not linked to any defined compartments |
Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MessageDefinition | DomainResource | A resource that defines a type of message that can be exchanged between systems | ||
url | Σ | 0..1 | uri | Logical uri to reference this message definition (globally unique) |
version | Σ | 0..1 | string | Business version of the message definition |
name | Σ | 0..1 | string | Name for this message definition (Computer friendly) |
title | Σ | 0..1 | string | Name for this message definition (Human friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | If for testing purposes, not real usage |
date | Σ | 1..1 | dateTime | Date this was last changed |
publisher | Σ | 0..1 | string | Name of the publisher (Organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
description | Σ | 0..1 | markdown | Natural language description of the message definition |
useContext | Σ | 0..* | UsageContext | Content intends to support these contexts |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for message definition (if applicable) Jurisdiction ValueSet (Extensible) |
purpose | Σ | 0..1 | markdown | Why this message definition is defined |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
base | Σ | 0..1 | Reference(MessageDefinition) | Definition this one is based on |
parent | Σ | 0..* | Reference(ActivityDefinition | PlanDefinition) | Protocol/workflow this is part of |
replaces | Σ | 0..* | Reference(MessageDefinition) | Takes the place of |
event | Σ | 1..1 | Coding | Event type MessageEvent (Preferred) |
category | Σ | 0..1 | code | Consequence | Currency | Notification MessageSignificanceCategory (Required) |
focus | ΣI | 0..* | BackboneElement | Resource(s) that are the subject of the event Max must be postive int or * |
code | Σ | 1..1 | code | Type of resource ResourceType (Required) |
profile | 0..1 | Reference(StructureDefinition) | Profile that must be adhered to by focus | |
min | 0..1 | unsignedInt | Minimum number of focuses of this type | |
max | I | 0..1 | string | Maximum number of focuses of this type |
responseRequired | 0..1 | boolean | Is a response required? | |
allowedResponse | 0..* | BackboneElement | Responses to this message | |
message | 1..1 | Reference(MessageDefinition) | MessageDefinition for response | |
situation | 0..1 | markdown | When should this response be used | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<MessageDefinition xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Logical uri to reference this message definition (globally unique) --> <version value="[string]"/><!-- 0..1 Business version of the message definition --> <name value="[string]"/><!-- 0..1 Name for this message definition (Computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this message definition (Human friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <date value="[dateTime]"/><!-- 1..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the message definition --> <useContext><!-- 0..* UsageContext Content intends to support these contexts --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for message definition (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this message definition is defined --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <base><!-- 0..1 Reference(MessageDefinition) Definition this one is based on --></base> <parent><!-- 0..* Reference(ActivityDefinition|PlanDefinition) Protocol/workflow this is part of --></parent> <replaces><!-- 0..* Reference(MessageDefinition) Takes the place of --></replaces> <event><!-- 1..1 Coding Event type --></event> <category value="[code]"/><!-- 0..1 Consequence | Currency | Notification --> <focus> <!-- 0..* Resource(s) that are the subject of the event --> <code value="[code]"/><!-- 1..1 Type of resource --> <profile><!-- 0..1 Reference(StructureDefinition) Profile that must be adhered to by focus --></profile> <min value="[unsignedInt]"/><!-- 0..1 Minimum number of focuses of this type --> <max value="[string]"/><!-- 0..1 Maximum number of focuses of this type --> </focus> <responseRequired value="[boolean]"/><!-- 0..1 Is a response required? --> <allowedResponse> <!-- 0..* Responses to this message --> <message><!-- 1..1 Reference(MessageDefinition) MessageDefinition for response --></message> <situation value="[markdown]"/><!-- 0..1 When should this response be used --> </allowedResponse> </MessageDefinition>
JSON Template
{ "resourceType" : "MessageDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Logical uri to reference this message definition (globally unique) "version" : "<string>", // Business version of the message definition "name" : "<string>", // Name for this message definition (Computer friendly) "title" : "<string>", // Name for this message definition (Human friendly) "status" : "<code>", // R! draft | active | retired "experimental" : <boolean>, // If for testing purposes, not real usage "date" : "<dateTime>", // R! Date this was last changed "publisher" : "<string>", // Name of the publisher (Organization or individual) "contact" : [{ ContactDetail }], // Contact details for the publisher "description" : "<markdown>", // Natural language description of the message definition "useContext" : [{ UsageContext }], // Content intends to support these contexts "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for message definition (if applicable) "purpose" : "<markdown>", // Why this message definition is defined "copyright" : "<markdown>", // Use and/or publishing restrictions "base" : { Reference(MessageDefinition) }, // Definition this one is based on "parent" : [{ Reference(ActivityDefinition|PlanDefinition) }], // Protocol/workflow this is part of "replaces" : [{ Reference(MessageDefinition) }], // Takes the place of "event" : { Coding }, // R! Event type "category" : "<code>", // Consequence | Currency | Notification "focus" : [{ // Resource(s) that are the subject of the event "code" : "<code>", // R! Type of resource "profile" : { Reference(StructureDefinition) }, // Profile that must be adhered to by focus "min" : "<unsignedInt>", // Minimum number of focuses of this type "max" : "<string>" // C? Maximum number of focuses of this type }], "responseRequired" : <boolean>, // Is a response required? "allowedResponse" : [{ // Responses to this message "message" : { Reference(MessageDefinition) }, // R! MessageDefinition for response "situation" : "<markdown>" // When should this response be used }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:MessageDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:MessageDefinition.url [ uri ]; # 0..1 Logical uri to reference this message definition (globally unique) fhir:MessageDefinition.version [ string ]; # 0..1 Business version of the message definition fhir:MessageDefinition.name [ string ]; # 0..1 Name for this message definition (Computer friendly) fhir:MessageDefinition.title [ string ]; # 0..1 Name for this message definition (Human friendly) fhir:MessageDefinition.status [ code ]; # 1..1 draft | active | retired fhir:MessageDefinition.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage fhir:MessageDefinition.date [ dateTime ]; # 1..1 Date this was last changed fhir:MessageDefinition.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:MessageDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:MessageDefinition.description [ markdown ]; # 0..1 Natural language description of the message definition fhir:MessageDefinition.useContext [ UsageContext ], ... ; # 0..* Content intends to support these contexts fhir:MessageDefinition.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for message definition (if applicable) fhir:MessageDefinition.purpose [ markdown ]; # 0..1 Why this message definition is defined fhir:MessageDefinition.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:MessageDefinition.base [ Reference(MessageDefinition) ]; # 0..1 Definition this one is based on fhir:MessageDefinition.parent [ Reference(ActivityDefinition|PlanDefinition) ], ... ; # 0..* Protocol/workflow this is part of fhir:MessageDefinition.replaces [ Reference(MessageDefinition) ], ... ; # 0..* Takes the place of fhir:MessageDefinition.event [ Coding ]; # 1..1 Event type fhir:MessageDefinition.category [ code ]; # 0..1 Consequence | Currency | Notification fhir:MessageDefinition.focus [ # 0..* Resource(s) that are the subject of the event fhir:MessageDefinition.focus.code [ code ]; # 1..1 Type of resource fhir:MessageDefinition.focus.profile [ Reference(StructureDefinition) ]; # 0..1 Profile that must be adhered to by focus fhir:MessageDefinition.focus.min [ unsignedInt ]; # 0..1 Minimum number of focuses of this type fhir:MessageDefinition.focus.max [ string ]; # 0..1 Maximum number of focuses of this type ], ...; fhir:MessageDefinition.responseRequired [ boolean ]; # 0..1 Is a response required? fhir:MessageDefinition.allowedResponse [ # 0..* Responses to this message fhir:MessageDefinition.allowedResponse.message [ Reference(MessageDefinition) ]; # 1..1 MessageDefinition for response fhir:MessageDefinition.allowedResponse.situation [ markdown ]; # 0..1 When should this response be used ], ...; ]
Changes since DSTU2
This resource did not exist in Release 2
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
MessageDefinition | DomainResource | A resource that defines a type of message that can be exchanged between systems | ||
url | Σ | 0..1 | uri | Logical uri to reference this message definition (globally unique) |
version | Σ | 0..1 | string | Business version of the message definition |
name | Σ | 0..1 | string | Name for this message definition (Computer friendly) |
title | Σ | 0..1 | string | Name for this message definition (Human friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | If for testing purposes, not real usage |
date | Σ | 1..1 | dateTime | Date this was last changed |
publisher | Σ | 0..1 | string | Name of the publisher (Organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
description | Σ | 0..1 | markdown | Natural language description of the message definition |
useContext | Σ | 0..* | UsageContext | Content intends to support these contexts |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for message definition (if applicable) Jurisdiction ValueSet (Extensible) |
purpose | Σ | 0..1 | markdown | Why this message definition is defined |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
base | Σ | 0..1 | Reference(MessageDefinition) | Definition this one is based on |
parent | Σ | 0..* | Reference(ActivityDefinition | PlanDefinition) | Protocol/workflow this is part of |
replaces | Σ | 0..* | Reference(MessageDefinition) | Takes the place of |
event | Σ | 1..1 | Coding | Event type MessageEvent (Preferred) |
category | Σ | 0..1 | code | Consequence | Currency | Notification MessageSignificanceCategory (Required) |
focus | ΣI | 0..* | BackboneElement | Resource(s) that are the subject of the event Max must be postive int or * |
code | Σ | 1..1 | code | Type of resource ResourceType (Required) |
profile | 0..1 | Reference(StructureDefinition) | Profile that must be adhered to by focus | |
min | 0..1 | unsignedInt | Minimum number of focuses of this type | |
max | I | 0..1 | string | Maximum number of focuses of this type |
responseRequired | 0..1 | boolean | Is a response required? | |
allowedResponse | 0..* | BackboneElement | Responses to this message | |
message | 1..1 | Reference(MessageDefinition) | MessageDefinition for response | |
situation | 0..1 | markdown | When should this response be used | |
Documentation for this format |
XML Template
<MessageDefinition xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Logical uri to reference this message definition (globally unique) --> <version value="[string]"/><!-- 0..1 Business version of the message definition --> <name value="[string]"/><!-- 0..1 Name for this message definition (Computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this message definition (Human friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <date value="[dateTime]"/><!-- 1..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the message definition --> <useContext><!-- 0..* UsageContext Content intends to support these contexts --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for message definition (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this message definition is defined --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <base><!-- 0..1 Reference(MessageDefinition) Definition this one is based on --></base> <parent><!-- 0..* Reference(ActivityDefinition|PlanDefinition) Protocol/workflow this is part of --></parent> <replaces><!-- 0..* Reference(MessageDefinition) Takes the place of --></replaces> <event><!-- 1..1 Coding Event type --></event> <category value="[code]"/><!-- 0..1 Consequence | Currency | Notification --> <focus> <!-- 0..* Resource(s) that are the subject of the event --> <code value="[code]"/><!-- 1..1 Type of resource --> <profile><!-- 0..1 Reference(StructureDefinition) Profile that must be adhered to by focus --></profile> <min value="[unsignedInt]"/><!-- 0..1 Minimum number of focuses of this type --> <max value="[string]"/><!-- 0..1 Maximum number of focuses of this type --> </focus> <responseRequired value="[boolean]"/><!-- 0..1 Is a response required? --> <allowedResponse> <!-- 0..* Responses to this message --> <message><!-- 1..1 Reference(MessageDefinition) MessageDefinition for response --></message> <situation value="[markdown]"/><!-- 0..1 When should this response be used --> </allowedResponse> </MessageDefinition>
JSON Template
{ "resourceType" : "MessageDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Logical uri to reference this message definition (globally unique) "version" : "<string>", // Business version of the message definition "name" : "<string>", // Name for this message definition (Computer friendly) "title" : "<string>", // Name for this message definition (Human friendly) "status" : "<code>", // R! draft | active | retired "experimental" : <boolean>, // If for testing purposes, not real usage "date" : "<dateTime>", // R! Date this was last changed "publisher" : "<string>", // Name of the publisher (Organization or individual) "contact" : [{ ContactDetail }], // Contact details for the publisher "description" : "<markdown>", // Natural language description of the message definition "useContext" : [{ UsageContext }], // Content intends to support these contexts "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for message definition (if applicable) "purpose" : "<markdown>", // Why this message definition is defined "copyright" : "<markdown>", // Use and/or publishing restrictions "base" : { Reference(MessageDefinition) }, // Definition this one is based on "parent" : [{ Reference(ActivityDefinition|PlanDefinition) }], // Protocol/workflow this is part of "replaces" : [{ Reference(MessageDefinition) }], // Takes the place of "event" : { Coding }, // R! Event type "category" : "<code>", // Consequence | Currency | Notification "focus" : [{ // Resource(s) that are the subject of the event "code" : "<code>", // R! Type of resource "profile" : { Reference(StructureDefinition) }, // Profile that must be adhered to by focus "min" : "<unsignedInt>", // Minimum number of focuses of this type "max" : "<string>" // C? Maximum number of focuses of this type }], "responseRequired" : <boolean>, // Is a response required? "allowedResponse" : [{ // Responses to this message "message" : { Reference(MessageDefinition) }, // R! MessageDefinition for response "situation" : "<markdown>" // When should this response be used }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:MessageDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:MessageDefinition.url [ uri ]; # 0..1 Logical uri to reference this message definition (globally unique) fhir:MessageDefinition.version [ string ]; # 0..1 Business version of the message definition fhir:MessageDefinition.name [ string ]; # 0..1 Name for this message definition (Computer friendly) fhir:MessageDefinition.title [ string ]; # 0..1 Name for this message definition (Human friendly) fhir:MessageDefinition.status [ code ]; # 1..1 draft | active | retired fhir:MessageDefinition.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage fhir:MessageDefinition.date [ dateTime ]; # 1..1 Date this was last changed fhir:MessageDefinition.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:MessageDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:MessageDefinition.description [ markdown ]; # 0..1 Natural language description of the message definition fhir:MessageDefinition.useContext [ UsageContext ], ... ; # 0..* Content intends to support these contexts fhir:MessageDefinition.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for message definition (if applicable) fhir:MessageDefinition.purpose [ markdown ]; # 0..1 Why this message definition is defined fhir:MessageDefinition.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:MessageDefinition.base [ Reference(MessageDefinition) ]; # 0..1 Definition this one is based on fhir:MessageDefinition.parent [ Reference(ActivityDefinition|PlanDefinition) ], ... ; # 0..* Protocol/workflow this is part of fhir:MessageDefinition.replaces [ Reference(MessageDefinition) ], ... ; # 0..* Takes the place of fhir:MessageDefinition.event [ Coding ]; # 1..1 Event type fhir:MessageDefinition.category [ code ]; # 0..1 Consequence | Currency | Notification fhir:MessageDefinition.focus [ # 0..* Resource(s) that are the subject of the event fhir:MessageDefinition.focus.code [ code ]; # 1..1 Type of resource fhir:MessageDefinition.focus.profile [ Reference(StructureDefinition) ]; # 0..1 Profile that must be adhered to by focus fhir:MessageDefinition.focus.min [ unsignedInt ]; # 0..1 Minimum number of focuses of this type fhir:MessageDefinition.focus.max [ string ]; # 0..1 Maximum number of focuses of this type ], ...; fhir:MessageDefinition.responseRequired [ boolean ]; # 0..1 Is a response required? fhir:MessageDefinition.allowedResponse [ # 0..* Responses to this message fhir:MessageDefinition.allowedResponse.message [ Reference(MessageDefinition) ]; # 1..1 MessageDefinition for response fhir:MessageDefinition.allowedResponse.situation [ markdown ]; # 0..1 When should this response be used ], ...; ]
Changes since DSTU2
This resource did not exist in Release 2
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle), JSON-LD (for RDF as JSON-LD),
Path | Definition | Type | Reference |
---|---|---|---|
MessageDefinition.status | The lifecycle status of a Value Set or Concept Map. | Required | PublicationStatus |
MessageDefinition.jurisdiction | Countries and regions within which this artifact is targeted for use | Extensible | Jurisdiction ValueSet |
MessageDefinition.event | One of the message events defined as part of FHIR. | Preferred | http://hl7.org/fhir/valueset/message-eventsMessageEvent |
MessageDefinition.category | The impact of the content of a message. | Required | MessageSignificanceCategory |
MessageDefinition.focus.code | One of the resource types defined as part of FHIR. | Required | http://hl7.org/fhir/valueset/resource-typesResourceType |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Paths | In Common |
category | token | The behavior associated with the message | MessageDefinition.category | |
date | date | The message definition publication date | MessageDefinition.date | |
description | string | Text search against the description of the message definition | MessageDefinition.description | |
event | token | The event that triggers the message | MessageDefinition.event | |
focus | token | A resource that is a permitted focus of the message | MessageDefinition.focus.code | |
jurisdiction | token | Intended jurisdiction for message definition | MessageDefinition.jurisdiction | |
name | string | Name of the message definition | MessageDefinition.name | |
publisher | string | Name of the publisher of the message definition | MessageDefinition.publisher | |
status | token | The current status of the message definition | MessageDefinition.status | |
title | string | Text search against the title of the message definition | MessageDefinition.title | |
url | uri | The uri that identifies the message definition | MessageDefinition.url | |
version | token | The version identifier of the message definition | MessageDefinition.version |