Healthcare · Illustrative scenario

How a clinic network could unify patient scheduling

A hypothetical multi-clinic scheduling design that treats appointment ownership, access and fallback as first-class requirements.

Clinic calendars connect to a shared scheduling view, with distinct colors for each site.
Clinic calendars connect to a shared scheduling view, with distinct colors for each site.

Illustrative engineering scenario

This is a conceptual example of how we would approach a representative problem. It is not a published client project or a claim of delivered results.

The short version

A shared view is useful only when the source EHR remains authoritative and the patient can tell whether a booking is truly confirmed.

The decision in this scenario

Imagine a clinic network in which each site manages appointments in a different EHR. A shared patient experience sounds attractive, but a central search result is dangerous if it mistakes a displayed slot for a bookable one. This scenario explores the integration problem; it does not describe an existing client network.

A defensible starting approach

We would define a common appointment view while leaving each clinic's EHR as the authority for its schedule. HL7 FHIR models Appointment, Schedule and Slot resources, but support varies by implementation; a shared model does not guarantee that every EHR exposes the same booking behavior. Start with one site's real workflow and verify the adapter against it.

Evidence: HL7 FHIR R4: Appointment

Illustrative architecture

Unify capacity without replacing every clinic system.

01

Patient experience

Distinguish available from confirmed

02

Shared scheduling

Capacity and access rules across sites

03

Clinic adapters

Connect the EHRs already in use

Per-site adapters expose availability; the source EHR confirms the booking.

Separate availability from confirmed booking

A slot seen in a search result may be taken before the patient confirms it. The central service should distinguish a cached availability view from an accepted booking, then let the source EHR confirm or reject the request. If confirmation is delayed, show a truthful pending state rather than implying an appointment exists.

Map cancellation, rescheduling, time zones, clinician calendars and site-specific rules before expanding. A pilot that handles only new bookings may still leave staff with two conflicting views when appointments are changed elsewhere.

Evidence: HL7 FHIR R4: Appointment

Treat access and fallback as part of scheduling

The adapter must request only the data required for its job and respect the EHR's authorization model. SMART on FHIR uses scopes to communicate requested access, but the permissions actually granted can be narrower. Design for denied or filtered data instead of assuming every authorized user sees every record.

Roll out site by site with an explicit fallback when an adapter fails. The tradeoff is temporary inconsistency between sites; the alternative is a single launch that can make the whole network's schedule unreliable at once. Test with clinic staff before calling the new experience complete.

Evidence: HL7 SMART App Launch: Scopes and Launch Context

What the team would need to build and prove

  • Shared appointment model with source-system identifiers and status
  • Per-EHR adapters tested for booking, cancellation and rescheduling
  • Authorization, audit logging and minimized patient-data access
  • Availability freshness and reconciliation indicators
  • Site-by-site rollout with a staffed fallback path

What success would mean

Success in this hypothetical scenario would mean patients receive accurate confirmation, staff can reconcile changes and each site has a working fallback. A network-wide dashboard alone would not prove scheduling is safe.

Technologies in this example

  • Next.js
  • Node.js
  • PostgreSQL
  • Azure

Sources & further reading

Written by Dopstack Technologies

We design and build software, cloud infrastructure and AI workflows. These notes explain engineering decisions; illustrative scenarios are not claims of client results.

Meet the team

Keep exploring.

Put the idea to work

Start with the problem in front of you.

Tell us where your system gets difficult. We’ll help you map the constraints and a practical first step.

Talk to an engineer