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.systemandidentifier.valueSHALL 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
.referenceto a resource included in the message as aBundle.entry, or - an
.identifierpopulated with theuse,systemandvalueelements populated with the officialServiceRequest.identifierreceived 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.focusand the one it is.inResponseToas 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.categoryis "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.focuson 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:
.referencea resource included in the message as aBundle.entry, or- include an
.identifierpreviously known to both systems
.payload.content
- The content of the Communication
- Business rules:
- There SHALL NOT be more than one instance of
.payload.contentStringper Communication instance - There MAY be multiple instances of
.payload.contentAttachmentper 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.contentAttachmentfor 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.datais supported, implementers of Direct Messaging SHOULD make binary attachments be made available to retrieve from a server using a.payload.contentAttachment.urlto reduce message sizes