Short answer: Patient is the FHIR resource that describes a person receiving care: who they are administratively, not what is wrong with them. It carries identifiers (medical record numbers, national IDs), names, telecom contacts, administrative gender, birthDate, address, maritalStatus, communication (languages), a generalPractitioner, a managingOrganization and links to other Patient records for the same person. Every Observation, Condition, Encounter or MedicationStatement references it through subject or patient. Clinical facts never live in Patient; they live in the resources that point to it.
A valid FHIR R4 example
A valid FHIR R4 Patient resource needs only resourceType, but in practice carries at least one identifier with a system and a value, a name with family and given parts, an administrative gender and a birth date. The example below also claims the IPS Patient profile in meta.profile and adds telecom, address, preferred language, general practitioner and managing organisation.
{
"resourceType": "Patient",
"id": "example",
"meta": {"profile": ["http://hl7.org/fhir/uv/ips/StructureDefinition/Patient-uv-ips"]},
"identifier": [{
"use": "usual",
"type": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v2-0203", "code": "MR"}]},
"system": "https://hospital.example.org/mrn",
"value": "MRN-00012345"
}],
"active": true,
"name": [{"use": "official", "family": "Doe", "given": ["Jane", "Marie"], "prefix": ["Ms"]}],
"telecom": [{"system": "email", "value": "[email protected]", "use": "home"}],
"gender": "female",
"birthDate": "1980-05-23",
"address": [{"use": "home", "line": ["12 High Street"], "city": "Leeds", "postalCode": "LS1 4AB", "country": "GB"}],
"communication": [{"language": {"coding": [{"system": "urn:ietf:bcp:47", "code": "en-GB"}]}, "preferred": true}],
"generalPractitioner": [{"reference": "Practitioner/gp-42"}],
"managingOrganization": {"reference": "Organization/hospital"}
}
The elements that matter
The Patient elements that matter most for interoperability are identifier (with system, value and type), name (with use, family and given), administrative gender, birthDate, deceased, active, contact and link. Identifiers and names drive matching between systems, gender and birthDate are administrative facts, and link records how a master patient index connected duplicate records of one person.
- identifier is a list, each with a
system(who issued it) and avalue. Thetypesays what kind:MRmedical record number,NInational identifier,PPNpassport,SSsocial security number, from HL7 table 0203. A patient usually has several; a hospital's MRN and a national ID are both valid, and systems match on them. - name is also a list with a
use:official,usual,nickname,maiden,old.familyis one string;givenis a list. Scripts, transliterations and name order are left to the implementation guide of the country. - gender is administrative gender with four values:
male,female,other,unknown. It is what the record says, used for matching and forms. Clinical sex, gender identity and pronouns go in extensions or Observations, which FHIR R5 and the Gender Harmony project formalised. - birthDate is a date, optionally year-only or year-month when the exact date is unknown. A
patient-birthTimeextension adds the time for newborns. - deceased[x] is a boolean or a date-time. active false marks a record that should no longer be used (duplicate, moved), without deleting it.
- contact lists people to contact (next of kin, guardian), with a relationship code; they are not Patient resources themselves. A parent who is also a patient is a RelatedPerson pointing to both.
- link connects Patient records that are the same person:
replaced-byandreplacesafter a merge,referto the authoritative record,seealsofor a record in another system. This is how a master patient index expresses its decisions in FHIR; see Patient matching.
What national profiles add
National and international FHIR profiles turn the loosely defined base Patient resource into something usable by making elements mandatory and adding country-specific extensions. US Core requires identifier, name and gender and adds race, ethnicity and birth sex extensions; the IPS Patient profile requires name, gender and birthDate; national profiles define identifier systems and address formats.
The base resource makes almost everything optional. Profiles make it usable:
| Profile | Requires | Adds |
|---|---|---|
| US Core Patient (6.x) | identifier, name, gender | Extensions for race, ethnicity, birth sex, gender identity; must-support on birthDate, address, telecom, communication |
| IPS Patient (uv-ips) | name, gender, birthDate | Flags what a cross-border summary must carry; identifier recommended |
| National profiles (DE Basisprofil, FR, NL nl-core, UK Core…) | national identifier systems, address formats | Country-specific extensions: insurance numbers, name parts, legal residence |
A record that will cross a border must satisfy the profile on each side, which in practice means carrying both the national identifier and an MRN, a full official name and a complete birth date. See FHIR implementation guides.
Operations you will use
The FHIR operations most used with Patient are search by identifier or by demographics (GET /Patient with identifier, family or birthdate parameters), the $everything operation, which returns the patient and every resource that references them, and $match, which asks the server's matching algorithm for probable duplicates. A $merge operation is being standardised in FHIR R5.
GET /Patient?identifier=https://hospital.example.org/mrn|MRN-00012345finds a patient by identifier;?family=doe&birthdate=1980-05-23by demographics.GET /Patient/{id}/$everythingreturns the patient and every resource that references them, paged, which is how a whole record is exported.$match(where supported) asks the server's matching algorithm for probable duplicates;$mergeis being standardised in R5.
Mistakes that break patient records
The mistakes that most often break FHIR Patient records are storing a national ID in the resource id instead of identifier, omitting identifier.system so values from different hospitals collide, putting the whole name in text without family and given parts, using administrative gender for clinical sex, and editing a merged record in place instead of linking and deactivating it.
- Putting the national ID in
id. The resourceidbelongs to the server and may change on import; identifiers belong inidentifier. - One
namewith everything intextand nofamily/given, so searches by family name fail. genderused for clinical sex, or set tounknownbecause the form had no field.- Missing
identifier.system, so two hospitals'MRN-1values collide. - Editing a Patient in place when a merge happened, instead of linking and deactivating.
In Anpheros
Anpheros represents every person, the account holder and each family profile, as a FHIR Patient resource on Anpheros Platform, and every record a clinic adds through the API references that Patient. Clinic identifiers are kept as additional identifiers with the clinic's own system, and the demographics a person enters remain administrative data from which nothing clinical is inferred.
When a clinic sends its own identifier, it is stored as an additional identifier with the clinic's system, so the same person can be found from either side. Demographics the person entered in the app are the usual name and administrative data; the record never infers anything clinical from them.
Related pages
- Patient matching and the master patient index
- FHIR implementation guides
- FHIR Encounter explained
- FHIR Condition explained
- FHIR search explained
- Patient example on the developer site
Sources
- HL7 FHIR R4: Patient
- HL7 FHIR R4: Patient $everything
- HL7 Terminology: identifier type codes (v2-0203)
- HL7 US Core: Patient profile
- HL7 IPS: Patient profile
Frequently asked questions
Is Patient the same as Person in FHIR?
No. Person is an administrative resource that links the same human across roles (a Patient here, a Practitioner there, a RelatedPerson elsewhere). Clinical resources reference Patient, never Person.
Where do allergies and conditions go?
In AllergyIntolerance and Condition resources that reference the Patient. Patient itself holds only administrative data.
How do I record a newborn without a name?
With a name whose use is temporary or empty, a birthDate with the patient-birthTime extension, and a link to the mother's record through RelatedPerson or the patient-mothersMaidenName extension, as national profiles specify.
Can one Patient resource be shared by two hospitals?
Each system keeps its own Patient resource with its own id; they share identifiers (a national ID) and may link the records. Matching across systems is the job of a master patient index, not of the resource.
Try it free in the sandbox
Your first FHIR call in 5 minutes. An HL7 FHIR R4 API with the patient's consent built in: try it in the sandbox, then connect your own app or clinic system.
Free · 30 synthetic patients · no card

The more you log, the clearer your record
Your health history in one place, under your control.
Free · Works in your browser · No card
