PractitionerRole
Overview
The PractitionerRole resource defines the roles, specialties, and relationships that practitioners have with organizations, locations, and healthcare services. This resource connects individual practitioners to their professional contexts within healthcare organizations.
Use Cases:
- Identify practitioner roles and specialties
- Track practitioner-organization relationships
- Reference practitioner roles in care documentation
- Support care team coordination
Relationships to Other Resources:
- Practitioner - Individual healthcare providers performing the role
- Organization - Organizations where practitioners work
- Location - Physical locations where practitioners provide services
- Provenance - Audit trail information
Resource Schema
Key fields in the PractitionerRole resource:
{
"resourceType": "PractitionerRole",
"id": "example-practitioner-role",
"active": true,
"period": {
"start": "2020-01-01",
"end": "2025-12-31"
},
"practitioner": {
"reference": "Practitioner/prac-123",
"display": "Dr. Sarah Johnson"
},
"organization": {
"reference": "Organization/org-456",
"display": "Community Health Center"
},
"code": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/practitioner-role",
"code": "doctor",
"display": "Doctor"
}
]
}
],
"specialty": [
{
"coding": [
{
"system": "http://nucc.org/provider-taxonomy",
"code": "207R00000X",
"display": "Internal Medicine"
}
]
}
],
"location": [
{
"reference": "Location/loc-789",
"display": "Main Campus"
}
],
"telecom": [
{
"system": "phone",
"value": "(555) 123-4567",
"use": "work"
},
{
"system": "email",
"value": "sjohnson@example.com",
"use": "work"
}
]
}
Key Fields:
- practitioner - Reference to the individual practitioner
- organization - Organization where the role is performed
- specialty - Medical specialties for this role
- location - Where the practitioner provides services
- code - Type of role (doctor, nurse, etc.)
- telecom - Contact information for this role
Operations
The Certified API PractitionerRole resource supports the following standard operations. However, support varies by the targeted CareRecord or solution.
| CareRecord / Solution | Create | Read | Update | Search |
|---|---|---|---|---|
| GEHRIMED | - | Yes | - | Yes |
| myAvatar | - | Yes | - | Yes |
| myEvolv | - | Yes | - | Yes |
| myUnity | - | Yes | - | Yes |
| TheraOffice | - | Yes | - | Yes |
Read
Retrieve a specific PractitionerRole resource by its ID.
Search
Not all Netsmart solutions support PractitionerRole search. See supported operations table above and consult your target solution's documentation for more information.
Search for practitioner roles using various criteria.
GET Method
Use GET for simple searches with parameters in the query string.
- Production
- Preview
GET /PractitionerRole?parameter=value
GET /PractitionerRole?parameter=value
POST Method
Use POST for complex searches with form-encoded parameters.
- Production
- Preview
POST /PractitionerRole/_search
POST /PractitionerRole/_search
Search Parameters
Search Parameters:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
active | token | No | Whether this practitioner role record is in active use | active=value |
date | date | No | The period during which the practitioner is authorized to perform in these role(s) | date=value |
email | token | No | A value in an email contact | email=value |
location | reference | No | One of the locations at which this practitioner provides care | location=value |
organization | reference | No | The identity of the organization the practitioner represents / acts on behalf of | organization=value |
phone | token | No | A value in a phone contact | phone=value |
practitioner | reference | No | Practitioner that is able to provide the defined services for the organization | practitioner=value |
role | token | No | The practitioner can perform this role at for the organization | role=value |
specialty | token | No | The practitioner has this specialty at an organization | specialty=value |
| _lastUpdated | date | No | Only return resources which were last updated as specified by the given range | _lastUpdated=value |
| _revinclude | special | No | Include Provenance resource(s) that reference the matched search results. Allowed: "Provenance:target" | _revinclude=value |
| _id | string | Yes | The ID of the resource | _id=value |
Examples
Read Request
- Production
- Preview
curl -X GET "https://fhir.netsmartcloud.com/provider/system-access/v2/{tenant-id}/PractitionerRole/example-practitioner-role" \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
curl -X GET "https://fhirtest.netsmartcloud.com/provider/system-access/v2/{tenant-id}/PractitionerRole/example-practitioner-role" \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
Common Search Patterns
Find roles by practitioner:
GET /PractitionerRole?practitioner=Practitioner/prac-123
Search by organization:
GET /PractitionerRole?organization=Organization/org-456
Find roles by specialty:
GET /PractitionerRole?specialty=207R00000X
Search by location:
GET /PractitionerRole?location=Location/loc-789
Find active roles:
GET /PractitionerRole?active=true
Request Examples
- Production
- Preview
curl -X POST https://fhir.netsmartcloud.com/provider/system-access/v2/{tenant-id}/PractitionerRole/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "organization=Organization/org-456"
curl -X GET "https://fhir.netsmartcloud.com/provider/system-access/v2/{tenant-id}/PractitionerRole?practitioner=Practitioner/prac-123&_include=PractitionerRole:organization&_include=PractitionerRole:location" \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
curl -X POST https://fhir.netsmartcloud.com/provider/system-access/v2/{tenant-id}/PractitionerRole/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "specialty=207R00000X&active=true"
curl -X POST https://fhirtest.netsmartcloud.com/provider/system-access/v2/{tenant-id}/PractitionerRole/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "organization=Organization/org-456"
curl -X GET "https://fhirtest.netsmartcloud.com/provider/system-access/v2/{tenant-id}/PractitionerRole?practitioner=Practitioner/prac-123&_include=PractitionerRole:organization&_include=PractitionerRole:location" \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
curl -X POST https://fhirtest.netsmartcloud.com/provider/system-access/v2/{tenant-id}/PractitionerRole/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "specialty=207R00000X&active=true"
Integration Patterns
Common Workflows
- Provider Role Discovery: Find practitioner roles within organizations
- Care Team Assembly: Reference practitioner roles in care plans and encounters
- Specialty Lookup: Search for practitioners by medical specialty
- Location-Based Search: Find practitioners at specific locations
Related Resources
- Practitioner - Individual healthcare providers
- Organization - Organizations where practitioners work
- Location - Service locations
- Encounter - References practitioner roles for care providers
- Observation - May reference practitioner roles for performing providers
- Provenance - Audit trail information
Include Parameters
Use _include to fetch related resources:
# Get roles with practitioner details
GET /PractitionerRole?organization=Organization/org-456&_include=PractitionerRole:practitioner
# Get roles with organization and location details
GET /PractitionerRole?practitioner=Practitioner/prac-123&_include=PractitionerRole:organization&_include=PractitionerRole:location
Error Handling
For detailed error codes and handling, see the Error Handling documentation.
PractitionerRole-Specific Error Scenarios
- 404 Not Found: PractitionerRole ID doesn't exist or role is inactive
- 400 Bad Request: Invalid specialty codes or malformed reference parameters
- Empty Results: No practitioner roles match the search criteria
Troubleshooting Tips
- No Specialty Results: Verify specialty codes use NUCC taxonomy format
- Reference Errors: Ensure referenced practitioners, organizations, and locations exist
- Include Errors: Verify include parameters match supported values
Supported Profiles
This API supports the following FHIR profiles: