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/last-used-messaging-channel | Version: 0.1.0 | |||
| Draft as of 2024-01-01 | Computable Name: LastUsedMessagingChannel | |||
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 messaging channel the patient last used to send an inbound (a CommunicationMedium code: whatsapp, rcs, web). Set by the orchestrator's identityResolution handler: stamped at Patient creation (buildPatient) and updated whenever an inbound arrives on a different channel than the recorded value (read-modify-write via updatePatientWithRetry). Read by buildOutboundCR to default a new outbound CommunicationRequest's medium to the patient's last-used channel, with an explicit per-CR mediumCodeOverride seam for future channel-forcing (e.g. email-only). Falls back to the configured default (whatsapp) when absent. Lives under the projo.evoleen.com namespace (orchestrator-owned — the sidecar never reads or writes this extension; it routes by medium on the CR).
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.
Context of Use
This extension may be used on the following element(s)
Patient
Usage info
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from Extension
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Extension | Last Used Messaging Channel | |
![]() ![]() |
0..0 | Extension | ||
![]() ![]() |
1..1 | uri | "https://projo.evoleen.com/fhir/StructureDefinition/last-used-messaging-channel" | |
![]() ![]() |
1..1 | code | Value of extension Binding: Fire Arrow Communication Medium Value Set (required) | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Extension | Last Used Messaging Channel | |
![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||
![]() ![]() |
1..1 | uri | "https://projo.evoleen.com/fhir/StructureDefinition/last-used-messaging-channel" | |
![]() ![]() |
1..1 | code | Value of extension Binding: Fire Arrow Communication Medium Value Set (required) | |
Documentation for this format | ||||
This structure is derived from Extension
Summary
Simple Extension with the type code: The messaging channel the patient last used to send an inbound (a CommunicationMedium code: whatsapp, rcs, web). Set by the orchestrator's identityResolution handler: stamped at Patient creation (buildPatient) and updated whenever an inbound arrives on a different channel than the recorded value (read-modify-write via updatePatientWithRetry). Read by buildOutboundCR to default a new outbound CommunicationRequest's medium to the patient's last-used channel, with an explicit per-CR mediumCodeOverride seam for future channel-forcing (e.g. email-only). Falls back to the configured default (whatsapp) when absent. Lives under the projo.evoleen.com namespace (orchestrator-owned — the sidecar never reads or writes this extension; it routes by medium on the CR).
Differential View
This structure is derived from Extension
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Extension | Last Used Messaging Channel | |
![]() ![]() |
0..0 | Extension | ||
![]() ![]() |
1..1 | uri | "https://projo.evoleen.com/fhir/StructureDefinition/last-used-messaging-channel" | |
![]() ![]() |
1..1 | code | Value of extension Binding: Fire Arrow Communication Medium Value Set (required) | |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Extension | Last Used Messaging Channel | |
![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |
![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||
![]() ![]() |
1..1 | uri | "https://projo.evoleen.com/fhir/StructureDefinition/last-used-messaging-channel" | |
![]() ![]() |
1..1 | code | Value of extension Binding: Fire Arrow Communication Medium Value Set (required) | |
Documentation for this format | ||||
This structure is derived from Extension
Summary
Simple Extension with the type code: The messaging channel the patient last used to send an inbound (a CommunicationMedium code: whatsapp, rcs, web). Set by the orchestrator's identityResolution handler: stamped at Patient creation (buildPatient) and updated whenever an inbound arrives on a different channel than the recorded value (read-modify-write via updatePatientWithRetry). Read by buildOutboundCR to default a new outbound CommunicationRequest's medium to the patient's last-used channel, with an explicit per-CR mediumCodeOverride seam for future channel-forcing (e.g. email-only). Falls back to the configured default (whatsapp) when absent. Lives under the projo.evoleen.com namespace (orchestrator-owned — the sidecar never reads or writes this extension; it routes by medium on the CR).
Other representations of profile: CSV, Excel, Schematron
| Path | Status | Usage | ValueSet | Version | Source |
| Extension.value[x] | Base | required | Fire Arrow Communication Medium Value Set | 📦0.1.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| 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()
|