Atrius India Core FHIR Implementation Guide
0.1.0 - ci-build
Atrius India Core FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Atrius authors FHIR topic-based Subscriptions as R4 Backport Basic resources (clinical HFS is R4). Canonical URLs use:
https://atrius.in/fhir/SubscriptionTopic/{slug}
These match the HIS seed script (atrius-his/scripts/seed-fhir-subscriptions.py) and HFS topic registry.
| Slug | Focus | Notes |
|---|---|---|
encounter-lifecycle |
Encounter create/update | Broad ADT / bed-board topic (HIS seed) |
encounter-admit |
Encounter → in-progress |
fhirPathCriteria evaluated by HFS; HIS SSE alert (kind=admit) |
encounter-discharge |
Encounter → finished |
fhirPathCriteria evaluated by HFS; HIS SSE alert (kind=discharge) |
encounter-transfer |
Encounter location change | fhirPathCriteria evaluated by HFS; HIS SSE alert (kind=transfer) |
lab-task-lifecycle |
Task create/update | Lab fulfillment (HIS seed) |
lab-result-final |
Observation laboratory/final |
fhirPathCriteria evaluated; HIS seed sub-his-lab-final |
lab-result-critical |
Critical lab Observation | Live: sub-cds-critical-labs → cds-server → Flag |
medication-order-lifecycle |
MedicationRequest create/update | Order status visibility (authored; seed when consumer ready) |
medication-administered |
MedicationAdministration | Authored in IG; not yet seeded — add to seed script when eMAR consumers need it |
appointment-changes |
Appointment create/update | Scheduling changes |
FSH source: input/fsh/subscriptions/.
HFS evaluates resourceTrigger.fhirPathCriteria during topic matching (helios-fhirpath, with %previous / %current). Criteria parse/eval failures are fail-closed (topic does not match). Prefer broad lifecycle topics for dashboards; use refined admit/discharge/transfer/lab-critical topics for alerts.
Still not evaluated: queryCriteria, eventTrigger, and subscription-level FHIRPath filters (Phase-1 JSON field match only).
| Subscription id | Topic | Endpoint |
|---|---|---|
sub-his-encounter |
encounter-lifecycle |
HIS /api/v1/fhir-notifications → SSE generation (bed board) |
sub-his-lab-task |
lab-task-lifecycle |
HIS inbox |
sub-his-admit |
encounter-admit |
HIS → SSE alert (kind=admit); no board double-bump |
sub-his-discharge |
encounter-discharge |
HIS → SSE alert (kind=discharge) |
sub-his-transfer |
encounter-transfer |
HIS → SSE alert (kind=transfer); admin bed-board toast |
sub-his-lab-final |
lab-result-final |
HIS inbox → SSE alert (kind=lab-final) |
sub-cds-critical-labs |
lab-result-critical |
cds-server /internal/cds/fhir-notifications → atrius-critical-labs → Flag |
Channel: rest-hook, payload id-only, backport topic canonical + payload-content extensions.
HIS inbox keys on (subscription_id, event_number). Gaps are detected via eventsSinceSubscriptionStart and recovered best-effort through HFS $events (outbox-backed).
Verify HFS gating (non-critical lab must not Flag): atrius-his/scripts/smoke-hfs-critical-labs-gate.sh.
$process-message (LIS/PACS), not a Subscription substitute