Projo FHIR Documentation
0.1.0 - ci-build Switzerland flag

Projo FHIR Documentation - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

CodeSystem: Projo Identity Resolution Reason (Experimental)

Official URL: https://projo.evoleen.com/fhir/CodeSystem/identity-resolution-reason Version: 0.1.0
Draft as of 2024-01-01 Computable Name: IdentityResolutionReasonCS

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.

Reason codes stamped on a reverse CommunicationRequest (category=identity-resolution-required) explaining why the WhatsApp sidecar could not attach an inbound message to an existing identity. The orchestrator reads this code to decide its response (see 09_identity.md).

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.

This Code system is referenced in the content logical definition of the following value sets:

This case-sensitive code system https://projo.evoleen.com/fhir/CodeSystem/identity-resolution-reason defines the following codes:

CodeDisplayDefinition
no-match No match No existing identity matches the sender's phone number or BSUID. Orchestrator creates a new identity (Patient by default) and applies the triggered plan (onboarding).
multiple-matches Multiple matches More than one identity matches the sender's hints. Orchestrator refuses; marks the reverse CR entered-in-error.
non-conversational-only Non-conversational only Matches exist but none of a conversational type. Orchestrator walks Person.link; if none, creates a new identity.
no-active-cr No active CR Identity matched but no active CommunicationRequest to attach to. Orchestrator reattaches and applies the triggered plan (default/re-engagement); skips if an active CarePlan exists.
unresolved-receiver Unresolved receiver Receiver Organization unknown. Orchestrator idempotently upserts a stub Organization, then creates the identity + applies the triggered plan.