How one platform becomes your health system: every jurisdiction-specific behaviour — identifier validation, terminology, workflow gating, residency, legal provisions — is read from a versioned, source-cited, signed-off Jurisdiction Profile, not written into the code. A jurisdiction goes live only when its mandatory domains are signed off and unexpired — and a missing value fails safe, never silently borrowing another jurisdiction's answer.
Standing up a jurisdiction is three cooperating surfaces: define the variance (Profile), assemble the capability set (Packs), and configure the org & governance model (Wizard + Builder).
A versioned, governed model of variance across 14 domains. Nearest-wins inheritance resolves sovereign → sub-jurisdiction → org, and a missing or expired value fails safe — never defaulting to another jurisdiction's value.
Jurisdiction Packs bundle the modules a market needs — NHS England Core, NHS Community, US ACO Core, Crown Dependencies, Enterprise Analytics. Catalogue, per-jurisdiction installations map with update badges, and a pack builder.
The 10-step Jurisdiction Wizard captures identity, identifiers, landscape and governance model; the Health System Builder configures the multi-tier hierarchy (national → regional → ICS → PCN → practice → team) with a self-serve onboarding checklist.
Everything that differs between countries lives here as sourced, effective-dated, versioned entries — governed the same way regardless of jurisdiction, per docs/COMMVITA-PRD-jurisdiction-profile.md.
The Profile Register holds entries across 14 domains — each carries an owner, an assurance status (draft → sourced → signed_off → expired), a citation, an effective-from date and a review cadence. Admins add entries; a named signatory signs each one off.
A value resolves along the hierarchy sovereign → sub-jurisdiction → org, and the nearest defined level wins — so UK-wide law can be inherited while England, a Crown Dependency or a single trust override only what they must. The Resolution Tester shows the winning level, version, effective-from and citation as provenance chips.
If no value resolves — or the nearest one has expired — commvita returns an explicit fail-safe reason and the dependent capability declines to run. It never silently defaults to another jurisdiction's answer. This is the load-bearing safety rule (PRD §4.6).
The Deployability Board tracks domains-present / 14, a by-status breakdown, and a per-mandatory-domain sign-off ✓/✗, resolving to a hard DEPLOYABLE / NOT DEPLOYABLE verdict plus overdue-review flags. A jurisdiction is not live until every mandatory domain is signed_off and unexpired (PRD §10).
With variance defined, you choose what runs (Jurisdiction Packs) and configure how the organisation is shaped and governed (the 10-step Wizard).
The Pack Registry catalogues capability bundles — NHS England Core, NHS Community, US ACO Core, Crown Dependencies, Enterprise Analytics. The installations view maps which packs each jurisdiction runs and flags updates available. A pack builder assembles bespoke sets for a new market.
Identity → Modules → Identifiers → Landscape (org hierarchy / payers / provider types / funding) → Governance & Org Model → Term Overrides → Frameworks → Compliance → Currencies (ISO 4217) → Review. Each step writes to the jurisdiction config via api.jurisdictionWizard.
The Governance & Org Model step sets a model_type — commissioning_hierarchy · multi_payer · insurance_based · universal_coverage — with pre-built templates for NHS England, US ACO, HSE Ireland, a Crown Dependency HCS and Saudi MOH. A US multi-payer model disables the commissioning hierarchy view and enables a payer panel.
The Health System Builder configures the multi-tier hierarchy (national / regional / ICS / PCN / practice / team) and drives a self-serve onboarding checklist plus a certified-partner ecosystem — while RBAC maps 18 roles × 16 domains onto that structure, and the JurisdictionFlag component flies each region's correct national/regional flag.
Once the profile and pack are in place, jurisdiction-specific behaviour is looked up, not branched. The Identifier Validator is the clearest example: the same code validates any scheme by reading the profile — and an unknown scheme fails safe.
NHS Number is checked with the Modulus-11 algorithm; a Crown Dependency JH-###### and Scotland CHI by their own formats; the US uses MBI + MRN. The validator reads the format from the jurisdiction's identifier domain — an unknown scheme fails safe rather than passing a value it can't verify (PRD J-06).
England · Crown Dependencies (Guernsey · Isle of Man) · Ireland (HSE) · Jamaica (MOHW) · Kenya · Scotland · Wales · Oman · Saudi Arabia (MOH) · Gibraltar (GHA) · commvita Care ACO (US, CMS MSSP) — each a configured profile + pack, not a code fork. Standards follow the jurisdiction: UK GDPR, Saudi PDPL, and so on.
| Capability | Module | Route | Model / API | Status |
|---|---|---|---|---|
| Declarative jurisdiction variance (14 domains) | Jurisdiction Profile | /jurisdiction-profile | entries · signoff · resolve · summary · validate-identifier | ● Live — /jurisdiction-profile/ |
| Nearest-wins resolution & provenance | Jurisdiction Profile · Resolution Tester | /jurisdiction-profile | sovereign → sub-jurisdiction → org · fail-safe reason | ● Live (SEEDED fallback badge) |
| Deployability gate (signed-off / unexpired) | Jurisdiction Profile · Deployability Board | /jurisdiction-profile | domains-present/14 · per-mandatory sign-off · DEPLOYABLE verdict | ● Live |
| Identifier validation (mod-11 · JH · CHI · MBI) | Jurisdiction Profile · Identifier Validator | /jurisdiction-profile | validate-identifier · unknown scheme fails safe (J-06) | ● Live |
| Jurisdiction Packs (capability bundles) | Pack Registry | /pack-registry · /jurisdictions/:code/packs | catalogue · installations map · pack builder | ● Live — /packs/ |
| 10-step configuration (identity → currencies → review) | Jurisdiction Wizard | api.jurisdictionWizard | list · get · create · update · setActive · featureLocks | ● Live |
| Governance & org model (model_type + templates) | Jurisdiction Wizard · Step 5 | api.jurisdictionWizard | commissioning_hierarchy / multi_payer / insurance_based / universal_coverage | ● Live |
| Multi-tier hierarchy & self-serve onboarding | Health System Builder | /health-system-builder | national → regional → ICS → PCN → practice → team · onboarding checklist | ◍ Demonstrated |
| Role & domain access model | RBAC · RBAC Matrix | /rbac | 18 roles × 16 domains · /rbac/matrix | ● Live |
| National / regional flags | JurisdictionFlag component | JurisdictionFlag.tsx | inline SVG per code | ◍ Demonstrated |
| Jurisdiction dashboards (Ireland · Jamaica · Oman …) | Ministerial / national overviews | /ireland-minister · /jamaica-health | seeded national datasets | ◍ Demonstrated |