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

Billing and Revenue

Billing and revenue

Atrius publishes prices and provenance as FHIR so a claim, an invoice, and an ABDM export can all name the same rate version, contract generation, and entitlement basis. Practitioner compensation is not a FHIR resource. Contracts, payout rules, accruals, TDS, and period-close statements live in Postgres and are finance-gated. This page is the IG contract for the published side.

Canonical design: .cursor/plans/charge_master_pricing_design_ba6fa031.plan.md in this repo. HIS stamps the StructureDefinition URLs in atrius-his his-domain/src/profiles.rs.

What FHIR holds

Concern Resource Notes
Accommodation class Location.type coding in AtriusBedCategory Ward, room, and bed. Rank is a CodeSystem property, not an extension.
Rate row AtriusInChargeItemDefinition effectivePeriod is the version window. Dimensions: bed category, visit class, practitioner tier, optional practitioner override, payer org.
Payer contract AtriusInPayerContract Header plus repeating AtriusInDiscountRule. Entitled bed category, room-rent cap, AtriusInRoomRentPolicy.
Posted line AtriusInChargeItem Rate version, contract version, winning discount-rule seq, pricing explanation, tariff source, liability, claimable amount.
Entitlement on the line AtriusInRoomRentDeduction Nested: policy, occupied vs entitled class, actual/payer/patient amounts.
Billed split atrius-in-professional-amount / atrius-in-facility-amount Snapshot of the charged professional and facility components. A later payout run reads this; it must not re-read a republished tariff. This is not a doctor’s pay instruction.
Package definition ChargeItemDefinition, item type package Inclusion rules, cap buckets, and AtriusInPackageFeeSplit (surgeon / anaesthetist / assistant shares of the package professional component).
Package case AtriusInPackageCase Account header. Allocation ledger is Postgres.
Package on the line package-included, package-rule-seq, package-disposition, package-exception Exception nested urls match HIS (status, kind, reason, decision, decidedBy, decidedAt).
GST / HSN Existing gst-billing extensions Unchanged by charge-master.

Tenant dimension lists are the same CodeSystems HIS republishes:

  • https://atrius.in/fhir/CodeSystem/atrius-bed-category
  • https://atrius.in/fhir/CodeSystem/atrius-service-group
  • https://atrius.in/fhir/CodeSystem/atrius-practitioner-tier

Starter concepts match the sample masters (generalnicu, consultant / senior-consultant, lab / surgery, …). A tenant adding deluxe-plus republishes the CodeSystem; the IG id does not change.

Practitioner privileging (who may operate, consult, admit) stays on AtriusPrivilegeCS / PractitionerRole.code. That is credentialing, not pay.

What FHIR does not hold

Do not add StructureDefinitions for:

  • Practitioner contract headers (engagement type, retainer, minimum guarantee, pay-on, hold)
  • Payout rule lines (share of professional component, slabs, payer-org specificity)
  • Payout accruals, period-close statements, or TDS 194J
  • Consultant-share PaymentNotice as a substitute for the Postgres ledger

Those surfaces are HIS + BFF finance:read / finance:write only. The roadmap index rev-consultant-payout points at the charge-master design for that engine; this IG documents the clinical/billing snapshot it reads (performer, tier, professional amount, package fee split).

Examples

Instance Shows
ICU bed-day ChargeItemDefinition Bed category + visit class on a rate row
Payer Contract Entitlement, room-rent policy, one discount-matrix row
ICU bed-day ChargeItem Rate version, room-rent nested deduction, billed split
Surgical package CID Inclusion cap, bucket, fee split summing to 100%
Package case Case header with package code and contract ref
Bed Location Location.type bed-category coding

GST cash desk, Invoice, Claim, and Account (IPD running balance) are unchanged: Invoice, Claim, Account.