preBallot - The specification is currently in ballot review and subject to change. . . . For a full list of available versions, see the Directory of published versions
Communication (CA:eReC)
Links
Profile
Derived from
http://hl7.org/fhir/StructureDefinition/Communication
Description
Communication resource is used to achieve the bi-directional communication between two systems. The Communication resource can be used to ask questions regarding a referral, request a referral be updated with missing information, or request additional information not covered by the specific referral dataset.
References to this resource
MessageHeader, ServiceRequest, Task
Resource Content
Communication | Communication | ||
basedOn | S | 1..1 | Reference(ServiceRequest) |
reference | S | ||
identifier | S | ||
use | S | 1.. | |
system | S | 1.. | |
value | S | 1.. | |
inResponseTo | S | ||
status | S | BindingFixed Value | |
category | S | ||
subject | S | Reference(Patient) | |
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
sent | S | ||
received | S | ||
sender | S | Reference(PractitionerRole | HealthcareService) | |
reference | S | ||
identifier | S | ||
system | S | 1.. | |
value | S | 1.. | |
payload | S | ||
content[x] | S | ||
contentString | string | ||
contentAttachment | Attachment |
Communication | I | Communication | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) |
instantiatesUri | Σ | 0..* | uri |
basedOn | S Σ | 1..1 | Reference(ServiceRequest) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | S Σ ?! | 1..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
partOf | Σ | 0..* | Reference(Resource) |
inResponseTo | S | 0..* | Reference(Communication) |
status | S Σ ?! | 1..1 | codeBindingFixed Value |
statusReason | Σ | 0..1 | CodeableConcept |
category | S | 0..* | CodeableConcept |
priority | Σ | 0..1 | codeBinding |
medium | 0..* | CodeableConcept | |
subject | S Σ | 0..1 | Reference(Patient) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
topic | 0..1 | CodeableConcept | |
about | 0..* | Reference(Resource) | |
encounter | Σ | 0..1 | Reference(Encounter) |
sent | S | 0..1 | dateTime |
received | S | 0..1 | dateTime |
recipient | 0..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | |
sender | S | 0..1 | Reference(PractitionerRole | HealthcareService) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
reference | S Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | S Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | S Σ | 1..1 | uri |
value | S Σ | 1..1 | string |
period | Σ | 0..1 | Period |
assigner | Σ | 0..1 | Reference(Organization) |
display | Σ | 0..1 | string |
reasonCode | Σ | 0..* | CodeableConcept |
reasonReference | Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) |
payload | S | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
content[x] | S | 1..1 | |
contentString | string | ||
contentAttachment | Attachment | ||
note | 0..* | Annotation |
<StructureDefinition xmlns="http://hl7.org/fhir"> <id value="CA-eReC-Communication" /> <url value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication" /> <name value="Communication" /> <title value="Communication" /> <status value="draft" /> <description value="Communication resource is used to achieve the bi-directional communication between two systems. The Communication resource can be used to ask questions regarding a referral, request a referral be updated with missing information, or request additional information not covered by the specific referral dataset." /> <fhirVersion value="4.0.1" /> <kind value="resource" /> <abstract value="false" /> <type value="Communication" /> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Communication" /> <derivation value="constraint" /> <differential> <element id="Communication.basedOn"> <path value="Communication.basedOn" /> <min value="1" /> <max value="1" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" /> </type> <mustSupport value="true" /> </element> <element id="Communication.basedOn.reference"> <path value="Communication.basedOn.reference" /> <mustSupport value="true" /> </element> <element id="Communication.basedOn.identifier"> <path value="Communication.basedOn.identifier" /> <mustSupport value="true" /> </element> <element id="Communication.basedOn.identifier.use"> <path value="Communication.basedOn.identifier.use" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Communication.basedOn.identifier.system"> <path value="Communication.basedOn.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Communication.basedOn.identifier.value"> <path value="Communication.basedOn.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Communication.inResponseTo"> <path value="Communication.inResponseTo" /> <mustSupport value="true" /> </element> <element id="Communication.status"> <path value="Communication.status" /> <fixedCode value="completed" /> <mustSupport value="true" /> <binding> <strength value="required" /> <valueSet value="http://hl7.org/fhir/ValueSet/event-status" /> </binding> </element> <element id="Communication.category"> <path value="Communication.category" /> <mustSupport value="true" /> <binding> <strength value="example" /> <valueSet value="http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/communication-category" /> </binding> </element> <element id="Communication.subject"> <path value="Communication.subject" /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" /> </type> <mustSupport value="true" /> </element> <element id="Communication.subject.reference"> <path value="Communication.subject.reference" /> <mustSupport value="true" /> </element> <element id="Communication.subject.identifier"> <path value="Communication.subject.identifier" /> <mustSupport value="true" /> </element> <element id="Communication.subject.identifier.system"> <path value="Communication.subject.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Communication.subject.identifier.value"> <path value="Communication.subject.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Communication.sent"> <path value="Communication.sent" /> <mustSupport value="true" /> </element> <element id="Communication.received"> <path value="Communication.received" /> <mustSupport value="true" /> </element> <element id="Communication.sender"> <path value="Communication.sender" /> <comment value="When the communication comes from a CAT, then HealthcareService can be used to identify the sender." /> <type> <code value="Reference" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" /> <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-HealthcareService" /> </type> <mustSupport value="true" /> </element> <element id="Communication.sender.reference"> <path value="Communication.sender.reference" /> <mustSupport value="true" /> </element> <element id="Communication.sender.identifier"> <path value="Communication.sender.identifier" /> <mustSupport value="true" /> </element> <element id="Communication.sender.identifier.system"> <path value="Communication.sender.identifier.system" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Communication.sender.identifier.value"> <path value="Communication.sender.identifier.value" /> <min value="1" /> <mustSupport value="true" /> </element> <element id="Communication.payload"> <path value="Communication.payload" /> <mustSupport value="true" /> </element> <element id="Communication.payload.content[x]"> <path value="Communication.payload.content[x]" /> <type> <code value="string" /> </type> <type> <code value="Attachment" /> </type> <mustSupport value="true" /> </element> </differential> </StructureDefinition>
{ "resourceType": "StructureDefinition", "id": "CA-eReC-Communication", "url": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication", "name": "Communication", "title": "Communication", "status": "draft", "description": "Communication resource is used to achieve the bi-directional communication between two systems. The Communication resource can be used to ask questions regarding a referral, request a referral be updated with missing information, or request additional information not covered by the specific referral dataset.", "fhirVersion": "4.0.1", "kind": "resource", "abstract": false, "type": "Communication", "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Communication", "derivation": "constraint", "differential": { "element": [ { "id": "Communication.basedOn", "path": "Communication.basedOn", "min": 1, "max": "1", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" ] } ], "mustSupport": true }, { "id": "Communication.basedOn.reference", "path": "Communication.basedOn.reference", "mustSupport": true }, { "id": "Communication.basedOn.identifier", "path": "Communication.basedOn.identifier", "mustSupport": true }, { "id": "Communication.basedOn.identifier.use", "path": "Communication.basedOn.identifier.use", "min": 1, "mustSupport": true }, { "id": "Communication.basedOn.identifier.system", "path": "Communication.basedOn.identifier.system", "min": 1, "mustSupport": true }, { "id": "Communication.basedOn.identifier.value", "path": "Communication.basedOn.identifier.value", "min": 1, "mustSupport": true }, { "id": "Communication.inResponseTo", "path": "Communication.inResponseTo", "mustSupport": true }, { "id": "Communication.status", "path": "Communication.status", "fixedCode": "completed", "mustSupport": true, "binding": { "strength": "required", "valueSet": "http://hl7.org/fhir/ValueSet/event-status" } }, { "id": "Communication.category", "path": "Communication.category", "mustSupport": true, "binding": { "strength": "example", "valueSet": "http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/communication-category" } }, { "id": "Communication.subject", "path": "Communication.subject", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Patient" ] } ], "mustSupport": true }, { "id": "Communication.subject.reference", "path": "Communication.subject.reference", "mustSupport": true }, { "id": "Communication.subject.identifier", "path": "Communication.subject.identifier", "mustSupport": true }, { "id": "Communication.subject.identifier.system", "path": "Communication.subject.identifier.system", "min": 1, "mustSupport": true }, { "id": "Communication.subject.identifier.value", "path": "Communication.subject.identifier.value", "min": 1, "mustSupport": true }, { "id": "Communication.sent", "path": "Communication.sent", "mustSupport": true }, { "id": "Communication.received", "path": "Communication.received", "mustSupport": true }, { "id": "Communication.sender", "path": "Communication.sender", "comment": "When the communication comes from a CAT, then HealthcareService can be used to identify the sender.", "type": [ { "code": "Reference", "targetProfile": [ "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole", "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-HealthcareService" ] } ], "mustSupport": true }, { "id": "Communication.sender.reference", "path": "Communication.sender.reference", "mustSupport": true }, { "id": "Communication.sender.identifier", "path": "Communication.sender.identifier", "mustSupport": true }, { "id": "Communication.sender.identifier.system", "path": "Communication.sender.identifier.system", "min": 1, "mustSupport": true }, { "id": "Communication.sender.identifier.value", "path": "Communication.sender.identifier.value", "min": 1, "mustSupport": true }, { "id": "Communication.payload", "path": "Communication.payload", "mustSupport": true }, { "id": "Communication.payload.content[x]", "path": "Communication.payload.content[x]", "type": [ { "code": "string" }, { "code": "Attachment" } ], "mustSupport": true } ] } }
Terminology bindings
Path | Conformance | ValueSet |
---|---|---|
Communication.status | required | http://hl7.org/fhir/ValueSet/event-status |
Communication.category | example | http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/communication-category |
Constraints
Path | Id | Grade | Details | Expression |
---|---|---|---|---|
Communication; Communication; Communication; Communication; Communication; Communication.meta; Communication.implicitRules; Communication.language; Communication.text; Communication.extension; Communication.extension; Communication.modifierExtension; Communication.modifierExtension; Communication.identifier; Communication.instantiatesCanonical; Communication.instantiatesUri; Communication.basedOn; Communication.basedOn.extension; Communication.basedOn.extension; Communication.basedOn.reference; Communication.basedOn.type; Communication.basedOn.identifier; Communication.basedOn.identifier.extension; Communication.basedOn.identifier.extension; Communication.basedOn.identifier.use; Communication.basedOn.identifier.type; Communication.basedOn.identifier.system; Communication.basedOn.identifier.value; Communication.basedOn.identifier.period; Communication.basedOn.identifier.assigner; Communication.basedOn.display; Communication.partOf; Communication.inResponseTo; Communication.status; Communication.statusReason; Communication.category; Communication.priority; Communication.medium; Communication.subject; Communication.subject.extension; Communication.subject.extension; Communication.subject.reference; Communication.subject.type; Communication.subject.identifier; Communication.subject.identifier.extension; Communication.subject.identifier.extension; Communication.subject.identifier.use; Communication.subject.identifier.type; Communication.subject.identifier.system; Communication.subject.identifier.value; Communication.subject.identifier.period; Communication.subject.identifier.assigner; Communication.subject.display; Communication.topic; Communication.about; Communication.encounter; Communication.sent; Communication.received; Communication.recipient; Communication.sender; Communication.sender.extension; Communication.sender.extension; Communication.sender.reference; Communication.sender.type; Communication.sender.identifier; Communication.sender.identifier.extension; Communication.sender.identifier.extension; Communication.sender.identifier.use; Communication.sender.identifier.type; Communication.sender.identifier.system; Communication.sender.identifier.value; Communication.sender.identifier.period; Communication.sender.identifier.assigner; Communication.sender.display; Communication.reasonCode; Communication.reasonReference; Communication.payload; Communication.payload.extension; Communication.payload.extension; Communication.payload.modifierExtension; Communication.payload.modifierExtension; Communication.payload.content[x]; Communication.note | dom-2; dom-3; dom-4; dom-5; dom-6; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ele-1; ext-1; ele-1; ext-1; ele-1; ele-1 | error; error; error; error; warning; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error; error | If the resource is contained in another resource, it SHALL NOT contain nested Resources; 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; If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated; If a resource is contained in another resource, it SHALL NOT have a security label; A resource should have narrative for robust management; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; Must have either extensions or value[x], not both; All FHIR elements must have a @value or children; All FHIR elements must have a @value or children | contained.contained.empty(); 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(); contained.meta.versionId.empty() and contained.meta.lastUpdated.empty(); contained.meta.security.empty(); text.`div`.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); extension.exists() != value.exists(); hasValue() or (children().count() > id.count()); hasValue() or (children().count() > id.count()) |
Usage
Communication resource is used to achieve the bi-directional communication between two systems. The Communication resource can be used to ask questions regarding a referral, request a referral be updated with missing information, or request additional information not covered by the specific referral dataset.
Although the Communication resource has the ability to carry attachments as .payload.content
, it SHALL NOT be used to attach .supportingInfo
to a ServiceRequest. (Use the DocumentReference resource for this purpose.)
Notes
.id
- Used to uniquely identify the resource
- If a persistent identity for the resource is not available to use when constructing a message Bundle for transmission via Direct Messaging, a UUID SHOULD be used in this element (with a corresponding value in
Bundle.entry.fullUrl
)
.identifier
- MAY be populated to share business identifers used to reference this resource in subsequent messages
identifier.system
andidentifier.value
SHALL be mustSupport whenever there is a reference or identifier present
.basedOn
.basedOn
- used to associate the Communication with the ServiceRequest being performed
- SHALL be populated with a reference to the ServiceRequest being performed
- if the Communication is being transmitted via messaging, this element SHALL be populated with either:
- a
.reference
to a resource included in the message as aBundle.entry
, or - an
.identifier
populated with theuse
,system
andvalue
elements populated with the officialServiceRequest.identifier
received from the Source System
- a
inResponseTo
- Where a Communication in MessageHeader.focus is part of a conversation, this element points to a Communication resource containing the question or comment the user is responding to
- In these casses, the
reference
:- SHALL be populated with a reference to the prior Communication
- the referended a resource SHALL be included in the message as a
Bundle.entry
- Including both the Communication in
MessageHeader.focus
and the one it is.inResponseTo
as Bundle entries allows a the system receiving the message to correctly associate with one another on the receiving system - Other Communications further up the chain MAY be omitted on the assumption that any necessary associations between Communications have already been made
- See L3: Communications for more information on responding to communications received.
.status
- SHALL be populated with the value "completed" when it is submitted via Direct Messaging
.category
Used to indicate the category of Communication
Use of values
"gen" when sending general communications
"plan" when sending plan of care on service completion
"rfi" when sending a request for information
.subject
- Used to associate a Communication with the Patient it is about
- SHOULD NOT be populated for general Communications that are about the ServiceRequest, not the Patient
- If populated, it SHALL reference the Patient in
ServiceRequest.subject
(e.g.: where theCommunication.category
is "plan")
.sent
- Populate with the time when the Communication was sent
.received
- Populate with the time when the Communication was received
- SHALL NOT be populated in the Communication in
MessageHeader.focus
on the "add-communication" event
.sender
- Used to identify the person who sent the messaging (e.g.: when rendering a conversation between individuals for display in the receiving system)
- SHALL be populated with a reference to the PractitionerRole of the person sending the communication
- If the Communication is being transmitted via messaging, this element SHALL either:
.reference
a resource included in the message as aBundle.entry
, or- include an
.identifier
previously known to both systems
.payload.content
- The content of the Communication
- Business rules:
- There SHALL NOT be more than one instance of
.payload.contentString
per Communication instance - There MAY be multiple instances of
.payload.contentAttachment
per Communication instance
- There SHALL NOT be more than one instance of
- Expected use:
- When sending JUST a text message, send a single
.payload.contentString
- When sending JUST attachments, send one
.payload.contentAttachment
for each attachment - When sending a text message with attachments, send multiple instances of
.payload
- one with the message (
.payload.contentString
) - one for each attachment (
.payload.contentAttachment
)
- one with the message (
- When sending JUST a text message, send a single
NOTE: Although sending base64 encoded
.payload.contentAttachment.data
is supported, implementers of Direct Messaging SHOULD make binary attachments be made available to retrieve from a server using a.payload.contentAttachment.url
to reduce message sizes