---
title: "Estimate coverage and costs for outpatient Mental Health"
method: POST
path: "/v1/estimate"
---

# Estimate coverage and costs for outpatient Mental Health

`POST /v1/estimate`

## Request body

- CostEstimationInputWithProviderDetails
  - `member_dob` string, date, required — Member’s date of birth provided in yyyy-mm-dd format
  - `provider_npi` string, required — Service Provider’s 10-character NPI
  - `next_appointment` string, date — Patient's next appointment date in yyyy-mm-dd format
  - `patient_type` 'PROSPECT' | 'NEW_PATIENT' | 'EXISTING_PATIENT'
  - `patient_id` string — Patient's id
  - `payer_id` string, required — Unique external payer ID associated with the insurer
  - `member_id` string, required — Member’s unique insurance ID, as printed on the insurance card
  - `member_first_name` string — Member’s first name; as printed on the insurance card. Recommended to add.
  - `member_last_name` string — Member’s last name; as printed on the insurance card. Recommended to add.
  - `provider_session_cost` integer, required — Total cost of the session, in cents
  - `in_network` boolean — True for in-network and false for out-of-network coverage check
  - `cpt_code` string — CPT (Current Procedural Terminology) code for UCR estimation
  - `with_alerts` boolean — If true, return the list of OneVerify alerts
  - `report_flags` boolean — Use `with_alerts` instead
  - `office_id` string — An identifier for the office or location being visited.
  - `modality_code` 'PMC' | 'PHT' | 'PSC' | 'PSY' | 'MRI' | 'HST' | 'MNT' | 'CT' | 'IOP' | 'PHP' | 'UC' | 'ABA' | 'OBG' | 'MAT' | 'ORP' | 'DER' | 'GI' | 'ST' | 'CAR' | 'OT' | 'LAB'
  - `provider_street_line1` string — Service provider's street address
  - `provider_street_line2` string — Service provider's street address
  - `provider_city` string — Service provider's city
  - `provider_state` string — Service provider's state
  - `provider_zip` string — Service provider's zip code
  - `provider_first_name` string — Service provider's first name
  - `provider_last_name` string — Service provider's last name

## Response `200`

Successful Response

- CompleteCoverageResponse
  - `alerts` string[] — Alerts for OneVerify Reports
  - `payer_id` string, required — Payer ID used to verify benefits
  - `plan_status` 'UNKNOWN' | 'INACTIVE' | 'ACTIVE' | 'ACTIVE_AT_RISK'
  - `coverage_status` 'UNKNOWN' | 'INACTIVE' | 'ACTIVE'
  - `plan_type` 'UNKNOWN' | 'ORIGINAL_MEDICAID' | 'MANAGED_MEDICAID' | 'MEDICARE_ADVANTAGE' | 'ORIGINAL_MEDICARE' | 'DUAL' | 'MARKETPLACE' | 'GOVERNMENT' | 'COMMERCIAL'
  - `plan_name` string — The name of the member’s insurance plan
  - `insurance_type` 'HMO' | 'PPO' | 'EPO' | 'POS'
  - `group_name` string — The group name of the member’s insurance plan
  - `group_id` string — The group id of the member's insurance plan
  - `plan_begin_date` string — The date the member’s plan was activated
  - `plan_end_date` string — The date the member’s plan expires
  - `eligibility_end_date` string — The date when the member lost coverage; only applicable for inactive plans
  - `coinsurance` integer — Percentage of the session charge for which the member is responsible
  - `copayment` integer — Amount that must be collected from the member regardless of deductible status, in cents
  - `deductible` integer — Total deductible of the member's plan, in cents
  - `remaining_deductible` integer — Amount remaining in the member's deductible, in cents
  - `oop_max` integer — Total out-of-pocket maximum of the member’s plan, in cents
  - `remaining_oop_max` integer — Amount remaining in the member's out-of-pocket maximum before insurance waives member responsibility, in cents
  - `benefit_structure` 'Copay, no deductible, no OOP Max' | 'Copay, no deductible, with OOP Max' | 'Coinsurance after deductible, no OOP Max' | 'Coinsurance after deductible, with OOP Max' | 'Copay after deductible, no OOP Max' | 'Copay after deductible, with OOP Max' | 'Coinsurance, no deductible, no OOP Max' | 'Coinsurance, no deductible, with OOP Max' | 'Copay and coinsurance after deductible, no OOP Max' | 'Copay and coinsurance after deductible, with OOP Max' | 'Copay and coinsurance, no deductible, no OOP Max' | 'Copay and coinsurance, no deductible, with OOP Max' | 'Fully covered' | 'Fully covered after deductible' | 'Other' | 'Unknown'
  - `member_obligation` integer — Estimated cost to the member for the next session, in cents
  - `payer_obligation` integer — Estimated cost to the payer for the next session, in cents
  - `demographics` Demographics
    - `gender` 'M' | 'F'
    - `member_id` string — Member's unique insurance ID, as provided by the insurer
    - `first_name` string — First name, as printed on the insurer card or government ID
    - `last_name` string — Last name, as printed on the insurer card or government ID
    - `dob` string, date — Date of birth, as printed on the insurer card or government ID
    - `address` AddressModel
      - `street_line_1` string, required — Physical address of client: street name and number
      - `street_line_2` string — Physical address of client: apartment or unit number
      - `city` string, required — Physical address of client: city
      - `state` string, required — Physical address of client: state
      - `zip` string, required — Physical address of client: zip
  - `relationship_to_subscriber` string — The member’s relation to the subscriber of the plan (e.g. self, spouse, child, etc.)
  - `subscriber_demographics` Demographics
    - `gender` 'M' | 'F'
    - `member_id` string — Member's unique insurance ID, as provided by the insurer
    - `first_name` string — First name, as printed on the insurer card or government ID
    - `last_name` string — Last name, as printed on the insurer card or government ID
    - `dob` string, date — Date of birth, as printed on the insurer card or government ID
    - `address` AddressModel
      - `street_line_1` string, required — Physical address of client: street name and number
      - `street_line_2` string — Physical address of client: apartment or unit number
      - `city` string, required — Physical address of client: city
      - `state` string, required — Physical address of client: state
      - `zip` string, required — Physical address of client: zip
  - `additional_policy` AdditionalPolicy
    - `type` string
    - `insurer` string
    - `member_id` string
    - `plan_type` 'MEDICAID' | 'UNKNOWN'
  - `fee_schedule` 'A1' | 'A2'
  - `qmb_status` boolean — Indicates if the member has Qualified Medicare Beneficiary (QMB) status
  - `medicare_advantage` MedicareAdvantage
    - `payer_name` string, nullable
    - `payer_id` string, nullable
    - `member_id` string, nullable
  - `medicare_part_d` MedicarePartD
    - `contract_number` string, nullable
    - `pbp_number` string, nullable
    - `plan_name` string, nullable
    - `payer_name` string, nullable
    - `effective_date` string, date, nullable
  - `bluecard_eligible` boolean — Indicates if the policy belongs to a Bluecard member
  - `network_status` NetworkStatus
    - `is_alert` boolean, nullable
    - `rule` NetworkStatusRule
      - `id` integer, required
      - `network_status` 'IN' | 'OUT', required
  - `primary_care_physician` PrimaryCarePhysician
    - `name` string, nullable
    - `organization` string, nullable
    - `npi` string, nullable
  - `mental_health_coverage` 'UNKNOWN' | 'INACTIVE' | 'ACTIVE'
  - `visits_total` integer — Total amount of visits
  - `telehealth` TelehealthInfo
    - `copayment` integer
    - `coinsurance` integer
    - `benefit_structure` 'Copay, no deductible, no OOP Max' | 'Copay, no deductible, with OOP Max' | 'Coinsurance after deductible, no OOP Max' | 'Coinsurance after deductible, with OOP Max' | 'Copay after deductible, no OOP Max' | 'Copay after deductible, with OOP Max' | 'Coinsurance, no deductible, no OOP Max' | 'Coinsurance, no deductible, with OOP Max' | 'Copay and coinsurance after deductible, no OOP Max' | 'Copay and coinsurance after deductible, with OOP Max' | 'Copay and coinsurance, no deductible, no OOP Max' | 'Copay and coinsurance, no deductible, with OOP Max' | 'Fully covered' | 'Fully covered after deductible' | 'Other' | 'Unknown'
    - `member_obligation` integer
  - `pre_deductible_member_obligation` integer — Estimated cost to the member, before the deductible is met, in cents
  - `pre_deductible_payer_obligation` integer — Estimated cost to the payer, before the deductible is met, in cents
  - `post_deductible_member_obligation` integer — Estimated cost to the member, after the deductible is met, in cents
  - `post_deductible_payer_obligation` integer — Estimated cost to the payer, after the deductible is met, in cents
  - `remaining_sessions_before_deductible` integer — Estimated number of sessions before the member’s deductible is met
  - `post_oop_max_member_obligation` integer — Estimated cost to the member, after the out-of-pocket maximum is met, in cents
  - `post_oop_max_payer_obligation` integer — Estimated cost to the payer, after the out-of-pocket maximum is met, in cents
  - `remaining_sessions_before_oop_max` integer — Estimated number of sessions before the member’s out-of-pocket maximum is met
  - `third_party_payer` string — Deprecated, use `third_party_administrator` instead
  - `plan_reset_soon` boolean — <b>Beta:</b> Indicates if the plan is resetting soon
  - `reset_benefits_status` 'NOT_DETECTED' | 'DETECTED_ACTION_REQUIRED' | 'DETECTED_NO_ACTION_REQUIRED'
  - `reset_benefits` ResetBenefits
    - `coinsurance` integer
    - `copayment` integer
    - `deductible` integer
    - `oop_max` integer
    - `plan_name` string
    - `member_id` string
    - `additional_policy` AdditionalPolicy
      - `type` string
      - `insurer` string
      - `member_id` string
      - `plan_type` 'MEDICAID' | 'UNKNOWN'
    - `plan_type` 'UNKNOWN' | 'ORIGINAL_MEDICAID' | 'MANAGED_MEDICAID' | 'MEDICARE_ADVANTAGE' | 'ORIGINAL_MEDICARE' | 'DUAL' | 'MARKETPLACE' | 'GOVERNMENT' | 'COMMERCIAL'
    - `insurance_type` 'HMO' | 'PPO' | 'EPO' | 'POS'
    - `telehealth` TelehealthInfo
      - `copayment` integer
      - `coinsurance` integer
      - `benefit_structure` 'Copay, no deductible, no OOP Max' | 'Copay, no deductible, with OOP Max' | 'Coinsurance after deductible, no OOP Max' | 'Coinsurance after deductible, with OOP Max' | 'Copay after deductible, no OOP Max' | 'Copay after deductible, with OOP Max' | 'Coinsurance, no deductible, no OOP Max' | 'Coinsurance, no deductible, with OOP Max' | 'Copay and coinsurance after deductible, no OOP Max' | 'Copay and coinsurance after deductible, with OOP Max' | 'Copay and coinsurance, no deductible, no OOP Max' | 'Copay and coinsurance, no deductible, with OOP Max' | 'Fully covered' | 'Fully covered after deductible' | 'Other' | 'Unknown'
      - `member_obligation` integer
    - `third_party_administrator` ThirdPartyAdministrator
      - `name` string, nullable
      - `type` 'PAYER' | 'UTILIZATION_MANAGER', required
      - `payer_id` string, nullable
    - `member_obligation` integer, nullable
    - `benefit_structure` 'Copay, no deductible, no OOP Max' | 'Copay, no deductible, with OOP Max' | 'Coinsurance after deductible, no OOP Max' | 'Coinsurance after deductible, with OOP Max' | 'Copay after deductible, no OOP Max' | 'Copay after deductible, with OOP Max' | 'Coinsurance, no deductible, no OOP Max' | 'Coinsurance, no deductible, with OOP Max' | 'Copay and coinsurance after deductible, no OOP Max' | 'Copay and coinsurance after deductible, with OOP Max' | 'Copay and coinsurance, no deductible, no OOP Max' | 'Copay and coinsurance, no deductible, with OOP Max' | 'Fully covered' | 'Fully covered after deductible' | 'Other' | 'Unknown'
  - `third_party_administrator` ThirdPartyAdministrator
    - `name` string, nullable
    - `type` 'PAYER' | 'UTILIZATION_MANAGER', required
    - `payer_id` string, nullable

## Other responses

- `202` — Accepted
- `206` — Partial Content
- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Entity
- `429` — Too Many Requests
- `500` — Internal Server Error
- `502` — Bad Gateway
- `504` — Gateway Timeout

---

[API](https://skmtc.net/meetnirvana/apis/nirvana-api.md) · [All operations](https://skmtc.net/meetnirvana/apis/nirvana-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/meetnirvana/nirvana-api/versions/80ac8e79aef7/schema)
