You run a clinic, a lab, a pharmacy or a small health software company, and the same patient keeps getting typed into three different systems. The front desk registers them, someone re-keys the lab order, and the results come back as a PDF that has to be attached by hand. What you want is for those systems to simply hand the information to each other. That is what Fast Healthcare Interoperability Resources, better known as FHIR (pronounced “fire”), is for. It describes health information as an API, which is a way for one piece of software to ask another for data or to do work, so your electronic health record, your lab system or an AI assistant can register a patient, place an order or read a result without anyone retyping it.
What FHIR does
FHIR is not a company selling a product. It is a specification developed by HL7, the healthcare standards organization, and it defines a common set of building blocks for use across healthcare, in many clinical and administrative settings. Each building block is called a resource: a Patient, an Encounter, a Condition, a DiagnosticReport, an Immunization. Because every system that speaks FHIR describes a patient the same way and exposes it over the same kind of REST API, a hospital, a lab and an app built by a two-person startup can exchange records without writing a custom translation for each pair.
On APIs.io we break the specification into its resources, including Care Teams, Conditions, Encounters, Diagnostic Reports, Immunizations, Coverage, Devices, Goals and Locations.
What you can get done
Every FHIR resource follows the same pattern: search for records, create one, read one, replace it, change part of it, or delete it. Learn it once and it works everywhere. We map the operations to five business capabilities.
Patient Registration Management
Registration is where every visit starts: who the patient is, how to reach them, and how to tell them apart from someone with the same name. The Patient resource holds that demographic and identity data, so a check-in kiosk, a scheduling app or a referral partner can look someone up before creating a duplicate.
GET /Patientsearches for patients, for example by name or date of birth.POST /Patientregisters a new patient record.GET /Patient/{rid}reads one patient’s current record.PATCH /Patient/{rid}changes part of a record, such as a new phone number or address.
Computerised Provider Order Entry
Order entry means a clinician placing an order for a test, procedure or service in software rather than on paper. In FHIR that order is a ServiceRequest, and referral orders flow through the same resource.
POST /ServiceRequestplaces a new order.GET /ServiceRequestsearches existing orders, for a patient or a status.GET /ServiceRequest/{rid}reads one order.PUT /ServiceRequest/{rid}updates an order, for example when it is completed or cancelled.
Laboratory Services Management
A lab tracks the specimens it collects: the blood draw, the swab, the biopsy. The Specimen resource records each sample so the collection site and the lab agree on what was taken and when.
POST /Specimenrecords a collected specimen.GET /Specimensearches specimens.GET /Specimen/{rid}reads one specimen.PATCH /Specimen/{rid}changes part of a specimen record.
Diagnostic Results Management
Results are the reason the order existed. A DiagnosticReport holds lab and imaging results, so they can land in the chart, the patient portal or a follow-up reminder system instead of a fax tray.
POST /DiagnosticReportpublishes a new result report.GET /DiagnosticReportsearches reports for a patient.GET /DiagnosticReport/{rid}reads one report.PUT /DiagnosticReport/{rid}replaces a report when a result is corrected.
Pharmacy & Medication Management
When a pharmacy hands a medication to a patient, that is a dispense. The MedicationDispense resource records it, which helps a prescriber see what was actually picked up, not just what was prescribed.
POST /MedicationDispenserecords a dispense.GET /MedicationDispensesearches dispenses for a patient.GET /MedicationDispense/{rid}reads one dispense.DELETE /MedicationDispense/{rid}removes a record entered in error.
Getting started
Because FHIR is a standard, you do not sign up with FHIR itself. You use it against a FHIR server: one your electronic health record vendor exposes, one a cloud provider hosts, or one you run yourself. Ask your current vendors whether they offer a FHIR API, and if so, which resources. The HL7 FHIR documentation is the reference for every resource and how search works. Anything about cost depends on the server you use, and what we have recorded sits in the pricing section. On APIs.io you can browse the FHIR profile, the Encounter API, the Diagnostic Report API and the Immunization API. Pick the one record your staff retypes most often, usually the patient or the lab result, and ask your vendor for the FHIR call that moves it for you.
