Why Medicine Becomes Software’s Hardest Problem When It Becomes Everyone’s Problem

George A

Hatched by George A

Jun 28, 2026

10 min read

89%

0

The hidden question inside every health system

Why is it that modern health care, with all its data, devices, and computing power, still feels so brittle? Why do brilliant clinicians spend more time clicking than thinking, while software teams keep discovering that what looks simple in a demo becomes impossible in practice?

The uncomfortable answer is that medicine is not just a domain with lots of data. It is a domain where uncertainty, identity, time, causality, regulation, and human judgment all collide at once. Build software for banking and you are mostly moving well formed objects through predictable rules. Build software for medicine and you are trying to model reality while reality is still changing its mind.

That is why the deepest challenge in health technology is not merely technical. It is civilizational in miniature. A health system has to coordinate people from many backgrounds, often including immigrant physicians, nurses, and technicians who keep hospitals alive, while also translating the messy lived experience of illness into structured records, codes, claims, prescriptions, and interoperable messages. The result is a strange paradox: the more essential the system becomes, the more fragile it can be if it mistakes administrative neatness for clinical truth.

In health care, software does not just store facts. It decides what counts as a fact.

That is the real problem hiding beneath electronic records, standards, databases, and interfaces.


Medicine is not a database, it is a theory of reality

Most software begins with a stable assumption: objects exist, their properties can be described, and actions can be logged. Medicine breaks this model immediately. A patient does not simply have hypertension, diabetes, and asthma. A clinician may suspect those diagnoses with varying confidence, associate them with different causes, observe them over different time spans, and revise them tomorrow after new evidence arrives.

This is why so many electronic health record systems become sprawling monuments to compromise. They were built around billing first, then dressed up as clinical tools. Once that happens, the software quietly starts serving a different logic. It becomes excellent at proving that something happened, but mediocre at explaining what happened, why it happened, or how sure anyone was.

A useful way to see this is to compare two questions:

  1. Did the drug get administered?
  2. Was the drug given because the patient was deteriorating, because of a protocol, because the diagnosis was tentative, or because a junior clinician was following a pager instruction at 3 a.m.?

The first question is administrative. The second is clinical reality.

A system that cannot represent the second kind of truth will eventually distort care. It may still function, but only by forcing clinicians into unnatural habits: checkbox medicine, copy forward medicine, and note bloat medicine. That is how software becomes a silent participant in clinical error. It does not need to be malicious. It only needs to be simplistic.

This is where the true design burden emerges. A meaningful health system must model at least five things at once:

  • Causality, including uncertainty about causality.
  • Time, including evolving processes and imprecise timestamps.
  • Identity, including patients, clinicians, devices, and organizations.
  • Measurement, including calibration and comparability.
  • Meaning, including codes, language, and context.

If any one of those is weak, the whole structure begins to wobble.

Think of it like a map that must show roads, weather, ownership, traffic, and legal jurisdiction at the same time. That map is not impossible, but it is no longer a simple map. It is an operating model of a living system.


The immigrant workforce reveals the real architecture of care

There is another reason health software is hard, and it has less to do with code than with people. Hospitals are not staffed by a single cultural or educational tradition. In the United States, many physicians, surgeons, and registered nurses are born elsewhere, including in Asia, Africa, Europe, Northern America, and Oceania. That means the care system is already a translation layer before a single click is made.

This matters because software is often designed as though clinical work were uniform. It is not. People bring different training pathways, different documentation habits, different assumptions about hierarchy, and different mental models of diagnosis. One clinician may think in syndromes, another in differential probabilities, another in billing categories, another in protocol checkpoints.

The result is that the record is not just a repository of facts. It is a negotiation among work cultures.

A good health system must therefore do something rare: it must be legible to a multinational workforce without flattening the richness of medicine. If it is too rigid, it alienates competent clinicians. If it is too loose, it produces noise, inconsistency, and dangerous ambiguity. This tension explains why “clinician friendly” systems so often end up merely being slightly less hostile systems. Friendliness is not the same as cognitive fit.

Here the deeper insight is that workforce diversity and software complexity are linked. When care is delivered by people with varied clinical backgrounds, the system must support semantic interoperability, not just technical interoperability. The software must let different experts mean the same thing in different dialects, then converge on a shared record that still preserves uncertainty and nuance.

That is much harder than building a form.

A health record is not a ledger of answers. It is a translation machine for disagreements, revisions, and partial truths.

Once you see that, many EHR failures stop looking like implementation mistakes and start looking like category errors.


Why standards are necessary and still not enough

People often imagine that the problem can be solved by better coding systems, better APIs, or newer architectures. But standards are not medicine, they are only compression schemes for meaning.

SNOMED CT, ICD, LOINC, drug vocabularies, imaging standards, FHIR, CCD, CDA. These are essential, but they solve only part of the puzzle. They tell you how to name things, how to exchange things, and how to structure some kinds of information. They do not automatically tell you how to capture the clinical logic that lives between those named things.

For example, a diagnosis code can say heart failure. A lab code can say creatinine is elevated. A medication code can say steroids were prescribed. But a clinician also needs to express something much richer: that hypertension likely contributed to the heart failure, that renal dysfunction may be secondary, that the asthma has been refractory, that the steroids were chronic, and that the causal chain is still under investigation.

This is where the most important mental model comes in: medicine needs a representation of hypotheses, not just facts.

A better system would let a clinician express:

  • what is known,
  • what is suspected,
  • what is ruled out,
  • what is temporally related,
  • what is causally implicated,
  • what is merely documented by someone else,
  • and how confident the clinician is in each of those statements.

That is not a nice to have. It is the difference between a record that supports thought and a record that suppresses it.

The same logic applies to measurement. A glucose value is not just a number. It depends on calibration, device, timing, context, and whether the measurement was intended to guide urgent action or long term monitoring. A blood pressure reading taken in a calm outpatient setting does not mean the same thing as one taken during a postoperative complication. Without context, data becomes misleadingly precise.

One of the great illusions of digital health is that structure equals truth. It does not. Structure only makes truth easier to store. Whether it remains true depends on whether the structure can preserve clinical context.


The real enemy is not complexity, it is unmodeled complexity

It is tempting to say that health care is complicated and therefore software struggles. But that is too vague. Complexity is not the enemy. Unmodeled complexity is the enemy.

The worst systems do not fail because they are large. They fail because they pretend that what is large can be reduced without loss. They turn evolving clinical situations into static fields, dynamic relationships into one off entries, and uncertainty into mandatory certainty.

This is why security, privacy, legal compliance, and interoperability cannot be bolted on at the end. They are not external constraints. They are part of the architecture of the domain itself.

Consider identity. In clinical care, identity is not one thing. It is at least four things:

  • who the patient is,
  • who the clinician is,
  • which device produced the data,
  • and which system is authoritative for that moment.

Now add jurisdiction. A patient may move across countries. Data may live on servers in different legal regimes. Consent rules may change. Identifiers may be fragmented by law. Deidentification may fail under reidentification attacks. Suddenly the database is not just a database. It is a geopolitical object.

Add security and the issue becomes even more profound. In medicine, security is not a wrapper around an application. It is a consequence of the architecture, the operating system, the database, the cloud boundary, the audit model, and the assumptions made about who can see what. A system that depends on trust in the storage provider, or that ignores how data is replicated, moved, and queried, is not secure in any serious sense. It is merely convenient until it is not.

The same goes for user interface design. Clinicians do not simply want less friction. They want different things depending on specialty, workflow, urgency, and context. The interface must support documentation, but it also must minimize error generation. Too much information creates clutter. Too little creates blind spots. The art is not to make everything visible. The art is to make the right thing visible at the right moment without erasing the rest.

That is why some systems feel like they were built by people who understand compliance but not cognition. They are structurally valid and clinically exhausting.


A framework for building better health software

If we want a more useful approach, we need to stop asking whether software is elegant and start asking whether it preserves clinical reasoning.

Here is a practical framework.

1. Treat every clinical statement as a claim with context

Not every datum should be stored as a flat fact. Ask: who asserted it, when, with what confidence, based on what evidence, for what purpose? This is especially important for diagnoses, causality, allergies, and medication history.

2. Separate facts from interpretations

A lab result is a fact. “The patient is worsening” is an interpretation. Both matter, but they should not be collapsed into one another. Good systems let facts and interpretations coexist without confusion.

3. Model time as a process, not just a timestamp

Illness unfolds. Treatment unfolds. Recovery unfolds. A record should capture duration, sequence, overlap, and uncertainty about timing. One of the most dangerous simplifications in software is pretending that health is a series of frozen snapshots.

4. Optimize for translation, not uniformity

Different clinicians, specialties, and institutions will describe the same situation differently. The system should enable translation across vocabularies and workflows while keeping a stable core representation underneath.

5. Design for failure from the start

Error handling is not just about exceptions in code. It includes conflicting documentation, missing values, changing diagnoses, identity mismatches, device failures, and legal restrictions. In medicine, graceful degradation is a clinical safety feature.

This framework has a deeper implication: the goal of a health record is not to eliminate ambiguity. The goal is to manage ambiguity responsibly.

That is a much more realistic standard than the fantasy of perfect data.


Key Takeaways

  1. Do not model medicine as a list of facts. Model it as a set of claims, probabilities, contexts, and relationships.
  2. Treat time, causality, and uncertainty as first class data. If the system cannot represent them, it will distort care.
  3. Build for translation across clinical cultures. Diverse health workforces need shared meaning, not forced uniformity.
  4. Assume security, privacy, and legality are architectural problems. They cannot be added after the fact.
  5. Measure success by preserved clinical reasoning, not just documentation completeness. A system that captures everything but clarifies nothing has failed.

Conclusion: the best health software behaves like a good clinician

The deepest lesson here is not that health care software is hard. It is that health care software inherits the epistemology of medicine itself. Medicine is a discipline that works under uncertainty, with incomplete information, changing causes, competing hypotheses, and a permanent obligation to act anyway.

That means the best software for medicine will not resemble the clean, deterministic systems we admire in other domains. It will resemble a skilled clinician: cautious, context aware, explicit about uncertainty, disciplined about identity, alert to time, and humble about what it does not yet know.

The real breakthrough will not come from making health records prettier or APIs faster. It will come when software finally stops pretending that a patient is a form, a diagnosis is a code, or a hospital is a workflow. A patient is a story in motion. A diagnosis is a hypothesis under revision. A hospital is a multilingual, legally constrained, high stakes coordination machine.

Once software is built with that truth in mind, it stops being an administrative obstacle and starts becoming a genuine extension of clinical intelligence.

Sources

← Back to Library

Hatch New Ideas with Glasp AI 🐣

Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)

Start Hatching 🐣