Skip to content
Zorix Systems — software that powers your business

Healthcare software development

Patient portal development

Most practices run patient contact across three or four disconnected surfaces: a website contact form, a third-party booking widget that does not see the real diary, a paper repeat prescription slip in a box by reception, and a separate portal for test results that nobody remembers the password for. Staff spend a meaningful share of the working day reconciling those channels against what EMIS Web, TPP SystmOne or Vision actually holds.

We build patient portals that read and write against the live clinical diary rather than a synchronised copy, apply the same clinical rules to repeat prescriptions and results release that the practice already runs manually, and treat identity verification and proxy access as first-class problems rather than an afterthought bolted on before go-live.

The workflow this replaces

What reception and clinical staff do today, by hand

Before a portal exists, every one of these steps runs through a person, a phone line or a paper form, and every step is an opportunity for a booking to land against the wrong slot type or a request to sit unactioned in an inbox.

  1. Step 01

    Slot type judgement made at the front desk

    A patient calls asking for an appointment and the receptionist has to judge, from a description of symptoms, which session template and slot type the request belongs to — a ten-minute routine slot, a longer chronic disease review, a telephone triage slot or an urgent same-day slot — before checking whether that slot type exists anywhere in the clinician's diary that week.

  2. Step 02

    Repeat prescription slips are read and transcribed

    A handwritten or printed repeat slip is brought in or posted through the door, read by a member of staff who matches the drug name against the patient's repeat template in the clinical system, and queued for the prescriber to authorise. Illegible handwriting, discontinued brands and dose changes are resolved by phoning the patient or guessing.

  3. Step 03

    Results are held until a clinician has reviewed them

    A blood test, scan or biopsy result arrives in the clinical system and sits in an inbox until a GP or consultant has reviewed it and coded a follow-up action. Nothing about the process tells the patient anything has happened; if they ring in advance of that review, staff have to judge on the phone whether it is safe to say the result has simply arrived.

  4. Step 04

    Identity is checked informally over the phone

    Requests for sensitive information — a referral letter, a fit note, a set of results — are typically verified by asking for name, date of birth and address, a standard that would not pass a formal identity assurance framework and that varies from one staff member to the next.

  5. Step 05

    Parents and carers are given ad hoc access

    A parent is given verbal or informal access to a child's record with no review date, and access is rarely revisited as the child grows older, which creates a compliance gap once the young person reaches an age at which they are entitled to control their own record.

  6. Step 06

    Incoming messages are read and routed by a duty clinician

    Where a total triage model operates, every contact request — by phone, online form or walk-in — is read by a duty clinician or care navigator, who decides whether it needs a same-day appointment, a routine booking, self-care advice or signposting elsewhere, all recorded by hand against a target response time.

  7. Step 07

    Group-level reporting is stitched together manually

    A federation or primary care network wanting to know DNA rates, results turnaround times or portal adoption across its member practices has to request an export from each practice's clinical system separately and reconcile the definitions used in each one.

None of this is a technology failure so much as the absence of a system designed for the workflow. The clinical record was built to hold a consultation, not to run a booking, prescribing and triage service around it.

What we build

Modules in a typical build

Live diary booking

Reads real clinician availability and slot type configuration from the connected clinical system through GP Connect appointment management or an IM1 booking interface, so a patient sees only slots the practice has actually opened for online booking, filtered by appointment reason.

Repeat prescription requesting

Matches requested items against the patient's repeat template using dm+d codes, flags items nearing review date or requiring a synchronisation check, and routes each request into a prescriber approval queue with a clear audit trail of who authorised what and when.

Rule-based results release

Applies embargo windows and clinician sign-off rules before any result is visible to the patient, distinguishing between result types that can release automatically after a set period and those, such as certain cancer pathway results, that always require explicit clinician release.

NHS Login identity and access tiers

Maps NHS Login identity verification levels to what the portal will disclose, so basic account functions are available at a lower verification level while results, full record access and proxy management require a higher level, consistent with national guidance.

Proxy access management

Grants and reviews carer and parental access on a schedule tied to the patient's age and any safeguarding flag, automatically prompting a review or transition to patient-controlled consent at the practice's configured age threshold rather than leaving access open indefinitely.

Message triage and total triage intake

Captures structured contact reasons rather than free text where the practice runs a total triage model, presents a prioritised worklist to the duty clinician or care navigator, and records the outcome and response time against the practice's own service standard.

Accessible interface layer

Built and tested against WCAG 2.2 AA, including target size, focus appearance and dragging alternatives, with content authored at a reading level appropriate for a public health service audience and supported in the languages the practice's population requires.

Consent and audit record

Every booking, prescription request, results view and proxy access change is logged against the acting identity, whether that is the patient, a verified proxy or a member of staff, producing the audit trail expected under DCB0129 and DSPT self-assessment.

Integrations

Named systems and interfaces

Primary care clinical systems

EMIS WebTPP SystmOneVisionGP ConnectIM1 pairing

National identity and demographics

NHS LoginPersonal Demographics Service (PDS)Spine

Referral and results pathways

e-Referral ServicePACSLIMS

Coding and terminology

dm+dSNOMED CTFHIR UK Core

Messaging and payments

SMS gatewaysemail delivery providerspayment providers

Which of these are reachable depends on the principal clinical system supplier's current interface offering and on what the practice or federation has switched on. We confirm the exact read and write scope during discovery rather than assuming full access.

Data and compliance

Requirements written into the build

Identity assurance
NHS Login verification level gates functionality; unverified accounts are limited to non-clinical actions such as changing contact preferences.
Special category data
Health data handled as Article 9 special category data under UK GDPR, with a documented lawful basis and data protection impact assessment for the portal.
Clinical safety
DCB0129 hazard log covers results release timing, prescription matching errors and proxy access misconfiguration as named hazards.
Caldicott Principles
Access to a proxy's view of a patient record is scoped to what the proxy relationship justifies, not to the full record by default.
Retention
Message and booking history retained against the practice's records management code of practice retention schedule, not a default application setting.
DSPT alignment
Portal architecture and access logging designed to support the practice's Data Security and Protection Toolkit submission.

Architecture note

How the system is put together

The portal is built as a layer that reads and writes against the clinical system's published interfaces rather than holding a separate copy of the clinical record. Where GP Connect covers the required capability, that is the default route; where it does not, we use IM1 pairing with the practice's principal system supplier, agreed and scoped before build starts because supplier lead times for interface access are often the longest item on the critical path.

Identity and consent are handled in a dedicated authorisation service that maps NHS Login verification levels and proxy relationships to a permission set, so the same booking or results endpoint behaves differently depending on who is asking and at what verification level, rather than embedding that logic in the presentation layer.

Prescription and results workflows run as asynchronous queues rather than synchronous calls into the clinical system, because prescriber approval and clinician sign-off are human steps with no fixed turnaround time. The portal reflects the current state of each request and notifies the patient when it changes, without ever implying a faster process than the practice actually runs.

Accessibility is treated as an architectural constraint: server-rendered pages, a tested component library against WCAG 2.2 AA and content that degrades gracefully without JavaScript, because a meaningful proportion of the patient population uses assistive technology, older devices or low-bandwidth connections.

Timeline

Build phases in weeks

Discovery and interface scoping

Weeks 1–4

Confirm which clinical system capabilities are reachable via GP Connect or IM1, map current results release and prescribing rules, and agree the proxy access policy and age transition thresholds with the practice's clinical safety officer.

Identity and consent design

Weeks 4–7

Design the NHS Login verification mapping, proxy access model and audit logging schema, and produce the initial DCB0129 hazard log entries for review.

Booking and prescribing build

Weeks 6–13

Build the live diary booking flow and the repeat prescription requesting and approval queue against a sandbox or test instance of the connected clinical system.

Results release and triage build

Weeks 12–18

Implement rule-based results release, embargo windows and, where required, structured message triage intake for a total triage model.

Accessibility and usability testing

Weeks 16–20

Test against WCAG 2.2 AA success criteria with assistive technology, and produce the DTAC usability and accessibility evidence pack.

Pilot and go-live

Weeks 19–24

Run a supervised pilot with a single practice or site, review hazard log entries against real use, then extend to the full estate.

Indicative cost

Budget bands, not quotes

Single practice portal
Booking, repeat prescriptions and results release for one site. Indicative band £250,000 to £320,000.
Federation or PCN-wide portal
Shared portal across multiple practices with per-site configuration and group reporting. Indicative band £350,000 to £550,000.
Total triage intake add-on
Structured message triage layered onto an existing portal. Indicative band £80,000 to £150,000.
Managed run
Post-go-live support, interface monitoring and release management. Priced as a monthly retainer against an agreed service level.

Bands assume UK primary care deployment with one principal clinical system per site. Mixed clinical system estates or bespoke IM1 interface work increase scope and are estimated separately.

Where this sits

Related pages

Questions

Frequently asked

Can the portal book directly into EMIS Web and TPP SystmOne diaries?

Yes, where the practice or federation has enabled the relevant GP Connect appointment management capability or an IM1 booking interface. The portal reads live slot types and clinician availability rather than a cached schedule, so double-booking against the clinical system is not possible by design.

How does repeat prescription requesting avoid dispensing errors?

Every request is matched against the patient's current repeat template using dm+d codes rather than free text, so a request for a branded product resolves to the correct clinical concept before it reaches the prescriber's approval queue. Ambiguous matches are flagged for a human decision rather than guessed.

What identity verification does NHS Login provide?

NHS Login issues an identity verification level rather than a single yes or no. Level P9 permits basic account access; higher levels, reached through document checks or an NHS App identity check, are required before the portal will release results or full record access, and we enforce that mapping in the authorisation layer.

How is proxy access for parents and carers handled as a child ages?

Proxy access is time-bounded and reviewed against the patient's age rather than granted indefinitely. Automatic access for a parent typically ends around a child's eleventh or twelfth birthday under practice policy, after which continued access requires the young person's own consent, and the portal enforces the transition date rather than relying on staff to remember it.

Is the portal accessible to WCAG 2.2 AA?

Yes, that is a build requirement rather than an add-on: keyboard operation, focus visibility, target size and dragging alternatives are tested against the 2.2 success criteria before release, and the DTAC usability and accessibility evidence is produced alongside the build rather than retrofitted.

Tell us what your systems are doing wrong.

Send the problem, not a brief. We will tell you whether it is a project we should be involved in.

Talk to us