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

# Request verifications of benefits for a patient

> Upsert the patient, store the coverage you know, read the insurance cards you uploaded, and open a verification of benefits for every active policy of the patient, asynchronously. Poll the Location URL until the request is completed or failed.



## OpenAPI

````yaml https://api.getsolum.com/openapi.json post /v1/verification-of-benefits-requests
openapi: 3.1.0
info:
  title: Solum Health API
  description: '## Solum Health Backend API '
  version: 1.0.0
servers: []
security: []
paths:
  /v1/verification-of-benefits-requests:
    post:
      tags:
        - Verification of Benefits Requests
      summary: Request verifications of benefits for a patient
      description: >-
        Upsert the patient, store the coverage you know, read the insurance
        cards you uploaded, and open a verification of benefits for every active
        policy of the patient, asynchronously. Poll the Location URL until the
        request is completed or failed.
      operationId: create_request_v1_verification_of_benefits_requests_post
      parameters:
        - name: idempotency-key
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Optional durable submission key. Reuse it with an identical body
              to retrieve the same request; use a new key for a corrected body.
            title: Idempotency-Key
          description: >-
            Optional durable submission key. Reuse it with an identical body to
            retrieve the same request; use a new key for a corrected body.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerificationRequestCreate'
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerificationRequestView'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Conflict
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    example: validation_error
                  code:
                    type: string
                    example: invalid_parameter
                  message:
                    type: string
                    example: Field validation failed
                  param:
                    type: string
                    example: phone_number
                required:
                  - type
                  - code
                  - message
      security:
        - APIKeyHeader: []
        - HTTPBearer: []
components:
  schemas:
    VerificationRequestCreate:
      properties:
        patient:
          anyOf:
            - $ref: '#/components/schemas/IntakePatient'
            - type: 'null'
          description: The patient. Send this or patient_id.
        patient_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Patient Id
          description: An existing active patient. Send this or patient.
        policies:
          items:
            $ref: '#/components/schemas/IntakePolicy'
          type: array
          maxItems: 4
          title: Policies
          description: >-
            The coverage you know, one per tier. Send policies, file_ids, or
            both.
        file_ids:
          anyOf:
            - items:
                type: string
                format: uuid
              type: array
              maxItems: 15
              minItems: 1
            - type: 'null'
          title: File Ids
          description: >-
            1-15 insurance-card files uploaded through POST /v1/files (PDF, PNG
            or JPEG). Send policies, file_ids, or both.
        specialties:
          anyOf:
            - items:
                $ref: '#/components/schemas/SpecialtyIn'
              type: array
              minItems: 1
            - type: 'null'
          title: Specialties
          description: >-
            The specialties to verify on every VOB, resolved as on POST
            /v1/verification-of-benefits. Omitted: each policy gets the
            specialties your company's configuration derives for it.
        priority:
          type: boolean
          title: Priority
          description: Flag every VOB this request opens as a priority.
          default: false
      additionalProperties: false
      type: object
      title: VerificationRequestCreate
      description: |-
        One intake: a patient, the coverage you know and the insurance cards
        you have. Solum reads the cards, stores the coverage and opens a
        verification of benefits (VOB) for every active policy of the patient.
    VerificationRequestView:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        status:
          $ref: '#/components/schemas/AsyncOperationStatus'
        patient:
          anyOf:
            - $ref: '#/components/schemas/IntakePatientOutcome'
            - type: 'null'
        policies:
          items:
            $ref: '#/components/schemas/IntakePolicyOutcome'
          type: array
          title: Policies
        verifications:
          items:
            $ref: '#/components/schemas/IntakeVerificationOutcome'
          type: array
          title: Verifications
        error:
          anyOf:
            - $ref: '#/components/schemas/RequestError'
            - type: 'null'
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
        completed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Completed At
      additionalProperties: false
      type: object
      required:
        - id
        - status
        - created_at
        - updated_at
      title: VerificationRequestView
    ErrorResponse:
      properties:
        type:
          type: string
          title: Type
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
        param:
          anyOf:
            - type: string
            - type: 'null'
          title: Param
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Meta
      additionalProperties: false
      type: object
      required:
        - type
        - code
        - message
      title: ErrorResponse
      description: >-
        Clean error response schema following RFC 7807 inspired format.


        Error is returned directly without wrapper, with all fields in
        snake_case.


        Fields:

        - type: Error category (e.g., "validation_error", "resource_error")

        - code: Specific error code (e.g., "resource_missing", "invalid_field")

        - message: Human-readable error message

        - param: The parameter that caused the error (optional)

        - meta: Generic free-form bag for resource-specific context (optional).
          For 409 resource_conflict responses the conflicting resource is nested
          here under the resource-specific key, e.g. ``meta.existing_patient``.
    IntakePatient:
      properties:
        external_id:
          anyOf:
            - $ref: '#/components/schemas/ExternalIdInput'
            - type: 'null'
          description: Your system's identifier for the patient; the strongest match key.
        first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
        last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
        middle_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Middle Name
        date_of_birth:
          anyOf:
            - type: string
            - type: 'null'
          title: Date Of Birth
          description: YYYY-MM-DD, YYYYMMDD, MM/DD/YYYY, MM-DD-YYYY or MM/DD/YY.
        gender:
          anyOf:
            - type: string
            - type: 'null'
          title: Gender
        phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
        additional_phone_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Additional Phone Number
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
        address2:
          anyOf:
            - type: string
            - type: 'null'
          title: Address2
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
        zip:
          anyOf:
            - type: string
            - type: 'null'
          title: Zip
        comments:
          anyOf:
            - type: string
            - type: 'null'
          title: Comments
        assigned_user_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Assigned User Id
          description: A user ID or email; an unknown user is ignored.
        location_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Location Id
          description: An active location of your company.
        organization_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Organization Id
          description: An active organization of your company.
        tags:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Tags
          description: Tag IDs or names; unknown tags are ignored.
        referral:
          anyOf:
            - $ref: '#/components/schemas/ReferralCreateRequest'
            - type: 'null'
        custom_fields:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Custom Fields
        created_from:
          anyOf:
            - $ref: '#/components/schemas/PatientCreatedFrom'
            - type: 'null'
          description: Where a new patient came from; `api` when omitted.
      additionalProperties: false
      type: object
      title: IntakePatient
      description: >-
        The patient, as `POST /v1/patients/upsert` takes it without coverage or

        workflow stage. Solum matches an existing patient (external ID, then
        name

        and date of birth, then phone or email with a similar name) and updates

        it, or creates one. An unparseable phone, email, date of birth, gender
        or

        state is dropped rather than refused.
    IntakePolicy:
      properties:
        insurance_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Insurance Id
          description: >-
            An active insurance of your company. Send this or insurance_name. A
            card never changes it.
        insurance_name:
          anyOf:
            - type: string
              maxLength: 200
            - type: 'null'
          title: Insurance Name
          description: >-
            The insurance's name as you know it; Solum resolves it to one of
            your insurances that is ready for verification. A card with the same
            member ID may correct it to the insurance the card names.
        member_number:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          title: Member Number
          description: >-
            The patient's member ID. Omit it, or send it blank, when you don't
            know it: the patient's one policy on that insurance keeps its own,
            which a card with another member ID may then correct; otherwise it
            is taken from the insurance card of that insurance.
        coverage_tier:
          $ref: '#/components/schemas/InsuranceTier'
          description: >-
            Where this coverage ranks. A coverage claiming a tier another one
            holds moves that one to the first free tier.
        subscriber:
          anyOf:
            - $ref: '#/components/schemas/PolicySubscriber'
            - type: 'null'
          description: The policy holder, when not the patient.
        group_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Group Number
        plan_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Plan Name
        external_id:
          anyOf:
            - type: string
            - type: 'null'
          title: External Id
          description: >-
            Your system's identifier for this coverage; matches the patient's
            coverage holding it.
      additionalProperties: false
      type: object
      required:
        - coverage_tier
      title: IntakePolicy
      description: |-
        A coverage the caller knows. A card fills only the fields the caller
        leaves out and never changes an insurance_id or member_number it sends;
        an insurance sent as insurance_name may be corrected by a card with the
        same member ID.
    SpecialtyIn:
      properties:
        service_type:
          $ref: '#/components/schemas/ServiceType'
          description: The specialty to verify.
        credentialing_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Credentialing Id
          description: >-
            An active credentialing record of your company to bill under.
            Omitted: the policy's billing credential, else the insurance's
            billing default, else the credential registered for this specialty.
        cpt_codes:
          anyOf:
            - items:
                type: string
              type: array
              maxItems: 50
            - type: 'null'
          title: Cpt Codes
          description: >-
            Up to 50 CPT/HCPCS codes, five letters or digits each (trimmed,
            upper-cased, de-duplicated). Omitted: the company's default CPT
            codes for this specialty. The eligibility check asks the payer about
            the first 8.
        service_locations:
          anyOf:
            - items:
                $ref: '#/components/schemas/ServiceLocation'
              type: array
            - type: 'null'
          title: Service Locations
          description: >-
            At least one place of service. Omitted: the company's places of
            service.
        icd_codes:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Icd Codes
          description: >-
            Diagnosis codes (may be empty). Omitted: the company's default ICD
            codes for this specialty.
      additionalProperties: false
      type: object
      required:
        - service_type
      title: SpecialtyIn
      description: |-
        One specialty (service type) the VOB asks Solum to verify.

        Only `service_type` is required. Omit any other field to take the
        company's default for that service type; a field that has no default is
        refused with 422 naming the specialty and the field
        (`param="specialties[0].cpt_codes"`). The NPI is always copied from the
        credential, never sent.
    AsyncOperationStatus:
      type: string
      enum:
        - queued
        - processing
        - completed
        - failed
      title: AsyncOperationStatus
    IntakePatientOutcome:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        action:
          $ref: '#/components/schemas/IntakePatientAction'
      additionalProperties: false
      type: object
      required:
        - id
        - action
      title: IntakePatientOutcome
    IntakePolicyOutcome:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
          description: The policy; null for an input that was not stored.
        action:
          $ref: '#/components/schemas/IntakePolicyAction'
        reason:
          anyOf:
            - $ref: '#/components/schemas/IntakePolicyReason'
            - type: 'null'
        source:
          anyOf:
            - $ref: '#/components/schemas/IntakePolicySource'
            - type: 'null'
          description: Which input named the policy; null when none did.
      additionalProperties: false
      type: object
      required:
        - action
      title: IntakePolicyOutcome
    IntakeVerificationOutcome:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
          description: The VOB opened or found open; null when none was requested.
        patient_policy_id:
          type: string
          format: uuid
          title: Patient Policy Id
        status:
          $ref: '#/components/schemas/IntakeVerificationStatus'
        reason:
          anyOf:
            - $ref: '#/components/schemas/IntakeVerificationReason'
            - type: 'null'
        left_out:
          items:
            $ref: '#/components/schemas/ServiceType'
          type: array
          title: Left Out
          description: Specialties that could not be requested on this policy's VOB.
      additionalProperties: false
      type: object
      required:
        - patient_policy_id
        - status
      title: IntakeVerificationOutcome
    RequestError:
      properties:
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
        retryable:
          type: boolean
          title: Retryable
        fields:
          items:
            $ref: '#/components/schemas/FieldError'
          type: array
          title: Fields
      additionalProperties: false
      type: object
      required:
        - code
        - message
        - retryable
      title: RequestError
    ExternalIdInput:
      properties:
        type_id:
          type: string
          format: uuid
          title: Type Id
          description: external_id_types.id (must belong to caller's company)
        value:
          type: string
          maxLength: 500
          minLength: 1
          title: Value
          description: External identifier value
      additionalProperties: false
      type: object
      required:
        - type_id
        - value
      title: ExternalIdInput
      description: External-id pair used for matching and (optionally) record creation.
    ReferralCreateRequest:
      properties:
        physician_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician Name
          description: Referring physician's name
        physician_email:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician Email
          description: Referring physician's email
        physician_phone:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician Phone
          description: Referring physician's phone
        physician_fax:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician Fax
          description: Referring physician's fax
        physician_group:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician Group
          description: Referring physician's group/practice
        physician_npi:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician Npi
          description: Referring physician's National Provider Identifier
        physician_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician Address
          description: Referring physician's street address
        physician_address_2:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician Address 2
          description: Referring physician's address line 2
        physician_city:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician City
          description: Referring physician's city
        physician_state:
          anyOf:
            - $ref: '#/components/schemas/States'
            - type: 'null'
          description: Referring physician's state
        physician_zip:
          anyOf:
            - type: string
            - type: 'null'
          title: Physician Zip
          description: Referring physician's ZIP code
        start_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Start Date
          description: Referral start date (YYYY-MM-DD)
        end_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: End Date
          description: Referral end date (YYYY-MM-DD)
        location_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Location Id
          description: Company location ID
        icd_codes:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Icd Codes
          description: ICD diagnosis codes
        service_types:
          anyOf:
            - items:
                $ref: '#/components/schemas/ServiceType'
              type: array
            - type: 'null'
          title: Service Types
          description: Service types for the referral
        file_id:
          anyOf:
            - type: string
            - type: 'null'
          title: File Id
          description: >-
            Source file ID — set when the referral originates from a document
            extraction so the UI can link back to the file.
      additionalProperties: false
      type: object
      title: ReferralCreateRequest
      description: >-
        Nested referral creation for patient creation.


        Same referral the `/v1/referrals` endpoints take, minus `patient_id`
        (the

        patient is the one being created) and plus `file_id`.
    PatientCreatedFrom:
      type: string
      enum:
        - form
        - call
        - api
        - file
        - sms
        - fax
        - chat_agent
        - manual
        - bulk_import
        - eligibility
        - prior_auth
      title: PatientCreatedFrom
      description: Patient creation source enum matching Prisma
    InsuranceTier:
      type: string
      enum:
        - primary
        - secondary
        - tertiary
        - quaternary
      title: InsuranceTier
      description: Insurance tier enum matching Prisma
    PolicySubscriber:
      properties:
        first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: Subscriber's first name
        middle_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Middle Name
          description: Subscriber's middle name
        last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: Subscriber's last name
        dob:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Dob
          description: Subscriber's date of birth
        gender:
          anyOf:
            - $ref: '#/components/schemas/Gender'
            - type: 'null'
          description: Subscriber's gender
        member_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Member Number
          description: Subscriber's own member/subscriber ID
        address:
          anyOf:
            - type: string
            - type: 'null'
          title: Address
          description: Subscriber's address
        address2:
          anyOf:
            - type: string
            - type: 'null'
          title: Address2
          description: Subscriber's address line 2
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
          description: Subscriber's city
        state:
          anyOf:
            - $ref: '#/components/schemas/States'
            - type: 'null'
          description: Subscriber's state
        zip:
          anyOf:
            - type: string
            - type: 'null'
          title: Zip
          description: Subscriber's ZIP code
      additionalProperties: false
      type: object
      title: PolicySubscriber
      description: |-
        The person who holds the policy — nested on `PatientPolicy` rather than
        the flat `subscriber_*` columns the table actually has.

        Imported directly by the patients module's inline policy schemas
        (Task 8): this is the one definition of the subscriber's wire shape.
    ServiceType:
      type: string
      enum:
        - medical_care
        - surgical
        - consultation
        - diagnostic_x_ray
        - diagnostic_lab
        - radiation_therapy
        - anesthesia
        - surgical_assistance
        - other_medical
        - blood_charges
        - used_durable_medical_equipment
        - durable_medical_equipment_purchase
        - ambulatory_service_center_facility
        - renal_supplies_in_home
        - alternate_method_dialysis
        - chronic_renal_disease_equipment
        - pre_admission_testing
        - durable_medical_equipment_rental
        - pneumonia_vaccine
        - second_surgical_opinion
        - third_surgical_opinion
        - social_work
        - diagnostic_dental
        - periodontics
        - restorative
        - endodontics
        - maxillofacial_prosthetics
        - adjunctive_dental_services
        - health_benefit_plan_coverage
        - plan_waiting_period
        - chiropractic
        - chiropractic_office_visits
        - dental_care
        - dental_crowns
        - dental_accident
        - orthodontics
        - prosthodontics
        - oral_surgery
        - routine_preventive_dental
        - home_health_care
        - home_health_prescriptions
        - home_health_visits
        - hospice
        - respite_care
        - hospital
        - hospital_inpatient
        - hospital_room_and_board
        - hospital_outpatient
        - hospital_emergency_accident
        - hospital_emergency_medical
        - hospital_ambulatory_surgical
        - long_term_care
        - major_medical
        - medically_related_transportation
        - air_transportation
        - cabulance
        - licensed_ambulance
        - general_benefits
        - in_vitro_fertilization
        - mri_cat_scan
        - donor_procedures
        - acupuncture
        - newborn_care
        - pathology
        - smoking_cessation
        - well_baby_care
        - maternity
        - transplants
        - audiology_exam
        - inhalation_therapy
        - diagnostic_medical
        - private_duty_nursing
        - prosthetic_device
        - dialysis
        - otological_exam
        - chemotherapy
        - allergy_testing
        - immunizations
        - routine_physical
        - family_planning
        - infertility
        - abortion
        - aids
        - emergency_services
        - cancer
        - pharmacy
        - free_standing_prescription_drug
        - mail_order_prescription_drug
        - brand_name_prescription_drug
        - generic_prescription_drug
        - podiatry
        - podiatry_office_visits
        - podiatry_nursing_home_visits
        - professional_physician
        - anesthesiologist
        - professional_visit_office
        - professional_visit_inpatient
        - professional_visit_outpatient
        - professional_visit_nursing_home
        - professional_visit_skilled_nursing_facility
        - professional_visit_home
        - psychiatric
        - psychiatric_room_and_board
        - psychotherapy
        - psychiatric_inpatient
        - psychiatric_outpatient
        - rehabilitation
        - rehabilitation_room_and_board
        - rehabilitation_inpatient
        - rehabilitation_outpatient
        - occupational_therapy
        - physical_medicine
        - speech_therapy
        - skilled_nursing_care
        - skilled_nursing_care_room_and_board
        - substance_abuse
        - alcoholism
        - drug_addiction
        - vision_optometry
        - frames
        - routine_exam
        - lenses
        - nonmedically_necessary_physical
        - experimental_drug_therapy
        - burn_care
        - brand_name_prescription_drug_formulary
        - brand_name_prescription_drug_non_formulary
        - independent_medical_evaluation
        - partial_hospitalization_psychiatric
        - day_care_psychiatric
        - cognitive_therapy
        - massage_therapy
        - pulmonary_rehabilitation
        - cardiac_rehabilitation
        - pediatric
        - nursery
        - skin
        - orthopedic
        - cardiac
        - lymphatic
        - gastrointestinal
        - endocrine
        - neurology
        - eye
        - invasive_procedures
        - gynecological
        - obstetrical
        - obstetrical_gynecological
        - mail_order_prescription_drug_brand_name
        - mail_order_prescription_drug_generic
        - physician_visit_office_sick
        - physician_visit_office_well
        - coronary_care
        - private_duty_nursing_inpatient
        - private_duty_nursing_home
        - surgical_benefits_professional
        - surgical_benefits_facility
        - mental_health_provider_inpatient
        - mental_health_provider_outpatient
        - mental_health_facility_inpatient
        - mental_health_facility_outpatient
        - substance_abuse_facility_inpatient
        - substance_abuse_facility_outpatient
        - screening_x_ray
        - screening_laboratory
        - mammogram_high_risk_patient
        - mammogram_low_risk_patient
        - flu_vaccination
        - eyewear_and_accessories
        - case_management
        - dermatology
        - durable_medical_equipment
        - diabetic_supplies
        - generic_prescription_drug_formulary
        - generic_prescription_drug_non_formulary
        - allergy
        - intensive_care
        - mental_health
        - neonatal_intensive_care
        - oncology
        - physical_therapy
        - pulmonary
        - renal
        - residential_psychiatric_treatment
        - transitional_care
        - transitional_nursery_care
        - urgent_care
      title: ServiceType
      description: |-
        X12 Service Type — human-readable enum values stored in the database.
        See app/utils/service_type_mapping.py for code-to-type mappings.
    ServiceLocation:
      type: string
      enum:
        - home
        - office
        - school
        - daycare
        - community
        - telehealth
        - on_campus_outpatient_hospital
      title: ServiceLocation
      description: Service location enum matching Prisma @@map("service_location").
    IntakePatientAction:
      type: string
      enum:
        - created
        - updated
        - matched
      title: IntakePatientAction
    IntakePolicyAction:
      type: string
      enum:
        - matched
        - filled
        - corrected
        - created
        - unchanged
        - skipped
      title: IntakePolicyAction
      description: |-
        What the intake did to one policy. `matched`: an input named it and
        nothing changed; `unchanged`: no input named it (a policy the patient
        already had, or one moved off its tier); `skipped`: an input that was
        not stored — its entry has no id.
    IntakePolicyReason:
      type: string
      enum:
        - new_member_number
        - corrected_insurance
        - specific_insurance
        - tier_moved
        - unresolved_payer
        - ambiguous
        - no_member_number
        - tiers_full
        - conflicts_with_request
        - duplicate_policy
        - external_id_taken
        - not_saved
      title: IntakePolicyReason
    IntakePolicySource:
      type: string
      enum:
        - request
        - card
        - both
      title: IntakePolicySource
    IntakeVerificationStatus:
      type: string
      enum:
        - opened
        - already_open
        - not_requested
      title: IntakeVerificationStatus
    IntakeVerificationReason:
      type: string
      enum:
        - no_service_type
        - specialties_unresolved
      title: IntakeVerificationReason
    FieldError:
      properties:
        path:
          type: string
          title: Path
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
      additionalProperties: false
      type: object
      required:
        - path
        - code
        - message
      title: FieldError
    States:
      type: string
      enum:
        - alabama
        - alaska
        - arizona
        - arkansas
        - california
        - colorado
        - connecticut
        - delaware
        - florida
        - georgia
        - hawaii
        - idaho
        - illinois
        - indiana
        - iowa
        - kansas
        - kentucky
        - louisiana
        - maine
        - maryland
        - massachusetts
        - michigan
        - minnesota
        - mississippi
        - missouri
        - montana
        - nebraska
        - nevada
        - new_hampshire
        - new_jersey
        - new_mexico
        - new_york
        - north_carolina
        - north_dakota
        - ohio
        - oklahoma
        - oregon
        - pennsylvania
        - rhode_island
        - south_carolina
        - south_dakota
        - tennessee
        - texas
        - utah
        - vermont
        - virginia
        - washington
        - west_virginia
        - wisconsin
        - wyoming
        - district_of_columbia
        - puerto_rico
        - virgin_islands
        - guam
        - northern_mariana_islands
        - american_samoa
      title: States
      description: US States enum matching Prisma @map values
    Gender:
      type: string
      enum:
        - male
        - female
        - other
      title: Gender
      description: Gender enum matching Prisma
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    HTTPBearer:
      type: http
      scheme: bearer

````