Dashboard

Connectivity Intelligence API

Find FHIR endpoints, Direct addresses, and other connectivity options for healthcare providers by NPI.

Overview

The Connectivity Intelligence API answers a fundamental question in health IT: "How do I connect to this provider's system?"

Given a provider's NPI, the API returns all known connectivity targets (health systems, facilities, HIEs) associated with that provider, along with their FHIR endpoints, Direct addresses, and verification evidence. Data is sourced from:

  • CMS NPPES endpoint reference files (updated weekly)
  • ONC Lantern CHPL endpoint data (70,000+ FHIR endpoints)
  • Hourly verification probes that test endpoint availability and extract SMART/OAuth metadata

Currently, connectivity data is richest for organization NPIs (Type 2). Individual provider NPIs return connectivity targets only when the provider is linked to a known organization. If no links exist, the response will contain an empty connectivity_targets array.

Endpoints

Method Path Description
GET /v1/npi/:npi/connectivity Look up connectivity options for a provider

Lookup

Find connectivity options for a provider

Request
Node.js
import { Fhirfly } from "@fhirfly-io/terminology";

const client = new Fhirfly({ apiKey: "YOUR_API_KEY" });

const result = await client.connectivity.lookup("1234567890");
console.log(result.provider_summary.name);
console.log(result.connectivity_targets);
Response
JSON
{
  "npi": "1234567890",
  "provider_summary": {
    "name": "ACME HEALTH PARTNERS",
    "entity_type": "organization",
    "primary_taxonomy": "207Q00000X",
    "primary_taxonomy_desc": "Family Medicine"
  },
  "connectivity_targets": [
    {
      "target_id": "target_acme_health",
      "name": "Acme Health System",
      "type": "health_system",
      "link_type": "organization_npi",
      "link_confidence": "high",
      "ehr_vendor": "Epic",
      "network_participation": [
        "Carequality",
        "CommonWell"
      ],
      "endpoints": [
        {
          "endpoint_id": "ep_fhir_acme_001",
          "type": "fhir_r4",
          "url": "https://fhir.acmehealth.example.org/api/FHIR/R4",
          "scope": "production",
          "status": "active",
          "last_verified_at": "2026-02-10T08:15:00Z",
          "fhir_metadata": {
            "version": "4.0.1",
            "capabilities": [
              "launch-ehr",
              "launch-standalone",
              "patient-access"
            ],
            "supported_resources": [
              "Patient",
              "Condition",
              "MedicationRequest",
              "AllergyIntolerance"
            ],
            "security": {
              "oauth_authorize_url": "https://fhir.acmehealth.example.org/oauth2/authorize",
              "oauth_token_url": "https://fhir.acmehealth.example.org/oauth2/token"
            }
          },
          "availability": {
            "percentage": 99.8,
            "probe_count": 142,
            "last_checked": "2026-02-10T08:15:00Z",
            "last_successful": "2026-02-10T08:15:00Z",
            "consecutive_failures": 0
          },
          "evidence_summary": {
            "latest_verification": "http_probe",
            "verification_count": 142,
            "first_seen": "2026-01-15T00:00:00Z",
            "sources": [
              "http_probe",
              "smart_discovery",
              "nppes_endpoint_file"
            ]
          }
        },
        {
          "endpoint_id": "ep_direct_acme_001",
          "type": "direct",
          "url": "provider@direct.acmehealth.example.org",
          "scope": "production",
          "status": "active",
          "last_verified_at": "2026-02-09T14:30:00Z",
          "evidence_summary": {
            "latest_verification": "nppes_endpoint_file",
            "verification_count": 4,
            "first_seen": "2026-01-20T00:00:00Z",
            "sources": [
              "nppes_endpoint_file"
            ]
          }
        }
      ]
    }
  ],
  "meta": {
    "data_as_of": "2026-02-10T08:15:00Z",
    "disclaimer": "Connectivity data is provided as-is. Verify endpoint access with each organization before use in production."
  }
}

Response Structure

provider_summary

Basic information about the provider from the NPI registry.

Field Type Description
name string Provider name (individual or organization)
entity_type string "individual", "organization", or "unknown"
primary_taxonomy string Primary NUCC taxonomy code
primary_taxonomy_desc string Taxonomy description (e.g., "Family Medicine")

connectivity_targets[]

Organizations linked to this NPI with their available endpoints.

Field Type Description
target_id string Unique identifier for the organization
name string Organization name
type string Organization type (see Target Types)
link_type string How the NPI is linked (see Link Types)
link_confidence string Confidence level (see Confidence Levels)
ehr_vendor string? EHR vendor name (e.g., "Epic", "Oracle Health")
network_participation string[]? Health information networks (e.g., "Carequality", "CommonWell")
endpoints array Available endpoints for this target

endpoints[]

Individual connectivity endpoints within a target.

Field Type Description
endpoint_id string Unique endpoint identifier
type string Endpoint type (see Endpoint Types)
url string Base URL or Direct address
scope string "production", "sandbox", or "unknown"
status string Current status (see Endpoint Statuses)
last_verified_at string? ISO 8601 timestamp of last verification
fhir_metadata object? FHIR-specific metadata (version, capabilities, OAuth URLs)
availability object? Uptime statistics from automated probing
evidence_summary object Summary of verification evidence

availability

Uptime statistics computed from automated hourly probing.

Field Type Description
percentage number Uptime percentage (e.g., 99.8)
probe_count number Total number of probes recorded
last_checked string When the endpoint was last probed
last_successful string | null When the endpoint last responded successfully
consecutive_failures number Current streak of consecutive failures

fhir_metadata

Metadata extracted from FHIR endpoint probing (FHIR endpoints only).

Field Type Description
version string? FHIR version (e.g., "4.0.1")
capabilities string[]? SMART launch capabilities
supported_resources string[]? FHIR resource types supported
security.oauth_authorize_url string? OAuth2 authorization URL
security.oauth_token_url string? OAuth2 token URL

Enums

Endpoint Types

Type Description
fhir_r4 FHIR R4 server
fhir_stu3 FHIR STU3 server
fhir_dstu2 FHIR DSTU2 server
direct Direct Messaging address
hl7v2_adt HL7v2 ADT feed
x12 X12 EDI endpoint
other Other endpoint type

Endpoint Statuses

Status Description
active Endpoint responded successfully on last verification
inactive Endpoint is known to be offline or decommissioned
unverified Endpoint has not yet been verified
unreachable Endpoint failed to respond on last verification

Target Types

Type Description
health_system Integrated health system or hospital network
facility Individual hospital or clinic
practice Medical practice or physician group
hie Health Information Exchange
qhin Qualified Health Information Network (TEFCA)
payer Health insurance payer
Type Description
organization_npi This NPI belongs to the organization itself
employed_by Provider is employed by this organization
affiliated Provider has privileges or affiliation
practice_location Provider practices at this location

Confidence Levels

Level Description
high Direct match (e.g., organization NPI, NPPES endpoint file)
medium Strong indirect evidence (e.g., normalized name match)
low Weak indirect evidence
inferred Algorithmically inferred link

SDK Usage

Node.js
import { Fhirfly } from "@fhirfly-io/terminology";

const client = new Fhirfly({ apiKey: "your-api-key" });

const result = await client.connectivity.lookup("1234567890");

console.log(`Provider: ${result.provider_summary.name}`);

for (const target of result.connectivity_targets) {
  console.log(`${target.name} (${target.ehr_vendor ?? "Unknown EHR"})`);
  for (const endpoint of target.endpoints) {
    console.log(`  ${endpoint.type}: ${endpoint.url} [${endpoint.status}]`);
  }
}

Required Scopes

  • connectivity.read — Look up provider connectivity and FHIR endpoints

See Also

  • NPI API — Look up provider identity and taxonomy information