In a nutshell
You can work with health data without coding, but being able to manipulate data with code makes you more autonomous and opens up wider possibilities. Three languages come up again and again: SQL to query a database, R and Python to clean, analyse and visualise it. Machine learning comes later, once these foundations are in place. This article maps out each tool; the following ones dive into each.
This section is for health students and professionals who want to learn programming in order to work with health data. The goal is not to turn you into a developer, but to make you self-sufficient with the basic moves: querying a database, shaping the data, producing a table or a chart.
These articles are not full courses. They provide context — what each language is for, what the code looks like — and point to proven resources for learning in depth.
Do you really need to code?
Good news: no, not necessarily. You can run real analyses without writing a single line of code. That is exactly the goal of Linkr: to let as many people as possible work with health data — including clinical data warehouses (CDWs) holding millions of rows — without any programming knowledge, through a graphical interface. The Study Designer defines a population, computes variables and generates the queries for you. You can also talk to a chatbot: connected to Linkr through its MCP server, an AI agent — in a chat client such as LibreChat — acts on your data from requests written in plain language.
So why learn to code? Because it makes you more autonomous and lets you go further in your analyses yourself. A graphical interface covers the most common cases; code opens up much wider possibilities. No limits are imposed by an interface: you do precisely what your study needs.
Then there is generative AI: chat assistants can now write code from a request in plain language. Knowing at least the basics of programming is still valuable, for two reasons:
- Checking the generated code: generated code can run without errors while computing something other than what you wanted. Being able to read it lets you tell whether it really meets the need — and explain exactly how a figure was obtained.
- Guiding the AI better: knowing what the different libraries can do lets you write more precise requests (better prompts), and therefore get better code.
Coding is therefore not a prerequisite, but always a plus.
Coding is not being a computer scientist
Learning to code for data science is above all acquiring a way of thinking: breaking a question down into simple steps — filter rows, select columns, group, count, plot — and chaining them. These same steps come back in almost every analysis. It is not about building software.
The three languages to know
Query a database
Extract the rows and columns you care about, and link tables together.
Analyse & visualise
Born in the statistics world, widely used in biostatistics and clinical research.
Analyse, visualise, automate
A general-purpose language, dominant in machine learning and data engineering.
These three languages are not competitors: they occupy different places in an analysis.
- SQL is the language of databases. A CDW’s data lives there; SQL selects a subset — for example, all patients over 65 admitted to intensive care in 2023, with their creatinine. You learn it first because it is the gateway to the data.
- R and Python take over once the data is extracted: this is where you clean it, compute statistics and produce figures. Both can do the same things; the choice often comes down to your working environment and colleagues.
SQL first: a logic you'll find everywhere
It is no accident that you start with SQL. The most-used libraries for manipulating tables — dplyr in R, polars in Python — mirror the same logic as SQL: filter, select, group, aggregate. Understanding SQL therefore gives you foundations that then transfer to R and Python. And the reverse is true too: you can run SQL directly from R and Python. SQL really is the best starting point.
R or Python: which to choose?
To get started, it hardly matters. R has an edge in biostatistics and is often taught in medicine. Python is more versatile and unavoidable once machine learning is involved. Learn first the one used around you — the concepts then transfer very quickly from one language to the other.
What about machine learning?
Machine learning is exciting, but it is a common mistake to start there. A predictive model is only as good as the data you feed it — and preparing that data requires exactly the skills described above.
Foundations first
The few students who went through this upskilling and shared their feedback with us point the same way: being able to write clean R or Python is more useful than knowing machine learning before you start working on real data. ML is much easier to learn once you handle data with ease.
In practice, machine learning is most often done in Python, with libraries such as scikit-learn. Tackle it after you have found your feet with data manipulation.
Where to start
The order we recommend, and the order of this section:
- Programming fundamentals — if you have never coded: the vocabulary (variable, function, loop), where you write code and how you run it. Skip it if you already have some notions.
- SQL — to understand how to query a database.
- R — to analyse and visualise, in an environment built for statistics.
- Python — to move towards automation and, later, machine learning.
Each article shows what the code looks like on health-data examples and points to free resources — presented as cards — for learning in depth.
Coding without coding, with Linkr
Some of the tasks you will learn to code — defining a study population, computing variables — can also be done without writing a single line of code in Linkr. Understanding the code still helps you know what the tool is doing and go further when needed.
- You can work with health data without coding, with Linkr; knowing how to code makes you more autonomous and opens up wider possibilities.
- With generative AI, coding basics let you check the code it produces and guide it better.
- SQL queries a database; R and Python clean, analyse and visualise it.
- R and Python are not competitors: start with the one used around you — the concepts transfer.
- Machine learning, most often in Python, comes later: solid coding foundations are more useful than ML before you begin.
- Recommended order: SQL, then R or Python, then machine learning.