commvita
Connected care platform
POPULATION PLATFORM

Annual Planning, OKRs & Strategic Alignment

An annual plan as structured, measurable and tracked — pillar to objective to key result to quarterly milestone to recorded actual, with the status derived rather than typed, and direction applied per measure so half the plan is not scored backwards.

Live vs demonstrated: Live — real, API-backed platform logic (wired end-to-end today) Demonstrated — representative control surface with seeded data / illustrative UI mock-up

1The problem with an annual plan

Most annual plans are documents. They are approved in March, laid out in prose and a table of ambitions, and then live in a folder while the organisation reports performance against a different set of numbers in a different place. By the time anybody compares the two, the year is over.

commvita treats the plan as structured, measurable and tracked: a plan holds sections, each section holds outcomes, and every outcome is a key result with a unit, a direction, a baseline, an annual target and quarterly milestones. The actual is recorded against the milestone, and the status is derived from the two.

One chain: strategic pillar → objective → key result → milestone → measured actualEach link is a stored field, not a mapping somebody keeps in a spreadsheet.Strategic pillarP1–P5Generic,jurisdiction-agnostic. Not anational framework baked in.OKR objectiveokr_objectiveWhat we are trying toachieve. Free text, becausean objective is a sentence.Key resultthe outcomeUnit, direction, baselineand annual target. This isthe measurable part.MilestonequarterlyPeriod, date and target. Thetrajectory, not just thedestination.Actualperiod valueWhat was recorded, when, andagainst which milestone.RAG is DERIVED at the last link — actual against the milestone target, honouring the outcome's direction. A lower-is-better measure is not scored backwards.
Every link is a stored field. The strategic pillar an outcome serves and the objective it rolls up to are columns on the outcome, so the alignment view is a query rather than a mapping somebody maintains by hand and forgets to update.

2Direction, and why it is per outcome

Half the measures a health system cares about get better by going down — waits, delays, readmissions, response times — and half by going up. A single up-is-good rule scores half a plan backwards, and it does so quietly, because a red that should be green still looks like a plausible red.

Direction is per outcome — a single up-is-good rule scores half a plan backwardsCancer 62-day performancehigher_bettertarget 85%actual 87%green — at or above targetAnnual health checks completedhigher_bettertarget 80%actual 77%amber — within 5% of target12-hour A&E waitslower_bettertarget 210actual 190green — at or below targetDelayed dischargeslower_bettertarget 40actual 44amber — within 5% of targetCategory 2 ambulance response (mins)lower_bettertarget 30actual 38red — beyond the 5% toleranceGreen at or beyond target · amber within 5% · red outside it — applied in the correct direction each time.
Direction is a property of the outcome. Green at or beyond target, amber within five per cent, red outside it — applied in whichever direction that particular measure improves.

Derived, not typed. The outcome's current status is computed from the recorded actual against its milestone target. Nobody sets it by hand, so the status on a board paper cannot drift away from the number printed next to it — which is the commonest way a performance report becomes internally inconsistent without anyone editing anything.

3OKRs and strategic alignment

An outcome carries three fields that turn a list of targets into a strategy: the objective it is a key result for, the strategic pillar it serves, and a delivery confidence from nought to a hundred. All three are nullable, so a plan written before they existed is unaffected and nothing had to be back-filled with a guess.

The pillars are deliberately generic — P1 to P5, and the shipped set (Better Outcomes, Better Access, Prevention First, Thriving Workforce, Financial Sustainability) is written in universal healthcare language. Baking one nation's planning framework into the data model would make the module unusable everywhere else and would go stale in the nation it came from the first time the framework was reissued. An organisation names its own pillars; commvita holds the structure.

A worked reference plan that renders in every jurisdictionFive generic pillars, fourteen outcomes with baselines, annual targets and quarterly milestones. Universal healthcare language, no national vocabulary.P1Better Outcomes4 key resultsP2Better Access3 key resultsP3Prevention First2 key resultsP4Thriving Workforce3 key resultsP5FinancialSustainability2 key resultsWhy a reference plan ships at allAn empty planning module demonstrates nothing, and a plan seeded with one nation's targets is unusable everywhere else and quietly wrong in the nation it came fromonce the targets move.The reference plan is explicitly labelled as a reference: it carries the generic pillar structure and the shape of a good key result, and none of its numbers ispresented as anybody's performance.
The shipped reference plan carries the structure and the shape of a good key result. It is labelled as a reference, and none of its numbers is presented as anybody's performance.

4Trajectory beats a year-end verdict

An outcome that ends the year at 74% against an 85% target has failed. The useful question is when that became knowable — and a plan that only records an annual figure cannot answer it. Milestones are held per quarter, actuals are recorded per period, and the trajectory is the object a board actually needs.

Trajectory, and multi-year comparisonA single achieved-or-not figure at year end cannot tell anyone whether to intervene in September.Q1Q2Q3Q462%70%78%85%61%66%69%Milestone target (dashed) vs recorded actualThe gap is the interventionBy Q3 the outcome is nine points behind its owntrajectory with one quarter left.That is a decision in October, not a finding inApril.Multi-year comparison puts the same outcomecode against the prior year's curve.
Nine points behind its own curve with one quarter left is a decision in October. The same outcome code can be put against the prior year's trajectory, so 'is this year better than last' is a comparison rather than an impression.

5Where it lives, and its honest edges

PartWhereStatus
Plans, sections, outcomes, actuals/annual-plans Live
API/annual-plans — 12 endpoints Live
Outcome tracker, OKR trajectory, strategic alignment GET /annual-plans/{id}/outcomes Live
Multi-year trajectory by outcome code GET /annual-plans/trajectory/{org} Live
Plan comparisonGET /annual-plans/compare Live
Jurisdiction-agnostic reference plan (P1–P5, 14 outcomes) seededDemonstrated

Actuals are recorded, not harvested. An outcome carries the data source it should come from and, where one exists, a link to a platform module — but the value itself is entered. commvita does not currently compute a plan actual from the underlying operational record, so an outcome is only as current as the last time somebody recorded a period against it. An outcome with no actual reads as grey, which means not yet recorded and must not be read as on track.

A stored actual may carry a supplied status. The outcome's own status is always the derived one. The individual actual row will accept a status supplied by the caller, so a historical row loaded from another system keeps the rating it was given there — useful for migration, and worth knowing when reading a single row rather than the outcome.

What this is not. A planning and tracking record, not a forecasting engine. It does not predict whether a target will be met, does not model the effect of an intervention, and does not decide priorities. Delivery confidence is a judgement a named person records, not a computed probability.

Models: AnnualPlan · AnnualPlanSection · AnnualPlanOutcome · AnnualPlanActualAPI: /annual-plans (12 endpoints) · Route: /annual-plans · Non-SaMD
© 2026 Commvita Digital Health Solutions Ltd. All rights reserved.