Verity API
Endpoints

Policies

Search, retrieve, and compare Medicare coverage policies

GET /policies

Search Medicare coverage policies by keyword, type, or jurisdiction.

Request

GET /v1/policies?q=ultrasound&policy_type=LCD&limit=10

Query Parameters

ParameterTypeRequiredDescription
qstringNoSearch query (max 500 characters)
modestringNoSearch mode: keyword (default), semantic
policy_typestringNoFilter by type: LCD, Article, NCD, PayerPolicy, Medical Policy, Drug Policy
jurisdictionstringNoFilter by MAC jurisdiction code
payerstringNoFilter by payer name
statusstringNoFilter by status: active, retired, all (default: active)
cursorstringNoPagination cursor (base64url encoded)
limitnumberNoResults per page (1-100, default 50)
includestringNoAdditional data: summary, criteria, codes (comma-separated)

Semantic search uses AI embeddings to find policies based on meaning rather than exact keywords. This feature requires a Starter plan or higher. Semantic search has a 10x rate limit cost multiplier.

Response

The response includes base policy fields. Additional fields (summary, criteria, codes) are included when specified via the include parameter.

{
  "success": true,
  "data": [
    {
      "policy_id": "L33345",
      "title": "Ultrasound Guidance for Needle Placement",
      "policy_type": "LCD",
      "jurisdiction": "JM",
      "status": "active",
      "effective_date": "2024-01-01",
      "retire_date": null,
      "source_url": "https://www.cms.gov/medicare-coverage-database/...",
      "summary": "This LCD outlines coverage criteria..."
    }
  ],
  "meta": {
    "pagination": {
      "cursor": "eyJpZCI6MTIzfQ",
      "has_more": true,
      "limit": 10
    },
    "search": {
      "query": "ultrasound",
      "mode": "keyword"
    },
    "filters": {
      "policy_type": "LCD",
      "jurisdiction": null,
      "status": "active"
    }
  }
}

The summary field shown above is only included when include=summary is specified in the request.


GET /policies/:id

Get detailed information about a specific policy.

Request

GET /v1/policies/L33345?include=criteria,codes

Path Parameters

ParameterTypeRequiredDescription
idstringYesPolicy ID (e.g., L33345)

Query Parameters

ParameterTypeRequiredDescription
includestringNoAdditional data: criteria, codes, attachments, versions (comma-separated)

Using include parameters incurs a 2x rate limit cost multiplier.

Response

{
  "success": true,
  "data": {
    "policy_id": "L33345",
    "title": "Ultrasound Guidance for Needle Placement",
    "policy_type": "LCD",
    "jurisdiction": "JM",
    "status": "active",
    "effective_date": "2024-01-01",
    "retire_date": null,
    "last_reviewed_date": "2024-06-15",
    "version": "R1",
    "source_url": "https://www.cms.gov/medicare-coverage-database/...",
    "pdf_url": "https://...",
    "description": "Full policy description...",
    "summary": "This LCD outlines coverage criteria...",
    "specialty": ["Radiology", "Interventional"],
    "keywords": ["ultrasound", "guidance", "needle"],
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-06-15T10:30:00Z",
    "sections": {
      "indications": "Detailed indications text...",
      "limitations": "Detailed limitations text...",
      "documentation": "Documentation requirements text..."
    },
    "mac": {
      "name": "Palmetto GBA",
      "code": "JM",
      "jurisdiction_name": "Jurisdiction M",
      "states": ["TX", "OK", "NM"]
    },
    "payer": {
      "name": "Medicare",
      "code": "medicare",
      "type": "government"
    },
    "criteria": {
      "indications": [
        {
          "block_id": "cb_12345",
          "text": "Ultrasound guidance is covered when...",
          "logic_ast": null,
          "tags": ["imaging", "guidance"],
          "requires_manual_review": false,
          "confidence_score": 0.95
        }
      ],
      "limitations": []
    },
    "criteria_count": 5,
    "codes": {
      "HCPCS": [
        {
          "code": "76942",
          "display": "Ultrasonic guidance for needle placement",
          "disposition": "covered",
          "condition_reference": null,
          "notes": null
        }
      ]
    },
    "code_count": 12,
    "attachments": [
      {
        "file_type": "pdf",
        "url": "https://...",
        "title": "Billing Guide",
        "page_number": null,
        "file_size_bytes": 125400
      }
    ],
    "versions": [
      {
        "old_version": "R0",
        "new_version": "R1",
        "change_type": "updated",
        "change_summary": "Updated coverage criteria",
        "changed_fields": ["indications", "limitations"],
        "timestamp": "2024-06-15T10:30:00Z"
      }
    ]
  },
  "meta": {
    "includes": ["criteria", "codes", "attachments", "versions"]
  }
}

POST /policies/compare

Compare coverage policies across different MAC jurisdictions for the same procedure codes.

Request

POST /v1/policies/compare
Content-Type: application/json
X-Idempotency-Key: unique-request-id

{
  "procedure_codes": ["76942", "76937"],
  "jurisdictions": ["JM", "JH", "JK"]
}

Request Body

FieldTypeRequiredDescription
procedure_codesstring[]YesArray of CPT/HCPCS codes (max 10)
policy_typestringNoFilter by policy type: LCD, Article, NCD
jurisdictionsstring[]NoSpecific jurisdictions to compare

The X-Idempotency-Key header is recommended for safe retries on POST requests.

Response

{
  "success": true,
  "data": {
    "comparison": [
      {
        "jurisdiction": "JM",
        "mac": {
          "name": "Palmetto GBA",
          "code": "JM",
          "jurisdiction_name": "Jurisdiction M",
          "states": ["TX", "OK", "NM"]
        },
        "policies": [
          {
            "policy_id": "L33345",
            "title": "Ultrasound Guidance",
            "policy_type": "LCD",
            "effective_date": "2024-01-01",
            "codes": [
              {
                "code": "76942",
                "code_system": "HCPCS",
                "disposition": "covered"
              }
            ]
          }
        ],
        "coverage_summary": {
          "covered": 2,
          "not_covered": 0,
          "requires_pa": 0,
          "conditional": 1
        }
      }
    ],
    "national_policies": [
      {
        "policy_id": "NCD220.6",
        "title": "National Coverage for Ultrasound",
        "policy_type": "NCD",
        "effective_date": "2023-01-01",
        "is_national": true,
        "codes": [
          {
            "code": "76942",
            "code_system": "HCPCS",
            "disposition": "covered"
          }
        ]
      }
    ],
    "summary": {
      "total_jurisdictions": 3,
      "jurisdictions_with_coverage": 3,
      "national_policies_count": 1,
      "has_variation": true,
      "queried_codes": ["76942", "76937"],
      "policy_type_filter": null
    }
  },
  "meta": {
    "idempotency_key": "unique-request-id"
  }
}

GET /policies/changes

Get a feed of policy changes for monitoring updates.

Request

GET /v1/policies/changes?since=2024-01-01T00:00:00Z

Query Parameters

ParameterTypeRequiredDescription
sincestringNoISO8601 timestamp - only show changes after
policy_idstringNoFilter to a specific policy
change_typestringNoFilter by type: created, updated, retired, codes_changed, criteria_changed, metadata_changed
cursorstringNoPagination cursor
limitnumberNoResults per page (1-100, default 50)

Response

{
  "success": true,
  "data": [
    {
      "diff_id": 12345,
      "policy_id": "L33345",
      "policy_title": "Ultrasound Guidance",
      "old_version": "R0",
      "new_version": "R1",
      "change_type": "updated",
      "change_summary": "Updated coverage criteria for...",
      "changed_at": "2024-06-15T10:30:00Z",
      "details": {
        "changed_fields": ["indications", "limitations"],
        "added_codes": ["76943"],
        "removed_codes": [],
        "modified_criteria": ["indications"]
      }
    }
  ],
  "meta": {
    "pagination": {
      "cursor": "eyJpZCI6MTIzfQ",
      "has_more": true,
      "limit": 50
    },
    "filters": {
      "since": "2024-01-01T00:00:00Z",
      "policy_id": null,
      "change_type": null
    }
  }
}

Change Types

TypeDescription
createdNew policy was published
updatedPolicy content was modified
retiredPolicy was retired/deactivated
codes_changedCovered codes were added or removed
criteria_changedCoverage criteria were modified
metadata_changedPolicy metadata (dates, jurisdiction, etc.) was updated

On this page