Components
The future system is divided into nineteen domain contexts, each owning one area of the work, and a set of platform services they all use. Contexts talk to each other only through published contracts. A product fills a part of one context. It never joins several contexts together behind the scenes. This page describes the parts a product could fill, which context each serves, what any product would have to do to fill it, and who offers products for it.
This page describes the market. It does not assess, rank or recommend any product or supplier. Products are listed alphabetically, inclusion is not an endorsement, and leaving a product out is not a judgement. Any choice of product is made through the ministry’s procurement process.
How the parts fit
- Where work happens Five case contexts, one per program family with workflow moving the work and correspondence sending notices and taking in documents
- Money and challenges Payments & Benefit Issuance the one controlled path money leaves by Financial Components the benefit ledger Overpayment & Recovery money owed back Appeals & Reconsideration challenging a decision
- What the work relies on Rules engine decides eligibility and entitlement Client identity resolution keeps one index of clients Consent & Disclosure keeps client consent in one place Evidence store holds every fact, in Evidence & Verification
- What carries it all Event backbone carries events between contexts, checked against registered schemas
Facts enter as evidence and are held by Evidence & Verification. The decision service passes the rules engine a snapshot of them, and the engine turns it into a determination. The case contexts act on it, Financial Components and Payments & Benefit Issuance pay it, and correspondence tells the client. Events carry each step between contexts. No context reaches into another context’s data.
This is not the whole map. The Domains page shows all nineteen contexts, including those no product category here fills.
What every part must do
Whatever fills a part, these requirements apply.
- Protected data is kept in Canada, and the most sensitive data is stored on-premise. NFR-C-004
- A product sits inside one context, behind that context’s published contract, and exchanges only evidence and decisions with other contexts. NFR-I-002
- If a product is a cloud service at the core of the solution, the ministry keeps an on-premise copy of its records: the context’s events, its decision records and its rules, kept current while the service runs. Mission-critical services, monthly payments first, can then carry on if the supplier cuts off access. NFR-A-009
- Access rights are generated from information-sharing agreements, never granted by hand. FR-085NFR-SEC-003
- Staff sign in through the provincial single sign-on service. NFR-SEC-001
- The ministry’s records stay in formats it owns and can move, and open standards are preferred. NFR-I-005NFR-I-006
- Every action is audit logged, and records are kept and destroyed on schedule. NFR-C-002NFR-C-003
- Screens and documents meet accessibility standards. NFR-U-002
Case work, one context per program family
Five case contexts, each with its own case model
What it is for
The software caseworkers use every day. There are five case contexts, one for each program family: employment assistance, persons with disabilities, child care subsidy, employment services and child protection. Each keeps its own case record and its own lifecycle, from taking an application to scheduling reviews.
How it fits the whole
The five share ways of working, not a case model. Each records evidence through Evidence & Verification, asks Eligibility & Entitlement for decisions, raises work in Work Management and instructs payments through Financial Components. None of them holds payments, overpayments or reconsideration. Those are contexts of their own, described below. A case management product fills one case context. The same product can be used for more than one, but each use keeps its own data. Parameter N11 sets the rule for the rest: buy, adopt or reuse common tools, and build only where no ready-made product meets a legal, policy or programme need.
What any product must do
- Takes applications in stages and keeps a complete case record, so work can carry on when a case changes hands. FR-025FR-032
- Schedules reviews, recertifications and follow-up of missed appointments. FR-024
- Five case contexts share protocols, not a case model. NFR-I-008
- Does not make workers’ tasks slower than they are today. NFR-U-001
Who offers products
Commercial products
- Appian Platform Appian Low-code platform for building case and process applications. Cloud service or self-hosted
- Cúram Merative Social program management software for benefits, eligibility and case management. Self-hosted or hybrid
- Dynamics 365 Customer Service Microsoft Case management on the Dataverse platform. Cloud service; a separate on-premises edition exists
- Pega Government Platform Pegasystems Case management and workflow for government services. Cloud service or self-hosted
- Public Sector Solutions Salesforce Case, benefits and licensing applications on the Salesforce platform. Cloud service
- Public Sector Digital Services ServiceNow Service requests and case workflows on the ServiceNow platform. Cloud service or customer-operated
Open-source projects
- ArkCase Community Edition ArkCase Case management platform with document handling. Self-hosted
- OSCaR Children in Families Case management and record keeping for family-care services. Cloud service or self-hosted
Payments & Benefit Issuance
The one controlled path money leaves by
What it is for
Issues every payment through one controlled path: issuance runs, direct deposit, cheque and electronic transfer, stop payment, reissue, returned items and the month-end cutoff. It reconciles with the corporate financial system.
How it fits the whole
It takes payment instructions from Financial Components and turns them into disbursements. It decides no entitlement. An entitlement decided twice must not be paid twice, and that guarantee lives here, once, rather than in five case contexts.
Who offers products
The project’s market research did not look at products for this part.
Financial Components
The benefit ledger
What it is for
Keeps the benefit ledger: accounts, accruals, payment schedules and double-entry postings. It creates, cancels and replaces payment instructions. It also holds money paid out now that may have to be repaid, such as interim assistance while a decision is being challenged.
How it fits the whole
It turns financial decisions into the postings that Payments & Benefit Issuance carries out. It is kept apart from issuance because a ledger and a payment run fail in different ways and are audited in different ways. It decides no entitlement.
What any product must do
- Keeps a benefit ledger that reconciles three ways. FR-045
- Holds money paid out now that may have to be repaid, until the awaited decision settles it. FR-041
- Applies deductions and set-off, and protects the minimum a client must keep. FR-048
- Separates working out, approving and releasing a payment, in code. FR-046
Who offers products
The project’s market research did not look at products for this part.
Overpayment & Recovery
Money owed back
What it is for
Raises overpayments, tells the client, and manages repayment agreements, deductions, set-off, write-off and referral to collections.
How it fits the whole
An overpayment always comes from recalculating a past period, and it always carries a classification. The rule that classifies it reads the evidence operation behind the recalculation. A supersession reported late gives a recoverable overpayment. A correction is classified by whose error it was. That rule is a versioned policy artefact, not code inside a case context.
Who offers products
The project’s market research did not look at products for this part.
Appeals & Reconsideration
Challenging a decision
What it is for
Records every reconsideration request, runs the legal time limits, builds the record for reconsideration and appeal, and deals with the tribunal as an outside party.
How it fits the whole
It is built once, not once per program. Whether reconsideration is available is decided by the independent reconsideration unit and recorded as evidence, which this context reads but never writes. A decision put right on appeal becomes a new decision, never a manual adjustment. Interim assistance is instructed from here and held in Financial Components.
What any product must do
- Accepts and records every reconsideration request. FR-055
- Reads, and never makes, the decision on whether reconsideration is available. FR-056
- Builds the record for reconsideration and appeal from the decision record. FR-058
- Treats the tribunal as an outside party, and puts decisions right without manual steps. FR-059FR-060
Who offers products
The project’s market research did not look at products for this part.
Consent & Disclosure
Consent, disclosure and requests for correction
What it is for
The one place client consent is kept: what was consented to, for how long, and when it was withdrawn. It records every disclosure, and a person’s request to correct their information, with its time limit.
How it fits the whole
Other contexts check consent here rather than keeping their own. The correction itself is made by the context that owns the fact. Agreements between organisations are a different thing: they sit in the agreement registry in Secure Data Exchange.
Who offers products
The project’s market research did not look at products for this part.
Rules engine and decision authoring
Works out eligibility and entitlement
What it is for
Works out eligibility and entitlement from the facts, using the rules in force on the relevant dates. It also lets policy staff write, test and release those rules.
How it fits the whole
It sits inside Eligibility & Entitlement. The decision service around it gathers the facts first and passes the engine a snapshot of them. The engine reads nothing else while it runs, and returns determinations with their reasons. The case contexts and workflow ask for decisions, and hold no eligibility rules of their own. Architecture decision D3 covers whether to build or buy the authoring and release tooling.
What any product must do
- Policy staff write rules as versioned artefacts with effective dates. FR-090
- Runs inside the decision service, against a snapshot of the facts passed to it, and reads nothing else while it runs. FR-001
- Each rule carries the policy it comes from and the date that policy took effect. FR-090
- Works out effective dates by rule, for each part of a benefit. FR-005
- Runs several generations of rules side by side. FR-010
- Gives reasons that name the rule applied and the fact behind it. FR-002
- Replays any past decision from stored records. FR-008
- Blocks a release when rules have conflicting dates. FR-091
- Keeps each rule in one authoritative place. NFR-M-005
Who offers products
Commercial products
- GoRules BRMS GoRules Rules authoring, testing and release management. Cloud service or self-hosted
- Operational Decision Manager IBM Business rules management and decision services. Self-hosted or cloud
- InRule Decision Platform InRule Technology Decision authoring and execution. Cloud service or self-hosted
- Intelligent Advisor Oracle Policy modelling and determinations, with rules written in Word and Excel. Cloud service; a self-managed edition exists
Open-source projects
- Drools Apache Software Foundation Rules engine with DMN decision tables, part of Apache KIE. Self-hosted
- ZEN Engine GoRules Embeddable decision engine that runs JSON decision models. Self-hosted
- Catala Inria Programming language for turning legislation into code, developed as a research project. Self-hosted
- OpenFisca Core OpenFisca Rules-as-code engine for tax and benefit legislation. Self-hosted
Workflow and durable execution
Moves work between people and systems
What it is for
Moves work between people and systems: work items, queues, due dates set by legal time limits, and escalation. It also runs long processes, such as payment runs, that must survive failures and pick up where they stopped.
How it fits the whole
It serves Work Management, one context that all five case contexts use. It moves the work and asks for decisions, but makes no decisions itself. Its due dates come from the register of legal time limits.
What any product must do
- Takes its due dates from one register of legal time limits. FR-061
- Manages work items and queues, with due dates. FR-067
- Supports supervision, escalation and overdue work. FR-068
- Balances caseloads, with a supervisor deciding. FR-069
- Schedules reviews, recertifications and follow-up of missed appointments. FR-024
- Retries safely, and every dependency has a timeout and a fallback. NFR-I-004NFR-A-003
Who offers products
Commercial products
- Camunda 8 Camunda BPMN process orchestration. Cloud service or self-hosted
- Flowable Enterprise Flowable AG Process, case and decision automation (BPMN, CMMN and DMN). Cloud service
- Orkes Conductor Orkes Workflow orchestration built on Conductor. Cloud service or self-hosted
- Temporal Cloud Temporal Technologies Durable execution for long-running processes. Cloud service
Open-source projects
- jBPM Apache Software Foundation Business process management, part of Apache KIE. Self-hosted
- Conductor Conductor OSS Workflow orchestration engine, originally from Netflix. Self-hosted
- Flowable (open source) Flowable AG BPMN, CMMN and DMN engines. Self-hosted
- Operaton Operaton community BPMN and DMN engine, a fork of Camunda 7 Community Edition. Self-hosted
- Temporal Temporal Technologies Durable execution service. Self-hosted
Event store, event backbone and schema registry
Holds the evidence, and carries events between contexts
What it is for
Evidence & Verification keeps every fact as an append-only stream of events, with its three dates. The backbone carries events between contexts, and the schema registry checks each one against its registered schema.
How it fits the whole
The backbone carries events. It is not where facts are kept. Facts are held by Evidence & Verification in its own event store, and other contexts read them through its published interface or keep copies built from its events. Four habits make this an architecture rather than a message bus. Every kind of event has a registered schema and one owning context. Each service saves its change and its event together, in one step. Work that crosses contexts is undone step by step if it fails, rather than locked across systems. And tampering shows, so the streams can serve as the audit trail. Architecture decision D9 sets the direction for the event broker and its support model.
What any product must do
- Keeps each fact as a stream of versions, and works out its current state from them. DR-020
- Records the four states of a fact, and corrections, without overwriting. FR-011FR-012
- Fixes three dates on every fact before the first event. DR-001
- Lets only evidence and determinations cross between contexts. NFR-I-002
- Checks schema compatibility, and tests contracts. NFR-I-003
- Shows if any record has been tampered with. NFR-SEC-009
- Holds decades of data within stated limits on consumer lag. NFR-S-002NFR-P-005
Who offers products
Commercial products
- Axon Server AxonIQ Event store and message routing for event-sourced systems. Self-hosted
- Confluent Platform and Confluent Cloud Confluent Kafka distribution and managed Kafka service. Cloud service or self-hosted
- KurrentDB Kurrent Event store database. Cloud service or self-hosted
- Streams for Apache Kafka Red Hat Supported Kafka on OpenShift and Red Hat Enterprise Linux. Self-hosted
- Redpanda Redpanda Data Kafka-compatible streaming platform. Cloud service or self-hosted
Open-source projects
- Karapace Aiven Schema registry and Kafka REST proxy. Self-hosted
- Apache Kafka Apache Software Foundation Event streaming platform. Self-hosted
- Apicurio Registry Apicurio Schema and API registry with compatibility rules. Self-hosted
- Strimzi Strimzi Operator for running Kafka on Kubernetes and OpenShift. Self-hosted
Client identity resolution
Finds the records that belong to the same person
What it is for
Finds records that refer to the same person, so Participant Identity can join them. Uncertain matches go to a person to decide. Joining two records, or separating two that were wrongly joined, is recorded as an event that every other context follows.
How it fits the whole
It sits inside Participant Identity, which the ministry builds and keeps small: identifiers, enough detail to match on, and proof-of-identity status. Addresses, income and relationships are evidence, held elsewhere. Every other context refers to a client by the participant identifier. Proof of identity comes from the provincial identity services, not from this component. A matching library does the matching; it does not keep a master copy of each person.
Who offers products
Commercial products
- MDM Customer 360 Informatica Master data management for customer and citizen records. Cloud service
- Reltio Multidomain MDM Reltio Master data management. Cloud service
- Semarchy Data Platform Semarchy Master data management with governance workflows. Cloud service or self-hosted
- Senzing SDK Senzing Entity resolution library. Self-hosted
- Tamr Tamr Master data management using machine learning. Cloud service or self-hosted
Open-source projects
- dedupe Dedupe.io Python library for deduplication and record linkage. Self-hosted
- Splink UK Ministry of Justice Probabilistic record linkage library. Self-hosted
- Zingg Zingg Labs Entity resolution using machine learning. Self-hosted
Correspondence, document capture and e-signature
Notices out, documents in, signatures
What it is for
Builds notices from the decision record, delivers them and records proof of service. It also captures documents from every channel and handles signatures and attestations.
How it fits the whole
It serves two contexts, Documents & Capture and Notices & Correspondence. Notices take their content from determinations and the rules that produced them, so a notice always matches its decision. A captured document supports evidence. It is never a decision.
What any product must do
- Builds notices from the decision record, with the required rights wording. FR-062FR-063
- Records delivery, proof of service and deemed receipt. FR-064
- Produces notices in other languages, in plain language and in accessible formats. FR-065
- Captures documents from every channel, classifies them and scans them for malware. FR-071FR-072
- Treats values read by machine as unverified evidence. FR-073
- Handles signatures and attestations, and severs information within sentences. FR-074FR-078
- Hands mail to the provincial print-and-mail service. INT-003
Who offers products
Commercial products
- ABBYY Vantage ABBYY Document capture, classification and data extraction. Cloud service or self-hosted
- Carbone Carbone Document generation from templates. Cloud service or self-hosted
- Docmosis Docmosis Document generation from templates. Cloud service or self-hosted
- Documenso Cloud Documenso Electronic signature. Cloud service
- Docusign eSignature Docusign Electronic signature. Cloud service
- OneSpan Sign OneSpan Electronic signature. Cloud service
- OpenText Communications (Exstream) OpenText Customer communications management for print, email, SMS and web. Cloud service or self-hosted
- Quadient Inspire Quadient Customer communications management. Cloud service
- SmartCOMM Smart Communications Customer communications management. Cloud service
Open-source projects
- Documenso Documenso Electronic signature. Self-hosted
- DocuSeal DocuSeal Electronic signature and document forms. Self-hosted
- Paperless-ngx Paperless-ngx Scanning, indexing and archiving of documents. Self-hosted
Government services
- GC Notify Government of Canada Email and text message notifications for federal services. Government service
- Common Document Generation Service (CDOGS) Province of British Columbia Document generation from templates for BC government teams. Government service
- Common Hosted Email Service (CHES) Province of British Columbia Email delivery for BC government applications. Government service
The requirements are in the requirements specification. The list of products is the set looked at in the project’s market research, not the whole market.