FHIR Practitioner Resource (R5)
Practitioner describes a person involved in care delivery: physician, nurse, pharmacist. Element table, search parameters, example JSON and FHIRPath for FHIR R5.
- FHIR Practitioner Resource (R5) — part of the free FHIR Toolbox library.
- Runs entirely in your browser: your FHIR data is never uploaded to a server.
Overview
Practitioner describes a person involved in care delivery: physician, nurse, pharmacist. Practitioner holds who they are (name, identifiers such as NPI, contact details, qualifications); where and in what role they work is modelled by PractitionerRole.
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
| Practitioner.identifier | Identifier | 0..* | An identifier for the person as this agent |
| Practitioner.active | boolean | 0..1 | Whether this practitioner's record is in active use |
| Practitioner.name | HumanName | 0..* | The name(s) associated with the practitioner |
| Practitioner.telecom | ContactPoint | 0..* | A contact detail for the practitioner (that apply to all roles) |
| Practitioner.gender | code | 0..1 | male | female | other | unknown |
| Practitioner.birthDate | date | 0..1 | The date on which the practitioner was born |
| Practitioner.deceased[x] | boolean | dateTime | 0..1 | Indicates if the practitioner is deceased or not |
| Practitioner.address | Address | 0..* | Address(es) of the practitioner that are not role specific (typically home address) |
| Practitioner.photo | Attachment | 0..* | Image of the person |
| Practitioner.qualification | BackboneElement | 0..* | Qualifications, certifications, accreditations, licenses, training, etc. pertaining to the provision of care |
| Practitioner.qualification.id | String | 0..1 | Unique id for inter-element referencing |
| Practitioner.qualification.extension | Extension | 0..* | Additional content defined by implementations |
| Practitioner.qualification.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Practitioner.qualification.identifier | Identifier | 0..* | An identifier for this qualification for the practitioner |
| Practitioner.qualification.code | CodeableConcept | 1..1 | Coded representation of the qualification |
| Practitioner.qualification.period | Period | 0..1 | Period during which the qualification is valid |
| Practitioner.qualification.issuer | Reference | 0..1 | Organization that regulates and issues the qualification |
| Practitioner.communication | BackboneElement | 0..* | A language which may be used to communicate with the practitioner |
| Practitioner.communication.id | String | 0..1 | Unique id for inter-element referencing |
| Practitioner.communication.extension | Extension | 0..* | Additional content defined by implementations |
| Practitioner.communication.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Practitioner.communication.language | CodeableConcept | 1..1 | The language code used to communicate with the practitioner |
| Practitioner.communication.preferred | boolean | 0..1 | Language preference indicator |
Example JSON (R5)
{
"resourceType": "Practitioner",
"id": "example",
"identifier": [
{
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "1234567893"
}
],
"active": true,
"name": [
{
"family": "Johnson",
"given": [
"Alice"
],
"prefix": [
"Dr."
]
}
],
"telecom": [
{
"system": "email",
"value": "a.johnson@example.org"
}
],
"qualification": [
{
"code": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0360",
"code": "MD"
}
]
}
}
]
}
FHIRPath
Practitioner.identifier.where(system='http://hl7.org/fhir/sid/us-npi').value— NPI numberPractitioner.name.family— Family name
Common validation errors
- Putting role, specialty or organization directly on Practitioner. That belongs in PractitionerRole.
- Sending an NPI without system http://hl7.org/fhir/sid/us-npi.
- Treating name as a single object rather than an array.
FHIR Toolbox is a free, privacy-first collection of HL7 FHIR utilities by Omindra Labs. Every tool performs zero-server processing — your health data never leaves your device.