Projo FHIR Documentation
0.1.0 - ci-build
Projo FHIR Documentation - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://projo.evoleen.com/fhir/StructureDefinition/projo-communication | Version: 0.1.0 | |||
| Draft as of 2024-01-01 | Computable Name: ProjoCommunication | |||
Copyright/Legal: Copyright (c) Projo. Licensed under CC0-1.0 (public domain dedication). FHIR(R) is the registered trademark of HL7 and is used with permission. This IG references WhatsApp(R), a trademark of Meta Platforms, Inc., for descriptive purposes only. |
||||
Per-message audit record + projection state. The sidecar creates a Communication for every inbound and outbound message. Outbound messages start in-progress (no wamid yet) and are finalized to completed when the WhatsApp API returns the wamid. Inbound messages are created as completed immediately (webhook = receipt). Abandoned messages are marked entered-in-error. Each Communication is partOf a CommunicationRequest and carries the wamid as an identifier for idempotency.
Documentation-only artifact. Projo's runtime extensions, code systems, identifier systems and search parameter are TypeScript constants and bootstrap-time resources, NOT deployed StructureDefinitions. This StructureDefinition exists to document the contract; the source of truth is src/functions/src/lib/fhir/types.ts and docs/FHIR_EXTENSIONS.md.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Communication | Per-message audit + projection state | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
Σ | 1..* | Identifier | wamid (wamid identifier system) Slice: Unordered, Open by value:system |
![]() ![]() ![]() |
Σ | 1..1 | Identifier | WhatsApp Message ID |
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: https://firearrow.io/fhir/identifier/wamid |
![]() ![]() ![]() ![]() |
Σ | 1..1 | string | The value that is unique Example General: 123456 |
![]() ![]() |
Σ | 1..1 | Reference(Resource) | CommunicationRequest reference |
![]() ![]() |
?!Σ | 1..1 | code | in-progress | completed | entered-in-error Binding: EventStatus (required): The status of the communication. |
![]() ![]() |
1..1 | CodeableConcept | invitation | question | answer | reminder | abandoned | completion Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |
![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-category |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system |
![]() ![]() |
1..1 | CodeableConcept | whatsapp (communication-medium code system) Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-medium |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system |
![]() ![]() |
0..1 | dateTime | Outbound: WhatsApp API send timestamp | |
![]() ![]() |
0..1 | dateTime | Inbound: webhook receipt timestamp | |
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Opposite side of sender | |
![]() ![]() |
1..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) | Resolved Reference or identifier-only Reference (phone/BSUID) | |
![]() ![]() |
1..* | BackboneElement | Message content | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() |
1..1 | string | Message text | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Communication.identifier:wamid.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Communication.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std. |
| Communication.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std. |
| Communication.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Communication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Communication | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Communication
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Communication | Per-message audit + projection state | |
![]() ![]() |
1..* | Identifier | wamid (wamid identifier system) Slice: Unordered, Open by value:system | |
![]() ![]() ![]() |
1..1 | Identifier | WhatsApp Message ID | |
![]() ![]() ![]() ![]() |
1..1 | uri | The namespace for the identifier value Fixed Value: https://firearrow.io/fhir/identifier/wamid | |
![]() ![]() ![]() ![]() |
1..1 | string | The value that is unique | |
![]() ![]() |
1..1 | Reference(Resource) | CommunicationRequest reference | |
![]() ![]() |
1..1 | code | in-progress | completed | entered-in-error | |
![]() ![]() |
1..1 | CodeableConcept | invitation | question | answer | reminder | abandoned | completion | |
![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-category | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system | |
![]() ![]() |
1..1 | CodeableConcept | whatsapp (communication-medium code system) | |
![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-medium | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system | |
![]() ![]() |
0..1 | dateTime | Outbound: WhatsApp API send timestamp | |
![]() ![]() |
0..1 | dateTime | Inbound: webhook receipt timestamp | |
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Opposite side of sender | |
![]() ![]() |
1..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) | Resolved Reference or identifier-only Reference (phone/BSUID) | |
![]() ![]() |
1..* | BackboneElement | Message content | |
![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() ![]() |
1..1 | string | Message text | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Communication | Per-message audit + projection state | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 1..* | Identifier | wamid (wamid identifier system) Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() |
Σ | 1..1 | Identifier | WhatsApp Message ID | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: https://firearrow.io/fhir/identifier/wamid | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | string | The value that is unique Example General: 123456 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | Request fulfilled by this communication | ||||
![]() ![]() |
Σ | 1..1 | Reference(Resource) | CommunicationRequest reference | ||||
![]() ![]() |
0..* | Reference(Communication) | Reply to | |||||
![]() ![]() |
?!Σ | 1..1 | code | in-progress | completed | entered-in-error Binding: EventStatus (required): The status of the communication. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. | ||||
![]() ![]() |
1..1 | CodeableConcept | invitation | question | answer | reminder | abandoned | completion Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-category | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication. | ||||
![]() ![]() |
1..1 | CodeableConcept | whatsapp (communication-medium code system) Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-medium | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Group) | Focus of message | ||||
![]() ![]() |
0..1 | CodeableConcept | Description of the purpose/content Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication. | |||||
![]() ![]() |
0..* | Reference(Resource) | Resources that pertain to this communication | |||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() |
0..1 | dateTime | Outbound: WhatsApp API send timestamp | |||||
![]() ![]() |
0..1 | dateTime | Inbound: webhook receipt timestamp | |||||
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Opposite side of sender | |||||
![]() ![]() |
1..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) | Resolved Reference or identifier-only Reference (phone/BSUID) | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Indication for message Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication. | ||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why was communication done? | ||||
![]() ![]() |
1..* | BackboneElement | Message content | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() |
1..1 | string | Message text | |||||
![]() ![]() |
0..* | Annotation | Comments made about the communication | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Communication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Communication.identifier:wamid.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Communication.identifier:wamid.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Communication.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std. |
| Communication.statusReason | Base | example | CommunicationNotDoneReason | 📍4.0.1 | FHIR Std. |
| Communication.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std. |
| Communication.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| Communication.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5 |
| Communication.topic | Base | example | CommunicationTopic | 📍4.0.1 | FHIR Std. |
| Communication.reasonCode | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Communication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Communication | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Communication
Summary
Mandatory: 17 elements
Fixed: 3 elements
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Communication | Per-message audit + projection state | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
Σ | 1..* | Identifier | wamid (wamid identifier system) Slice: Unordered, Open by value:system |
![]() ![]() ![]() |
Σ | 1..1 | Identifier | WhatsApp Message ID |
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: https://firearrow.io/fhir/identifier/wamid |
![]() ![]() ![]() ![]() |
Σ | 1..1 | string | The value that is unique Example General: 123456 |
![]() ![]() |
Σ | 1..1 | Reference(Resource) | CommunicationRequest reference |
![]() ![]() |
?!Σ | 1..1 | code | in-progress | completed | entered-in-error Binding: EventStatus (required): The status of the communication. |
![]() ![]() |
1..1 | CodeableConcept | invitation | question | answer | reminder | abandoned | completion Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |
![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-category |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system |
![]() ![]() |
1..1 | CodeableConcept | whatsapp (communication-medium code system) Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |
![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-medium |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system |
![]() ![]() |
0..1 | dateTime | Outbound: WhatsApp API send timestamp | |
![]() ![]() |
0..1 | dateTime | Inbound: webhook receipt timestamp | |
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Opposite side of sender | |
![]() ![]() |
1..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) | Resolved Reference or identifier-only Reference (phone/BSUID) | |
![]() ![]() |
1..* | BackboneElement | Message content | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() |
1..1 | string | Message text | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Communication.identifier:wamid.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Communication.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std. |
| Communication.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std. |
| Communication.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Communication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Communication | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Differential View
This structure is derived from Communication
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Communication | Per-message audit + projection state | |
![]() ![]() |
1..* | Identifier | wamid (wamid identifier system) Slice: Unordered, Open by value:system | |
![]() ![]() ![]() |
1..1 | Identifier | WhatsApp Message ID | |
![]() ![]() ![]() ![]() |
1..1 | uri | The namespace for the identifier value Fixed Value: https://firearrow.io/fhir/identifier/wamid | |
![]() ![]() ![]() ![]() |
1..1 | string | The value that is unique | |
![]() ![]() |
1..1 | Reference(Resource) | CommunicationRequest reference | |
![]() ![]() |
1..1 | code | in-progress | completed | entered-in-error | |
![]() ![]() |
1..1 | CodeableConcept | invitation | question | answer | reminder | abandoned | completion | |
![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-category | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system | |
![]() ![]() |
1..1 | CodeableConcept | whatsapp (communication-medium code system) | |
![]() ![]() ![]() |
1..* | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-medium | |
![]() ![]() ![]() ![]() |
1..1 | code | Symbol in syntax defined by the system | |
![]() ![]() |
0..1 | dateTime | Outbound: WhatsApp API send timestamp | |
![]() ![]() |
0..1 | dateTime | Inbound: webhook receipt timestamp | |
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Opposite side of sender | |
![]() ![]() |
1..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) | Resolved Reference or identifier-only Reference (phone/BSUID) | |
![]() ![]() |
1..* | BackboneElement | Message content | |
![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() ![]() |
1..1 | string | Message text | |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Communication | Per-message audit + projection state | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 1..* | Identifier | wamid (wamid identifier system) Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() |
Σ | 1..1 | Identifier | WhatsApp Message ID | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | The namespace for the identifier value Fixed Value: https://firearrow.io/fhir/identifier/wamid | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | string | The value that is unique Example General: 123456 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | Request fulfilled by this communication | ||||
![]() ![]() |
Σ | 1..1 | Reference(Resource) | CommunicationRequest reference | ||||
![]() ![]() |
0..* | Reference(Communication) | Reply to | |||||
![]() ![]() |
?!Σ | 1..1 | code | in-progress | completed | entered-in-error Binding: EventStatus (required): The status of the communication. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: CommunicationNotDoneReason (example): Codes for the reason why a communication did not happen. | ||||
![]() ![]() |
1..1 | CodeableConcept | invitation | question | answer | reminder | abandoned | completion Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instructions, etc. | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-category | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication. | ||||
![]() ![]() |
1..1 | CodeableConcept | whatsapp (communication-medium code system) Binding: ParticipationMode (example): Codes for communication mediums such as phone, fax, email, in person, etc. | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..* | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Fixed Value: https://firearrow.io/fhir/CodeSystem/communication-medium | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Group) | Focus of message | ||||
![]() ![]() |
0..1 | CodeableConcept | Description of the purpose/content Binding: CommunicationTopic (example): Codes describing the purpose or content of the communication. | |||||
![]() ![]() |
0..* | Reference(Resource) | Resources that pertain to this communication | |||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() |
0..1 | dateTime | Outbound: WhatsApp API send timestamp | |||||
![]() ![]() |
0..1 | dateTime | Inbound: webhook receipt timestamp | |||||
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Opposite side of sender | |||||
![]() ![]() |
1..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) | Resolved Reference or identifier-only Reference (phone/BSUID) | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Indication for message Binding: SNOMEDCTClinicalFindings (example): Codes for describing reasons for the occurrence of a communication. | ||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why was communication done? | ||||
![]() ![]() |
1..* | BackboneElement | Message content | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | string | Message part content Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() |
1..1 | string | Message text | |||||
![]() ![]() |
0..* | Annotation | Comments made about the communication | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Communication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Communication.identifier:wamid.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Communication.identifier:wamid.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Communication.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std. |
| Communication.statusReason | Base | example | CommunicationNotDoneReason | 📍4.0.1 | FHIR Std. |
| Communication.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std. |
| Communication.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| Communication.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5 |
| Communication.topic | Base | example | CommunicationTopic | 📍4.0.1 | FHIR Std. |
| Communication.reasonCode | Base | example | SNOMED CT Clinical Findings | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Communication | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Communication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | Communication | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Communication | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from Communication
Summary
Mandatory: 17 elements
Fixed: 3 elements
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron