Jefferson Health Plans Provider Directory FHIR API

The Jefferson Health Plans Provider Directory FHIR API is a public, unauthenticated HL7 FHIR R4 endpoint powered by Smile CDR 2025.02.R04 that surfaces JHP's network of in-network practitioners, organizations, locations, healthcare services, and insurance plans for the CMS Interoperability and Patient Access Provider Directory requirement. Supported resources are Practitioner, PractitionerRole, Organization, Location, HealthcareService, InsurancePlan, and Endpoint, all aligned with the HL7 Da Vinci Payer Data Exchange Plan-Net implementation guide.

Jefferson Health Plans Provider Directory FHIR API is one of 5 APIs that Jefferson Health publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 3 machine-runnable capabilities that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include CMS Interoperability, Da Vinci Plan-Net, FHIR, Payer, and Plan-Net. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 3 Naftiko capability specs.

Documentation

Specifications

Other Resources

OpenAPI Specification

jefferson-health-jhp-provider-directory-fhir-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Jefferson Health Plans Provider Directory FHIR API
  description: >-
    OpenAPI surface for the Jefferson Health Plans (formerly Health Partners
    Plans) Provider Directory FHIR API — a public HL7 FHIR Release 4.0.1
    endpoint powered by Smile CDR 2025.02.R04 that surfaces JHP's network
    of in-network practitioners, organizations, locations, healthcare
    services, and insurance plans for the CMS Interoperability and Patient
    Access Provider Directory requirement. Aligned with the HL7 Da Vinci
    Payer Data Exchange Plan-Net implementation guide.
  version: '4.0.1'
  contact:
    name: Jefferson Health Plans Interoperability
    url: https://www.jeffersonhealthplans.com/home/about-us/interoperability/api-tools/
  license:
    name: HL7 FHIR License
    url: https://www.hl7.org/fhir/license.html
servers:
- url: https://providerfhirapi.healthpartnersplans.com
  description: Jefferson Health Plans Provider Directory FHIR R4 production endpoint
externalDocs:
  description: HL7 Da Vinci PDEX Plan-Net Implementation Guide
  url: https://build.fhir.org/ig/HL7/davinci-pdex-plan-net/
tags:
- name: Metadata
  description: FHIR conformance discovery.
- name: Practitioner
  description: A person who is directly or indirectly involved in the provisioning of healthcare.
- name: Practitioner Role
  description: A specific set of roles a practitioner may perform at an organization for a period of time.
- name: Organization
  description: A formally or informally recognized grouping of people or organizations.
- name: Location
  description: Details and position information for a physical place.
- name: Healthcare Service
  description: The details of a healthcare service available at a location.
- name: Insurance Plan
  description: Details of a Health Insurance product/plan provided by an organization.
- name: Endpoint
  description: The technical details of an endpoint that can be used for electronic services.
paths:
  /metadata:
    get:
      tags:
      - Metadata
      summary: Get FHIR Capability Statement
      description: Returns the FHIR CapabilityStatement describing the Provider Directory's supported resources and search parameters.
      operationId: getMetadata
      responses:
        '200':
          description: FHIR CapabilityStatement resource
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/CapabilityStatement'
  /Practitioner/{id}:
    get:
      tags:
      - Practitioner
      summary: Read Practitioner By Id
      operationId: readPractitioner
      parameters:
      - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: Practitioner resource
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Practitioner'
  /Practitioner:
    get:
      tags:
      - Practitioner
      summary: Search Practitioner
      description: Search Practitioner resources by name, family, given, or resource id.
      operationId: searchPractitioner
      parameters:
      - name: name
        in: query
        description: Practitioner name.
        schema:
          type: string
      - name: family
        in: query
        description: Family name.
        schema:
          type: string
      - name: given
        in: query
        description: Given name.
        schema:
          type: string
      - $ref: '#/components/parameters/Count'
      responses:
        '200':
          description: Bundle of Practitioner resources
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /PractitionerRole:
    get:
      tags:
      - Practitioner Role
      summary: Search Practitioner Role
      description: Search PractitionerRole resources by specialty, role, network, organization, practitioner, service, location, or endpoint.
      operationId: searchPractitionerRole
      parameters:
      - name: specialty
        in: query
        schema:
          type: string
      - name: role
        in: query
        schema:
          type: string
      - name: network
        in: query
        schema:
          type: string
      - name: organization
        in: query
        schema:
          type: string
      - name: practitioner
        in: query
        schema:
          type: string
      - name: service
        in: query
        schema:
          type: string
      - name: location
        in: query
        schema:
          type: string
      - name: endpoint
        in: query
        schema:
          type: string
      - $ref: '#/components/parameters/Count'
      responses:
        '200':
          description: Bundle of PractitionerRole resources
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /Organization/{id}:
    get:
      tags:
      - Organization
      summary: Read Organization By Id
      operationId: readOrganization
      parameters:
      - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: Organization resource
          content:
            application/fhir+json:
              schema:
                type: object
  /Organization:
    get:
      tags:
      - Organization
      summary: Search Organization
      description: Search Organization resources by type, endpoint, coverage area, name, address, or id.
      operationId: searchOrganization
      parameters:
      - name: type
        in: query
        schema:
          type: string
      - name: endpoint
        in: query
        schema:
          type: string
      - name: coverage-area
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: address
        in: query
        schema:
          type: string
      - $ref: '#/components/parameters/Count'
      responses:
        '200':
          description: Bundle of Organization resources
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /Location:
    get:
      tags:
      - Location
      summary: Search Location
      description: Search Location resources by address components, type, endpoint, organization, or hierarchy.
      operationId: searchLocation
      parameters:
      - name: address-state
        in: query
        schema:
          type: string
      - name: address-city
        in: query
        schema:
          type: string
      - name: address-postalcode
        in: query
        schema:
          type: string
      - name: type
        in: query
        schema:
          type: string
      - name: endpoint
        in: query
        schema:
          type: string
      - name: organization
        in: query
        schema:
          type: string
      - $ref: '#/components/parameters/Count'
      responses:
        '200':
          description: Bundle of Location resources
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /HealthcareService:
    get:
      tags:
      - Healthcare Service
      summary: Search Healthcare Service
      description: Search HealthcareService resources by specialty, service category/type, coverage area, organization, name, location, or id.
      operationId: searchHealthcareService
      parameters:
      - name: specialty
        in: query
        schema:
          type: string
      - name: service-category
        in: query
        schema:
          type: string
      - name: service-type
        in: query
        schema:
          type: string
      - name: coverage-area
        in: query
        schema:
          type: string
      - name: organization
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - name: location
        in: query
        schema:
          type: string
      - $ref: '#/components/parameters/Count'
      responses:
        '200':
          description: Bundle of HealthcareService resources
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /InsurancePlan:
    get:
      tags:
      - Insurance Plan
      summary: Search Insurance Plan
      description: Search InsurancePlan resources by plan type, coverage area, identifier, administered-by organization, or name.
      operationId: searchInsurancePlan
      parameters:
      - name: type
        in: query
        schema:
          type: string
      - name: coverage-area
        in: query
        schema:
          type: string
      - name: identifier
        in: query
        schema:
          type: string
      - name: administered-by
        in: query
        schema:
          type: string
      - name: name
        in: query
        schema:
          type: string
      - $ref: '#/components/parameters/Count'
      responses:
        '200':
          description: Bundle of InsurancePlan resources
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /Endpoint:
    get:
      tags:
      - Endpoint
      summary: Search Endpoint
      description: Search Endpoint resources by managing organization or resource id.
      operationId: searchEndpoint
      parameters:
      - name: organization
        in: query
        schema:
          type: string
      - $ref: '#/components/parameters/Count'
      responses:
        '200':
          description: Bundle of Endpoint resources
          content:
            application/fhir+json:
              schema:
                $ref: '#/components/schemas/Bundle'
components:
  parameters:
    ResourceId:
      name: id
      in: path
      required: true
      description: FHIR logical id of the resource.
      schema:
        type: string
    Count:
      name: _count
      in: query
      description: Number of resources to return per page.
      schema:
        type: integer
        minimum: 1
        maximum: 1000
  schemas:
    CapabilityStatement:
      type: object
      description: HL7 FHIR CapabilityStatement resource.
      properties:
        resourceType:
          type: string
          enum: [CapabilityStatement]
        fhirVersion:
          type: string
          example: '4.0.1'
        software:
          type: object
        rest:
          type: array
          items:
            type: object
    Bundle:
      type: object
      description: HL7 FHIR Bundle resource (searchset).
      properties:
        resourceType:
          type: string
          enum: [Bundle]
        type:
          type: string
          enum: [searchset]
        total:
          type: integer
        entry:
          type: array
          items:
            type: object
    Practitioner:
      type: object
      properties:
        resourceType:
          type: string
          enum: [Practitioner]
        id:
          type: string
        identifier:
          type: array
          items:
            type: object
        name:
          type: array
          items:
            type: object