One governed report → sign → invoice loop for a chargeable medical — a Motorsport UK race licence medical, a DVLA D4 HGV/bus (Group 2) medical, or a firearms medical-suitability review — where the assessment is recorded, the certificate is signed with a per-ceremony OTP and cited to the right jurisdiction, a draft Private Patient Charges invoice is raised automatically, and every step lands on an immutable, tamper-evident chain.
commvita ships a template set of GP chargeable medicals flagged chargeable — firearms · DVLA D4 HGV · Motorsport UK · taxi · fitness-to-drive · fitness-to-fly · insurance. Three are shown here; all run the same signed, invoiced loop.
The examining doctor captures the Motorsport UK medical requirements (vision, cardiovascular, neurological history) and produces the licence certificate. A chargeable template — a private fee applies.
The examination is captured against DVLA D4 Group 2 medical standards (vision fields, diabetes, cardiac, neurological). The signed D4 certificate is issued and cited to the deployment jurisdiction.
A dedicated mental-health-first review wizard surfaces recorded information, records the clinician's decision on an append-only decision log, and transmits a minimum-necessary proforma to the licensing authority.
A chargeable-medical request can start from three places — but the patient is always bound by stable record id, never re-keyed by name.
The patient taps a "Firearms medical certificate" request card in the portal; POST /portal/firearms-request creates a portal-initiated assessment the practice picks up. Other chargeable medicals are requested the same way.
A "🔫 Firearms review" clinical prompt in PreConsultSummary deep-links the wizard pre-filled with the patient — so the clinician moves straight from the consultation into the review.
Staff pick a chargeable template (Firearms / DVLA D4 HGV / Motorsport UK), add the patient signer via the canonical PatientPicker — bound by record id, shown in red — and set the jurisdiction.
patient:9000000008The assessment is captured against the relevant standard before anything is signed — and for firearms, the review is mental-health-first with mandatory per-domain acknowledgement.
Step 2 of the wizard surfaces recorded information across six domains — mental health · alcohol & substance · trigger conditions · safeguarding · physical · previous concerns — each finding flagged concern / no-concern, with a mandatory acknowledgement per domain. SNOMED trigger-refset bound at build.
For a D4, the Group 2 medical standards (vision, diabetes, cardiac, neurological) are captured; for Motorsport UK, the competition medical requirements. The completed examination underpins the certificate.
For firearms, transmission to the authority is a minimum-necessary proforma (…/transmit-proforma) — an exact field list with a SHA-256 payload hash recorded to the decision log — never general record access.
The clinician records the decision and a mandatory rationale. The firearms decision log is append-only and cannot proceed until every domain is reviewed.
Firearms decisions are one of support · support-with-concerns · decline-to-certify · information-only, each with a mandatory rationale. The step is blocked (409) until every information domain has been reviewed.
The decision log is append-only and GLOBALLY SHA-256 hash-chained (prev_hash → row_hash, global monotonic seq), re-verified server-side on every read — built to evidence how a decision was made.
Where the certificate goes is config-driven: England/Wales/Scotland → police; NI → PSNI; Crown Dependencies → their local designated authority (parish / administrative, not always police); Gibraltar → administrative GP-input.
prev_hash → row_hash · global seq · append-only, re-verified on read.
all domains reviewed
commvita Sign is the platform e-signature service. The signature is bound cryptographically to the document, and the certificate cites the deployment's jurisdiction.
Signing is a per-ceremony OTP plus a signature hash bound to the document hash (client-side SHA-256). Each signer is one of patient / staff / external — here the patient, bound by record id.
The request carries a jurisdiction; the issued certificate cites that jurisdiction's statute / assurance level / regulator / retention — England/Wales/Scotland/NI under UK eIDAS (AdES); Crown Dependencies under their electronic transactions law; and so on.
Completing a chargeable-template signature auto-raises the invoice — the report → sign → invoice loop, wired end-to-end.
_esign_raise_invoice raises a draft Private Patient Charges invoice — BMA PrivateFeeItem fee preferred, template fallback fee otherwise — with VAT applied. The invoice_ref is linked back to the request/certificate.
The invoice is surfaced in the ceremony success state and the Sign registry; invoice_raised is written to the WORM audit. Debtors and finance reporting then run in Private Patient Charges.
prev_hash → row_hash re-verified on read.PrivateFeeItem£120.00invoice_ref INV-2026-0418 linked to the signature request & certificate.Request, review, decision, signature and invoice all land on append-only, tamper-evident logs — nothing can be quietly rewritten.
prev_hash → row_hash), re-verified server-side on every read — a broken link shows a tamper banner. There is no update or delete endpoint. For firearms, the minimum-necessary proforma transmission records an exact field list and a SHA-256 payload hash to the decision log — evidencing exactly what was shared with the authority, and no more.| Step in the loop | Module | Route | Model / API | Standard | Status |
|---|---|---|---|---|---|
| Request — patient portal card | Patient Portal · Firearms | /portal | POST /portal/firearms-request | Firearms Act 1968 + guidance 2021/22 | ◍ Demonstrated |
| Request — consultation prompt | ConsultationWizard · PreConsultSummary | /firearms-certification?patientId=… | deep-link, pre-filled patient | SNOMED CT UK | ◍ Demonstrated |
| Request — created in Sign | commvita Sign · New Request | /esign | SignRequest · SignSigner · PatientPicker | UK eIDAS (AdES) | ● Live |
| Firearms review & decision log | Firearms Certificate Management | /firearms-certification | FirearmsAssessment · FirearmsDecisionLog · /firearms/…/decision | Home Office/NPCC/BMA MoU 2019 | ● Live |
| Minimum-necessary proforma | Firearms Certificate Management | /firearms-certification | POST /firearms/…/transmit-proforma · SHA-256 payload hash | Firearms Act 1968 · SNOMED CT UK | ● Live |
| Sign — OTP ceremony & certificate | commvita Sign | /esign | /esign/send-otp · sign · certificate · jurisdiction | UK eIDAS (AdES) · Crown Dependency electronic transactions law | ● Live |
| Auto-invoice (report → sign → invoice) | Private Patient Charges | /private-charges | _esign_raise_invoice · /private · invoice_ref · VAT | BMA fee guidance · DVLA D4 · Motorsport UK | ● Live |
| Immutable evidence (Sign chain + decision log) | commvita Sign · Firearms | /esign · /firearms-certification | SignAuditEvent · WORM · prev_hash → row_hash | WORM · UK GDPR Art.5(1)(f) | ● Live |
| Registry surfacing (invoice / cert chips) | commvita Sign · Registry | /esign | registry chips · ceremony success | UK eIDAS (AdES) | ◍ Demonstrated |