PractitionerRole

The FHIR R4 PractitionerRole resource defines the role, specialty, location, and organizational affiliation of a practitioner. It is used to represent a practitioner's position within an organization and to associate them with locations where they provide care. Health Gorilla supports reading, creating, updating, and deleting PractitionerRole records.

Use Cases

  • Associate a provider with their clinic, department, or healthcare organization
  • Identify specialties and available service locations for a practitioner
  • Filter practitioners by role, specialty, or managing organization

Base URLs

Authentication

All requests require OAuth 2.0 authentication using a Bearer Token. Unauthorized requests return 401 Unauthorized responses.

Required Scopes

  • practitionerrole.read for GET
  • practitionerrole.write for POST, PUT, DELETE

For more information, go to: OAuth 2.0 Authentication.

Supported Methods

MethodOperationDescription
GETRead PractitionerRoleRetrieves a specific PractitionerRole record by its FHIR ID.
GETSearch PractitionerRoleSearches for PractitionerRole records using supported parameters.
POSTCreate PractitionerRoleSubmits a new PractitionerRole record to the Health Gorilla FHIR server.
PUTUpdate PractitionerRoleUpdates an existing PractitionerRole record by full resource replacement.

Search Parameters

ParameterDescriptionFHIR Value Set / Example ValuesFHIR Data TypeRequired
practitionerFilters by the referenced Practitioner IDPractitioner/{id}ReferenceNo
organizationFilters by affiliated Organization IDOrganization/{id}ReferenceNo
locationFilters by associated Location IDLocation/{id}ReferenceNo
specialtyFilters by the practitioner’s specialtySpecialty (cardiology)tokenNo
roleFilters by the practitioner's functional rolePractitionerRoleCode (nurse, doctor)tokenNo
identifierFilters by a practitioner's identifier, such as a National Provider Identifier (NPI)1234567893tokenNo
_idFilters by the PractitionerRole FHIR IDPractitionerRole/{id}tokenNo

Searching by Organization and NPI

You can find a practitioner within a tenant by passing the organization and identifier parameters together in a single PractitionerRole search. The identifier parameter carries the practitioner's NPI in system|value form, and organization scopes the search to one tenant. Health Gorilla returns only the practitioner roles that match both parameters, so a single call replaces querying by one parameter and filtering the results yourself. You can still search by identifier or organization alone: combining them narrows the results to practitioners that match both.

Example

GET /fhir/R4/PractitionerRole?identifier=http://hl7.org/fhir/sid/us-npi|1234567893&organization=t-<tenant-id>

The response is a Bundle of type searchset, which lists the matching resources and reports how many matched in total. When a practitioner holds more than one role at the organization, the Bundle contains one entry per role, so read total and iterate the entry array rather than assuming a single result. When no practitioner matches both parameters, the Bundle is empty with total of 0.

The identifier value must include the NPI namespace, http://hl7.org/fhir/sid/us-npi. An identifier without a namespace returns 400 Bad Request, and an unsupported namespace also returns 400. You can search only within your own tenant: a request that scopes organization to a tenant other than your own returns 405 Method Not Allowed, which here signals a cross-tenant scope restriction rather than an unsupported HTTP method.

Commonly Returned Resource Attributes

AttributeDescriptionExample ValuesFHIR Data TypeRequired
idUnique FHIR ID for the PractitionerRoleprrole-123456idYes
practitionerReference to the individual practitionerPractitioner/{id}Reference(Practitioner)Yes
organizationOrganization where the role is performedOrganization/{id}Reference(Organization)No
locationLocations where the practitioner provides servicesLocation/{id}Reference[]No
codeFunctional role within the organizationdoctorCodeableConcept[]No
specialtyPractitioner’s area of clinical focuscardiologyCodeableConcept[]No
telecomContact details for scheduling or inquiriesPhone, email, faxContactPoint[]No
periodTime period when the role is/was active2022-01-01 to 2023-12-31PeriodNo
activeWhether the practitioner currently holds this roletruebooleanNo
endpointReferences to scheduling, messaging, or other service endpointsEndpoint/{id}Reference[]No

Webhooks

PractitionerRole records are not directly webhook-triggered, but they may appear as references in payloads for events such as Encounter, Appointment, or MedicationRequest.

For more information, go to: Webhooks & Polling.

Error Handling

All PractitionerRole operations follow standard Health Gorilla error handling, including use of FHIR OperationOutcome for structured responses.
For more information, go to: Error Handling.

Additional Resources

HL7 FHIR PractitionerRole