Jay Lawrence
All posts

HIPAA compliance · Healthcare software · Engineering practice

My journey learning HIPAA compliance as a software engineer

What learning HIPAA changed about the way I think about health data, product decisions, and the everyday responsibility of building software people can trust.

Learning HIPAA has changed the way I think about healthcare software. What began as a compliance requirement became a broader lesson in trust, restraint, and engineering responsibility.

The larger system

Trust is supported by overlapping safeguards—not one secure code path.

Technical controls matter, but administrative and physical safeguards determine how the system is operated in the real world.

Why I started

I needed to understand the responsibility behind the requirement.

A database field, API response, support tool, or interface decision can all affect whether sensitive information is appropriately protected. I wanted enough context to recognize those consequences earlier and involve the right people before implementation made them expensive.

Compliance is not a badge added after launch. It is a set of responsibilities expressed through everyday product and engineering decisions.

The learning loop

I turn policy language into engineering questions.

HIPAA is context-dependent, so my process is less about memorizing a universal checklist and more about repeatedly inspecting a specific system.

Five moves take a rule from language to practice.

  1. VocabularyLearn

    Understand roles, rules, and boundaries.

  2. JourneyMap

    Follow collection, use, sharing, retention, and deletion.

  3. DecisionsQuestion

    Ask who needs what, why, and for how long.

  4. SafeguardsApply

    Turn the answers into product and operating controls.

  5. ChangeReview

    Reassess as the system evolves.

The loop repeats whenever the product, vendor set, workflow, or risk profile changes.

What has changed

The defaults I choose are more deliberate now.

Convenient defaults become governed decisions.

DecisionEasy defaultDeliberate practice
CollectionKeep it in case it helpsCollect the minimum needed
AccessAuthenticated means allowedAuthorize the specific task and object
LogsRecord everything for debuggingKeep bounded evidence without copying PHI
BehaviorRely on people to rememberMake the safe path the default
OwnershipEngineering will handle itShare responsibility across the organization
The shift is from assuming more data and access are helpful to proving what the task actually requires.

In practice

The secondary paths deserve the same attention as the main workflow.

I now look for sensitive values in URLs, analytics, errors, fixtures, screenshots, notifications, browser storage, exports, and support tools. These paths are easy to miss precisely because they are not the product’s main feature.

An interface should reveal only what the task requires, communicate permissions clearly, and make consequential actions deliberate. Convenience is never permission to send patient information into an unapproved AI tool.

Sensitive data has more exits than the API diagram shows.

  1. URLs

    History, referrers, and copied links.

  2. Observability

    Analytics, replay, errors, and logs.

  3. Browser

    Storage, cache, DOM, and screenshots.

  4. Operations

    Exports, notifications, support, and test data.

  5. AI tools

    Approved environment, agreement, and intended use.

Every adjacent system needs an owner, a purpose, an allowed payload, and a retention rule.

Still learning

Engineering is one contributor to a larger trust system.

No single discipline can certify the whole picture.

  1. Engineering

    Data flow, product behavior, technical safeguards, and verification.

  2. Privacy + legal

    Role, use, disclosure, agreements, and applicable guidance.

  3. Security

    Risk, identity, monitoring, incident response, and assurance.

  4. Operations

    Training, access reviews, devices, continuity, and procedures.

  5. Users + leadership

    Real workflow, governance, resources, and accepted risk.

Engineering can recognize risk earlier and build safer defaults, while legal, privacy, security, operations, leadership, and users contribute evidence and accountability.

I am not treating this learning journey as a claim that I can make a product compliant by myself. My goal is to become a more useful partner: to recognize risk earlier, ask sharper questions, and understand when a decision needs expertise beyond engineering.

In healthcare software, trust is earned through hundreds of careful decisions—including the ones a user may never see.