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 Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() |
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 (no extensions allowed) | |
![]() ![]() ![]() ![]() |
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, Closed by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() |
Reference(Resource) | |||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |
![]() ![]() |
0..1 | When scheduled Slice: Unordered, Closed by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | ||
![]() ![]() ![]() |
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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | CommunicationRequest | Orchestrator<->sidecar / orchestrator<->web contract | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() |
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..* | Identifier | inbound-sender-phone and/or whatsapp-bsuid (reverse CR dedup) | |
![]() ![]() |
1..1 | code | active | completed | revoked | entered-in-error | |
![]() ![]() |
0..1 | CodeableConcept | identity-resolution-required (reverse CR) | reminder (reminder CR) | |
![]() ![]() |
1..* | CodeableConcept | whatsapp | web (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 (no extensions allowed) | |
![]() ![]() ![]() ![]() |
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) | |
![]() ![]() ![]() |
1..1 | string, Attachment, Reference(Resource) | Message part content Slice: Unordered, Open by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | |
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |
![]() ![]() |
0..1 | dateTime, Period | When scheduled Slice: Unordered, Open by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | |
![]() ![]() ![]() |
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.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 Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |||||
![]() ![]() ![]() |
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 (no extensions allowed) | |||||
![]() ![]() ![]() ![]() |
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, Closed by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | ||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |||||
![]() ![]() |
0..1 | When scheduled Slice: Unordered, Closed by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | ||||||
![]() ![]() ![]() |
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 Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() |
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 (no extensions allowed) | |
![]() ![]() ![]() ![]() |
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, Closed by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | ||
![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() |
Reference(Resource) | |||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |
![]() ![]() |
0..1 | When scheduled Slice: Unordered, Closed by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | ||
![]() ![]() ![]() |
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
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | CommunicationRequest | Orchestrator<->sidecar / orchestrator<->web contract | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() |
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..* | Identifier | inbound-sender-phone and/or whatsapp-bsuid (reverse CR dedup) | |
![]() ![]() |
1..1 | code | active | completed | revoked | entered-in-error | |
![]() ![]() |
0..1 | CodeableConcept | identity-resolution-required (reverse CR) | reminder (reminder CR) | |
![]() ![]() |
1..* | CodeableConcept | whatsapp | web (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 (no extensions allowed) | |
![]() ![]() ![]() ![]() |
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) | |
![]() ![]() ![]() |
1..1 | string, Attachment, Reference(Resource) | Message part content Slice: Unordered, Open by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | |
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |
![]() ![]() |
0..1 | dateTime, Period | When scheduled Slice: Unordered, Open by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | |
![]() ![]() ![]() |
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.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 Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |||||
![]() ![]() ![]() |
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 (no extensions allowed) | |||||
![]() ![]() ![]() ![]() |
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, Closed by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | ||||||
![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() |
0..1 | Reference(Resource) | Message part content | |||||
![]() ![]() |
0..1 | When scheduled Slice: Unordered, Closed by type:$this Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them Other type slices that contain no new information are not shown in this view | ||||||
![]() ![]() ![]() |
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