Skip to content
Build guide

How to build a patient portal

What a patient portal needs, how it connects to clinical systems, the privacy and access rules behind it, and an order to build it in.

Overview

What a patient portal does

A patient portal lets patients see their results, book and change appointments, message their care team, request prescriptions and download their record, without phoning the clinic.

The hard parts are not the screens. They are showing results with the right context and timing, letting family members act for a patient under clear rules, and keeping the portal in step with the clinical systems behind it.

Modules

The modules you need

Most teams need all of these in the end. The phased plan below sets the order.

Sign-up and identity

Account creation tied to a verified patient record, with strong login and recovery.

Results and records

Lab results, letters and summaries released by rule, some immediately and some after a clinician has spoken to the patient.

Appointments

Booking, changes and cancellations against the clinic's real calendar, with reminders.

Secure messaging

Messages routed to the right team, with response times and escalation for urgent issues.

Prescriptions and requests

Repeat prescription requests, forms and documents sent to the right queue.

Proxy access

Parents, carers and family members acting for a patient, with limits by age and consent.

Payments

Bills, co-pays and payment plans, where the clinic charges patients.

Record export

The patient downloads or shares their record in a standard format.

Architecture

How the parts fit together

  • 01

    Thin portal over clinical systems

    The EHR stays the source of truth. The portal reads and writes through an integration layer.

  • 02

    Release rules engine

    Which results and documents appear when, configured by clinicians, not coded.

  • 03

    Identity service

    Verified accounts, proxy relationships and their limits, separate from the clinical record.

  • 04

    Message routing

    Queues per team with service levels and escalation.

  • 05

    Notification service

    Email, SMS and push that say something is ready without putting health data in the message.

Data model sketch

  • 01

    Account and patient link

    The portal account, the verified patient it belongs to, and how it was verified.

  • 02

    Proxy relationship

    Who acts for whom, with scope, start and end dates, and consent.

  • 03

    Released item

    Each result or document shown, with the rule that released it and when.

  • 04

    Message thread

    Messages, team, assignee, status and response time.

  • 05

    Appointment and request

    Bookings and requests with their status in the clinical system.

Integrations

Systems it has to talk to

  • 01

    EHR

    Patient record, results, documents and appointments over FHIR or the EHR's API.

  • 02

    Scheduling

    The clinic's calendar, often in a separate system from the EHR.

  • 03

    Identity verification

    ID checks or national e-ID for sign-up and proxy access.

  • 04

    Payments

    A payment provider for bills and co-pays.

  • 05

    Messaging channels

    Email, SMS and push providers, under the right agreements for health data.

Compliance

Rules to design for

Which rules apply depends on your market and product.

  • 01

    Right of access

    Patients have the right to a copy of their record under HIPAA, the GDPR and national laws. A portal is often how clinics meet it.

  • 02

    Proxy and minors

    Rules on what parents, carers and guardians may see change with age and capacity, and vary by country.

  • 03

    Health data protection

    Vendors that hold the data need a BAA in the US and a processing agreement under the GDPR.

  • 04

    Accessibility

    WCAG and accessibility laws apply, and patients are often older or unwell.

Plan

From prototype to production

Build in this order so something real is in users' hands early.

  1. 01

    Clickable prototype

    Results, booking and messages, tried by real patients, including older users and carers.

  2. 02

    First release

    Verified sign-up, results with release rules, and appointment viewing, connected to the EHR.

  3. 03

    Requests and messaging

    Booking changes, prescription requests and secure messages, with team queues.

  4. 04

    Proxy access and payments

    Family and carer access with its rules, bills and payments, and record export.

Cost

What drives the cost

These decide most of the budget. For a number based on your own scope, use the cost tool. OceanLab bills $30-50/hr or per milestone.

  • 01

    EHR integration

    How open the EHR's API is decides much of the cost.

  • 02

    Identity verification

    Remote ID checks or national e-ID, and the support process when they fail.

  • 03

    Proxy rules

    Each type of proxy relationship adds rules and testing.

  • 04

    Languages and accessibility

    Each language and the accessibility testing behind it.

  • 05

    Mobile apps

    Native apps on top of the web portal, and their release process.

Proof

Product builds that match this guide

Telehealth & patient apps·🇮🇱Israel

Tavor - Member Portal for an Israeli Health Fund with Family Proxy Access

Designed and built a clickable member portal for an Israeli health fund: one login for a member and the children and parents they look after, referrals and tofes 17 commitments with an honest status, and test results with plain-language explanations, held results and teen confidentiality built in.

Healthcare
Hospitals & clinics·🇳🇱Netherlands

Baken - Lab Results Portal with Critical Value Calls and Read-Back

Designed and built a clickable lab console for an ISO 15189 accredited laboratory in Zuid-Holland: follow every order and sample from collection to storage, read validated results with flags, EUCAST susceptibility and release state, and phone critical values against a deadline with a logged call chain and a read-back check.

HealthcareEnterprise
Hospitals & clinics·🇦🇺Australia

Lyrebird - Patient Booking and Intake Platform with Clinician-Routed Risk Flags

Designed and built a clickable booking and intake platform for a group of GP, physiotherapy and psychology clinics in regional Victoria and southern NSW: a day calendar by practitioner or room, pre-visit forms reviewed before the visit, and a clinician-only queue that puts every risk answer in front of a clinician against a response target.

HealthcareEnterprise
Health data & interoperability·🇺🇸United States

Sutura - HIPAA-Compliant Patient Data Hub over HL7 and FHIR

Designed and built a clickable patient data hub for a US health system running Epic, Oracle Health, athenahealth and eClinicalWorks: a live monitor for every HL7 v2, FHIR and HIE feed, one matched enterprise patient with a provenance-tagged record, and a duplicates queue where a person decides every uncertain match.

HealthcareEnterprise
Work with us

Two ways to work with OceanLab

Project build

We design and build the system as one project. It starts with a clickable prototype your team tries before any production code is written. Pay per milestone (outcome-based) or hourly at $30-50/hr, depending on role and seniority.

Embedded engineers

Our engineers join your team on a flexible monthly retainer. Part-time is fine and it runs month to month, with hours that overlap the US, UK and Europe, the Middle East, and Australia and Asia. Outcome-based or $30-50/hr.

FAQ

Questions

Should results appear in the portal straight away?

Some can, and some should wait until a clinician has spoken to the patient. We make it a rule clinicians configure, and check it against the access rules where you operate.

How do family members get access?

Through a proxy relationship that is verified, limited in scope and time, and consented to by the patient where they can consent. Every proxy action is logged.

Can the portal work with our existing EHR?

Usually yes, through FHIR or the EHR's own API. We check what it exposes early, because that shapes what the first release can do.

Related

Related guides

START YOUR CONVERSATION

Your Next Mission-Critical
System Starts Here

Speak with a senior engineer about your requirements. No sales process, just a direct technical conversation about what you need to build.

OceanLab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12472, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved OceanLab