Outbound referral creation, specialist directory lookup, Direct/TEFCA messaging, standing referrals, and closed-loop status tracking.
Data Classification: All entities are org-scoped (partitioned by OrganizationID). See Data Model for ownership rules and IC Reference for isolation constraints.
Read status only; schedule appointments from referral
Read accept/decline
No access
Search only
Read active
RN / MA (Tasha)
30
Process coordinator queue; update status; no create/sign
Update ReportReceivedBool
Read
Search
Read; increment visit count
ReferralCoordinator
40
Full worklist access; update status; chase acknowledgements
Read / Write
Read
Search
Read
Provider (Dr. M)
60
Create outbound; read inbound; sign referral
Read
Read
Read / search
Create / sign
PA / NP (Maria)
60
Draft outbound; co-sign required
Read
Read
Read / search
Draft; co-sign required
OrgAdmin (Sam)
70
Read/write all; override stalled referral alerts
Read / Write
Read
Read / Write / curate
Read / Write
SuperAdmin
100
Full CRUD all entities
Referral signing hard rule: Only providers (level ≥ 60) can sign an outbound referral. PA/NP (level 60) can draft but require a co-signing physician. RN/MA and ReferralCoordinator can update status and chase acknowledgements but cannot create or sign referrals. FrontDesk can schedule appointments from a referral but cannot modify referral data.
Interoperability: All referrals representable as FHIR R4 ServiceRequest; USCDI v3 data elements included.
Audit: Every status transition logged in ReferralStatusHistory; immutable; retained 7 years.
Encryption: Clinical summary encrypted at rest (AES-256); TLS 1.2+ for Direct messaging.
Scalability: Support 200 concurrent referral submissions per organization without degradation.
Directory Freshness: SpecialistDirectory NPI data refreshed from NPPES weekly; stale entries flagged after 90 days.
icApplication Overrides
How the five Referrals AMI schemas turn into a live application: module-specific stack additions (Direct Trust transport, TEFCA participation, NPI registry, payer directories), override component bindings, a versioning worked example, environment cascade, and RBAC enforcement.
Shared generation map. The IC platform code-gen flow, default bindings, environment cascade, RBAC model, and CLI commands are identical across all modules. See the IC Reference for the canonical shared reference. This section covers only Referrals-specific content.
Technology stack P0
The shared platform stack (Cosmos DB, Redis, IC-generated API, Angular 21, SQS+SNS, OpenTelemetry, etc.) is documented in the IC Reference. Module-specific additions:
Layer
Technology
Notes
Direct Trust transport
Kno2 / Updox (HISP)
BUY — Direct Trust messaging for outbound and inbound referral exchange.
TEFCA participation
QHIN sub-participant (Kno2 / eHealth Exchange)
Fallback when specialist has no Direct address. Sub-participant only; not a QHIN.
NPI registry
NPPES NPI registry API
Source of truth for specialist directory; cached per org.
Stalled/overdue referral queue for care coordinators; sortable by urgency, days outstanding, specialist.
(synthetic) response card
n/a
ic-ng21-referral-1-response-card
Accept/decline/modify with appointment slot; renders inbound specialist response from Direct Trust message.
(synthetic) standing referral manager
n/a
ic-ng21-referral-1-standing-referral-manager
Visit count tracking, expiration management, auto-renewal flags for standing referrals.
(synthetic) PA flag
n/a
ic-ng21-referral-1-pa-flag
Routes to Payer Optimization when prior authorization is required for the referred service.
Versioning — worked example P0
All referral artifacts are versioned break.feature.bug.buildtimestamp per IC hard rule #9. The example below traces a feature bump on ReferralStatusHistory.
ReferralStatusHistory 1.0.0.20260301T120000Z — Initial schema with StatusString50 and ChangedDateTimeUTC. Component ic-ng21-referral-1-status-pill binds to referral-status-history@1.0.0.* via the DI manifest.
ReferralStatusHistory 1.1.0.20260515T093000Z — feature bump — Adds a single optional field, ChangedByProviderNameString100, to capture the denormalized display name for the provider who changed the referral status. Per the IC change matrix:
Change
Version impact
Approval needed
Min permission
Add optional field ChangedByProviderNameString100
feature bump (1.0.0 → 1.1.0)
No
Write (60)
Because the change is backward-compatible (optional field addition with no type change to existing fields), the component tag stays ic-ng21-referral-1-status-pill. Existing UI consumers continue to bind referral-status-history@1.x.* and ignore the new field. New UI surfaces that need the provider display name bind referral-status-history@^1.1.0. No new database is required (IC rule #13 only applies to break bumps).
ReferralStatusHistory 2.0.0 — break bump (illustrative) — An illustrative future break bump: StatusString50 splits into StatusCodeString50 + StatusDisplayString100 with multi-language support. Per the IC change matrix this is change field type + add required fields — break bump, EditAMI (90) approval, and per IC rule #13 a new database is provisioned with ETL from the old one. The component tag becomes ic-ng21-referral-2-status-pill; consumers must re-bind. The old database stays live for the configured grace period (default 90 days) for rollback.
Illustrative. The 2.0.0 example is illustrative of the change matrix and IC rule #13; it is not a committed roadmap item.
Referrals environment details
Env
Direct Trust
NPPES
TEFCA
Dev
Kno2 sandbox
NPPES test
Direct Trust test
QA
Kno2 sandbox
NPPES test
Expanded test partner set
UAT
Kno2 staging
NPPES live
TEFCA staging
Prod
Kno2 production
NPPES live
TEFCA production, QHIN sub-participant
Referrals RBAC notes
Referral signing gate. Level ≥ 60 required to finalize outbound referral; level 30 (RN/MA) can draft but not send.
Clinical Documentation — the patient’s global clinical facts (conditions, medications, allergies, lab results, imaging, immunizations, care plans, procedures, vital signs, social history) are maintained in Clinical Doc and consumed by Referrals for USCDI v3 bundle assembly at referral-creation time. Inbound consultation reports are filed back to Clinical Doc as clinical notes.
Eligibility — provides the patient’s active insurance coverage and network affiliation data used by insurance-aware routing (FR-REF-005). PA flags on referrals are routed to Payer Optimization for concurrent processing.
Scheduling — when a referral is accepted and the specialist provides an appointment date, the ReferralResponse.AppointmentDateTimeUTC is linked to the Scheduling module for appointment creation. FrontDesk can schedule from the referral context.
Task Management — stalled referrals (no acknowledgement within threshold), inbound response notifications, and PA-pending alerts create tasks in the provider’s and ReferralCoordinator’s worklists via Task Management.
Patient Portal — surfaces referral status and appointment details to the patient (FR-REF-006). Patient-facing notifications for key status transitions are delivered through the portal and SMS.
Payer Optimization — receives PA flags from referrals when insurance-aware routing detects a prior-authorization requirement (FR-REF-012). PA decisions flow back to update the referral’s PA-pending status.
Data Model — all five referral entities are org-scoped following the operational-is-org-scoped pattern. Clinical facts referenced by USCDI bundles are global following the clinical-facts-are-global pattern.