Industry
Healthcare
Healthcare software carries clinical risk. The engineering discipline required is closer to safety-critical systems than to consumer product work, and the constraints — interoperability standards, clinical safety cases, special-category data — shape the architecture from the first decision.
Workflows
The work that actually happens here
Named the way practitioners in this sector name them, because that is the vocabulary a delivery team has to learn before it can be useful.
- Patient identification and matching
- Resolving a person to a single record across systems, including the ambiguous and duplicate cases.
- Referral and triage
- Structured referral with clinical prioritisation, routing to the right service and tracked waiting position.
- Appointment management
- Booking, reminders, rescheduling and did-not-attend handling across multiple sites and clinicians.
- Clinical documentation
- Structured recording of encounters with coded terminology, retained under clinical records retention rules.
- Results and correspondence
- Receiving results, routing them for clinical review, and communicating outcomes with acknowledgement.
Constraints
What changes the architecture
These are the reasons a design that works elsewhere would be wrong here.
Clinical risk management is mandatory
In the UK, DCB0129 and DCB0160 require a clinical safety case, a named clinical safety officer and hazard logging. This is a delivery workstream, not documentation produced at the end.
Health data is special-category
Processing requires a specific condition beyond ordinary lawful basis, and access controls must be granular and audited.
Interoperability is standardised
HL7 FHIR, SNOMED CT and dm+d are the interchange formats. Bespoke data models create integration debt immediately.
Availability affects care
Downtime in a clinical system has patient consequences, so degraded modes and offline procedures must be designed explicitly.
Accessibility needs are elevated
Patient-facing services are disproportionately used by people with access needs, in distress, or on behalf of someone else.
Integrations
Systems we would expect to meet
- HL7 FHIR APIs for record exchange
- SNOMED CT and dm+d terminology services
- NHS login or equivalent patient identity where applicable
- Electronic patient record systems
- Secure clinical messaging
- Appointment and scheduling systems
Trust considerations
What users and regulators need here
- Patients need to understand who can see their record and be able to check who has.
- Access must be role-scoped and logged, with legitimate-relationship checks where the model requires them.
- Communications must not disclose clinical information through notification previews.
- Retention follows clinical records schedules, which are long and legally defined.
- Any AI assistance in a clinical pathway requires explicit clinical governance and cannot be introduced as a product feature.
Architecture
A shape we would actually propose
A starting sketch, not a template. Discovery is what turns this into a specific design with recorded trade-offs.
- Identity
- Patient and clinician identity separated, with strong authentication for clinical access and full access logging.
- Records
- FHIR-aligned resource model with coded terminology, held append-only with versioned amendments.
- Integration
- FHIR facade over existing systems so their internal models stay contained.
- Safety
- Hazard log maintained through delivery; clinical safety review gates each release.
- Resilience
- Defined degraded modes and documented offline procedures for clinical continuity.
Outcomes
What good looks like
- Interoperable records that do not require bespoke integration per partner
- Access controls that are granular, audited and demonstrable
- A maintained clinical safety case rather than a retrospective document
- Patient-facing services usable by people with access needs and in distress
Next step
A healthcare project starts with the constraints
The Project Architect asks sector-specific questions about data, regulation and integration before it asks about features.
