<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Irina Bodean</title>
    <description>The latest articles on DEV Community by Irina Bodean (@irinabodean).</description>
    <link>https://dev.to/irinabodean</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4175751%2Ffb1f5c5e-3fa1-447d-8379-d51ba82b903f.png</url>
      <title>DEV Community: Irina Bodean</title>
      <link>https://dev.to/irinabodean</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/irinabodean"/>
    <language>en</language>
    <item>
      <title>Your First HIPAA App: 8 Things Developers Learn the Hard Way</title>
      <dc:creator>Irina Bodean</dc:creator>
      <pubDate>Fri, 16 Oct 2026 06:11:55 +0000</pubDate>
      <link>https://dev.to/irinabodean/your-first-hipaa-app-8-things-developers-learn-the-hard-way-2dk4</link>
      <guid>https://dev.to/irinabodean/your-first-hipaa-app-8-things-developers-learn-the-hard-way-2dk4</guid>
      <description>&lt;p&gt;Your first healthcare project usually starts with a familiar feature list: forms, a dashboard, messaging, search. You have built all of these before. Then someone says "HIPAA" on the kickoff call, and the familiar list stops feeling familiar.&lt;/p&gt;

&lt;p&gt;HIPAA is the US law that protects health information. For developers, most of it lands in two places. The Privacy Rule limits who can see and share patient data. The Security Rule sets the safeguards your system needs around electronic patient data. There is no official HIPAA certification for software. Compliance is something you build and document, not a badge you earn.&lt;/p&gt;

&lt;p&gt;It applies when your app handles health data for a healthcare provider, a health plan, or a vendor working for them. A standalone fitness tracker may fall outside it.&lt;/p&gt;

&lt;p&gt;A lot of it stays invisible until it bites you. If you are about to build a HIPAA compliant app for the first time, here are eight lessons developers tend to learn the hard way. The examples come from &lt;a href="https://corlab.tech/projects/referral-md" rel="noopener noreferrer"&gt;ReferralMD&lt;/a&gt;, a referral platform for US doctors and specialists that the CorLab engineering team worked on.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;One note:&lt;/strong&gt;&lt;/em&gt; this is HIPAA for developers, not legal advice. Your compliance officer makes the final calls.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. PHI is more than medical records
&lt;/h2&gt;

&lt;p&gt;Protected health information (PHI) is health information that can be tied to a specific person. Once it is stored or sent electronically, it becomes ePHI. Most developers picture diagnoses and lab results. Those count, but so do many things that look harmless on their own.&lt;/p&gt;

&lt;p&gt;An appointment time is PHI when it sits next to a patient's name. So is an email address in a referral form, an IP address in a patient portal log, or a photo of a face. HIPAA's de-identification rules list 18 identifiers, from names and dates to device serial numbers. If any of them is attached to health data, treat the record as PHI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The practical lesson:&lt;/strong&gt; map your data before you design the database. Mark every field that is PHI, or could become PHI when combined with another field. That map decides which tables need extra protection, which services may touch them, and what must never leave your system.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. You need a BAA with every vendor that touches PHI
&lt;/h2&gt;

&lt;p&gt;A business associate agreement (BAA) is a contract that obliges a vendor to protect PHI it creates, receives, stores or transmits for you. No BAA, no PHI.&lt;/p&gt;

&lt;p&gt;Developers usually remember the database host. The surprises are elsewhere: the email service that sends appointment reminders, the SMS gateway, the logging service, the error tracker that captures request bodies, the analytics script on the patient portal, the AI API you call to summarize notes. The same goes for AI coding assistants and no-code builders if production data can pass through them.&lt;/p&gt;

&lt;p&gt;This includes your own team. If your developers can reach production data, your company needs a BAA with the client too. If they work only with synthetic data and never touch production, you may not.&lt;/p&gt;

&lt;p&gt;Also check the fine print. Many cloud providers sign a BAA, but it covers only a listed set of their services, not everything in the console. Before you add any third-party tool, ask one question: could PHI ever reach it, even by accident? If yes, the vendor signs a BAA or the data does not go there. Keep that vendor list in the repo, next to your architecture docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Logs, chat and error tools leak PHI
&lt;/h2&gt;

&lt;p&gt;Your main database is usually the best-protected place in the system. The leaks happen around it.&lt;/p&gt;

&lt;p&gt;The ReferralMD case page notes that about 60% of referrals go unseen, the gap the platform was built to close. Part of the answer is a real-time chat, so doctors and specialists can discuss a referral without phone tag. Clinicians write the way clinicians talk: names, conditions, medications, all in one message. The message store can be locked down, and PHI can still escape through request logs that capture message bodies, WebSocket debug output, or an error report that ships the full payload to a third-party tracker. You can see the chat and the rest of the workflow in the ReferralMD case study.&lt;/p&gt;

&lt;p&gt;The fix is to redact by default, at the logger, so no one has to remember it at every call site:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpt3eqfux5cnxc77nr86a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpt3eqfux5cnxc77nr86a.png" alt="JavaScript example: a pino logger configured to redact req.body, patient.name, patient.dob and message.text, replacing each value with [REDACTED] before it is logged." width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then apply the same rule to your error tracker and analytics. Scrub payloads before they leave your servers, and test it by searching your logs for a fake patient name.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Encryption without access control is not enough
&lt;/h2&gt;

&lt;p&gt;Encryption at rest and in transit is the first thing every team adds, and it should be. It protects you from a stolen disk or an intercepted connection. It does nothing about a user who logs in legitimately and opens records they have no reason to see.&lt;/p&gt;

&lt;p&gt;That is why the Security Rule also asks for unique user IDs, automatic logoff and strong authentication, which in practice means multi-factor login. On top of that, HIPAA's minimum necessary standard says people should get only the PHI they need for the task in front of them. In code, that means access scoped by relationship, not just by role. A specialist should see the patients referred to them, not every patient in the system.&lt;/p&gt;

&lt;p&gt;There is a real design tension here. ReferralMD turns scattered patient data into a one-page visual summary, with live links to X-rays and MRI scans, and puts everything needed for a referral decision within two clicks. Speed matters to busy clinicians. But a fast screen also has to be a narrow one: decide what appears on it, for whom, before you optimize how quickly it loads.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Audit trail: who saw what, and when
&lt;/h2&gt;

&lt;p&gt;Sooner or later someone will ask: who opened this patient's record last Tuesday? If your system cannot answer, you have a compliance problem.&lt;/p&gt;

&lt;p&gt;The Security Rule requires audit controls that record activity in systems holding ePHI. Audit logging is not the same as application logging. Most teams log writes and forget reads. Log both. A useful audit event has the user, the patient record (by internal ID), the action, the time, the source and the outcome.&lt;/p&gt;

&lt;p&gt;Three rules keep the trail useful. Log access events, not the PHI itself. Make the audit store append-only, so no one, including admins, can quietly edit history. And agree on retention with your compliance team early, because audit data grows fast and is painful to backfill.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Test data must be synthetic
&lt;/h2&gt;

&lt;p&gt;The fastest way to get realistic test data is to copy production into staging. It is also the fastest way to put PHI into an environment with weaker controls, more people with access and no BAA coverage for half the tools.&lt;/p&gt;

&lt;p&gt;You have two options. De-identify real data under HIPAA's rules, which is harder than deleting the name column. Or generate synthetic patients with a tool like Synthea, which produces realistic records, including in FHIR format. For most teams, synthetic is simpler and safer. Ban production copies outside production, and make that a written rule, not a habit.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. FHIR, HL7 and fax take longer than the app
&lt;/h2&gt;

&lt;p&gt;First-time teams estimate the app and forget the EHR integration work. The integrations usually take longer.&lt;/p&gt;

&lt;p&gt;FHIR R4 is the modern standard: a REST API with JSON resources like Patient, Practitioner and ServiceRequest. Certified EHRs in the US must offer a FHIR API, which sounds like good news. In practice, every EHR vendor has its own registration process, sandbox, app review and quirks. HL7 v2 messages are still everywhere in hospitals, and they look nothing like FHIR.&lt;/p&gt;

&lt;p&gt;Then there is the integration nobody puts in the estimate: fax. Many US practices still send referrals by fax. ReferralMD's dashboard accepts electronic referrals, including ones that started as a fax. A fax is PHI arriving as an image, so it needs secure intake, matching to the right patient and a human check when matching fails.&lt;/p&gt;

&lt;p&gt;Integration is often the biggest line item in custom healthcare software development. Scope each connection as its own workstream, with its own timeline and its own test data.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Have a breach plan before launch
&lt;/h2&gt;

&lt;p&gt;Under the Breach Notification Rule, the clock starts at discovery, and that is a bad moment to learn who to call.&lt;/p&gt;

&lt;p&gt;The deadlines are concrete. Affected individuals must be notified without unreasonable delay, and no later than 60 days after discovery. Breaches affecting 500 or more people also go to HHS within that window, and to the media when 500 or more residents of one state or jurisdiction are affected. If you build software for a healthcare provider, your contract likely sets an even shorter deadline for telling them.&lt;/p&gt;

&lt;p&gt;The developer's part of the plan is practical. Know who gets the first call. Have alerts that would actually notice unusual access. And make sure your audit trail from lesson 5 can answer the first question anyone asks: whose data was exposed? Run a one-hour tabletop exercise before launch. It costs little and shows every gap.&lt;/p&gt;

&lt;h2&gt;
  
  
  What these lessons have in common
&lt;/h2&gt;

&lt;p&gt;Almost none of these lessons is about clever code. They are about decisions made early: which data counts as PHI, which vendors may touch it, who sees what, what gets logged, where test data comes from, and who answers the phone on a bad day.&lt;/p&gt;

&lt;p&gt;That is the real difference between healthcare app development and the apps you have built before. The features look the same. The constraints sit underneath them, and they are much cheaper to design in than to retrofit. Most of HIPAA compliant app development comes down to these early decisions.&lt;/p&gt;

&lt;p&gt;If you take one thing from this post, make it the data map from lesson 1. Almost every other lesson starts there.&lt;/p&gt;

&lt;p&gt;What surprised you on your first healthcare project? Share it in the comments.&lt;/p&gt;

&lt;p&gt;Thanks to the &lt;a href="https://corlab.tech/" rel="noopener noreferrer"&gt;CorLab Tech&lt;/a&gt; engineering team for the technical input behind these lessons.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
