Skip to main content

Practitioner

Overview

The Practitioner resource represents individual healthcare providers such as doctors, nurses, therapists, and other clinical professionals. Practitioners are the people who deliver healthcare services within provider networks.

Key Use Cases:

  • Find healthcare providers by name or specialty
  • Locate practitioners by geographic area
  • Verify provider credentials and identifiers
  • Discover provider contact information

Relationships to Other Resources:

  • PractitionerRole - Defines roles and positions practitioners hold at organizations
  • Organization - Organizations that employ or contract with practitioners
  • Location - Physical locations where practitioners provide services
  • HealthcareService - Services that practitioners provide

Resource Schema

Key fields in the Practitioner resource:

{
"resourceType": "Practitioner",
"id": "string",
"identifier": [
{
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "1234567890"
}
],
"active": true,
"name": [
{
"use": "official",
"family": "string",
"given": ["string"],
"prefix": ["Dr.", "Mr.", "Ms."],
"suffix": ["MD", "RN", "PhD"]
}
],
"telecom": [
{
"system": "phone|email|fax",
"value": "string",
"use": "work|home|mobile"
}
],
"address": [
{
"use": "work|home",
"line": ["string"],
"city": "string",
"state": "string",
"postalCode": "string",
"country": "string"
}
],
"gender": "male|female|other|unknown",
"birthDate": "YYYY-MM-DD",
"qualification": [
{
"code": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0360",
"code": "MD",
"display": "Doctor of Medicine"
}
]
},
"issuer": {
"reference": "Organization/medical-board"
}
}
]
}

Key Fields:

  • id - Unique identifier for the practitioner
  • identifier - External identifiers (NPI, state license numbers)
  • name - Practitioner's name components
  • telecom - Contact information
  • address - Practice addresses
  • qualification - Professional credentials and certifications

Operations

Read

Retrieve a specific practitioner by ID.

GET /Practitioner/{id}
Example Request
curl -X GET https://fhir.netsmartcloud.com/payer/provider-directory/v2/{tenant-id}/Practitioner/prac-123 \
-H "Accept: application/fhir+json"

Search for practitioners using various criteria.

GET Method

Use GET for simple searches with parameters in the query string.

GET /Practitioner?parameter=value

POST Method

Use POST for complex searches with form-encoded parameters.

POST /Practitioner/_search

Search Parameters

Search Parameters:

ParameterTypeRequiredDescriptionExample
familystringNoFamily (last) namefamily=Smith
givenstringNoGiven (first) namegiven=John
identifiertokenNoNPI or other identifieridentifier=1234567890
namestringNoAny part of practitioner namename=John Smith

Common Search Patterns

Find practitioners by last name:

GET /Practitioner?family=Smith&_count=10

Search by full name:

GET /Practitioner?name=John Smith

Find by NPI number:

GET /Practitioner?identifier=1234567890

Search by first and last name:

GET /Practitioner?given=John&family=Smith

Examples

Request Examples

Search by family name
curl -X POST https://fhir.netsmartcloud.com/payer/provider-directory/v2/{tenant-id}/Practitioner/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "family=Smith&_count=10"
Search by NPI identifier
curl -X POST https://fhir.netsmartcloud.com/payer/provider-directory/v2/{tenant-id}/Practitioner/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "identifier=1234567890"
Search by full name
curl -X POST https://fhir.netsmartcloud.com/payer/provider-directory/v2/{tenant-id}/Practitioner/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "name=Dr.%20Sarah%20Johnson"

Response Examples

Successful Search Response

Practitioner Search Bundle
{
"resourceType": "Bundle",
"type": "searchset",
"total": 2,
"entry": [
{
"resource": {
"resourceType": "Practitioner",
"id": "prac-123",
"identifier": [
{
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "1234567890"
}
],
"active": true,
"name": [
{
"use": "official",
"family": "Smith",
"given": ["John", "Michael"],
"prefix": ["Dr."],
"suffix": ["MD"]
}
],
"telecom": [
{
"system": "phone",
"value": "(916) 555-0123",
"use": "work"
},
{
"system": "email",
"value": "j.smith@example.com",
"use": "work"
}
],
"gender": "male",
"qualification": [
{
"code": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0360",
"code": "MD",
"display": "Doctor of Medicine"
}
]
}
}
]
}
}
]
}

Individual Practitioner Response

Single Practitioner Resource
{
"resourceType": "Practitioner",
"id": "prac-456",
"identifier": [
{
"system": "http://hl7.org/fhir/sid/us-npi",
"value": "9876543210"
},
{
"system": "http://example.org/state-license",
"value": "CA-12345"
}
],
"active": true,
"name": [
{
"use": "official",
"family": "Johnson",
"given": ["Sarah", "Elizabeth"],
"prefix": ["Dr."],
"suffix": ["MD", "PhD"]
}
],
"telecom": [
{
"system": "phone",
"value": "(415) 555-0199",
"use": "work"
}
],
"address": [
{
"use": "work",
"line": ["123 Medical Center Dr"],
"city": "San Francisco",
"state": "CA",
"postalCode": "94102",
"country": "US"
}
],
"gender": "female",
"qualification": [
{
"code": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v2-0360",
"code": "MD",
"display": "Doctor of Medicine"
}
]
}
}
]
}

Integration Patterns

Common Workflows

1. Find Practitioners by Specialty and Location

# Step 1: Search for practitioner roles by specialty
GET /PractitionerRole?specialty=207R00000X&location.address-state=CA

# Step 2: Get practitioner details using _include
GET /PractitionerRole?specialty=207R00000X&_include=PractitionerRole:practitioner

# Step 3: Get specific practitioner
GET /Practitioner/prac-123

2. Verify Provider Credentials

# Step 1: Find practitioner by NPI
GET /Practitioner?identifier=1234567890

# Step 2: Get their roles and organizations
GET /PractitionerRole?practitioner=Practitioner/prac-123

# Step 3: Verify organization affiliations
GET /Organization/org-456

Include Parameters

Use _include and _revinclude to fetch related resources:

# Get practitioner with their roles
GET /Practitioner?family=Smith&_revinclude=PractitionerRole:practitioner

# Get practitioner roles with practitioner details
GET /PractitionerRole?specialty=cardiology&_include=PractitionerRole:practitioner

Error Handling

The Practitioner resource follows standard FHIR error handling patterns. For detailed error responses and troubleshooting guidance, see the Common Errors page.

Practitioner-Specific Error Scenarios

  • 404 Not Found: Practitioner ID doesn't exist or practitioner is inactive
  • 400 Bad Request: Invalid search parameters (e.g., using specialty on Practitioner instead of PractitionerRole)
  • Empty Results: No practitioners match the search criteria

Troubleshooting Tips

  • No Results for Specialty Search: Use PractitionerRole resource instead of Practitioner for specialty-based searches
  • Name Variations: Try searching with partial names or different name components
  • Identifier Issues: Verify NPI format and ensure leading zeros are included

Supported Profiles