> ## Documentation Index
> Fetch the complete documentation index at: https://docs.develophealth.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Run Benefit Verification

Checks if multiple drugs are covered by a patient's insurance plan. You'll receive details including whether the drug is covered, if a prior authorization is required, and copay information if available.

Please be aware that since this endpoint initiates a real-time, AI call, response times may vary. To accommodate
efficient testing, we've implemented the `mock_result` argument, allowing for the simulation of responses from the
endpoint. When this argument is provided, we'll (almost) instantly complete the benefit verification with results to match the case that you provide.
You'll receive the webhook containing the full benefit verification payload.
For specifics on which cases you can mock, please refer to the mock\_result property in the API specification below.

When in production, you should expect approximately 1 business day before a benefit verification is completed. You'll need to subscribe to the benefit\_verification.updated webhook event in order to receive the final response.

Try to provide as many of the fields as possible to improve the accuracy and completion rate of the benefit verification. If you have any questions on the importance of certain fields please reach out to us and we can help clarify.


## OpenAPI

````yaml post /benefit-verification
openapi: 3.1.0
info:
  title: Develop Health Public API
  description: Develop Health Public API
  version: '1.0'
servers:
  - url: https://api.develophealth.ai
security: []
paths:
  /benefit-verification:
    post:
      tags:
        - public-api
      summary: Create Benefit Verification Route
      operationId: create_benefit_verification_route_benefit_verification_post
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/CreateBenefitVerificationRequest'
              title: Data
              examples:
                - priority: 3
                  drugs:
                    - name: Wegovy
                      dosage: 0.25 mg
                      quantity: 1
                    - name: Ozempic
                      dosage: 2.68 mg
                      quantity: 1
                    - name: Mounjaro
                      dosage: 2.5 mg
                      quantity: 1
                  drug_history:
                    currently_taking_drugs:
                      - name: Metformin
                    previously_taken_drugs:
                      - name: Jardiance
                      - name: Rybelsus
                  diagnoses:
                    - code: E66.9
                    - code: I10
                  insurance:
                    - file_content: >-
                        iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAFgwJ/lzvN2QAAAABJRU5ErkJggg==
                    - file_content: >-
                        iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAFgwJ/lzvN2QAAAABJRU5ErkJggg==
                  patient:
                    internal_id: 39dca4a2-8788-4fd6-9e31-15c56e454322
                    first_name: John
                    last_name: Smith
                    gender: male
                    date_of_birth: '1980-01-01'
                    address:
                      street: 123 Main St, Apt 1
                      city: Los Angeles
                      state_province: CA
                      zip_postal_code: '94001'
                      country: USA
                    phone: 555-555-5555
                  provider:
                    first_name: Jane
                    last_name: Green
                    address:
                      street: 9071 E. Mississippi Ave
                      city: Denver
                      state_province: CO
                      zip_postal_code: '80247'
                      country: USA
                    phone: '1231231234'
                    fax: None
                    npi: '0000000000'
                    in_network_payers: []
                  entity:
                    legal_name: Test Entity
                    tax_id: '111223333'
                  mock_result:
                    status: completed
                    case: drugs_covered__prior_auth_required__has_copay
                  use_patient_plan_fund_source_check: false
        required: true
      responses:
        '200':
          description: Successful creation of a benefit verification
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBenefitVerificationResponse'
              example:
                status: success
                data:
                  id: bv_sdkfj3f
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - FronteggJWTAuthentication: []
components:
  schemas:
    CreateBenefitVerificationRequest:
      properties:
        priority:
          allOf:
            - $ref: '#/components/schemas/Priority'
          description: >-
            The priority of the benefit verification request, where 0 is most
            urgent and 3 is least urgent. This will determine the order in which
            the request is processed.
          default: 3
          gte: 0
          lte: 3
        replaces:
          type: string
          title: Replaces
          description: >-
            If this Benefit Verification is being submitted as a replacement for
            a canceled one, the ID of the canceled Benefit Verification it
            replaces.
        drugs:
          anyOf:
            - items:
                $ref: '#/components/schemas/CodedDrugInfo'
              type: array
              maxItems: 7
              minItems: 1
            - items:
                $ref: '#/components/schemas/DrugInfo'
              type: array
              maxItems: 7
              minItems: 1
          title: Drugs
          description: >-
            Array of medications for which to perform the benefit verification.
            Prefer coded drugs when NDCs are available.
        drug_history:
          allOf:
            - $ref: '#/components/schemas/DrugHistory'
          title: Drug History
          description: >-
            The patient's drug history. Although not a required field, this will
            increase the completion rate of your benefit verifications by 5%-10%
            if you provide it.
        diagnoses:
          items:
            $ref: '#/components/schemas/Diagnosis'
          type: array
          title: Diagnoses
          description: Clinical diagnoses for the patient in ICD-10 format. i.e. 'E66.9'
        insurance:
          items:
            $ref: >-
              #/components/schemas/api__schemas__platform__public_api__benefit_verification__InsuranceDocument
          type: array
          title: Insurance
          description: >-
            Insurance information for the patient. We will extract the required
            information from the insurance card images you provide. Please
            provide both the front and the back of the card. This is optional if
            you provide `insurance_content`, but highly recommended to ensure
            best results.
        insurance_content:
          allOf:
            - $ref: '#/components/schemas/PartialInsuranceInfo'
          title: Insurance Content
          description: >-
            Insurance information for the patient. Values provided here will be
            used in combination with those extracted from any insurance cards
            provided. We recommend providing this information when available to
            ensure best results. If you provide both `insurance` and
            `insurance_content`, the values provided here will be used and the
            values extracted from `insurance` will be used as a fallback.
        patient:
          allOf:
            - $ref: >-
                #/components/schemas/api__schemas__platform__public_api__common__PatientInfo
          title: Patient
          description: Demographic information for the patient
        provider:
          allOf:
            - $ref: '#/components/schemas/ProviderInfo'
          title: Provider
          description: >-
            Details of the healthcare provider whose NPI number can be used for
            the benefit verification.
        entity:
          allOf:
            - $ref: '#/components/schemas/EntityInfo'
          title: Entity
          description: >-
            A large proportion (20%+) of payers will often ask for information
            on the legal entity that the provider is associated with. Without
            this information the benefit verification will fail. Although this
            is currently optional it will be required in the future. We highly
            recommend providing this information.
        mock_result:
          allOf:
            - $ref: '#/components/schemas/MockResult'
          title: Mock Result
          description: >-
            Specifies the simulated outcome for a completed verification. These
            values will be applied to all drugs in the request.
        use_patient_plan_fund_source_check:
          type: boolean
          title: Use Patient Plan Fund Source Check
          description: >-
            Whether to check the patient's plan fund source during the benefit
            verification call.
          default: false
      type: object
      required:
        - drugs
        - patient
        - provider
      title: CreateBenefitVerificationRequest
      description: Models a request to create a benefit verification.
    CreateBenefitVerificationResponse:
      properties:
        status:
          anyOf:
            - type: string
              enum:
                - success
            - type: string
              enum:
                - error
          title: Status
          default: success
        error:
          $ref: '#/components/schemas/ApiError'
        data:
          $ref: '#/components/schemas/CreateBenefitVerificationResponseData'
      type: object
      title: CreateBenefitVerificationResponse
      description: >-
        Models the response received upon creating a benefit verification
        request.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Priority:
      type: integer
      enum:
        - 0
        - 1
        - 2
        - 3
      title: Priority
      description: |-
        Represents a priority level. Lower numbers are higher priority.

        - CRITICAL: 0
        - HIGH: 1
        - MEDIUM: 2
        - LOW: 3
    CodedDrugInfo:
      properties:
        ndc:
          type: string
          pattern: >-
            ^(\d{5}-?\d{4}-?\d{2}|\d{4,5}-\d{3,4}-\d{1,2}|\d{5}-?\d{4}|\d{4,5}-\d{3,4})$
          title: Ndc
          description: The NDC of the medication.
          examples:
            - 00169-4505-14
            - 0169-4505-14
            - 169450514
            - 00169-4505
            - 0169-4505
            - 1694505
        quantity:
          type: integer
          title: Quantity
          description: The quantity of the drug prescribed.
          examples:
            - 1
      type: object
      required:
        - ndc
        - quantity
      title: CodedDrugInfo
      description: >-
        Like DrugInfo, but more closely aligned with NCPDP standards. Helps
        reduce

        any confusion on the payer-side.
    DrugInfo:
      properties:
        name:
          type: string
          title: Name
          description: The name of the drug.
        dosage:
          type: string
          title: Dosage
          description: The prescribed dosage of the drug.
        quantity:
          type: number
          title: Quantity
          description: The quantity of the drug prescribed.
        ndc:
          type: string
          title: Ndc
          description: >-
            The National Drug Code (NDC) of the drug. Read-only; this field is
            ignored on input and populated from the resolved drug data.
          readOnly: true
          nullable: true
      type: object
      required:
        - name
        - dosage
        - quantity
      title: DrugInfo
      description: Represents information about a specific drug.
    DrugHistory:
      properties:
        currently_taking_drugs:
          items:
            $ref: '#/components/schemas/DrugHistoryItem'
          type: array
          title: Currently Taking Drugs
          description: The drugs that the patient is currently taking.
          default: []
        previously_taken_drugs:
          items:
            $ref: '#/components/schemas/DrugHistoryItem'
          type: array
          title: Previously Taken Drugs
          description: The drugs that the patient has previously taken.
          default: []
      type: object
      title: DrugHistory
      description: Represents the history of drugs taken by a patient.
    Diagnosis:
      properties:
        code:
          type: string
          title: Code
          description: ICD-10 code for the diagnosis. i.e. 'E66.9'
      type: object
      required:
        - code
      title: Diagnosis
      description: Represents a medical diagnosis with a code and description.
    api__schemas__platform__public_api__benefit_verification__InsuranceDocument:
      properties:
        file_content:
          type: string
          title: File Content
          description: The content of the insurance document, base64 encoded
      type: object
      required:
        - file_content
      title: InsuranceDocument
      description: Represents an insurance document.
    PartialInsuranceInfo:
      properties:
        client_name:
          type: string
          title: Client Name
          description: The client/employer name.
        group_number:
          type: string
          title: Group Number
          description: The group number on the card.
        member_name:
          type: string
          title: Member Name
          description: The member name on the card.
        member_number:
          type: string
          title: Member Number
          description: The member number on the card.
        payer_name:
          type: string
          title: Payer Name
          description: >-
            The payer name on the card. This field is not normalized, so the
            same plan may have different names depending on the way it appears
            on the card. i.e. 'United Healthcare', 'United', 'United Health'
            could all appear
        plan_name:
          type: string
          title: Plan Name
          description: >-
            The plan name on the card. This field is not normalized, so the same
            plan may have different names depending on the way it appears on the
            card
        rx_bin:
          type: string
          title: Rx Bin
          description: The Rx BIN number on the card.
        rx_group:
          type: string
          title: Rx Group
          description: The Rx group number on the card.
        rx_pcn:
          type: string
          title: Rx Pcn
          description: The Rx PCN number on the card.
      type: object
      title: PartialInsuranceInfo
    api__schemas__platform__public_api__common__PatientInfo:
      properties:
        internal_id:
          type: string
          minLength: 1
          title: Internal Id
          description: >-
            Your internal ID for this patient. This is used for linking all of
            the requests for a given patient.
        first_name:
          type: string
          minLength: 1
          title: First Name
          description: The first name of the patient.
        last_name:
          type: string
          minLength: 1
          title: Last Name
          description: The last name of the patient.
        gender:
          allOf:
            - $ref: '#/components/schemas/Gender'
          description: The gender of the patient.
        date_of_birth:
          type: string
          format: date
          title: Date Of Birth
          description: The date of birth of the patient.
        address:
          allOf:
            - $ref: '#/components/schemas/Address'
          title: Address
          description: The address of the patient.
        phone:
          type: string
          title: Phone
          description: The contact phone number of the patient.
        email:
          type: string
          title: Email
          description: The contact email address of the patient.
      type: object
      required:
        - internal_id
        - first_name
        - last_name
        - gender
        - date_of_birth
        - address
      title: PatientInfo
      description: Contains information about a patient.
    ProviderInfo:
      properties:
        first_name:
          type: string
          minLength: 1
          title: First Name
          description: The first name of the provider.
        last_name:
          type: string
          minLength: 1
          title: Last Name
          description: The last name of the provider.
        address:
          allOf:
            - $ref: '#/components/schemas/Address'
          title: Address
          description: The address of the provider.
        phone:
          type: string
          title: Phone
          description: The contact phone number of the provider.
        fax:
          type: string
          title: Fax
          description: The contact fax number of the provider.
        npi:
          type: string
          minLength: 1
          title: Npi
          description: The National Provider Identifier (NPI) of the provider.
        in_network_payers:
          items:
            type: string
          type: array
          title: In Network Payers
          description: >-
            List of insurance payers that the provider is in-network with. This
            is optional and no longer seems to have much of an impact on the
            verification process. You can omit this if it is not readily
            available information
      type: object
      required:
        - first_name
        - last_name
        - address
        - npi
      title: ProviderInfo
      description: Contains information about a healthcare provider.
    EntityInfo:
      properties:
        legal_name:
          type: string
          title: Legal Name
          description: >-
            The legal name of the entity. This is the name that the provider is
            associated with.
        tax_id:
          type: string
          title: Tax Id
          description: >-
            The tax identifier of the entity. This is the tax ID that the
            provider is associated with.
      type: object
      title: EntityInfo
      description: Contains information about a healthcare entity.
    MockResult:
      properties:
        status:
          $ref: '#/components/schemas/MockResultStatus'
        case:
          allOf:
            - $ref: '#/components/schemas/MockResultCase'
          description: >-
            The case to simulate for the benefit verification. The options are: 

            - **drugs_covered__prior_auth_required__has_copay**: Drug is
            covered, prior authorization required, and there is a copay.

            - **drugs_covered__prior_auth_required__no_copay**: Drug is covered,
            prior authorization required, but there is no copay.

            - **drugs_covered__prior_auth_not_required__has_copay**: Drug is
            covered, no prior authorization required, and there is a copay.

            - **drugs_covered__prior_auth_not_required__no_copay**: Drug is
            covered, no prior authorization required, and there is no copay.

            - **drugs_not_covered__prior_auth_na__no_copay**: Drug is not
            covered, prior authorization not applicable (because the drug is not
            covered), and there is no copay.

            - **patient_consent_required**: Patient consent is required to
            proceed with the benefit verification.

            - **reverification__existing_pa**: Reverification case where an
            existing prior authorization is found. Coverage status and PA
            requirement will be N/A, with has_active_prior_auth set to true.

            - **reverification__no_existing_pa**: Reverification case where no
            existing prior authorization is found. Drug is covered, prior
            authorization required, with has_active_prior_auth set to false.
      type: object
      required:
        - status
        - case
      title: MockResult
    ApiError:
      properties:
        title:
          type: string
          title: Title
        description:
          type: string
          title: Description
        code:
          type: string
          title: Code
      type: object
      required:
        - title
        - description
        - code
      title: ApiError
    CreateBenefitVerificationResponseData:
      properties:
        id:
          type: string
          title: Id
          description: A unique identifier for the benefit verification result.
      type: object
      required:
        - id
      title: CreateBenefitVerificationResponseData
      description: >-
        Represents the data contained in the response for a create benefit
        verification request.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    DrugHistoryItem:
      properties:
        name:
          type: string
          title: Name
          description: The name of the drug.
      type: object
      required:
        - name
      title: DrugHistoryItem
      description: Represents information about a currently or previously taken drug.
    Gender:
      type: string
      enum:
        - male
        - female
        - other
        - not_specified
      title: Gender
      description: An enumeration.
    Address:
      properties:
        street:
          type: string
          minLength: 1
          title: Street
          description: Street address of residence.
        street_line_2:
          type: string
          title: Street Line 2
          description: Additional street address information.
        city:
          type: string
          minLength: 1
          title: City
          description: City of residence.
        state_province:
          type: string
          minLength: 1
          title: State Province
          description: State or province of residence.
        zip_postal_code:
          type: string
          minLength: 1
          title: Zip Postal Code
          description: ZIP or postal code part of the address.
        country:
          type: string
          minLength: 1
          title: Country
          description: Country of residence.
      type: object
      required:
        - street
        - city
        - state_province
        - zip_postal_code
        - country
      title: Address
      description: Represents a postal address.
    MockResultStatus:
      type: string
      enum:
        - completed
        - failed
      title: MockResultStatus
      description: An enumeration.
    MockResultCase:
      type: string
      enum:
        - drugs_covered__prior_auth_required__has_copay
        - drugs_covered__prior_auth_required__no_copay
        - drugs_covered__prior_auth_not_required__has_copay
        - drugs_covered__prior_auth_not_required__no_copay
        - drugs_not_covered__prior_auth_na__no_copay
        - patient_consent_required
        - reverification__existing_pa
        - reverification__no_existing_pa
      title: MockResultCase
      description: An enumeration.
  securitySchemes:
    FronteggJWTAuthentication:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is your auth token.

````