One record from the dispatch to the emergency department door. A control-room board, a crew application built for a phone in the dark, an ePRF that becomes an encounter, a handover clock against the fifteen-minute standard, and a transport office that carries the journey off the island and back.
An ambulance service usually runs on three or four systems that don’t speak: a control-room dispatch product, a separate electronic patient record on the crew’s tablet, a whiteboard in the emergency department for handover, and a transport office running on spreadsheets and a phone. commvita puts all four on one record, so the crew on scene, the GP who prescribed the medicines and the receiving clinician in the department are looking at the same person rather than four versions of them.
One board for the control room. Incidents with a category from C1 to C3, an ordnance survey grid reference, a what3words address and the vehicle assigned. Crews by type, status, location and estimated time of arrival. A webhook takes an incident feed from an existing dispatch system where one is already in place.
A phone-shaped application for use on scene, in the dark, in gloves. It shows the job, takes the status change, computes NEWS2 as the vitals go in and queues what it can’t send until the signal comes back.
Non-emergency journeys, off-island referral travel by air or sea, accommodation, escorts and the money. Reached from the hub, because the same office often books both.
The crew application is the piece most systems get wrong, because it’s designed at a desk. This one opens on a vehicle picker, lands on the job, and puts the four status changes a crew makes in a shift where a thumb can reach them.
On scene, transporting, at hospital, clear. The tap writes to the crew resource and the incident, so the control-room board and the crew’s screen are the same fact instead of two people phoning each other to agree. The vehicle’s location updates on the same seam.
A single call returns the crew, the job, the ePRF in progress and the patient summary as one bundle, so the app makes one request not five on a signal that may not last. There’s a second call that takes an NHS number and returns that person’s record with their previous prehospital contacts attached, which is how a crew finds out that the patient in front of them was seen twice last month.
Drafts are held on the device and pushed when the signal returns. Every push and pull is logged with the vehicle, the patient, which data types moved and whether it succeeded, so a sync that’s still pending is a row somebody can see instead of a record that quietly doesn’t exist.
A prehospital record that ends its life as a PDF emailed to the hospital is a record nobody can query. Here the ePRF carries the observations, the drugs given on scene, the narrative and the handover, it scores NEWS2 from the vitals, and it creates an encounter on the patient’s record.
Look at the two tags on the right of each record. The NEWS2 score is computed from the observations the crew entered, and a score at or above five raises an alert on the hub board and in the deterioration module instead of being re-keyed by whoever receives the patient. “Encounter created” means the prehospital contact is now part of the person’s clinical history, so the next clinician to open that record sees the fall, the morphine and the time it was given without asking the crew for the paperwork.
The handover line at the bottom is the piece that usually goes missing. It names the receiving clinician and the minute the patient was handed over. That’s the timestamp the fifteen-minute standard is measured from.
The national standard says an ambulance handover should complete within fifteen minutes of arrival and that no handover should exceed thirty. The clock exists so that the queue is a number on a wall instead of a corridor everyone has stopped noticing.
Each card is one crew waiting at one department, with the arrival time, the running clock and a button that completes the handover. The three colour bands are the standard, not a local preference. The escalation line names the units that have breached and says who to escalate to, because a dashboard that shows a breach without naming the next action is a dashboard that gets ignored by week three. This surface holds its content in the page and says so on screen; the live queue, today’s log, the trend and the completion action all have endpoints behind them.
That module holds the SBAR record with a priority, the handover type and the named receiver, and an acknowledgement the receiver has to make. Its board round carries the five SAFER letters per patient with a red, amber or green on each, the expected discharge date and the consultant. Its mental-health tab carries the legal status, the observation level, whether a safety plan exists and an alert if a patient is absent without leave. Its community transitions tab tracks the discharge-to-assess pathway with the discharge medicines status, whether transport is booked, whether the GP has been told and whether the social care package is in place. All of it reads content held in the page today, with no API behind it, and the status table below says so plainly.
Non-emergency transport is the least glamorous and least instrumented line in a small health system’s budget. It’s also the one where a patient who travels and is turned away has cost a flight and bought nothing.
The register holds eight requests in the demonstration database, five local and three off-island, with two episodes still running. A request carries the mobility category, the medical need, whether an escort is required and the eligibility decision. An episode carries the destination jurisdiction, the receiving hospital, the treatment, the outbound and return services by name, the fit-to-fly sign-off and the funding decision. Accommodation carries the provider, the nightly rate and whether the receipt has been submitted. Escorts carry the clinical authorisation and who gave it. Claims carry the amount, the currency, whether there was prior approval and who reviewed it.
A request made by a member of staff and a request a patient makes for themselves in the portal both go through one seam. It alerts every member of the configured transport team and sits in each of their actions until one of them allocates it. Where no team is configured, the response says the request reached nobody. It doesn’t fall back to a role or to another jurisdiction’s team.
An episode records a cost and, separately, an outcome. The currency is required and never defaulted, because overseas treatment is often invoiced where it happened. Costs are never summed across currencies. The cost basis has to say whether the figure is quoted, invoiced or paid. An episode nobody has costed is reported by name not counted as zero.
The outcome needs a named assessor, can’t be recorded before the patient is back, and comes from a fixed list in which “treatment not delivered” is its own answer. Not yet assessed stays empty instead of becoming a poor result. The two numbers are never combined into a cost-per-outcome or a value score, because a completed procedure and a cancelled appointment aren’t units of the same thing and a single figure would be quoted in a budget paper as though it had settled the question.
| Capability | Route | Model / API | Status |
|---|---|---|---|
| Incident and dispatch board | /ambulance-hub | API /ambulance/incidents · status transitions · /ambulance/cad/webhook | ● Live |
| Crew and vehicle tracker | /ambulance-hub | API /ambulance/crews · /ambulance/stats | ● Live |
| ePRF with NEWS2 scoring | /ambulance-hub | API /ambulance/eprf · NEWS2 flag · encounter created on the record | ● Live |
| Offline sync log | /ambulance-hub | API /ambulance/sync/push · /pull · /log | ● Live |
| Crew application | /crew-app | API /crew/{vehicle}/bundle · /location · /patient-history/{nhs} | ● Live |
| Patient transport requests and allocation | /patient-transport | API /patient-transport/requests · /team · /allocate | ● Live |
| Off-island travel episodes | /patient-transport | API /patient-transport/episodes · accommodation · escorts | ● Live |
| Cost, outcome and claims | /patient-transport | API /episodes/{id}/cost · /outcome · /claims · /overseas-summary | ● Live |
| ED handover clock | /handover-clock | Page reads seeded content and says so; API /handover-clock/live · today · trend · complete exist | ☉ Demonstrated |
| Safe Handover (SBAR, board round, huddle, MH, D2A) | /safe-handover | Reads content held in the page; no API behind this page today | ☉ Demonstrated |