CMS-9115 Interoperability & Patient Access
CMS_9115free11 data-quality rules for the CMS Interoperability and Patient Access Final Rule (CMS-9115-F), which requires impacted payers (MA, Medicaid, CHIP, QHP) to expose a Patient Access API and a Provider Directory API over HL7 FHIR R4 (US Core / Da Vinci PDex & Plan-Net). Covers FHIR R4 conformance, required profile elements, NPI and terminology value sets, reference resolution, formulary drug codes, and provider-directory freshness. Use it to validate the API data before it goes live.
Checks included (20)
Resource References Resolve
Every reference between resources (e.g. EOB.patient, PractitionerRole .practitioner) must resolve to a resource that exists in the API.
Provider NPI Is Valid
Practitioner identifiers in the Provider Directory must be valid NPIs present in the NPPES registry.
Coded Elements Use Required Code Systems
Coded data must bind to the required code systems (LOINC for labs, SNOMED CT for conditions, ICD-10-CM for diagnoses, CPT/HCPCS for procedures, NDC for drugs) per US Core.
Formulary Drug Is a Valid NDC
Drugs in the MA-PD formulary resource must be identified by a valid NDC.
PractitionerRole Links Resolve (Plan-Net)
In the Da Vinci Plan-Net directory, each PractitionerRole must reference an existing Practitioner, Organization, and Location.
Coverage Beneficiary Resolves to a Patient
Each Coverage.beneficiary reference must resolve to an existing Patient (member) resource.
ExplanationOfBenefit Patient Resolves
Each ExplanationOfBenefit.patient reference must resolve to an existing Patient resource.
Organization NPI Is Valid
Organization identifiers in the directory that are NPIs must be valid in the NPPES registry.
Provider Specialty Uses NUCC Taxonomy
PractitionerRole.specialty should use the NUCC Health Care Provider Taxonomy per Plan-Net.
Resource ID Present(resource_id)
Every FHIR resource must carry a logical id so it can be referenced and retrieved.
US Core Required Elements Present
US Core "must support" / required elements for the resource type (e.g. Patient.identifier, Patient.name, Coverage.beneficiary) must be populated.
Member Identifier Present (Patient Access)(member_id)
Patient Access resources (ExplanationOfBenefit, Coverage, clinical data) must carry the member/patient identifier they belong to.
Location Has an Address(address)
Provider Directory Location resources must carry an address so members can find care.
Plan-Net Organization Has an Endpoint
In Plan-Net, InsurancePlan/Organization resources should reference an Endpoint describing how to access electronic services.
Resource meta.lastUpdated Present(last_updated)
Each resource must carry meta.lastUpdated so directory and access data can be evaluated for freshness.
Resources Validate Against FHIR R4
Every resource exposed by the Patient Access and Provider Directory APIs must validate against FHIR R4 (4.0.1) and the applicable US Core / Da Vinci profile with no structural or cardinality errors.
ExplanationOfBenefit Status Is Valid(status)
ExplanationOfBenefit.status must be active, cancelled, draft, or entered-in-error.
No Duplicate Resources(resource_key)
Each FHIR resource (resourceType + id) must be unique within the API.
No Duplicate Practitioners by NPI(npi)
A practitioner should appear once per NPI in the directory; duplicates confuse members and downstream systems.
Provider Directory Updated Within 30 Days(last_updated)
CMS-9115 requires the Provider Directory API to be updated no later than 30 calendar days after the payer receives updated information.