Engineering · 22 Sep 2026 · 6 min read
Healthcare software development: what to plan for
Healthcare software development means planning for patient privacy, HL7 and FHIR interoperability and audit trails from day one. Here is what to settle first.
Healthcare software development succeeds or stalls on decisions made before the first screen is designed: how patient data is protected, how the product exchanges data with the record and billing systems around it, and how every action is traced. Plan those three things early and the rest is ordinary product work. Leave them late and they turn into a rebuild.
What makes healthcare software development different?
Most software handles data that matters. Health software handles data that is personal, regulated and often needed urgently by someone other than the person who entered it. That changes the engineering priorities. Speed of delivery still counts, but a clinician will abandon a tool that loses a half-finished note, and an organisation cannot adopt a tool it cannot explain to its privacy officer.
Health software also rarely stands alone. A scheduling app talks to a practice-management system. A documentation tool feeds a record system. A claims tool feeds a payer. Much of the real work, and much of the risk, sits in those seams rather than in the screens users see.
How should you handle patient data privacy?
Start with a data map, not a feature list. For every piece of information the product touches, write down where it comes from, where it is stored, who can see it, how long it is kept and how it leaves the system. It is dull work, and it is the most useful document in a health project, because every later security decision refers back to it.
The rules that apply depend on where your users and patients are and what role your organisation plays. In the United States that conversation usually involves HIPAA; in Canada, federal and provincial privacy laws. Which obligations apply to you is a question for your legal and compliance advisers, and a good engineering partner will say so plainly rather than promise that code alone makes you compliant. What engineering can do is make the controls those advisers ask for straightforward to deliver and easy to demonstrate.
The technical controls worth planning for on a health project are rarely exotic:
- Encryption in transit and at rest, including backups and file storage, with keys held in the cloud provider's key management service rather than in code.
- Least-privilege access for staff and engineers, with named accounts and single sign-on instead of shared credentials.
- Secrets kept in a managed secrets store, never in the repository.
- Separate development and production environments, with no real patient data in development.
- Redaction of personal details wherever data goes to a third-party service that does not need them.
- A documented way to export or delete a patient's records when asked.
In one of our projects, an AI medical scribe for clinicians, the product we inherited had shared root credentials and no accessible git repository. The team recovered the source into a proper repository and redeployed it, and alongside the feature work stood up dev and production AWS environments with storage encrypted using KMS, queued background processing, logging and single sign-on for engineers. Transcription gained PII redaction. None of that was visible to clinicians, and the client needed it in place in time for investor and clinical demos.
What do HL7 and FHIR mean for your project?
Interoperability is how your software exchanges data with the systems a clinic or hospital already runs. The two standards you will hear about most both come from HL7 International. HL7 version 2 is the older, message-based format that many hospital systems still use to pass admissions, orders and results between systems. FHIR, short for Fast Healthcare Interoperability Resources, is the newer standard: it models clinical data as resources such as Patient, Encounter and Observation and exposes them through web APIs, usually as JSON.
In practice, many products integrate through a vendor's own API rather than a pure standard, so the planning questions are practical ones:
- Which systems must you read from or write to, and which standard or vendor API does each one actually offer?
- Do you need sandbox access from the vendor, and how long does approval take?
- Which code sets will you exchange, such as ICD-10 diagnosis codes, and who maintains the mappings?
- What happens when the other system is slow, down, or sends something you did not expect?
Budget time for the integration itself, not only for the features built on top of it. Vendor APIs come with rate limits, quirks and approval processes outside your control. In one of our projects, a dental CRM and patient-engagement platform for a multi-location dental group, the product integrated with the Dentrix Ascend practice-management API, and a sync engine written in Rust kept around a million appointments in real-time sync. That sync layer, with its batch imports, retries and stream control, was a piece of engineering in its own right and deserved its own line in the plan.
Why do audit trails matter so much?
In health software, the question is rarely just what the data says. It is who changed it, when, and why.
An audit trail records who viewed or changed what, and when. Clinicians need it to trust a note that has been edited. Administrators need it to answer questions about access. Engineers need it to investigate a problem without guessing. Adding one late is painful because it touches every write path in the system.
Plan an append-only activity log from the first sprint. Record the user, the action, the record affected, a timestamp and, for edits, what changed. Keep it apart from the data it describes so it cannot be silently rewritten, and decide early how long it is retained and who may read it. Clinician sign-off is a related design choice: if a drafted or generated document needs a clinician's approval, make the approved version a distinct, attributable state rather than just another save.
How do you design for clinicians and patients who are short on time?
Healthcare users are interrupted constantly, and features that assume one uninterrupted session break in practice. In one of our projects, for a clinical-documentation start-up, patients and clinicians could not save a partly completed medical questionnaire and come back to it. The team redesigned the schema with non-destructive migrations against staging, added save and fetch endpoints that upsert rather than duplicate, and restored the front-end state so a returning user picked up exactly where they left off. It is a small feature on paper, and the kind that decides whether a tool gets used at all.
The same thinking applies to claims and billing. On a medical-claims application we took over for a medical-billing company, the codebase could create claims but not properly update them. The fixes included a working update flow, proper CSRF protection for automated submissions and a duplicate-claim guard on ingest. Correcting a record safely matters as much as creating one.
How should you phase a healthcare build?
A sensible sequence keeps the riskiest questions at the front:
- Discovery: the data map, user roles, integrations, and the privacy questions to take to your advisers.
- Foundations: environments, access control, encryption, logging and the audit trail.
- Integration spike: prove the connection to the hardest external system with real sandbox data.
- Core workflows: build the few flows clinicians or staff use every day, and test them with those people.
- Hardening: automated tests, monitoring and a rehearsed release process before any wider rollout.
It is the order we would suggest for most health projects, and it fits how our Healthcare Software & Integration service works, as all our engagements do: we learn the business, design the right solution, develop and deploy in agile sprints, then stay on to support and evolve the product after launch. If a product is already live and struggling, the order barely changes. The first step is still to find out what the system really does with patient data.
Key takeaways
- Healthcare software development starts with a data map: what you hold, where it lives, who sees it and how it leaves.
- Your legal and compliance advisers define the obligations; engineering's job is to make the required controls easy to deliver.
- Treat interoperability, whether HL7 v2, FHIR or a vendor API, as its own workstream with time for sandbox access and failure handling.
- Build the audit trail in the first sprint, not the last.
- Design for interruption: save, resume and safe correction matter as much as creation.
- Healthcare
- Interoperability
- Data Privacy
Related services
Related case studies
HealthcareSaaS
AI medical scribe SaaS platform
We rescued and rebuilt an AI medical scribe for clinicians: it records encounters, transcribes them and generates editable, specialty-specific SOAP notes with ICD-10 codes. Alongside a React front end, subscription billing and video-meeting ingestion, we set up a secure AWS platform with encrypted storage, queued processing and automated API tests.
HealthcareWeb application
Save-and-resume clinical questionnaire feature
We embedded with a clinical-documentation start-up to let patients and clinicians save a partly completed medical questionnaire and pick it up later, delivering the schema redesign, serverless APIs and front-end state restoration inside the client's existing codebase.
HealthcareSaaS
Dental CRM and patient engagement platform
We built a dental CRM and patient-engagement platform for a multi-location dental group, with online booking, a call-centre scheduler, video appointments, patient SMS, reviews and BI dashboards. A Rust sync engine kept around a million appointments in real-time sync with the practice-management system, and the platform later evolved into a multi-tenant SaaS product.