đź§ From Machine Code to Medical Code
> Each generation begins not from zero, but from the highest abstraction level achieved by the previous one. Sean McClure, Discovered Not Designed
By Dr. Chukwuma Onyeije, MD, FACOG
Maternal-Fetal Medicine Specialist & Medical Director, Atlanta Perinatal Associates
Founder, Doctors Who Code · OpenMFM.org · CodeCraftMD ·
Progress by Abstraction series for Doctors Who Code Part 2
How Abstraction Shapes Clinical Reasoning and AI in Healthcare
“Each generation begins not from zero, but from the highest abstraction level achieved by the previous one.” — Sean McClure, Discovered Not Designed
⚙️ The Evolution of Code — From Binary to Meaning
In the beginning, coding was raw electricity shaped into logic. Machine code — strings of 0s and 1s — told the hardware what to do, one microscopic instruction at a time.
It was tedious, exacting, and almost inhumanly detailed.
Then came assembly language, a symbolic shorthand that abstracted some of that detail. Programmers no longer had to think in pure binary.
Procedural languages followed — then object-oriented programming (OOP) — and each leap made software creation less about the hardware and more about the human mind.
With every abstraction, we pulled further away from the physical and closer to the conceptual.
Today, with natural language programming and AI-assisted coding, we can describe what we want in English — and machines translate it into executable logic.
Voice coding, visual builders, and GPT-powered agents represent the next great abstraction: from syntax to semantics.
We no longer program machines. We instruct them in our own language.
🩺 Clinical Reasoning Is Also a Ladder of Abstraction
Doctors, whether or not they code, already think in layers of abstraction. Medicine itself evolved along the same path as computing — from physical manipulation to data-driven reasoning.
Let’s draw the parallel clearly:
| Computing Evolution | Clinical Reasoning Evolution |
|---|---|
| Machine Code → Binary Instructions | Basic Observations → Pulse, Respiration, Color |
| Assembly Language → Symbols for Hardware | Physical Exam → Representations of Physiology |
| Procedural Programming → Reusable Functions | Clinical Protocols → Standardized Pathways |
| Object-Oriented Programming → Encapsulated Logic | Organ System Thinking → Integrative Physiology |
| Scripting Languages → Human-Readable Logic | Evidence-Based Medicine → Structured Knowledge |
| GUI / NLP Interfaces → Natural Language Commands | AI-Assisted Reasoning → Language-to-Insight Workflows |
At every level, doctors and programmers face the same challenge: too much complexity to hold in one mind.
So we abstract, layer, and codify — turning raw data into conceptual frameworks.
đź§© The Clinician as a Systems Engineer
When you diagnose preeclampsia, you’re not reacting to a single number. You’re interpreting a pattern across variables — blood pressure, proteinuria, gestational age, symptoms, ultrasound findings.
That’s abstraction.
You’re not thinking in data points — you’re thinking in objects and relationships.
McClure’s insight resonates deeply here:
“Progress isn’t about smarter people; it’s about smarter layers.”
Clinical reasoning itself is layered:
-
Data Abstraction: From labs and vitals to structured trends.
-
Conceptual Abstraction: From trends to physiological hypotheses.
-
Strategic Abstraction: From hypotheses to management decisions.
Every abstraction step converts chaos into clarity — much like code compilers translate human logic into machine execution.
And now, AI models are learning to traverse those same levels — pattern recognition, conceptual synthesis, and language-based reasoning.
That’s why the partnership between doctor and algorithm isn’t competition — it’s co-abstraction.
🧬 From Syntax to Semantics in Medicine
Just as modern programming no longer demands syntax memorization, medicine is moving beyond rote recall.
We’re entering an era where natural language — your spoken clinical reasoning — becomes the interface.
Ambient scribe systems, NLP-based EMRs, and AI copilots are not replacing the clinician’s expertise — they’re abstracting the drudgery that sits below it.
When a physician dictates,
“Patient at 28 weeks with elevated pressures, likely superimposed preeclampsia. Recommend 24-hour urine protein and serial growth scans,”
the AI doesn’t just record — it compiles that narrative into structured data, billing codes, and follow-up tasks.
That’s semantic abstraction in real time.
In essence, voice has become the new assembly language of medicine.
🔄 The Loop of Progress — Code Informs Care, Care Informs Code
For Doctors Who Code, understanding abstraction means understanding how software and clinical thought mirror each other.
Every level of code evolution corresponds to a cognitive evolution in medicine:
-
The ability to chunk complexity
-
The ability to reuse prior insight
-
The ability to compose new reasoning from existing frameworks
When we teach a resident to think algorithmically, or when we use Python to automate a report, we’re reinforcing the same principle:
the human mind advances not by holding more data, but by organizing it better.
🌉 The Future: Natural Language as the Operating System of Medicine
The next great abstraction layer isn’t another programming language — it’s language itself.
Natural language interfaces will allow clinicians to build, query, and automate workflows simply by speaking or typing intent.
Imagine saying:
“Summarize this patient’s last three visits, flag any abnormal trends, and generate a growth percentile plot.”
That’s not science fiction — it’s the emerging reality of NLP-powered medicine.
The challenge is no longer technical capability; it’s conceptual fluency — teaching doctors how to think in abstractions so that their instructions translate seamlessly into digital logic.
Doctors who code will lead that transformation.
We are the bridge between meaning and mechanism.
🩺 Final Reflection: The Art of Thinking in Layers
Progress by abstraction teaches us that mastery isn’t about memorizing details — it’s about building conceptual scaffolds.
The same way procedural code evolved into object-oriented logic, medicine is evolving from data collection to reasoning orchestration.
So when you write your next function, or teach your next case, or speak to your ambient scribe, remember:
You’re not escaping complexity — you’re structuring it.
And in doing so, you continue the same journey that began with binary code and now lives in our clinical reasoning:
the climb from the concrete to the conceptual — from machine code to medical code.
Next in the Series:
🎙️ Voice, Vision, and the Doctor in the Loop: The Next Abstraction in Healthcare.
Chukwuma Onyeije, MD, FACOG
Maternal-Fetal Medicine Specialist
MFM specialist at Atlanta Perinatal Associates. Founder of CodeCraftMD and OpenMFM.org. I write about building physician-owned AI tools, clinical software, and the case for doctors who code.