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-request | Version: 0.1.0 | |||
| Draft as of 2024-01-01 | Computable Name: ProjoCommunicationRequest | |||
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. |
||||
The contract surface between the orchestrator and the sidecar (and between the orchestrator and web-functions). The orchestrator creates an outbound CR when a Task is due; the sidecar picks it up via the cr-events Subscription, sends WhatsApp messages, and marks it completed. Reverse CRs (category=identity-resolution-required) are created by the sidecar when it cannot resolve an inbound sender. Reminder CRs (category=reminder) are created by the orchestrator's sweeper. Web CRs (medium=web) are created by the orchestrator and completed by web-functions.
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..* | CommunicationRequest | Orchestrator<->sidecar / orchestrator<->web contract | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | string | SHA-256 bearer token hash (web channel, ADR 0011) URL: https://projo.evoleen.com/fhir/StructureDefinition/web-answer-token | |
![]() ![]() ![]() |
0..1 | dateTime | Orchestrator-owned reminder schedule URL: https://projo.evoleen.com/fhir/StructureDefinition/next-reminder-timestamp | |
![]() ![]() ![]() |
0..1 | dateTime | Sidecar-owned transport stamp URL: https://projo.evoleen.com/fhir/StructureDefinition/last-inbound-message-timestamp | |
![]() ![]() ![]() |
0..1 | url | Web answer hosting URL URL: https://projo.evoleen.com/fhir/StructureDefinition/web-answer-link | |
![]() ![]() ![]() |
0..1 | string | Reverse CR: sender BSUID URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-sender-bsuid | |
![]() ![]() ![]() |
0..1 | string | Reverse CR: sender profile name URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-sender-profile-name | |
![]() ![]() ![]() |
0..1 | string | Reverse CR: receiving business phone (E.164) URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-business-phone | |
![]() ![]() ![]() |
0..1 | string | Reverse CR: receiving phone number ID URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-business-phone-id | |
![]() ![]() ![]() |
0..1 | dateTime | Reverse CR: original event timestamp URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-message-timestamp | |
![]() ![]() ![]() |
0..1 | code | Reverse CR: reason code URL: https://projo.evoleen.com/fhir/StructureDefinition/identity-resolution-reason Binding: Projo Identity Resolution Reason Value Set (required) | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
Σ | 0..* | Identifier | inbound-sender-phone and/or whatsapp-bsuid (reverse CR dedup) |
![]() ![]() |
?!Σ | 1..1 | code | active | completed | revoked | entered-in-error Binding: RequestStatus (required): The status of the communication request. |
![]() ![]() |
0..1 | CodeableConcept | identity-resolution-required (reverse CR) | reminder (reminder CR) Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc. | |
![]() ![]() |
?!Σ | 0..1 | boolean | True if request is prohibiting action |
![]() ![]() |
1..* | CodeableConcept | whatsapp | web (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 Binding: Fire Arrow Communication Medium Value Set (required) |
![]() ![]() |
0..1 | Reference(Patient | Group) | Same as Task.for (outbound CRs) | |
![]() ![]() |
0..* | Reference(Resource) | Task reference (outbound CR) or sender hints (reverse CR) | |
![]() ![]() |
1..* | BackboneElement | Questionnaire ref (initial), QuestionnaireResponse ref (appended by sidecar), or text (reverse CR) | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | Message part content Slice: Unordered, Open by type:$this | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() |
Reference(Resource) | |||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |
![]() ![]() |
Σ | 0..1 | When scheduled Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() |
Σ | 0..1 | Period | Delivery-anchored response window |
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Patient/Practitioner/RelatedPerson (outbound) or identifier-only Reference (reverse) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| CommunicationRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5 |
| CommunicationRequest.medium.coding.code | Base | required | Fire Arrow Communication Medium Value Set | 📦0.1.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | CommunicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | CommunicationRequest | 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 | CommunicationRequest | 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 | CommunicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | CommunicationRequest | 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 CommunicationRequest
| Path | Status | Usage | ValueSet | Version | Source |
| CommunicationRequest.medium.coding.code | Base | required | Fire Arrow Communication Medium Value Set | 📦0.1.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | CommunicationRequest | Orchestrator<->sidecar / orchestrator<->web contract | |||||
![]() ![]() |
Σ | 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 | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | string | SHA-256 bearer token hash (web channel, ADR 0011) URL: https://projo.evoleen.com/fhir/StructureDefinition/web-answer-token | |||||
![]() ![]() ![]() |
0..1 | dateTime | Orchestrator-owned reminder schedule URL: https://projo.evoleen.com/fhir/StructureDefinition/next-reminder-timestamp | |||||
![]() ![]() ![]() |
0..1 | dateTime | Sidecar-owned transport stamp URL: https://projo.evoleen.com/fhir/StructureDefinition/last-inbound-message-timestamp | |||||
![]() ![]() ![]() |
0..1 | url | Web answer hosting URL URL: https://projo.evoleen.com/fhir/StructureDefinition/web-answer-link | |||||
![]() ![]() ![]() |
0..1 | string | Reverse CR: sender BSUID URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-sender-bsuid | |||||
![]() ![]() ![]() |
0..1 | string | Reverse CR: sender profile name URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-sender-profile-name | |||||
![]() ![]() ![]() |
0..1 | string | Reverse CR: receiving business phone (E.164) URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-business-phone | |||||
![]() ![]() ![]() |
0..1 | string | Reverse CR: receiving phone number ID URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-business-phone-id | |||||
![]() ![]() ![]() |
0..1 | dateTime | Reverse CR: original event timestamp URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-message-timestamp | |||||
![]() ![]() ![]() |
0..1 | code | Reverse CR: reason code URL: https://projo.evoleen.com/fhir/StructureDefinition/identity-resolution-reason Binding: Projo Identity Resolution Reason Value Set (required) | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | inbound-sender-phone and/or whatsapp-bsuid (reverse CR dedup) | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | Fulfills plan or proposal | ||||
![]() ![]() |
Σ | 0..* | Reference(CommunicationRequest) | Request(s) replaced by this request | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Composite request this is part of | ||||
![]() ![]() |
?!Σ | 1..1 | code | active | completed | revoked | entered-in-error Binding: RequestStatus (required): The status of the communication request. | ||||
![]() ![]() |
0..1 | CodeableConcept | Reason for current status Binding Description: (example): Codes identifying the reason for the current state of a request. | |||||
![]() ![]() |
0..1 | CodeableConcept | identity-resolution-required (reverse CR) | reminder (reminder CR) Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc. | |||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication request. | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | True if request is prohibiting action | ||||
![]() ![]() |
1..* | CodeableConcept | whatsapp | web (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 Binding: Fire Arrow Communication Medium Value Set (required) | ||||
![]() ![]() ![]() ![]() |
Σ | 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) | Same as Task.for (outbound CRs) | |||||
![]() ![]() |
0..* | Reference(Resource) | Task reference (outbound CR) or sender hints (reverse CR) | |||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() |
1..* | BackboneElement | Questionnaire ref (initial), QuestionnaireResponse ref (appended by sidecar), or text (reverse CR) | |||||
![]() ![]() ![]() |
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 | Message part content Slice: Unordered, Open by type:$this | ||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |||||
![]() ![]() |
Σ | 0..1 | When scheduled Slice: Unordered, Open by type:$this | |||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Delivery-anchored response window | ||||
![]() ![]() |
Σ | 0..1 | dateTime | When request transitioned to being actionable | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/what is requesting service | ||||
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Patient/Practitioner/RelatedPerson (outbound) or identifier-only Reference (reverse) | |||||
![]() ![]() |
Σ | 0..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) | Message sender | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Why is communication needed? Binding: v3 Code System ActReason (example): Codes for describing reasons for the occurrence of a communication. | ||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why is communication needed? | ||||
![]() ![]() |
0..* | Annotation | Comments made about communication request | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| CommunicationRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.statusReason | Base | example | Not State | Unknown | |
| CommunicationRequest.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5 |
| CommunicationRequest.medium.coding.code | Base | required | Fire Arrow Communication Medium Value Set | 📦0.1.0 | This IG |
| CommunicationRequest.reasonCode | Base | example | v3 Code System ActReason | 📦3.0.0 | THO v6.5 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | CommunicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | CommunicationRequest | 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 | CommunicationRequest | 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 | CommunicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | CommunicationRequest | 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 CommunicationRequest
Summary
Mandatory: 6 elements
Fixed: 1 element
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | CommunicationRequest | Orchestrator<->sidecar / orchestrator<->web contract | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | string | SHA-256 bearer token hash (web channel, ADR 0011) URL: https://projo.evoleen.com/fhir/StructureDefinition/web-answer-token | |
![]() ![]() ![]() |
0..1 | dateTime | Orchestrator-owned reminder schedule URL: https://projo.evoleen.com/fhir/StructureDefinition/next-reminder-timestamp | |
![]() ![]() ![]() |
0..1 | dateTime | Sidecar-owned transport stamp URL: https://projo.evoleen.com/fhir/StructureDefinition/last-inbound-message-timestamp | |
![]() ![]() ![]() |
0..1 | url | Web answer hosting URL URL: https://projo.evoleen.com/fhir/StructureDefinition/web-answer-link | |
![]() ![]() ![]() |
0..1 | string | Reverse CR: sender BSUID URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-sender-bsuid | |
![]() ![]() ![]() |
0..1 | string | Reverse CR: sender profile name URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-sender-profile-name | |
![]() ![]() ![]() |
0..1 | string | Reverse CR: receiving business phone (E.164) URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-business-phone | |
![]() ![]() ![]() |
0..1 | string | Reverse CR: receiving phone number ID URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-business-phone-id | |
![]() ![]() ![]() |
0..1 | dateTime | Reverse CR: original event timestamp URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-message-timestamp | |
![]() ![]() ![]() |
0..1 | code | Reverse CR: reason code URL: https://projo.evoleen.com/fhir/StructureDefinition/identity-resolution-reason Binding: Projo Identity Resolution Reason Value Set (required) | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
Σ | 0..* | Identifier | inbound-sender-phone and/or whatsapp-bsuid (reverse CR dedup) |
![]() ![]() |
?!Σ | 1..1 | code | active | completed | revoked | entered-in-error Binding: RequestStatus (required): The status of the communication request. |
![]() ![]() |
0..1 | CodeableConcept | identity-resolution-required (reverse CR) | reminder (reminder CR) Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc. | |
![]() ![]() |
?!Σ | 0..1 | boolean | True if request is prohibiting action |
![]() ![]() |
1..* | CodeableConcept | whatsapp | web (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 Binding: Fire Arrow Communication Medium Value Set (required) |
![]() ![]() |
0..1 | Reference(Patient | Group) | Same as Task.for (outbound CRs) | |
![]() ![]() |
0..* | Reference(Resource) | Task reference (outbound CR) or sender hints (reverse CR) | |
![]() ![]() |
1..* | BackboneElement | Questionnaire ref (initial), QuestionnaireResponse ref (appended by sidecar), or text (reverse CR) | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | Message part content Slice: Unordered, Open by type:$this | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() |
Reference(Resource) | |||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |
![]() ![]() |
Σ | 0..1 | When scheduled Slice: Unordered, Open by type:$this | |
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() |
Σ | 0..1 | Period | Delivery-anchored response window |
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Patient/Practitioner/RelatedPerson (outbound) or identifier-only Reference (reverse) | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| CommunicationRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5 |
| CommunicationRequest.medium.coding.code | Base | required | Fire Arrow Communication Medium Value Set | 📦0.1.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | CommunicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | CommunicationRequest | 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 | CommunicationRequest | 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 | CommunicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | CommunicationRequest | 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 CommunicationRequest
| Path | Status | Usage | ValueSet | Version | Source |
| CommunicationRequest.medium.coding.code | Base | required | Fire Arrow Communication Medium Value Set | 📦0.1.0 | This IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | CommunicationRequest | Orchestrator<->sidecar / orchestrator<->web contract | |||||
![]() ![]() |
Σ | 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 | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | string | SHA-256 bearer token hash (web channel, ADR 0011) URL: https://projo.evoleen.com/fhir/StructureDefinition/web-answer-token | |||||
![]() ![]() ![]() |
0..1 | dateTime | Orchestrator-owned reminder schedule URL: https://projo.evoleen.com/fhir/StructureDefinition/next-reminder-timestamp | |||||
![]() ![]() ![]() |
0..1 | dateTime | Sidecar-owned transport stamp URL: https://projo.evoleen.com/fhir/StructureDefinition/last-inbound-message-timestamp | |||||
![]() ![]() ![]() |
0..1 | url | Web answer hosting URL URL: https://projo.evoleen.com/fhir/StructureDefinition/web-answer-link | |||||
![]() ![]() ![]() |
0..1 | string | Reverse CR: sender BSUID URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-sender-bsuid | |||||
![]() ![]() ![]() |
0..1 | string | Reverse CR: sender profile name URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-sender-profile-name | |||||
![]() ![]() ![]() |
0..1 | string | Reverse CR: receiving business phone (E.164) URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-business-phone | |||||
![]() ![]() ![]() |
0..1 | string | Reverse CR: receiving phone number ID URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-business-phone-id | |||||
![]() ![]() ![]() |
0..1 | dateTime | Reverse CR: original event timestamp URL: https://projo.evoleen.com/fhir/StructureDefinition/inbound-message-timestamp | |||||
![]() ![]() ![]() |
0..1 | code | Reverse CR: reason code URL: https://projo.evoleen.com/fhir/StructureDefinition/identity-resolution-reason Binding: Projo Identity Resolution Reason Value Set (required) | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | inbound-sender-phone and/or whatsapp-bsuid (reverse CR dedup) | ||||
![]() ![]() |
Σ | 0..* | Reference(Resource) | Fulfills plan or proposal | ||||
![]() ![]() |
Σ | 0..* | Reference(CommunicationRequest) | Request(s) replaced by this request | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Composite request this is part of | ||||
![]() ![]() |
?!Σ | 1..1 | code | active | completed | revoked | entered-in-error Binding: RequestStatus (required): The status of the communication request. | ||||
![]() ![]() |
0..1 | CodeableConcept | Reason for current status Binding Description: (example): Codes identifying the reason for the current state of a request. | |||||
![]() ![]() |
0..1 | CodeableConcept | identity-resolution-required (reverse CR) | reminder (reminder CR) Binding: CommunicationCategory (example): Codes for general categories of communications such as alerts, instruction, etc. | |||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Codes indicating the relative importance of a communication request. | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | True if request is prohibiting action | ||||
![]() ![]() |
1..* | CodeableConcept | whatsapp | web (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 Binding: Fire Arrow Communication Medium Value Set (required) | ||||
![]() ![]() ![]() ![]() |
Σ | 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) | Same as Task.for (outbound CRs) | |||||
![]() ![]() |
0..* | Reference(Resource) | Task reference (outbound CR) or sender hints (reverse CR) | |||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() |
1..* | BackboneElement | Questionnaire ref (initial), QuestionnaireResponse ref (appended by sidecar), or text (reverse CR) | |||||
![]() ![]() ![]() |
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 | Message part content Slice: Unordered, Open by type:$this | ||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |||||
![]() ![]() |
Σ | 0..1 | When scheduled Slice: Unordered, Open by type:$this | |||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Delivery-anchored response window | ||||
![]() ![]() |
Σ | 0..1 | dateTime | When request transitioned to being actionable | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/what is requesting service | ||||
![]() ![]() |
1..* | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Group | CareTeam | HealthcareService) | Patient/Practitioner/RelatedPerson (outbound) or identifier-only Reference (reverse) | |||||
![]() ![]() |
Σ | 0..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | HealthcareService) | Message sender | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Why is communication needed? Binding: v3 Code System ActReason (example): Codes for describing reasons for the occurrence of a communication. | ||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Why is communication needed? | ||||
![]() ![]() |
0..* | Annotation | Comments made about communication request | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| CommunicationRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.statusReason | Base | example | Not State | Unknown | |
| CommunicationRequest.category | Base | example | CommunicationCategory | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| CommunicationRequest.medium | Base | example | ParticipationMode | 📦3.0.0 | THO v6.5 |
| CommunicationRequest.medium.coding.code | Base | required | Fire Arrow Communication Medium Value Set | 📦0.1.0 | This IG |
| CommunicationRequest.reasonCode | Base | example | v3 Code System ActReason | 📦3.0.0 | THO v6.5 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | CommunicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | CommunicationRequest | 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 | CommunicationRequest | 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 | CommunicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | CommunicationRequest | 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 CommunicationRequest
Summary
Mandatory: 6 elements
Fixed: 1 element
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron