Duality Healthcare -- Patient Portal Proposal | Blackbird
Confidential Proposal

Duality Healthcare

Patient Portal proposal -- prepared by Blackbird. Enter the access code provided in your email.

Proposal for Duality Healthcare Prepared by Blackbird art@blackbird.marketing
Proposal -- DUA-PP-2026-01

Patient Portal
for Duality Healthcare

A member-facing portal that fits naturally alongside Hero Health, EMIS, Stripe, SignatureRX and Firetext -- the systems Duality already use day-to-day. Built fast, branded to Duality, designed to grow with you.

Prepared for Duality Healthcare
Prepared by Blackbird
Date 5 May 2026
Validity 30 days
SCROLL ↓
Overview

A single web portal that pulls Duality’s tools into one coherent member experience.

portal.dualityhealthcare.com lets a member -- or an account holder acting for a dependant -- sign in, book and manage appointments against Hero Health, see their EMIS-held documents and results via Hero’s DOB-protected links, and sign up to one of Duality’s four memberships through Stripe.

The portal does not replace Hero Health, EMIS, SignatureRX or Firetext -- those systems continue to do what they do today. The portal is the patient-facing surface that draws them together, and gives Duality a place to add new member features over time.

Our approach

  • Hero Health stays the source of truth for clinical and booking data; Stripe for billing; SignatureRX for prescriptions; Firetext for SMS. The portal stores only portal-specific data.
  • Patient identity is verified server-side against Hero Health, with dependant linking for Family and Couple memberships.
  • Clinical content is never proxied through the portal -- documents are served via Hero’s own DOB-gated links, which keeps the clinical-safety surface small and your GDPR posture clean.
  • Same proven shape used on a comparable build: React + Vite + TypeScript SPA, shadcn/ui + Tailwind, Supabase (auth + Postgres), Stripe for billing, Vercel hosting.
  • EU/UK regions throughout for data residency.
Deliverables

Three pillars of the initial build.

Everything below ships inside the initial build. The Extended option (Option B) adds documents and results, dependant booking, a member-get-member referral programme and a tenure-based loyalty tier on top -- all for the same fixed price.

01

Authentication, dashboard & dependants

Passwordless email sign-in plus a server-side identity match against Hero Health. Account holders can link spouse and child records for Family and Couple memberships, with guardian rules for under-18 dependants.

02

Booking via Hero Health

Live slot search, booking, reschedule and cancel against Hero Health. Self-or-dependant flag mirroring Hero’s own flow. Past and upcoming appointments visible in a single timeline alongside Firetext SMS history.

03

Membership, billing & documents

Stripe Checkout for the four membership tiers (monthly or annual), self-serve billing changes via the embedded Stripe Customer Portal, plus -- in Option B -- a documents view powered by Hero’s DOB-gated link mechanism.

Integrates With

The systems Duality already use

Hero Health EMIS (via Hero) Stripe SignatureRX Firetext
Investment

Choose the v1 that fits Duality.

Two pricing options for the initial build, both VAT inclusive in EUR. We’re happy to re-issue in GBP at the prevailing rate if Duality prefer.

Option A -- Lean v1

A focused first release that ships the auth, booking and membership foundations end-to-end. Documents, dependant flow and invoices are deferred to Phase 2 or to active maintenance.

Foundations

  • Supabase + Vercel project setup with infrastructure-as-code for repeatable environments
  • CI/CD via GitHub Actions, error tracking, structured logging, secrets management
  • Brand-aligned design system (shadcn + Tailwind), light/dark, WCAG 2.2 AA target

Authentication & dashboard

  • Passwordless email sign-in with Supabase auth
  • Server-side Hero Health identity match (PDS lookup or direct patient search)
  • Member dashboard: upcoming and past appointments, membership status, quick actions

Hero Health booking

  • Service selection and live slot search filtered by location, practitioner and type
  • Patient-side reschedule and cancel
  • Status reflected from Hero Health webhooks in real time

Membership signup & billing

  • Tier selector (Individual, Couple, Family, Over-65) with monthly or annual toggle
  • Stripe Checkout plus embedded Stripe Customer Portal for self-serve billing changes
  • Webhook-driven membership state, audit-logged end to end

Compliance baseline

  • GDPR-compliant data handling: ROPA, DPIA, signed DPAs with subprocessors
  • Privacy notice, cookie register, document-access audit log live from launch
  • Cyber Essentials kicked off during the build, certification targeted before go-live
Initial Build €10,000 VAT inclusive · EUR (GBP available on request)
Documents, dependant booking, invoices, referral and loyalty are not included -- they can be added later via active maintenance, or by stepping up to Option B.

Option B -- Extended v1 (Recommended)

Everything in Option A, plus documents and results, dependant booking, and a member-growth layer (referral + loyalty) -- all delivered inside the same initial build for one fixed fee.

Everything in Option A

  • Foundations, design system, authentication, dashboard, Hero Health booking, membership signup with Stripe, full compliance baseline

Documents & results

  • "Share to portal" action staff trigger from Hero per document, mints a DOB-gated link via the Hero attachment-links API
  • Portal-side document timeline with type and date filters, surfaced per patient and per dependant
  • On-click access via Hero’s own gated link mechanism -- the file never travels through the portal’s infrastructure
  • Audit log of every link mint, useful for both clinical-safety review and DSAR fulfilment

Dependant booking flow

  • Account holder can flag a booking as for a dependant, mirroring Hero’s own self-or-dependant flow
  • Guardian rules for under-18s, with appointment types restricted to those that allow guardian-accompanied bookings
  • Dependant context switcher in the dashboard so the right record is always in view

Invoices view

  • Read-only history of past invoices grouped per patient and per dependant
  • Pulled from Hero’s invoicing endpoints and Stripe’s own records as appropriate

Referral programme

  • Member-get-member with a double-sided €20 credit, applied through Stripe coupons and customer balance
  • Each member gets a unique code and shareable link in their dashboard
  • Attribution tracked per signup; credits stack against future invoices and reconcile cleanly with Stripe
  • Anti-abuse rules baked in: one credit per unique payment method, suspended members cannot earn new credits

Loyalty tiers

  • Tenure-based tiers calculated daily from Stripe subscription state: Bronze (0--12 months), Silver (12--24 months), Gold (24 months+)
  • Tier badge surfaced on the dashboard, with the perks for each tier listed inline
  • Suggested perks: priority booking window for Silver, plus 5--10% off pay-per-service and a free annual health check for Gold (Duality decide the final list)
  • Lapsed members demote one tier after 60 days; a second lapse resets to Bronze
Initial Build €15,000 VAT inclusive · EUR (GBP available on request)
Recommended. All of the above included for one fixed fee, no separate phases. Calendar window 5--6 weeks.
Timeline

From signature to go-live in 4 to 6 weeks.

Calendar weeks for the initial build. Option A lands at the lower end of the window; Option B at the upper end given the documents, dependants, referral and loyalty work folded in.

0
Week 0

Proposal acceptance

Statement of Work issued, Hero API scope expansion request raised with Hero support within 48 hours.

1
Week 1

Brand assets & design system

Logo, typography and palette finalised. Design system tokenised. Infrastructure-as-code stood up; CI/CD wired.

2
Week 2

Authentication & identity match

Passwordless email login working end-to-end. Hero Health identity match wired against the sandbox API.

3
Week 3

Booking & membership signup

Booking flow live against Hero (with dependant flag if Option B). Stripe Checkout and Customer Portal wired. Membership tiers selectable end-to-end.

4
Week 4

Option B layer: documents, referral & loyalty

Documents pipeline (manual-curation flow), invoices view, referral codes via Stripe coupons, and tenure-based loyalty tiers. Skipped entirely for Option A.

5
Week 5

UAT, hardening, accessibility

WCAG 2.2 AA pass, penetration test, Cyber Essentials submission, signed DPAs with all subprocessors.

6
Week 6

Go-live

portal.dualityhealthcare.com is live. Maintenance retainer begins the calendar month after launch.

At a Glance

Both options side by side.

Same foundations, different reach into the documents and dependant experience at launch.

Option A

Lean v1

Auth, dashboard, full Hero Health booking, membership signup with Stripe, GDPR baseline, Cyber Essentials kicked off.

€10,000
VAT inclusive · EUR
Option B · Recommended

Extended v1

Everything in Option A plus documents and results, dependant booking, invoices view, member-get-member referral programme and tenure-based loyalty tiers.

€15,000
VAT inclusive · EUR
Ongoing

Maintenance retainers (post-launch).

Maintenance starts the month after Phase 1 go-live. Start Passive; step up to Active once the portal has bedded in.

Passive maintenance

€450/ month

Bug fixes, dependency security updates, monthly health-check, response within one business day for non-critical issues and four hours for P1 production incidents during business hours.

Active maintenance

€800 -- 1,000/ month

Everything in Passive plus a defined capacity for ongoing analytics support and small new-feature development each month. Exact figure within the band agreed after launch.

Ready to build it?

To accept, reply to this proposal with your preferred option (A or B) and your maintenance tier. We’ll issue the Statement of Work and book the kick-off within five business days.

Accept the proposal Questions first? art@blackbird.marketing