This page is part of the FHIR Specification (v0.06: DSTU 1 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Resource Message - Formal Definitions 2.2.10

The formal definitions for the elements in the message resource. Also available as an XML file.

Message
DefinitionA transmission requesting action on a bundle of one or more resources or a response to such a request
Control1..1
RequirementsMany implementations are not prepared to use REST, and need a message based infrastructure
RIM MappingMessage
v2 MappingMSH
Message.id
DefinitionThe identifier of this message
Control1..1
Typeid
Must Understandtrue
CommentsThis must be unique within the scope of this stream of messages
RIM MappingMessage.id
Message.instant
DefinitionInstant the message was sent
Control1..1
Typeinstant
Must Understandtrue
RequirementsAllows limited detection of out-of-order and delayed transmission. Also supports audit.
RIM Mapping./creationTime[isNormalDatatype()]
v2 MappingMSH.7
Message.event
DefinitionCode that identifies the event this message represents, and connects it with the event definition in the FHIR specification
Control1..1
Typecode from MessageEvent
Must Understandtrue
RequirementsDrives the behavior associated with this message
RIM Mapping./payload[classCode="CACT" and moodCode="EVN" and isNormalAct()]/code[isNormalDatatype()]/code
v2 MappingMSH.9.2
To DoConsider changing to Coding to support profile-defined events
Message.response
DefinitionInformation about the message that this message is a response to. Only present if this message is a response.
Control0..1
Must Understandtrue
RIM Mapping./conveyedAcknowledgement
v2 MappingMSA
Message.response.id
DefinitionThe id of the message that this a response to
Control1..1
Typeid
Must Understandtrue
RequirementsAllows receiver to know what message is being responded to
RIM Mapping./acknowledges.id[isNormalDatatype()]
v2 MappingMSA.2
Message.response.code
DefinitionCode that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not
Control1..1
Typecode from ResponseCode
Must Understandtrue
RequirementsAllows the sender of the acknowledge message to know if the request was successful or if action is needed.
CommentsThis is a generic response to the request Message. Specific data for the response will be found in Message.data
RIM Mapping./typeCode[isNormalDatatype()]
v2 MappingMSA.1 |
Message.response.details
DefinitionFull details of any issues found in the message
Control0..1
TypeResource(IssueReport)
RequirementsAllows the sender of the message to determine what the specific issues are
CommentsThis must be contained in the bundle. If any of the issues are errors, the response code must be an error
RIM MappingAcknowledgementDetail or Observation[classCode="ALRT" and moodCode="EVN"]
v2 MappingERR
Message.source
DefinitionThe source application from which this message originated
Control1..1
RequirementsAllows replies, supports audit.
RIM Mappingunique(./communicationFunction[typeCode="SND"])
v2 MappingNA
Message.source.name
DefinitionHuman readable name for the target system
Control0..1
Typestring
RequirementsMay be used to support audit
RIM Mappingunique(./entity[determinerCode="INST" and classCode="DEV"]/name[type='ST' and isNormalDatatype()])
v2 Mapping(Not supported)
Message.source.software
DefinitionMay include configuration or other information useful in debugging.
Control1..1
Typestring
RequirementsSupports audit and possibly interface engine behavior
RIM Mappingunique(./entity[determinerCode="INST" and classCode="DEV"]/softwareName[isNormalDatatype()])
v2 MappingSFT.3
Message.source.version
DefinitionCan convey versions of multiple systems in situations where a message passes through multiple hands.
Control0..1
Typestring
RequirementsSupports audit and possibly interface engine behavior
RIM Mapping(Not supported)
v2 MappingSFT.4
Message.source.contact
DefinitionAn e-mail, phone, website or other contact point to use to resolve issues with message communications.
Control0..1
TypeContact
RequirementsAllows escalation of technical issues.
RIM Mappingunique(./entity[determinerCode="INST" and classCode="DEV"]/scopesRole[normalRole() and classCode="CON" and layer[classCode="PSN"]/telecom[isNormalDatatype()])
v2 Mapping(Not supported)
Message.source.endpoint
DefinitionIdentifies the routing target to send acknowledgements to.
Control1..1
Typeuri
RequirementsIdentifies where to send responses, may influence security permissions
CommentsThe id may be a non-resolvable URI for systems that do not use standard network-based addresses
RIM Mapping./telecom[isNormalDatatype()]
v2 Mapping(Not supported)
Message.destination
DefinitionThe destination application which the message is intended for
Control1..1
RequirementsIndicates where message is to be sent to for routing purposes. Allows verification of "am I the intended recipient"
RIM Mapping./communicationFunction[typeCode="RCV"]
v2 MappingNA
Message.destination.name
DefinitionHuman readable name for the source system
Control0..1
Typestring
RequirementsMay be used for routing of response and/or to support audit
RIM Mappingunique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]/name[type='ST' and isNormalDatatype()])
v2 Mapping(Not supported)
Message.destination.target
DefinitionIdentifies the target end system in situations where the initial message transmission is to an intermediary system.
Control0..1
TypeResource(Device)
RequirementsSupports multi-hop routing
RIM Mappingunique(./entity[determinerCode="INST" and (classCode=("DEV", "PSN", "ORG"]
v2 Mappingvaries
Message.destination.endpoint
DefinitionIndicates where the message should be routed to.
Control1..1
Typeuri
RequirementsIdentifies where to route the message
CommentsThe id may be a non-resolvable URI for systems that do not use standard network-based addresses
RIM Mapping./telecom
v2 Mapping(Not supported)
Message.enterer
DefinitionThe person or device that performed the data entry leading to this Message. Where there is more than one candidate, pick the most proximal to the Message. Can provide other enterers in extensions
Control0..1
TypeResource(Agent)
RequirementsNeed to know for audit/traceback requirements and possibly for authorization.
CommentsUsually only for the request, but can be used in a response
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="ENT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
v2 MappingROL where ROL.3 is EP or ORC.10
Message.author
DefinitionThe logical author of the message - the person or device that decided the described event should happen. Where there is more than one candidate, pick the most proximal to the Message. Can provide other authors in extensions
Control0..1
TypeResource(Agent)
RequirementsNeed to know for audit/traceback requirements and possibly for authorization.
CommentsUsually only for the request, but can be used in a response
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="AUT" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode=("DEV", "PSN") and determinerCode="INST"])
v2 MappingROL where ROL.3 is IP or ORC.12
Message.receiver
DefinitionAllows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.
Control0..1
TypeResource(Person|Organization)
RequirementsAllows routing beyond just to the application level
Message.responsible
DefinitionThe person or organization that accepts overall responsibility for the contents of the Message. The implication is that the message event happened under the policies of the responsible party
Control0..1
TypeResource(Agent|Organization)
RequirementsNeed to know for audit/traceback requirements and possibly for authorization.
CommentsUsually only for the request, but can be used in a response
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/player[isNormalEntity() and classCode="PSN" and determinerCode="INST"] or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[isHighest(priorityCode) and typeCode="RESP" and isNormalParticipation]/role[classCode="ASSIGNED" and isNormalRole()]/scoper[isNormalEntity() and classCode="ORG" and determinerCode="INST"])
v2 MappingROL where ROL.3 is RO or ORC.11
Message.effective
DefinitionThe effective time - the real world time of the event that the message represents. Usually this is just a starting time, but some message events also have an end time (do x for period y)
Control0..1
TypePeriod
RequirementsNeed to know for understanding the content of the message, may govern receiver's behavior.
CommentsUsually only for the request, but can be used in a response
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/effectiveTime[isNormalDatatype() and type="IVL_TS"])
v2 MappingEVN.3 or EVN.6 or ORC.15
To DoGrahame thinks this is not 80/20. Also, that it really should be domain modeled, not tucked away here
Message.reason
DefinitionThe cause of the event - a reason for the event that is a focus of this message occurred
Control0..1
TypeCodeableConcept from EventReason
RequirementsNeed to be able to track why resources are being changed and report in the audit log / history of the resource. May affect authorization.
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/reasonCode[isNormalDatatype()])
v2 MappingEVN.4 or ORC.16
Message.data
DefinitionThe actual data of the message - a reference to the root/focus class of the event.
Control0..*
TypeResource(Any)
Must Understandtrue
RequirementsEvery message event is about actual data, a single resource, that is identified in the definition of the event, and perhaps some or all linked resources
CommentsThe data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message. Only the root resource is specified. The tree of referenced resources conveyed in the atom feed is determined by navigating the tree and consulting the "bundled" property of the profile, not by listing all resources here. Multiple repetitions are provided for merges and other situations with multiple focal targets
RIM Mappingunique(./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/participation[typeCode="SUBJ" and isNormalParticipation]/role or ./controlAct[classCode="CACT" and classCode="EVN" and isNormalAct()]/outboundRelationship[typeCode="SBJ" and isNormalActRelatoinship]/target)
v2 Mappingvaries
Message.extension
DefinitionSee Extensions
Control0..*
TypeExtension
RIM Mappingvaries
v2 Mappingvaries
Message.text
Definition
Control1..1
TypeNarrative
RIM Mapping(Not supported)
v2 Mapping(Not supported)

This is an old version of FHIR retained for archive purposes. Do not use for anything else
Implementers are welcome to experiment with the content defined here, but should note that the contents are subject to change without prior notice.
© HL7.org 2011 - 2012. FHIR v0.06 generated on Tue, Dec 4, 2012 00:04+1100. License