VerityVerity

Quickstart

Get started with the Verity API for Medicare and commercial coverage intelligence

Verity gives you instant access to Medicare and commercial coverage policies as structured, searchable data.

What Verity does

Coverage policies are scattered across CMS documents, Medicare contractor publications, and commercial payer portals. Finding them means digging through PDFs, payer sites, dense policy documents, and manually tracking changes.

Verity solves this. We extract coverage criteria, prior auth requirements, and code coverage from Medicare LCDs, Articles, NCDs, and commercial payer policies. You get clean JSON instead of unstructured PDFs.

Installation

We built SDKs for the languages developers actually use:

pip install git+https://github.com/backworkai/verity-python.git

View Python docs →

npm install @backwork/verity-api

View TypeScript docs →

gem install verity-sdk

View Ruby docs →

go install github.com/backworkai/verity-cli/cmd/verity@v1.0.0

View Go docs →

mkdir -p ~/.nuget/verity
curl -L -o ~/.nuget/verity/Verity.SDK.1.0.2.nupkg \
  https://github.com/backworkai/verity-dotnet/releases/download/v1.0.2/Verity.SDK.1.0.2.nupkg
curl -L -o ~/.nuget/verity/Verity.SDK.1.0.2.nupkg.sha256 \
  https://github.com/backworkai/verity-dotnet/releases/download/v1.0.2/Verity.SDK.1.0.2.nupkg.sha256
(cd ~/.nuget/verity && shasum -a 256 -c Verity.SDK.1.0.2.nupkg.sha256)
dotnet add package Verity.SDK --version 1.0.2 --source ~/.nuget/verity

View .NET docs →

Get your API key from the Developer Console.

Your first request

from verity import VerityClient

client = VerityClient(api_key="vrt_live_YOUR_API_KEY")

# Look up a code with RVU data and policies
result = client.lookup_code(code="76942", include=["rvu", "policies"])

print(result["data"]["description"])
# "Echo guide for biopsy"

print(f"Facility price: ${result['data']['rvu']['facility_price']}")
# "Facility price: $64.13"

print(f"Found {len(result['data']['policies'])} coverage policies")
# "Found 16 coverage policies"
import { VerityClient } from '@backwork/verity-api';

const client = new VerityClient('vrt_live_YOUR_API_KEY');

// Look up a code with RVU data and policies
const result = await client.lookupCode({
  code: '76942',
  include: ['rvu', 'policies']
});

console.log(result.data.description);
// "Echo guide for biopsy"

console.log(`Facility price: $${result.data.rvu?.facility_price}`);
// "Facility price: $64.13"

console.log(`Found ${result.data.policies?.length} coverage policies`);
// "Found 16 coverage policies"
require 'verity'

client = Verity::Client.new(api_key: 'vrt_live_YOUR_API_KEY')

# Look up a code with RVU data and policies
result = client.codes.lookup('76942', include: ['rvu', 'policies'])

puts result['data']['description']
# "Echo guide for biopsy"

puts "Found #{result['data']['policies']&.length || 0} coverage policies"
# "Found 16 coverage policies"
export VERITY_API_KEY=vrt_live_YOUR_API_KEY

# Look up a code with RVU data and policies
verity check 76942 --rvu --policies

# Output:
# Code: 76942
# Description: Echo guide for biopsy
# Facility Price: $64.13
# Found 16 coverage policies
curl -X GET "https://verity.backworkai.com/api/v1/codes/lookup?code=76942&include=policies" \
  -H "Authorization: Bearer vrt_live_YOUR_API_KEY"

Common scenarios

Check if a procedure needs prior auth

result = client.check_prior_auth(
    procedure_codes=["27447"],  # Total knee replacement
    diagnosis_codes=["M17.11"],  # Osteoarthritis, right knee
    state="TX"
)

if result["data"]["pa_required"]:
    print(f"Prior authorization required. Confidence: {result['data']['confidence']}")
    print(f"Documentation needed: {', '.join(result['data']['documentation_checklist'][:3])}")
else:
    print("No prior authorization needed")

The API returns structured criteria, not vague yes/no answers. You get the specific documentation requirements and confidence levels.

Search policies across jurisdictions

Medicare coverage varies by MAC jurisdiction. A procedure covered in Texas might not be covered in Pennsylvania.

result = client.compare_policies(
    procedure_codes=["76942"],
    jurisdictions=["J05", "J06", "JM"]
)

for juris in result["data"]["comparison"]:
    print(f"{juris['jurisdiction']} ({juris['mac_name']}): {len(juris['policies'])} policies")

Monitor policy changes

Policies change constantly. Verity tracks updates across Medicare and commercial policy sources.

from datetime import datetime, timedelta

seven_days_ago = (datetime.now() - timedelta(days=7)).isoformat() + "Z"

result = client.get_policy_changes(since=seven_days_ago, limit=20)

for change in result["data"]:
    print(f"{change['policy_id']}: {change['change_type']} - {change['change_summary']}")

Batch code lookups

Look up multiple codes in a single request:

result = client.batch_lookup_codes(
    codes=["99213", "E11.9", "27447"],
    include=["rvu", "policies"]
)

for code, info in result["data"]["results"].items():
    print(f"{code}: {info['code_system']} - {len(info.get('policies', []))} policies")

Search commercial formulary evidence

Use the drug formulary endpoint to search pharmacy-benefit evidence across CVS Caremark, Express Scripts, and UnitedHealthcare / Optum Rx.

curl "https://verity.backworkai.com/api/v1/drugs/formulary?q=metformin&payer=all&limit=5" \
  -H "Authorization: Bearer vrt_live_YOUR_API_KEY"

The response returns source-specific records with tier, coverage status, utilization management requirements, alternatives, source URLs, and per-source counts. This endpoint costs 2 billable units per successful request.

Export as CSV or FHIR

Get results in any format — JSON (default), CSV for spreadsheets, or FHIR R4 for EHR integration:

# CSV export
curl "https://verity.backworkai.com/api/v1/policies?icd10=E11.9&format=csv" \
  -H "Authorization: Bearer vrt_live_YOUR_API_KEY"

# FHIR R4 CoverageEligibilityResponse
curl "https://verity.backworkai.com/api/v1/policies?format=fhir" \
  -H "Authorization: Bearer vrt_live_YOUR_API_KEY"

What you get

Structured data Coverage criteria, codes, and requirements as JSON, CSV, or FHIR R4. No PDF parsing required.

Multi-jurisdiction coverage Medicare coverage varies by contractor. We handle all 15 MAC jurisdictions plus commercial payers.

Real-time updates Policies change frequently. We track them all and surface changes via API or webhooks.

AI-extracted criteria Coverage requirements extracted from PDFs by AI, validated for accuracy.

FHIR R4 interoperability Native FHIR CoverageEligibilityResponse output for EHR/EHB integration.

Limitations

Verity covers Medicare LCDs, Articles, NCDs, and commercial payer coverage policies. We don't currently support:

  • State Medicaid policies

The API returns what's in the policies. It doesn't make coverage decisions for you.

Next steps


Resources

New in v1.1

  • Batch Code Lookup - Look up 50 codes in one request
  • Coverage Evaluation - Evaluate structured criteria against patient data
  • Webhooks - Real-time policy change notifications (Enterprise)
  • CSV and FHIR R4 output on policy endpoints via ?format=csv or ?format=fhir
  • ICD-10 policy filter: ?icd10=E11.9 on search policies

Last updated on

On this page