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

# Create Resource Record



## OpenAPI

````yaml https://api-qa.interactly.ai/api-docs/integrations/api.json post /integrations/v2/resource-records
openapi: 3.1.0
info:
  title: Interactly API
  description: API for building interactly.ai services
  version: 1.1.0
  contact:
    name: Interactly
    url: https://interactly.ai
    email: developers@interactly.ai
servers:
  - url: https://api-qa.interactly.ai
    description: API Server
security: []
paths:
  /integrations/v2/resource-records:
    post:
      tags:
        - Integrations Resource Records V2
      summary: Create Resource Record
      operationId: integrations_service_create_resource_record_v2_resource_records_post
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntegrationsResourceRecordsBaseConfig'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationsResourceRecordsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - bearer: []
components:
  schemas:
    IntegrationsResourceRecordsBaseConfig:
      properties:
        logicalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the integration resource record
        integrationId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Integration ID
          description: Reference to the associated integration
        config:
          anyOf:
            - oneOf:
                - $ref: >-
                    #/components/schemas/AthenaResourcesPractitionersConfig-Input
                - $ref: '#/components/schemas/AthenaResourcesLocationsConfig-Input'
                - $ref: '#/components/schemas/AthenaResourcesVisitingReasonsConfig'
                - $ref: '#/components/schemas/AthenaResourcesPatientsConfig-Input'
                - $ref: '#/components/schemas/AthenaResourcesAppointmentsConfig-Input'
                - $ref: >-
                    #/components/schemas/AthenaResourcesAppointmentTypeConfig-Input
                - $ref: '#/components/schemas/AthenaResourcesVisitStatusConfig'
                - $ref: '#/components/schemas/AthenaResourcesInsurancePayersConfig'
                - $ref: '#/components/schemas/AthenaResourcesOutreachConfig-Input'
              discriminator:
                propertyName: type
                mapping:
                  appointment_types:
                    $ref: >-
                      #/components/schemas/AthenaResourcesAppointmentTypeConfig-Input
                  appointments:
                    $ref: >-
                      #/components/schemas/AthenaResourcesAppointmentsConfig-Input
                  insurance_payers:
                    $ref: '#/components/schemas/AthenaResourcesInsurancePayersConfig'
                  locations:
                    $ref: '#/components/schemas/AthenaResourcesLocationsConfig-Input'
                  outreach:
                    $ref: '#/components/schemas/AthenaResourcesOutreachConfig-Input'
                  patients:
                    $ref: '#/components/schemas/AthenaResourcesPatientsConfig-Input'
                  practitioners:
                    $ref: >-
                      #/components/schemas/AthenaResourcesPractitionersConfig-Input
                  visit_statuses:
                    $ref: '#/components/schemas/AthenaResourcesVisitStatusConfig'
                  visiting_reasons:
                    $ref: '#/components/schemas/AthenaResourcesVisitingReasonsConfig'
            - type: 'null'
          title: Config
          description: type-specific configuration schema determined by 'type'.
      type: object
      title: IntegrationsResourceRecordsBaseConfig
    IntegrationsResourceRecordsResponse:
      properties:
        integration_resource_record:
          $ref: '#/components/schemas/IntegrationsResourceRecordsModel'
          description: Single integration resource record object
      type: object
      required:
        - integration_resource_record
      title: IntegrationsResourceRecordsResponse
      description: |-
        Response model for a single integration resource record.
        Contains a IntegrationsResourceRecordsModel object.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AthenaResourcesPractitionersConfig-Input:
      properties:
        type:
          type: string
          const: practitioners
          title: Type of Resource Record
          description: Type of the resource record. Must be 'practitioners'
          default: practitioners
          input_field_not_visible: true
        organizationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Organization ID
          description: Unique identifier for the organization in Athena system
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner ID
          description: Unique identifier for the practitioner in Athena system
        npi:
          anyOf:
            - type: string
            - type: 'null'
          title: National Provider Identifier
          description: >-
            NPI of the practitioner (FHIR identifier with system
            http://hl7.org/fhir/sid/us-npi)
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Name
          description: Full name of the practitioner
        gender:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Gender
          description: Gender of the practitioner
        avatar:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Avatar
          description: URL to the practitioner's avatar image
        summary:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Summary
          description: Short summary or bio for the practitioner
          input_field_helper_text: Supports Markdown syntax for formatted bios.
          input_field_type: textarea
        qualification:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Qualification
          description: 'Qualifications of the practitioner. Ex: MD, PhD etc.'
        education:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Education
          description: Educational background of the practitioner
          input_field_helper_text: Supports Markdown syntax for richer descriptions.
          input_field_type: textarea
        supervisorId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Practitioner Supervisor
          description: Practitioner's supervisor like Supervising Physician
          input_field_helper_text: Select the supervisor for this practitioner.
          input_field_type: practitioners_selection
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        languages:
          items:
            type: string
          type: array
          title: Practitioner Languages
          description: List of languages spoken by the practitioner
          input_field_helper_text: Add languages spoken by the practitioner.
        specialties:
          items:
            $ref: '#/components/schemas/IntegrationPractitionerSpecialty'
          type: array
          title: Practitioner Specialty
          description: Specialty details of the practitioner
        locations:
          items:
            $ref: '#/components/schemas/IntegrationLocations'
          type: array
          title: Practitioner Locations
          description: List of locations associated with the practitioner
        workingHours:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWorkingHours'
            - type: 'null'
          title: Working Hours
          description: >-
            Optional day-wise working hours configuration. Keys are mon..sun and
            values are windows with 'start'/'end' in HH:MM (24h) format.
            Example:
            mon=[{start:'08:15',end:'11:00'},{start:'13:15',end:'16:00'}].
        preferred_visiting_reasons:
          anyOf:
            - items:
                type: string
                maxLength: 24
                minLength: 24
                pattern: ^[0-9a-f]{24}$
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Preferred Visiting Reasons
          description: >-
            List of preferred visiting reasons for the practitioner. Leave empty
            to allow all reasons.
          input_field_helper_text: Select one or more reasons for the practitioner's preferred visits.
          input_field_type: visiting_reasons_selection
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
      type: object
      title: Practitioners
      description: Configuration for Athena Practitioners resource records.
    AthenaResourcesLocationsConfig-Input:
      properties:
        type:
          type: string
          const: locations
          title: Type of Resource Record
          description: Type of the resource record. Must be 'locations'
          default: locations
          input_field_not_visible: true
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Location ID
          description: Unique identifier for the location in Athena system
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Location Name
          description: Name of the location
        address:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAddress'
            - type: 'null'
          title: Location Address
          description: Address of the location
        position:
          anyOf:
            - $ref: '#/components/schemas/IntegrationLocationPosition'
            - type: 'null'
          title: Location Position
          description: Geographical position of the location
        telecom:
          items:
            $ref: '#/components/schemas/IntegrationTelecom'
          type: array
          title: Location Telecom
          description: Telecom information of the location
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: inactive
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
        workingHours:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWorkingHours'
            - type: 'null'
          title: Working Hours
          description: >-
            Day-wise working hours configuration from Monday to Sunday and
            values are windows with 'start'/'end' in HH:MM (24h) format.
            Example:
            Monday=[{start:'08:15',end:'11:00'},{start:'13:15',end:'16:00'}].
      type: object
      title: Locations
      description: Configuration for Athena Locations resource records.
    AthenaResourcesVisitingReasonsConfig:
      properties:
        type:
          type: string
          const: visiting_reasons
          title: Type of Resource Record
          description: Type of the resource record. Must be 'visiting_reasons'
          default: visiting_reasons
          input_field_not_visible: true
        reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Visiting Reason
          description: Name of the visiting reason
        reasonCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Visiting Reason Code
          description: Visiting Reason Code associated with the visiting reason
        applicableUseCase:
          anyOf:
            - $ref: '#/components/schemas/IntegrationVisitReasonApplicableUseCaseType'
            - type: 'null'
          title: Applicable Use Case
          description: >-
            Visit reason applicable for Appointment scheduling or
            Cancellation/Reschedule.
        isDefault:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Default Cancel Or Schedule Reason
          description: >-
            Indicates if this is a default Cancel Or Schedule Reason that should
            be offered when no other reason is selected. Note: Only considered
            for Appointment Cancellation/Reschedule in case reason code is not
            provided.
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
      type: object
      title: Visiting Reasons
      description: Configuration for Athena Visiting Reasons resource records.
    AthenaResourcesPatientsConfig-Input:
      properties:
        type:
          type: string
          const: patients
          title: Type of Resource Record
          description: Type of the resource record. Must be 'patients'
          default: patients
          input_field_not_visible: true
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        patientSyncId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient Sync ID
          description: Identifier for the sync request associated with the patient data
        patientStatus:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPatientStatus'
            - type: 'null'
          title: Patient Status
          description: Status of the patient in Athena system
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient ID
          description: Unique identifier for the patient in Athena system
        patientMrnId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient MRN ID
          description: >-
            Medical Record Number (MRN) identifier for the patient in Athena
            system
        firstName:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: First name of the patient
        lastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: Last name of the patient
        birthDate:
          anyOf:
            - type: string
            - type: 'null'
          title: Birth Date
          description: Birth date of the patient in YYYY-MM-DD format
        gender:
          anyOf:
            - $ref: '#/components/schemas/IntegrationGender'
            - type: 'null'
          title: Gender
          description: Gender of the patient
        phoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: Contact phone number of the patient
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Contact email address of the patient
        pcp:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Care Provider ID
          description: Identifier for the patient's primary care provider
        rp:
          anyOf:
            - type: string
            - type: 'null'
          title: Referral Provider ID
          description: Identifier for the patient's referral provider
        notificationPreferences:
          anyOf:
            - $ref: '#/components/schemas/PatientNotificationPreferences'
            - type: 'null'
          title: Notification Preferences
          description: Patient's communication preferences for notifications.
        patientCreatedSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPatientCreatedSource'
            - type: 'null'
          title: Patient Created Source
          description: Source from which the patient was created in Athena system
        address:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAddress'
            - type: 'null'
          title: Address
          description: Address information for the patient.
        race:
          anyOf:
            - type: string
            - type: 'null'
          title: Race
          description: Race of the patient
        ethnicity:
          anyOf:
            - type: string
            - type: 'null'
          title: Ethnicity
          description: Ethnicity of the patient
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: Preferred language of the patient
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
        trackingDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingDetails'
            - type: 'null'
          title: Tracking Details
          description: Internal tracking details for the web session.
        consentDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationConsentDetails'
            - type: 'null'
          title: Consent Details
          description: Consent information for the web session.
        insuranceCoverages:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceCoverage-Input'
          type: array
          title: Insurance Coverages
          description: List of insurance coverages associated with the patient
        lastSyncedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Synced At
          description: Timestamp of the last successful sync for the appointment data
          input_field_type: datetime_iso8601
      type: object
      title: Patients
      description: Configuration for Athena Patients resource records.
    AthenaResourcesAppointmentsConfig-Input:
      properties:
        type:
          type: string
          const: appointments
          title: Type of Resource Record
          description: Type of the resource record. Must be 'appointments'
          default: appointments
          input_field_not_visible: true
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        appointmentSyncId:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Sync ID
          description: Identifier for the sync request associated with the appointment data
        appointmentStatus:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentStatus'
            - type: 'null'
          title: Appointment Status
          description: Status of the appointment in Athena system
        visitStatus:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Status
          description: Status of the visit associated with the appointment in Athena system
          default: PEN
        appointmentId:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment ID
          description: Unique identifier for the appointment in Athena system
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient ID
          description: Identifier for the patient associated with the appointment
        patientMrnId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient MRN ID
          description: >-
            Medical Record Number (MRN) identifier for the patient in Athena
            system
        patientFirstName:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: First name of the patient
        patientLastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: Last name of the patient
        patientPhoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: Contact phone number of the patient
        patientEmail:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Contact email address of the patient
        startTime:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Date Time
          description: Date and time of the appointment
          input_field_type: datetime_iso8601
        duration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Duration (minutes)
          description: Duration of the appointment in minutes
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Location ID
          description: Identifier for the location where the appointment is scheduled
        practitionerId:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner ID
          description: Identifier for the practitioner associated with the appointment
        visitReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason
          description: Reason for the patient's visit
        slotId:
          anyOf:
            - type: string
            - type: 'null'
          title: Slot ID
          description: Identifier for the time slot of the appointment
        appointmentType:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Type
          description: >-
            Legacy single appointment type value for the appointment. TODO:
            deprecate in favor of appointmentTypes.
        appointmentTypes:
          items:
            type: string
          type: array
          title: Appointment Types
          description: >-
            Normalized appointment type values for the appointment. Prefer this
            field over the legacy appointmentType field.
        notes:
          anyOf:
            - type: string
            - type: 'null'
          title: Notes
          description: Additional notes or metadata associated with the appointment
        distanceMiles:
          anyOf:
            - type: number
            - type: 'null'
          title: Distance (miles)
          description: Distance in miles related to the appointment
        paymentMethod:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPaymentMethod'
            - type: 'null'
          title: Payment Method
          description: Preferred payment method for the appointment
        insuranceHandlingStrategy:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceHandlingStrategy'
            - type: 'null'
          title: Insurance Handling Strategy
          description: >-
            Strategy for handling insurance information during appointment
            scheduling and reminders
        payerName:
          anyOf:
            - type: string
            - type: 'null'
          title: Payer Name
          description: Name of the insurance payer associated with the appointment
        appointmentCreatedSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentCreatedSource'
            - type: 'null'
          title: Appointment Created Source
          description: Source from which the appointment was created
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record
        visitDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationVisitDetails-Input'
            - type: 'null'
          title: Visit Details
          description: High-level details for the visit.
        insuranceCoverageId:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Coverage Logical ID
          description: Unique identifier for the insurance coverage
        patientFlowMismatch:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Patient Flow Mismatch
          description: >-
            Indicates whether there is a mismatch in the expected patient flow
            (e.g., new vs existing patient) for the appointment.
          default: false
        lastSyncedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Synced At
          description: Timestamp of the last successful sync for the appointment data
          input_field_type: datetime_iso8601
        reminderDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentReminder'
            - type: 'null'
          title: Appointment Reminder Details
          description: >-
            Details about the appointment reminder delivery and patient
            response.
        reminderHistory:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentReminder'
          type: array
          title: Reminder History
          description: >-
            History of reminders sent for the appointment along with their
            delivery and response details.
        finalReminderDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentReminder'
            - type: 'null'
          title: Final Reminder Details
          description: >-
            Details about the final reminder sent for the appointment, if
            applicable.
        insuranceRemindersHistory:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceReminder-Input'
          type: array
          title: Insurance Reminder History
          description: >-
            History of insurance reminders sent for the appointment along with
            their delivery and response details.
        insuranceResults:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceResults'
            - type: 'null'
          title: Insurance Results
          description: >-
            Results related to insurance card upload, OCR extraction, and Stedi
            verification for the appointment.
        trackingDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingDetails'
            - type: 'null'
          title: Tracking Details
          description: Internal tracking details for the web session.
      type: object
      title: Appointments
      description: Configuration for Athena Appointments resource records.
    AthenaResourcesAppointmentTypeConfig-Input:
      properties:
        type:
          type: string
          const: appointment_types
          title: Type of Resource Record
          description: Type of the resource record. Must be 'appointment_types'
          default: appointment_types
          input_field_not_visible: true
        appointmentType:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Type
          description: Type of appointment for the record
        appointmentCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Code
          description: Code of the appointment type in EHR system
        appointmentDuration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Appointment Duration (minutes)
          description: Duration of the appointment in minutes
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the appointment type
        allowedUseCases:
          items:
            $ref: '#/components/schemas/IntegrationUseCaseType'
          type: array
          title: Allowed Use Cases
          description: >-
            Optional list of allowed use-case (from enum). None indicates,
            Appointment Type is allowed is in all use-case.
        workingHours:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWorkingHours'
            - type: 'null'
          title: Working Hours
          description: >-
            Optional day-wise working hours configuration. Keys are mon..sun and
            values are windows with 'start'/'end' in HH:MM (24h) format.
            Example:
            mon=[{start:'08:15',end:'11:00'},{start:'13:15',end:'16:00'}].
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the appointment type record in Athena system
        isNewPatientAppointmentType:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is New Patient Appointment Type
          description: Indicates if the appointment type is for new patients
          default: false
        isExistingPatientAppointmentType:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Existing Patient Appointment Type
          description: Indicates if the appointment type is for existing patients
          default: false
        freeSlotCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Free Slot Appointment Code
          description: >-
            Optional appointment code of another appointment type in this
            integration used to fetch open slots. When set, slot availability is
            queried using this code while booking still uses appointmentCode.
            Use when all slots are managed under a single generic type (e.g.
            'Any 15') but bookings require a specific type code.
      type: object
      title: Appointment Type
      description: Configuration for Athena Appointment Type resource records.
    AthenaResourcesVisitStatusConfig:
      properties:
        type:
          type: string
          const: visit_statuses
          title: Type of Resource Record
          description: Type of the resource record. Must be 'visit_statuses'
          default: visit_statuses
          input_field_not_visible: true
        visitStatus:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
          description: Visit Status Display Name in EHR System
        visitStatusCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Status Code
          description: Code of the Visit Status in EHR system
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the Visit Status
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the Visit Status record in Athena system
      type: object
      title: Visit Status
      description: Configuration for Athena Appointment Type resource records.
    AthenaResourcesInsurancePayersConfig:
      properties:
        type:
          type: string
          const: insurance_payers
          title: Type of Resource Record
          description: Type of the resource record. Must be 'insurance_payers'
          default: insurance_payers
          input_field_not_visible: true
        insuranceName:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Name
          description: Name of the insurance for the record
        insuranceCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Code
          description: Code of the insurance in EHR system
        insurancePayorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Payor ID
          description: ID of the insurance payor in EHR system
        insurancePlanType:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Plan Type
          description: Type of the insurance plan in EHR system
        isSelfPay:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Self Pay
          description: Indicates if the insurance is a self-pay type
          default: false
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the insurance type record in Athena system
      type: object
      title: Insurance Payers
      description: Configuration for Athena Insurance Payers resource records.
    AthenaResourcesOutreachConfig-Input:
      properties:
        type:
          type: string
          const: outreach
          title: Type of Resource Record
          description: Type of the resource record. Must be 'outreach'
          default: outreach
          input_field_not_visible: true
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        shortLinkId:
          anyOf:
            - type: string
            - type: 'null'
          title: Short Link ID
          description: Unique identifier for the outreach's short link in Athena system
        webSessionFlowType:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWebSessionFlowType'
            - type: 'null'
          title: Web Session Flow Type
          description: Type of the web session flow.
          default: insurance_flow
        communicationChannel:
          anyOf:
            - $ref: '#/components/schemas/IntegrationCommunicationChannel'
            - type: 'null'
          title: Communication Channel
          description: >-
            Channel through which the outreach is communicated (e.g., email,
            SMS).
        useCaseId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Use Case ID
          description: Identifier for the use case associated with the outreach
          input_field_helper_text: Select the use case for this outreach.
          input_field_type: integrations_use_cases_selection
        locationId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Location ID
          description: Location identifier associated with the outreach.
          input_field_helper_text: Select the location for this outreach.
          input_field_type: integrations_locations_selection
        practitionerId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Provider ID
          description: Provider identifier associated with the outreach.
          input_field_helper_text: Select the provider for this outreach.
          input_field_type: practitioners_selection
        patientId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Patient ID
          description: Patient identifier associated with the outreach.
          input_field_helper_text: Select the patient for this outreach.
          input_field_type: integrations_patients_selection
        appointmentId:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Appointment ID
          description: Appointment identifier associated with the outreach.
          input_field_helper_text: Select the appointment for this outreach.
          input_field_type: integrations_appointments_selection
      type: object
      title: Outreach
      description: Configuration for Athena outreach resource records.
    IntegrationsResourceRecordsModel:
      properties:
        teamId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Teamid
          description: ID of the team that owns this record
        createdBy:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Createdby
          description: ID of the user who created this record
        updatedBy:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Updatedby
          description: ID of the user who last updated this record
        createdAt:
          type: string
          format: date-time
          title: Createdat
        updatedAt:
          type: string
          format: date-time
          title: Updatedat
        _id:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Id
          description: MongoDB document ObjectID
        logicalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the integration resource record
        integrationId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Integration ID
          description: Reference to the associated integration
        config:
          anyOf:
            - oneOf:
                - $ref: >-
                    #/components/schemas/AthenaResourcesPractitionersConfig-Output
                - $ref: '#/components/schemas/AthenaResourcesLocationsConfig-Output'
                - $ref: '#/components/schemas/AthenaResourcesVisitingReasonsConfig'
                - $ref: '#/components/schemas/AthenaResourcesPatientsConfig-Output'
                - $ref: >-
                    #/components/schemas/AthenaResourcesAppointmentsConfig-Output
                - $ref: >-
                    #/components/schemas/AthenaResourcesAppointmentTypeConfig-Output
                - $ref: '#/components/schemas/AthenaResourcesVisitStatusConfig'
                - $ref: '#/components/schemas/AthenaResourcesInsurancePayersConfig'
                - $ref: '#/components/schemas/AthenaResourcesOutreachConfig-Output'
              discriminator:
                propertyName: type
                mapping:
                  appointment_types:
                    $ref: >-
                      #/components/schemas/AthenaResourcesAppointmentTypeConfig-Output
                  appointments:
                    $ref: >-
                      #/components/schemas/AthenaResourcesAppointmentsConfig-Output
                  insurance_payers:
                    $ref: '#/components/schemas/AthenaResourcesInsurancePayersConfig'
                  locations:
                    $ref: '#/components/schemas/AthenaResourcesLocationsConfig-Output'
                  outreach:
                    $ref: '#/components/schemas/AthenaResourcesOutreachConfig-Output'
                  patients:
                    $ref: '#/components/schemas/AthenaResourcesPatientsConfig-Output'
                  practitioners:
                    $ref: >-
                      #/components/schemas/AthenaResourcesPractitionersConfig-Output
                  visit_statuses:
                    $ref: '#/components/schemas/AthenaResourcesVisitStatusConfig'
                  visiting_reasons:
                    $ref: '#/components/schemas/AthenaResourcesVisitingReasonsConfig'
            - type: 'null'
          title: Config
          description: type-specific configuration schema determined by 'type'.
      additionalProperties: true
      type: object
      title: IntegrationsResourceRecordsModel
      description: Main integration model holding configuration and audit details.
    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
    IntegrationStatus:
      type: string
      enum:
        - active
        - inactive
      title: Status
      description: Represents whether the integration is active or inactive.
      x-enumTitles:
        active: Active
        inactive: Inactive
    IntegrationPractitionerSpecialty:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Specialty Name
          description: Name of the practitioner's specialty
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Specialty Code
          description: Code representing the practitioner's specialty
      type: object
      title: Practitioner Specialty
      description: Model representing a practitioner's specialty.
    IntegrationLocations:
      properties:
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Location ID (alias Department ID)
          description: Unique identifier for the location or department.
        locationName:
          anyOf:
            - type: string
            - type: 'null'
          title: Location Name (alias Department Name)
          description: Name of the location or department.
      type: object
      title: Location
      description: Model representing a practitioner's location.
    IntegrationWorkingHours:
      properties:
        mon:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Monday
          description: Working-hour windows for Monday.
          input_field_helper_text: Add one or more time windows (e.g., 08:15-11:00 and 13:15-16:00).
        tue:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Tuesday
          description: Working-hour windows for Tuesday.
          input_field_helper_text: Add one or more time windows.
        wed:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Wednesday
          description: Working-hour windows for Wednesday.
          input_field_helper_text: Add one or more time windows.
        thu:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Thursday
          description: Working-hour windows for Thursday.
          input_field_helper_text: Add one or more time windows.
        fri:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Friday
          description: Working-hour windows for Friday.
          input_field_helper_text: Add one or more time windows.
        sat:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Saturday
          description: Working-hour windows for Saturday.
          input_field_helper_text: Add one or more time windows.
        sun:
          items:
            $ref: '#/components/schemas/WorkingHoursWindow'
          type: array
          title: Sunday
          description: Working-hour windows for Sunday.
          input_field_helper_text: Add one or more time windows.
      type: object
      title: Working Hours Windows List for the day of the week
      description: |-
        Simple day->windows configuration.

        Keys are weekday short names: mon,tue,wed,thu,fri,sat,sun.
        Values are lists of windows (e.g. [{start:'08:15', end:'11:00'}, ...]).
    IntegrationRecordSource:
      type: string
      enum:
        - from_upstream
        - by_interactly
      title: IntegrationRecordSource
      x-enumTitles:
        by_interactly: By Interactly
        from_upstream: From Upstream
    IntegrationAddress:
      properties:
        line:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Address Lines
          description: Street address or P.O. Box
        city:
          anyOf:
            - type: string
            - type: 'null'
          title: City
          description: City of the address
        state:
          anyOf:
            - type: string
            - type: 'null'
          title: State
          description: State or province of the address
        postalCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Postal Code
          description: Postal or ZIP code of the address
        country:
          anyOf:
            - type: string
            - type: 'null'
          title: Country
          description: Country of the address
        use:
          anyOf:
            - type: string
            - type: 'null'
          title: Used for
          description: Usage qualifier for the address (e.g., home, work).
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type of Address
          description: Type qualifier for the address (e.g., postal, physical, both).
      type: object
      title: Address
      description: |-
        Model representing an address associated with an integration.
        Ex: {
            "line": [
                "501 Broad Street",
                "Suite 400"
            ],
            "city": "ROME",
            "state": "GA",
            "postalCode": "30161-3096"
        }
    IntegrationLocationPosition:
      properties:
        latitude:
          anyOf:
            - type: string
            - type: number
            - type: 'null'
          title: Latitude
          description: Latitude of the location
        longitude:
          anyOf:
            - type: string
            - type: number
            - type: 'null'
          title: Longitude
          description: Longitude of the location
      type: object
      title: Location Position
      description: Model representing geographical position of a location.
    IntegrationTelecom:
      properties:
        system:
          anyOf:
            - type: string
            - type: 'null'
          title: Telecom System
          description: The system that defines the type of telecom communication
        value:
          anyOf:
            - type: string
            - type: 'null'
          title: Telecom Value
          description: The actual telecom communication value (e.g., phone number)
        use:
          anyOf:
            - type: string
            - type: 'null'
          title: Telecom Use
          description: The purpose of the telecom communication (e.g., work, home)
        rank:
          anyOf:
            - type: integer
            - type: 'null'
          title: Telecom Rank
          description: The rank or priority of the telecom communication
      type: object
      title: Telecom
      description: |-
        Model representing telecom information associated with an integration.
        Ex: {
            "system": "phone",
            "value": "555-123-4567",
            "use": "work",
            "rank": 1
        }
    IntegrationVisitReasonApplicableUseCaseType:
      type: string
      enum:
        - scheduling
        - cancel_reschedule
      title: IntegrationVisitReasonApplicableUseCaseType
      description: Defines the type of use-case for an integration.
      x-enumTitles:
        cancel_reschedule: Appointment Rescheduling or Cancellation
        scheduling: Appointment Scheduling
    IntegrationPatientStatus:
      type: string
      enum:
        - created
        - updated
        - sync_created
        - sync_failed
        - existing_patient
      title: IntegrationPatientStatus
      description: Defines appointment status options for integration
      x-enumTitles:
        created: Created
        existing_patient: Existing Patient
        sync_created: Sync Created
        sync_failed: Sync Failed
        updated: Updated
    IntegrationGender:
      type: string
      enum:
        - male
        - female
        - unknown
        - Unknown
        - prefer not to answer
      title: IntegrationGender
      description: Defines gender options for integration
      x-enumTitles:
        Unknown: Unknown
        female: Female
        male: Male
        prefer not to answer: Prefer Not to Answer
        unknown: unknown
    PatientNotificationPreferences:
      properties:
        phone:
          type: boolean
          title: Phone
          description: Patient opted for Phone calls
          default: false
        sms:
          type: boolean
          title: SMS
          description: Patient opted for SMS messages
          default: false
        email:
          type: boolean
          title: Email
          description: Patient opted for Emails
          default: true
      type: object
      title: Notification Preferences
      description: >-
        Structured notification preferences for a patient used across request
        and response models.
    IntegrationPatientCreatedSource:
      type: string
      enum:
        - web
        - app
        - call
        - sync
        - existing_patient_through_web
      title: IntegrationPatientCreatedSource
      x-enumTitles:
        app: App
        call: Call
        existing_patient_through_web: Existing Patient Through Web
        sync: Sync
        web: Web
    IntegrationTrackingDetails:
      properties:
        utm_source_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Source ID
          description: >-
            UTM source label id for miscellaneous-information-item. This is used
            to track the source of traffic for the integration.
        utm_medium_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Medium ID
          description: >-
            UTM medium label id for miscellaneous-information-item. This is used
            to track the medium of traffic for the integration.
        utm_campaign_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Campaign ID
          description: >-
            UTM campaign label id for miscellaneous-information-item. This is
            used to track the campaign of traffic for the integration.
        patient_creation:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingStatus'
            - type: 'null'
          title: Patient Creation Status
          description: Indicates the current status of the patient creation process.
          default: not_started
        appointment_creation:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingStatus'
            - type: 'null'
          title: Appointment Creation Status
          description: Indicates the current status of the appointment creation process.
          default: not_started
        insurance_flow_status:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFlowStatus'
            - type: 'null'
          title: Insurance Flow Status
          description: Indicates the current status of the insurance verification process.
          default: insurance_verification_not_required
        utm_source:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Source
          description: The source of the traffic (e.g., email, linkedin).
        utm_medium:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Medium
          description: The medium of the traffic (e.g., social, press_release).
        utm_campaign:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Campaign
          description: The name of the campaign (e.g., product_launch).
      type: object
      title: Integration Tracking Details
    IntegrationConsentDetails:
      properties:
        terms_accepted:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Terms of Use Privacy and HIPAA Authorization Accepted
          description: >-
            Indicates whether the patient has accepted the terms and conditions
            for the session.
          default: false
        terms_accepted_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Terms Accepted Timestamp
          description: Timestamp when the terms were accepted.
          input_field_type: datetime_iso8601
        captcha_verified:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Captcha Verified
          description: Indicates whether the captcha verification was successful.
          default: false
        captcha_verified_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Captcha Verified Timestamp
          description: Timestamp when the captcha was verified.
          input_field_type: datetime_iso8601
        otp_verified:
          anyOf:
            - type: boolean
            - type: 'null'
          title: OTP Verified
          description: Indicates whether the OTP verification was successful.
          default: false
        otp_verified_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: OTP Verified Timestamp
          description: Timestamp when the OTP was verified.
          input_field_type: datetime_iso8601
        otp_verified_for:
          anyOf:
            - type: string
            - type: 'null'
          title: OTP Verified For
          description: The contact method (email/phone) for which the OTP was verified.
        privacy_accepted:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Privacy Policy Accepted
          description: Indicates whether the patient has accepted the privacy policy.
          default: false
        privacy_accepted_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Privacy Accepted Timestamp
          description: Timestamp when the privacy policy was accepted.
          input_field_type: datetime_iso8601
      type: object
      title: Integration Consent Details
    IntegrationInsuranceCoverage-Input:
      properties:
        logical_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the insurance coverage
        payment_method:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPaymentMethod'
            - type: 'null'
          title: Payment Method
          description: Preferred payment method for the patient.
        is_primary_coverage:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Primary Coverage
          description: Indicates if this insurance coverage is the primary coverage.
          default: false
        documents_details:
          anyOf:
            - $ref: '#/components/schemas/IntegrationDocumentsDetails'
            - type: 'null'
          title: Documents Details
          description: Details about the documents associated.
        insurance_details:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceDetails'
            - type: 'null'
          title: Insurance Details
          description: Details about the insurance associated.
        ocr_response:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: OCR Response
          description: OCR response data for insurance card images.
        stedi_response:
          anyOf:
            - $ref: '#/components/schemas/InsuranceVerificationResponse'
            - type: 'null'
          title: Stedi Response
          description: Stedi response data for insurance details.
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      title: Insurance Coverage
    IntegrationAppointmentStatus:
      type: string
      enum:
        - scheduled
        - cancelled
        - rescheduled
        - reschedule_failed
        - cancel_failed
        - sync_created
        - sync_updated
        - sync_failed
      title: IntegrationAppointmentStatus
      description: Defines appointment status options for integration
      x-enumTitles:
        cancelled: Cancelled
        reschedule_failed: Reschedule Failed
        rescheduled: Rescheduled
        scheduled: Scheduled
        sync_created: Sync Created
        sync_failed: Sync Failed
        sync_updated: Sync Updated
    IntegrationPaymentMethod:
      type: string
      enum:
        - self_pay
        - commercial_insurance
        - medicare
        - medicaid
      title: IntegrationPaymentMethod
      x-enumTitles:
        commercial_insurance: Commercial Insurance
        medicaid: Medicaid
        medicare: Medicare
        self_pay: Self Pay
    IntegrationInsuranceHandlingStrategy:
      type: string
      enum:
        - insurance_from_ehr
        - insurance_from_uploaded_cards
      title: Insurance Verification Handling Strategy
      description: >-
        Defines strategies for handling insurance information during appointment
        scheduling and reminders.
      x-enumTitles:
        insurance_from_ehr: Use Insurance from EHR
        insurance_from_uploaded_cards: Use Insurance from Uploaded Cards
    IntegrationAppointmentCreatedSource:
      type: string
      enum:
        - web
        - app
        - call
        - sync
      title: IntegrationAppointmentCreatedSource
      x-enumTitles:
        app: App
        call: Call
        sync: Sync
        web: Web
    IntegrationVisitDetails-Input:
      properties:
        visit_reason_id:
          anyOf:
            - type: string
              maxLength: 24
              minLength: 24
              pattern: ^[0-9a-f]{24}$
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Visit Reason ID
          description: Identifier for the visit reason associated with the session.
        visit_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason
          description: High-level reason for the visit.
        visit_reason_other:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason Other
          description: >-
            Additional details if the visit reason is categorized as 'Other' or
            'Not Listed'.
        visit_type:
          anyOf:
            - $ref: '#/components/schemas/IntegrationVisitTypes'
            - type: 'null'
          title: Visit Type
          description: Type of the visit (e.g., First Time, Follow Up).
      type: object
      title: Integration Visit Details
    IntegrationAppointmentReminder:
      properties:
        delivery_status:
          anyOf:
            - $ref: >-
                #/components/schemas/IntegrationAppointmentReminderDeliveryStatus
            - type: 'null'
          title: Delivery Status
          description: >-
            Status of the appointment reminder delivery (e.g., pending, sent,
            failed).
          default: not_required
        delivery_channels:
          items:
            $ref: '#/components/schemas/IntegrationCommunicationChannel'
          type: array
          title: Delivery Channels
          description: >-
            Channels through which the reminder was sent (e.g., SMS, email,
            phone call).
        reason_for_reminder:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason for Reminder
          description: >-
            Reason for sending the appointment reminder (e.g., upcoming
            appointment, missed appointment).
        delivery_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Delivery Timestamp
          description: Timestamp when the reminder was delivered to the patient.
          input_field_type: datetime_iso8601
        response_channel:
          anyOf:
            - $ref: '#/components/schemas/IntegrationCommunicationChannel'
            - type: 'null'
          title: Response Channel
          description: >-
            Channel through which the patient responded to the reminder (e.g.,
            SMS, email, phone call).
        response_outcome:
          anyOf:
            - $ref: >-
                #/components/schemas/IntegrationAppointmentReminderResponseOutcome
            - type: 'null'
          title: Response Outcome
          description: >-
            Outcome of the patient's response to the reminder (e.g., confirmed,
            rescheduled, cancelled, no response).
        response_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Response Timestamp
          description: Timestamp when the patient responded to the reminder.
          input_field_type: datetime_iso8601
      type: object
      title: Appointment Reminder
    IntegrationInsuranceReminder-Input:
      properties:
        channels:
          items:
            $ref: '#/components/schemas/InsuranceReminderChannelStatus'
          type: array
          title: Channels
          description: Per-channel delivery tracking for the insurance reminder.
        reason_for_reminder:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason for Reminder
          description: >-
            Reason for sending the insurance reminder (e.g., upcoming
            appointment, missed appointment).
      type: object
      title: Insurance Reminder
    IntegrationInsuranceResults:
      properties:
        is_process_completed:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Insurance Validated
          description: Indicates whether the insurance has been validated successfully.
        message:
          anyOf:
            - type: string
            - type: 'null'
          title: Message
          description: >-
            Additional information or message related to the insurance
            validation process.
        is_insurance_card_uploaded:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Insurance Card Uploaded
          description: >-
            Indicates whether the insurance card has been uploaded by the
            patient.
        is_insurance_card_uploaded_to_ehr:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Insurance Card Uploaded to EHR
          description: Indicates whether the insurance card has been uploaded to the EHR.
        is_ocr_extracted:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is OCR Extracted
          description: >-
            Indicates whether the OCR extraction has been performed on the
            uploaded insurance card.
        stedi_final_status:
          anyOf:
            - $ref: '#/components/schemas/InsuranceStediFinalStatus'
            - type: 'null'
          title: Stedi Final Status
          description: >-
            The final status of the insurance verification process performed by
            Stedi.
        stedi_final_summary:
          anyOf:
            - type: string
            - type: 'null'
          title: Stedi Final Summary
          description: >-
            A summary of the final results from Stedi after insurance
            verification.
        is_coverage_added_to_ehr:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Coverage Added to EHR
          description: Indicates whether the insurance coverage has been added to the EHR.
        is_billing_notes_updated_to_ehr:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Billing Notes Updated to EHR
          description: Indicates whether the billing notes have been updated in the EHR.
        is_stedi_response_uploaded_to_ehr:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAnswers'
            - type: 'null'
          title: Is Stedi Response Uploaded to EHR
          description: >-
            Indicates whether the stedi response file has been uploaded to the
            EHR.
      type: object
      title: Insurance Results
    IntegrationUseCaseType:
      type: string
      enum:
        - appointment_reminder_with_sheet
        - lab_reminder_with_sheet
        - appointment_reminder
        - final_appointment_notification
        - lab_reminder
        - appointment_scheduling
        - appointment_cancellation
        - appointment_rescheduling
        - appointment_scheduling_with_waitlist
        - medication_refill
        - invoice_enquiry
        - web_scheduling
        - insurance_reminder
        - appointment_enquiry
      title: IntegrationUseCaseType
      description: Defines the type of use-case for an integration.
      x-enumTitles:
        appointment_cancellation: Appointment Cancellation
        appointment_enquiry: Appointment Enquiry
        appointment_reminder: Appointment Reminder
        appointment_reminder_with_sheet: Appointment Reminder with Sheet
        appointment_rescheduling: Appointment Rescheduling
        appointment_scheduling: Appointment Scheduling
        appointment_scheduling_with_waitlist: Appointment Scheduling with Waitlist
        final_appointment_notification: Final Appointment Notification
        insurance_reminder: Insurance Reminder
        invoice_enquiry: Invoice Enquiry
        lab_reminder: Lab Reminder
        lab_reminder_with_sheet: Lab Reminder with Sheet
        medication_refill: Medication Refill
        web_scheduling: Web Scheduling
    IntegrationWebSessionFlowType:
      type: string
      enum:
        - scheduling_flow
        - insurance_flow
        - appointment_confirmation_flow
      title: IntegrationWebSessionFlowType
      description: Defines the type of web session flow.
      x-enumTitles:
        appointment_confirmation_flow: Appointment Confirmation Flow
        insurance_flow: Insurance Flow
        scheduling_flow: Scheduling Flow
    IntegrationCommunicationChannel:
      type: string
      enum:
        - call
        - sms
        - email
      title: Communication Channel
      description: Defines communication channels.
      x-enumTitles:
        call: Call
        email: Email
        sms: SMS
    AthenaResourcesPractitionersConfig-Output:
      properties:
        type:
          type: string
          const: practitioners
          title: Type of Resource Record
          description: Type of the resource record. Must be 'practitioners'
          default: practitioners
          input_field_not_visible: true
        organizationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Organization ID
          description: Unique identifier for the organization in Athena system
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner ID
          description: Unique identifier for the practitioner in Athena system
        npi:
          anyOf:
            - type: string
            - type: 'null'
          title: National Provider Identifier
          description: >-
            NPI of the practitioner (FHIR identifier with system
            http://hl7.org/fhir/sid/us-npi)
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Name
          description: Full name of the practitioner
        gender:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Gender
          description: Gender of the practitioner
        avatar:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Avatar
          description: URL to the practitioner's avatar image
        summary:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Summary
          description: Short summary or bio for the practitioner
          input_field_helper_text: Supports Markdown syntax for formatted bios.
          input_field_type: textarea
        qualification:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Qualification
          description: 'Qualifications of the practitioner. Ex: MD, PhD etc.'
        education:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner Education
          description: Educational background of the practitioner
          input_field_helper_text: Supports Markdown syntax for richer descriptions.
          input_field_type: textarea
        supervisorId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Practitioner Supervisor
          description: Practitioner's supervisor like Supervising Physician
          input_field_helper_text: Select the supervisor for this practitioner.
          input_field_type: practitioners_selection
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        languages:
          items:
            type: string
          type: array
          title: Practitioner Languages
          description: List of languages spoken by the practitioner
          input_field_helper_text: Add languages spoken by the practitioner.
        specialties:
          items:
            $ref: '#/components/schemas/IntegrationPractitionerSpecialty'
          type: array
          title: Practitioner Specialty
          description: Specialty details of the practitioner
        locations:
          items:
            $ref: '#/components/schemas/IntegrationLocations'
          type: array
          title: Practitioner Locations
          description: List of locations associated with the practitioner
        workingHours:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWorkingHours'
            - type: 'null'
          title: Working Hours
          description: >-
            Optional day-wise working hours configuration. Keys are mon..sun and
            values are windows with 'start'/'end' in HH:MM (24h) format.
            Example:
            mon=[{start:'08:15',end:'11:00'},{start:'13:15',end:'16:00'}].
        preferred_visiting_reasons:
          anyOf:
            - items:
                type: string
                example: 5eb7cf5a86d9755df3a6c593
              type: array
            - type: 'null'
          title: Preferred Visiting Reasons
          description: >-
            List of preferred visiting reasons for the practitioner. Leave empty
            to allow all reasons.
          input_field_helper_text: Select one or more reasons for the practitioner's preferred visits.
          input_field_type: visiting_reasons_selection
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
      type: object
      title: Practitioners
      description: Configuration for Athena Practitioners resource records.
    AthenaResourcesLocationsConfig-Output:
      properties:
        type:
          type: string
          const: locations
          title: Type of Resource Record
          description: Type of the resource record. Must be 'locations'
          default: locations
          input_field_not_visible: true
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Location ID
          description: Unique identifier for the location in Athena system
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Location Name
          description: Name of the location
        address:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAddress'
            - type: 'null'
          title: Location Address
          description: Address of the location
        position:
          anyOf:
            - $ref: '#/components/schemas/IntegrationLocationPosition'
            - type: 'null'
          title: Location Position
          description: Geographical position of the location
        telecom:
          items:
            $ref: '#/components/schemas/IntegrationTelecom'
          type: array
          title: Location Telecom
          description: Telecom information of the location
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: inactive
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
        workingHours:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWorkingHours'
            - type: 'null'
          title: Working Hours
          description: >-
            Day-wise working hours configuration from Monday to Sunday and
            values are windows with 'start'/'end' in HH:MM (24h) format.
            Example:
            Monday=[{start:'08:15',end:'11:00'},{start:'13:15',end:'16:00'}].
      type: object
      title: Locations
      description: Configuration for Athena Locations resource records.
    AthenaResourcesPatientsConfig-Output:
      properties:
        type:
          type: string
          const: patients
          title: Type of Resource Record
          description: Type of the resource record. Must be 'patients'
          default: patients
          input_field_not_visible: true
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        patientSyncId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient Sync ID
          description: Identifier for the sync request associated with the patient data
        patientStatus:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPatientStatus'
            - type: 'null'
          title: Patient Status
          description: Status of the patient in Athena system
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient ID
          description: Unique identifier for the patient in Athena system
        patientMrnId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient MRN ID
          description: >-
            Medical Record Number (MRN) identifier for the patient in Athena
            system
        firstName:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: First name of the patient
        lastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: Last name of the patient
        birthDate:
          anyOf:
            - type: string
            - type: 'null'
          title: Birth Date
          description: Birth date of the patient in YYYY-MM-DD format
        gender:
          anyOf:
            - $ref: '#/components/schemas/IntegrationGender'
            - type: 'null'
          title: Gender
          description: Gender of the patient
        phoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: Contact phone number of the patient
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Contact email address of the patient
        pcp:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Care Provider ID
          description: Identifier for the patient's primary care provider
        rp:
          anyOf:
            - type: string
            - type: 'null'
          title: Referral Provider ID
          description: Identifier for the patient's referral provider
        notificationPreferences:
          anyOf:
            - $ref: '#/components/schemas/PatientNotificationPreferences'
            - type: 'null'
          title: Notification Preferences
          description: Patient's communication preferences for notifications.
        patientCreatedSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPatientCreatedSource'
            - type: 'null'
          title: Patient Created Source
          description: Source from which the patient was created in Athena system
        address:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAddress'
            - type: 'null'
          title: Address
          description: Address information for the patient.
        race:
          anyOf:
            - type: string
            - type: 'null'
          title: Race
          description: Race of the patient
        ethnicity:
          anyOf:
            - type: string
            - type: 'null'
          title: Ethnicity
          description: Ethnicity of the patient
        language:
          anyOf:
            - type: string
            - type: 'null'
          title: Language
          description: Preferred language of the patient
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record in Athena system
        trackingDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingDetails'
            - type: 'null'
          title: Tracking Details
          description: Internal tracking details for the web session.
        consentDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationConsentDetails'
            - type: 'null'
          title: Consent Details
          description: Consent information for the web session.
        insuranceCoverages:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceCoverage-Output'
          type: array
          title: Insurance Coverages
          description: List of insurance coverages associated with the patient
        lastSyncedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Synced At
          description: Timestamp of the last successful sync for the appointment data
          input_field_type: datetime_iso8601
      type: object
      title: Patients
      description: Configuration for Athena Patients resource records.
    AthenaResourcesAppointmentsConfig-Output:
      properties:
        type:
          type: string
          const: appointments
          title: Type of Resource Record
          description: Type of the resource record. Must be 'appointments'
          default: appointments
          input_field_not_visible: true
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        appointmentSyncId:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Sync ID
          description: Identifier for the sync request associated with the appointment data
        appointmentStatus:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentStatus'
            - type: 'null'
          title: Appointment Status
          description: Status of the appointment in Athena system
        visitStatus:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Status
          description: Status of the visit associated with the appointment in Athena system
          default: PEN
        appointmentId:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment ID
          description: Unique identifier for the appointment in Athena system
        patientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient ID
          description: Identifier for the patient associated with the appointment
        patientMrnId:
          anyOf:
            - type: string
            - type: 'null'
          title: Patient MRN ID
          description: >-
            Medical Record Number (MRN) identifier for the patient in Athena
            system
        patientFirstName:
          anyOf:
            - type: string
            - type: 'null'
          title: First Name
          description: First name of the patient
        patientLastName:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Name
          description: Last name of the patient
        patientPhoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phone Number
          description: Contact phone number of the patient
        patientEmail:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Contact email address of the patient
        startTime:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Date Time
          description: Date and time of the appointment
          input_field_type: datetime_iso8601
        duration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Duration (minutes)
          description: Duration of the appointment in minutes
        locationId:
          anyOf:
            - type: string
            - type: 'null'
          title: Location ID
          description: Identifier for the location where the appointment is scheduled
        practitionerId:
          anyOf:
            - type: string
            - type: 'null'
          title: Practitioner ID
          description: Identifier for the practitioner associated with the appointment
        visitReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason
          description: Reason for the patient's visit
        slotId:
          anyOf:
            - type: string
            - type: 'null'
          title: Slot ID
          description: Identifier for the time slot of the appointment
        appointmentType:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Type
          description: >-
            Legacy single appointment type value for the appointment. TODO:
            deprecate in favor of appointmentTypes.
        appointmentTypes:
          items:
            type: string
          type: array
          title: Appointment Types
          description: >-
            Normalized appointment type values for the appointment. Prefer this
            field over the legacy appointmentType field.
        notes:
          anyOf:
            - type: string
            - type: 'null'
          title: Notes
          description: Additional notes or metadata associated with the appointment
        distanceMiles:
          anyOf:
            - type: number
            - type: 'null'
          title: Distance (miles)
          description: Distance in miles related to the appointment
        paymentMethod:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPaymentMethod'
            - type: 'null'
          title: Payment Method
          description: Preferred payment method for the appointment
        insuranceHandlingStrategy:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceHandlingStrategy'
            - type: 'null'
          title: Insurance Handling Strategy
          description: >-
            Strategy for handling insurance information during appointment
            scheduling and reminders
        payerName:
          anyOf:
            - type: string
            - type: 'null'
          title: Payer Name
          description: Name of the insurance payer associated with the appointment
        appointmentCreatedSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentCreatedSource'
            - type: 'null'
          title: Appointment Created Source
          description: Source from which the appointment was created
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the patient record
        visitDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationVisitDetails-Output'
            - type: 'null'
          title: Visit Details
          description: High-level details for the visit.
        insuranceCoverageId:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Coverage Logical ID
          description: Unique identifier for the insurance coverage
        patientFlowMismatch:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Patient Flow Mismatch
          description: >-
            Indicates whether there is a mismatch in the expected patient flow
            (e.g., new vs existing patient) for the appointment.
          default: false
        lastSyncedAt:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Synced At
          description: Timestamp of the last successful sync for the appointment data
          input_field_type: datetime_iso8601
        reminderDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentReminder'
            - type: 'null'
          title: Appointment Reminder Details
          description: >-
            Details about the appointment reminder delivery and patient
            response.
        reminderHistory:
          items:
            $ref: '#/components/schemas/IntegrationAppointmentReminder'
          type: array
          title: Reminder History
          description: >-
            History of reminders sent for the appointment along with their
            delivery and response details.
        finalReminderDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAppointmentReminder'
            - type: 'null'
          title: Final Reminder Details
          description: >-
            Details about the final reminder sent for the appointment, if
            applicable.
        insuranceRemindersHistory:
          items:
            $ref: '#/components/schemas/IntegrationInsuranceReminder-Output'
          type: array
          title: Insurance Reminder History
          description: >-
            History of insurance reminders sent for the appointment along with
            their delivery and response details.
        insuranceResults:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceResults'
            - type: 'null'
          title: Insurance Results
          description: >-
            Results related to insurance card upload, OCR extraction, and Stedi
            verification for the appointment.
        trackingDetails:
          anyOf:
            - $ref: '#/components/schemas/IntegrationTrackingDetails'
            - type: 'null'
          title: Tracking Details
          description: Internal tracking details for the web session.
      type: object
      title: Appointments
      description: Configuration for Athena Appointments resource records.
    AthenaResourcesAppointmentTypeConfig-Output:
      properties:
        type:
          type: string
          const: appointment_types
          title: Type of Resource Record
          description: Type of the resource record. Must be 'appointment_types'
          default: appointment_types
          input_field_not_visible: true
        appointmentType:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Type
          description: Type of appointment for the record
        appointmentCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Appointment Code
          description: Code of the appointment type in EHR system
        appointmentDuration:
          anyOf:
            - type: integer
            - type: 'null'
          title: Appointment Duration (minutes)
          description: Duration of the appointment in minutes
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the appointment type
        allowedUseCases:
          items:
            $ref: '#/components/schemas/IntegrationUseCaseType'
          type: array
          title: Allowed Use Cases
          description: >-
            Optional list of allowed use-case (from enum). None indicates,
            Appointment Type is allowed is in all use-case.
        workingHours:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWorkingHours'
            - type: 'null'
          title: Working Hours
          description: >-
            Optional day-wise working hours configuration. Keys are mon..sun and
            values are windows with 'start'/'end' in HH:MM (24h) format.
            Example:
            mon=[{start:'08:15',end:'11:00'},{start:'13:15',end:'16:00'}].
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        recordSource:
          anyOf:
            - $ref: '#/components/schemas/IntegrationRecordSource'
            - type: 'null'
          title: Record Source
          description: Source of the appointment type record in Athena system
        isNewPatientAppointmentType:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is New Patient Appointment Type
          description: Indicates if the appointment type is for new patients
          default: false
        isExistingPatientAppointmentType:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Existing Patient Appointment Type
          description: Indicates if the appointment type is for existing patients
          default: false
        freeSlotCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Free Slot Appointment Code
          description: >-
            Optional appointment code of another appointment type in this
            integration used to fetch open slots. When set, slot availability is
            queried using this code while booking still uses appointmentCode.
            Use when all slots are managed under a single generic type (e.g.
            'Any 15') but bookings require a specific type code.
      type: object
      title: Appointment Type
      description: Configuration for Athena Appointment Type resource records.
    AthenaResourcesOutreachConfig-Output:
      properties:
        type:
          type: string
          const: outreach
          title: Type of Resource Record
          description: Type of the resource record. Must be 'outreach'
          default: outreach
          input_field_not_visible: true
        status:
          $ref: '#/components/schemas/IntegrationStatus'
          description: Current status of the resource record
          default: active
          input_field_helper_text: Select inactive to disable this resource record without deleting it.
        shortLinkId:
          anyOf:
            - type: string
            - type: 'null'
          title: Short Link ID
          description: Unique identifier for the outreach's short link in Athena system
        webSessionFlowType:
          anyOf:
            - $ref: '#/components/schemas/IntegrationWebSessionFlowType'
            - type: 'null'
          title: Web Session Flow Type
          description: Type of the web session flow.
          default: insurance_flow
        communicationChannel:
          anyOf:
            - $ref: '#/components/schemas/IntegrationCommunicationChannel'
            - type: 'null'
          title: Communication Channel
          description: >-
            Channel through which the outreach is communicated (e.g., email,
            SMS).
        useCaseId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Use Case ID
          description: Identifier for the use case associated with the outreach
          input_field_helper_text: Select the use case for this outreach.
          input_field_type: integrations_use_cases_selection
        locationId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Location ID
          description: Location identifier associated with the outreach.
          input_field_helper_text: Select the location for this outreach.
          input_field_type: integrations_locations_selection
        practitionerId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Provider ID
          description: Provider identifier associated with the outreach.
          input_field_helper_text: Select the provider for this outreach.
          input_field_type: practitioners_selection
        patientId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Patient ID
          description: Patient identifier associated with the outreach.
          input_field_helper_text: Select the patient for this outreach.
          input_field_type: integrations_patients_selection
        appointmentId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Appointment ID
          description: Appointment identifier associated with the outreach.
          input_field_helper_text: Select the appointment for this outreach.
          input_field_type: integrations_appointments_selection
      type: object
      title: Outreach
      description: Configuration for Athena outreach resource records.
    WorkingHoursWindow:
      properties:
        start:
          type: string
          title: Start
          description: Start time in HH:MM (24h) format
          input_field_helper_text: 'Example: 08:15'
          input_field_type: time_picker
        end:
          type: string
          title: End
          description: End time in HH:MM (24h) format
          input_field_helper_text: 'Example: 16:00'
          input_field_type: time_picker
      type: object
      required:
        - start
        - end
      title: Working Hours Window
      description: |-
        A single working-hours window within a day.

        Times are local times (no timezone). They apply to the date of the slot.
    IntegrationTrackingStatus:
      type: string
      enum:
        - not_started
        - in_progress
        - completed
      title: IntegrationTrackingStatus
      x-enumTitles:
        completed: Completed
        in_progress: In Progress
        not_started: Not Started
    IntegrationFlowStatus:
      type: string
      enum:
        - insurance_verification_not_required
        - waiting_for_patient_to_upload_insurance
        - insurance_uploaded
        - insurance_verification_in_progress
        - insurance_verification_success
        - insurance_verification_failed
      title: Flow Status
      description: Represents the flow status of the integration.
      x-enumTitles:
        insurance_uploaded: Insurance Uploaded
        insurance_verification_failed: Insurance Verification Failed
        insurance_verification_in_progress: Insurance Verification In Progress
        insurance_verification_not_required: Insurance Verification Not Required
        insurance_verification_success: Insurance Verification Success
        waiting_for_patient_to_upload_insurance: Waiting for Patient to Upload Insurance
    IntegrationDocumentsDetails:
      properties:
        insurance_card_front:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Insurance Card Front
          description: Insurance Card Front image details.
        insurance_card_back:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Insurance Card Back
          description: Insurance Card Back image details.
        insurance_card_combined:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Combined Insurance Card
          description: >-
            Combined image of the insurance card (both front and back in one
            image) details.
        personal_card_front:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Personal Card Front
          description: Personal Card Front image details.
        personal_card_back:
          anyOf:
            - $ref: '#/components/schemas/IntegrationFileDetails'
            - type: 'null'
          title: Personal Card Back
          description: Personal Card Back image details.
      type: object
      title: Integration Documents Details
    IntegrationInsuranceDetails:
      properties:
        logical_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the insurance coverage
        member_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Member ID
          description: Member ID of the insurance
        payer_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Payer ID
          description: Payer ID of the insurance
        member_type:
          anyOf:
            - $ref: '#/components/schemas/IntegrationMemberType'
            - type: 'null'
          title: Member Type
          description: 'Type of the insurance member, Ex: Primary/Dependent'
        relationship:
          anyOf:
            - type: string
            - type: 'null'
          title: Relationship
          description: >-
            Patient's Relationship with policy holder. Self in case of
            member_type is Primary.One of child, Spouse, Parent, Other in case
            of member_type is Dependent.
          default: self
        payer_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Payer Name
          description: Name of the insurance payer
        primary_member_first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Member First Name
          description: First name of the primary insurance member
        primary_member_last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Member Last Name
          description: Last name of the primary insurance member
        primary_member_gender:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Member gender
          description: Gender of the primary insurance member
        primary_member_dob:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Member DOB
          description: DOB of the primary insurance member
        start_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Start Date
          description: Start date of the insurance coverage
        end_date:
          anyOf:
            - type: string
            - type: 'null'
          title: End Date
          description: End date of the insurance coverage
        insurance_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance ID
          description: Insurance ID number
      type: object
      title: Insurance Coverage
    InsuranceVerificationResponse:
      properties:
        status:
          anyOf:
            - $ref: '#/components/schemas/InsuranceVerificationStatus'
            - type: 'null'
          title: Verification Status
          description: The status of the insurance verification attempt.
        statusReason:
          anyOf:
            - type: string
            - type: 'null'
          title: Status Reason
          description: Reason for the current status of the insurance verification.
        fullResponse:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Full Response
          description: Complete response data from the insurance verification API.
        miniResponse:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Mini Response
          description: A summarized version of the full response.
        summaryNotes:
          anyOf:
            - type: string
            - type: 'null'
          title: Summary Notes
          description: Additional notes summarizing the verification response.
          default: ''
        insuranceNameMatch:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Insurance Name Match
          description: Indicates if the insurance name matches the expected payer.
          default: false
        insurancePayerDetails:
          anyOf:
            - $ref: '#/components/schemas/InsurancePayerDetails'
            - type: 'null'
          title: Insurance Payer Details
          description: >-
            The details of the insurance payer from the response. has id +
            matching name from the available insurances list
        insuranceNameNotFoundInEHR:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Insurance Name Not Found In EHR
          description: >-
            Indicates if the insurance name from the verification response was
            not found in the EHR system.
          default: false
        stediRequests:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Stedi Requests
          description: >-
            List of all HTTP request bodies sent to the Stedi eligibility API
            during verification.
      type: object
      title: InsuranceVerificationResponse
      description: |-
        Standardized response model for insurance verification API.

        This model ensures all responses follow a consistent structure,
        with the actual outcome conveyed through the status field.
    IntegrationVisitTypes:
      type: string
      enum:
        - first_time
        - follow_up
      title: IntegrationVisitTypes
      description: Defines gender options for integration
      x-enumTitles:
        first_time: First Time
        follow_up: Follow Up
    IntegrationAppointmentReminderDeliveryStatus:
      type: string
      enum:
        - not_required
        - queued
        - delivered
        - failed
        - completed
        - not_found_in_upstream
      title: Reminder Delivery Status
      description: Delivery status of reminder to patient.
      x-enumTitles:
        completed: Completed
        delivered: Delivered
        failed: Failed
        not_found_in_upstream: Not Found in Upstream
        not_required: Not Required
        queued: Queued
    IntegrationAppointmentReminderResponseOutcome:
      type: string
      enum:
        - confirmed
        - reschedule_requested
        - cancellation_requested
        - call_forwarded
        - not_sure
        - voicemail
        - unable_to_leave_voicemail
        - verification_failed
        - unknown
      title: Appointment Reminder Response Outcome
      description: Patient's response to the appointment reminder.
      x-enumTitles:
        call_forwarded: Call Forwarded
        cancellation_requested: Cancellation Requested
        confirmed: Confirmed
        not_sure: Not Sure
        reschedule_requested: Reschedule Requested
        unable_to_leave_voicemail: Unable to Leave Voicemail
        unknown: Unknown
        verification_failed: Verification Failed
        voicemail: Voicemail
    InsuranceReminderChannelStatus:
      properties:
        channel:
          $ref: '#/components/schemas/IntegrationCommunicationChannel'
          title: Channel
          description: The communication channel (e.g., SMS, email, call).
        opted:
          type: boolean
          title: Opted
          description: Whether this channel was opted in for the insurance reminder.
          default: false
        delivery_status:
          anyOf:
            - $ref: >-
                #/components/schemas/IntegrationAppointmentReminderDeliveryStatus
            - type: 'null'
          title: Delivery Status
          description: Delivery status for this channel.
        delivery_timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Delivery Timestamp
          description: Timestamp when the reminder was delivered via this channel.
          input_field_type: datetime_iso8601
      type: object
      required:
        - channel
      title: Insurance Reminder Channel Status
    IntegrationAnswers:
      type: string
      enum:
        - 'yes'
        - 'no'
        - skip
        - not_applicable
      title: Answer
      description: Defines possible answers for integration questions.
      x-enumTitles:
        'no': 'No'
        not_applicable: Not Applicable
        skip: Skip
        'yes': 'Yes'
    InsuranceStediFinalStatus:
      type: string
      enum:
        - active_insurance
        - inactive_insurance
        - unable_to_verify_insurance
      title: InsuranceStediFinalStatus
      x-enumTitles:
        active_insurance: Active Insurance
        inactive_insurance: Inactive Insurance
        unable_to_verify_insurance: Unable to Verify Insurance
    IntegrationInsuranceCoverage-Output:
      properties:
        logical_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Logical ID
          description: Unique identifier for the insurance coverage
        payment_method:
          anyOf:
            - $ref: '#/components/schemas/IntegrationPaymentMethod'
            - type: 'null'
          title: Payment Method
          description: Preferred payment method for the patient.
        is_primary_coverage:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Primary Coverage
          description: Indicates if this insurance coverage is the primary coverage.
          default: false
        documents_details:
          anyOf:
            - $ref: '#/components/schemas/IntegrationDocumentsDetails'
            - type: 'null'
          title: Documents Details
          description: Details about the documents associated.
        insurance_details:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsuranceDetails'
            - type: 'null'
          title: Insurance Details
          description: Details about the insurance associated.
        ocr_response:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: OCR Response
          description: OCR response data for insurance card images.
        stedi_response:
          anyOf:
            - $ref: '#/components/schemas/InsuranceVerificationResponse'
            - type: 'null'
          title: Stedi Response
          description: Stedi response data for insurance details.
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      title: Insurance Coverage
    IntegrationVisitDetails-Output:
      properties:
        visit_reason_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason ID
          description: Identifier for the visit reason associated with the session.
        visit_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason
          description: High-level reason for the visit.
        visit_reason_other:
          anyOf:
            - type: string
            - type: 'null'
          title: Visit Reason Other
          description: >-
            Additional details if the visit reason is categorized as 'Other' or
            'Not Listed'.
        visit_type:
          anyOf:
            - $ref: '#/components/schemas/IntegrationVisitTypes'
            - type: 'null'
          title: Visit Type
          description: Type of the visit (e.g., First Time, Follow Up).
      type: object
      title: Integration Visit Details
    IntegrationInsuranceReminder-Output:
      properties:
        channels:
          items:
            $ref: '#/components/schemas/InsuranceReminderChannelStatus'
          type: array
          title: Channels
          description: Per-channel delivery tracking for the insurance reminder.
        reason_for_reminder:
          anyOf:
            - type: string
            - type: 'null'
          title: Reason for Reminder
          description: >-
            Reason for sending the insurance reminder (e.g., upcoming
            appointment, missed appointment).
        delivery_status:
          $ref: '#/components/schemas/IntegrationAppointmentReminderDeliveryStatus'
          title: Delivery Status
          description: DELIVERED if any opted channel was delivered, otherwise FAILED.
          readOnly: true
      type: object
      required:
        - delivery_status
      title: Insurance Reminder
    IntegrationFileDetails:
      properties:
        bucketName:
          anyOf:
            - type: string
            - type: 'null'
          title: Bucket Name
          description: Name of the S3 bucket where the file is stored.
        fileKey:
          anyOf:
            - type: string
            - type: 'null'
          title: File Key
          description: Key of the file stored in the S3 bucket.
        fileName:
          anyOf:
            - type: string
            - type: 'null'
          title: File Name
          description: Original name of the file.
        contentType:
          anyOf:
            - type: string
            - type: 'null'
          title: Content Type
          description: MIME type of the file.
        fileSignedUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: File Signed URL
          description: >-
            Signed URL to access the file. This URL is temporary and should be
            used promptly.
          input_field_not_visible: true
        fileContentBase64:
          anyOf:
            - type: string
            - type: 'null'
          title: File Content Base64
          description: Base64 encoded content of the file.
          input_field_not_visible: true
      type: object
      title: File Details
      description: Model representing a practitioner's location.
    IntegrationMemberType:
      type: string
      enum:
        - primary
        - dependent
      title: IntegrationMemberType
      x-enumTitles:
        dependent: Dependent
        primary: Primary
    InsuranceVerificationStatus:
      type: string
      enum:
        - INSURANCE_COVERAGE_VERIFICATION_SUCCESS
        - INSURANCE_COVERAGE_VERIFICATION_INVALID_DATA
        - INSURANCE_COVERAGE_VERIFICATION_INACTIVE
        - INSURANCE_COVERAGE_VERIFICATION_ERROR
      title: InsuranceVerificationStatus
      description: Status values for insurance coverage verification responses.
      x-enumTitles:
        INSURANCE_COVERAGE_VERIFICATION_ERROR: Verification Error
        INSURANCE_COVERAGE_VERIFICATION_INACTIVE: Insurance Inactive
        INSURANCE_COVERAGE_VERIFICATION_INVALID_DATA: Invalid Data Provided
        INSURANCE_COVERAGE_VERIFICATION_SUCCESS: Insurance Coverage Verified
    InsurancePayerDetails:
      properties:
        insurance_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance ID
          description: The unique identifier for the insurance payer.
        insurance_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Name
          description: The name of the insurance payer.
      type: object
      title: InsurancePayerDetails
      description: Details of the insurance payer from the response.
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: Bearer
      type: http
      description: >-
        Retrieve your API Key from [Dashboard API Keys
        Section](https://dashboard-qa.interactly.ai/api-keys).

````