openapi: 3.0.0
paths:
  /auth-tokens/v2/api:
    post:
      operationId: AuthTokensController_createApiToken
      summary: |-
        Obtain an access token with a 24-hour expiry.

        Contact our support team to request the client_id and client_secret.
      description: Provides an access token to query the APIs
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApiAuthTokenDto'
      responses:
        '201':
          description: The record has been successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenV2ResponseDto'
        '400':
          description: Bad request.
        '401':
          description: |-
            Unauthorized request because of any of the following reasons:

            1. Wrong client_id or client_secret.

            2. User is not active.

            3. User doesn't have an organization.
        '404':
          description: User not found.
      tags:
        - auth-tokens
  /credentialing-workflows/{id}/revert-status:
    patch:
      operationId: CredentialingWorkflowsController_revertStatus
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RevertStatusDto'
      responses:
        '200':
          description: The status has been successfully reverted.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - credentialing-workflows
      security:
        - BearerAuth: []
  /credentialing-workflows/{id}/notes:
    post:
      operationId: CredentialingWorkflowsController_createCredentialingNote
      summary: Create Credentialing Note
      description: |2

              Creates a new note associated with the specified credentialing workflow.

              ### Functionality
              - Adds a user-generated note to a credentialing workflow.
              - Useful for internal communication, tracking decisions, or annotating the process.
              - The note will be associated with the given workflow ID.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateNoteDto'
      responses:
        '201':
          description: Note has been successfully created.
        '400':
          description: Bad request. Invalid input data.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Workflow not found for given ID.
      tags:
        - credentialing-workflows
      security:
        - BearerAuth: []
  /credentialing-workflows/{id}/notes/{noteId}:
    patch:
      operationId: CredentialingWorkflowsController_updateCredentialingNote
      summary: Update Credentialing Note
      description: |

        Updates an existing note associated with a credentialing workflow.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: noteId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateNoteDto'
      responses:
        '200':
          description: Note has been successfully updated.
        '400':
          description: Bad request. Invalid input data.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Workflow or note not found.
      tags:
        - credentialing-workflows
      security:
        - BearerAuth: []
  /credentialing-workflows/{id}/populate-template-fields:
    get:
      operationId: CredentialingWorkflowsController_populateTemplateFields
      summary: Populate template fields for credentialing workflow
      description: >-
        Retrieves and populates template fields for the specified credentialing
        workflow. Useful for generating documents, emails, or other
        communications that require workflow-specific data to be inserted into
        templates.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: >-
            The unique identifier of the credentialing workflow for which to
            populate template fields.
          schema:
            type: string
        - name: reasons
          required: true
          in: query
          description: >-
            A comma-separated list of reasons to be included in the template
            fields (e.g., "reason1,reason2"). These reasons should already be
            present in the organization settings under "outreach" to be used
            here.
          schema:
            type: string
      responses:
        '200':
          description: Successfully populated template fields
          content:
            application/json:
              schema:
                example:
                  workflowId: abc123
                  providerName: Dr. Jane Doe
                  organizationName: HealthCare Org
                  reasons:
                    - Missing License
                    - Incomplete Application
                  otherField1: value1
                  otherField2: value2
        '400':
          description: Invalid input parameters.
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
        '404':
          description: The specified credentialing workflow does not exist.
      tags:
        - credentialing-workflows
      security:
        - BearerAuth: []
  /v2/credentialing-workflows/{id}/steps/move-to-cred-approved:
    put:
      operationId: CredentialingWorkflowsV2Controller_moveToCredApproved
      summary: Approve Provider Credentialing Workflow
      description: |-
        Move a provider credentialing workflow to approved status.<br/><br/>
             Approval Criteria<br/>
              - The workflow must exist and be accessible to the current organization and user.<br/>
              - The workflow can only be approved by Medical Director or Provisional Approver.<br/>
              - The workflow must be in state (PSV ready, Tabled, Hold for Cred Comm) that allows the 
                requested transition.<br/>
              - Once the workflow is in the approved state, it cannot be reverted by any user besides Supervisor.<br/>
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetCredStatusChangeMetaDataDtoV2'
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/credentialing-workflows
      security:
        - BearerAuth: []
  /v2/credentialing-workflows/{id}/steps/move-to-cred-denied:
    put:
      operationId: CredentialingWorkflowsV2Controller_moveToCredDenied
      summary: Deny Provider Credentialing Workflow
      description: |-
        Move a provider credentialing workflow to denied status.<br/><br/>
              Denial Criteria<br/>
              - The workflow must exist and be accessible to the current organization and user.<br/>
              - The workflow can only be denied by Medical Director or Provisional Approver.<br/>
              - The workflow must be in state (PSV ready, Tabled, Hold for Cred Comm) that allows the 
                requested transition.<br/>
              - Once the workflow is in the denied state, it cannot be reverted by any user besides Supervisor.<br/>
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetCredStatusChangeMetaDataDtoV2'
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/credentialing-workflows
      security:
        - BearerAuth: []
  /v2/credentialing-workflows/{id}/steps/move-to-tabled:
    put:
      operationId: CredentialingWorkflowsV2Controller_moveToTabled
      summary: Table Provider Credentialing Workflow
      description: |-
        Move a provider credentialing workflow to tabled status.<br/><br/>
              Tabled Criteria<br/>
              - The workflow must exist and be accessible to the current organization and user.<br/>
              - The workflow can only be tabled by Medical Director or Provisional Approver.<br/>
              - The workflow must be in state (PSV ready, Hold for Cred Comm) that allows the requested transition.<br/>
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/credentialing-workflows
      security:
        - BearerAuth: []
  /v2/credentialing-workflows/{id}/steps/move-to-cancel:
    put:
      operationId: CredentialingWorkflowsV2Controller_moveToCredCancel
      summary: Cancel Provider Credentialing Workflow
      description: |-
        Move a provider credentialing workflow to cancel status.<br/><br/>
              Cancellation Criteria<br/>
              - The workflow must exist and be accessible to the current organization and user.<br/>
              - The workflow can only be approved by Credentialing User, Supervisor, Medical Director or Provisional Approver.<br/>
              - Once the workflow is in the cancelled state, it cannot be reverted by any user besides Supervisor.<br/>
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveToCancelV2Dto'
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/credentialing-workflows
      security:
        - BearerAuth: []
  /providers/export/provider-directory:
    get:
      operationId: ProvidersController_providerDirectoryExport
      summary: Export Provider Directory
      description: >-
        Triggers an export workflow for the provider directory. The export will
        include provider details based on the provided filters. The result is
        typically a CSV or similar file, and the export is processed
        asynchronously.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerIds
          required: false
          in: query
          description: >-
            Provider ids to be filtered in comma separated strings within the
            array.
          schema:
            type: array
            items:
              type: string
        - name: includeInactiveProviders
          required: false
          in: query
          description: Whether to include Inactive Providers
          schema:
            type: boolean
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            type: number
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            type: number
      responses:
        '200':
          description: >-
            Workflow Executed. The export process has been triggered
            successfully.
          content:
            application/json:
              schema:
                example:
                  message: Workflow Executed
        '400':
          description: Invalid input parameters.
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
        '500':
          description: GENERATE_PSV_URL not set or other server error.
      tags:
        - providers
      security:
        - BearerAuth: []
  /providers/export/hsd-report:
    get:
      operationId: ProvidersController_providerHsdReportExport
      summary: Export HSD Report
      description: >-
        Triggers an export workflow for the HSD (Health Service Delivery)
        report. The export will include provider details based on the provided
        filters. The result is typically a CSV or similar file, and the export
        is processed asynchronously.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerIds
          required: false
          in: query
          description: >-
            Provider ids to be filtered in comma separated strings within the
            array.
          schema:
            type: array
            items:
              type: string
        - name: includeInactiveProviders
          required: false
          in: query
          description: Whether to include Inactive Providers
          schema:
            type: boolean
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            type: number
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            type: number
      responses:
        '200':
          description: >-
            Workflow Executed. The export process has been triggered
            successfully.
          content:
            application/json:
              schema:
                example:
                  message: Workflow Executed
        '400':
          description: Invalid input parameters.
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
        '500':
          description: GENERATE_PSV_URL not set or other server error.
      tags:
        - providers
      security:
        - BearerAuth: []
  /v2/provider:
    post:
      operationId: ProviderV2Controller_create
      summary: Create Provider
      description: Add a provider to the organization
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProviderDtoV2'
      responses:
        '201':
          description: The record has been successfully created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  provider_id:
                    type: string
                    example: sfas12345
                  is_created:
                    type: boolean
                    example: false
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
    get:
      operationId: ProviderV2Controller_findOne
      summary: Retrieve all available information for a provider.
      description: |-
        Fetches comprehensive details about a provider, 
              including optional related data such as credentialing workflows, 
              all sections data (state-licenses, board certifications, dea, etc.), 
              signed URLs for supporting documents/ attachments, verifier info, group info, and 
              sanction items based on the provided query parameters.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: npi
          required: false
          in: query
          schema:
            type: string
        - name: external_id
          required: false
          in: query
          schema:
            type: string
        - name: provider_id
          required: false
          in: query
          schema:
            type: string
        - name: includeCredentialingWorkflows
          required: true
          in: query
          description: Include credentialing workflows with PSV url.
          schema:
            default: true
            type: boolean
        - name: includeFullData
          required: true
          in: query
          description: Include full data from every section.
          schema:
            default: true
            type: boolean
        - name: signUrls
          required: true
          in: query
          description: Sign Document URLs for immediate access.
          schema:
            default: true
            type: boolean
        - name: includeVerified
          required: true
          in: query
          description: Included VerifiedBy User info.
          schema:
            default: true
            type: boolean
        - name: includeGroupInfo
          required: true
          in: query
          description: Include group info.
          schema:
            default: false
            type: boolean
        - name: includeSanctionItems
          required: true
          in: query
          description: Include sanction items.
          schema:
            default: false
            type: boolean
      responses:
        '200':
          description: Provider Details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderV2ResponseDto'
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Provider was not found
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/attested-data:
    post:
      operationId: ProviderV2Controller_createAttestedProviderData
      summary: Save attested provider data
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAttestedProviderDataDto'
      responses:
        '201':
          description: The record has been successfully created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
    get:
      operationId: ProviderV2Controller_getttestedProviderData
      summary: Fetch attested provider data
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAttestedProviderDataDto'
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/attested-data/documents:
    post:
      operationId: ProviderV2Controller_uploadProviderDocuments
      summary: Upload Provider Attested Data Document
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/CreateAttestedProviderDocumentDto'
      responses:
        '201':
          description: The record has been successfully created.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/supporting-documents/{supportingDocumentId}/signed-url:
    get:
      operationId: ProviderV2Controller_getDocumentSignedUrl
      summary: Retrieve signed url of a given supporting-document id.
      description: >-
        Retrieves a signed URL for the specified supporting document ID
        associated with the provider. 
              The signed URL provides secure, temporary access to the document and remains valid for 10 minutes.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
        - name: supportingDocumentId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Signed URL
          content:
            application/json:
              schema:
                type: string
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: |-
            Signed URL was not found because of the following reasons:

                  1. Provider was not found.

                  2. Supporting document with the id was not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/survey-responses:
    get:
      operationId: ProviderV2Controller_findAllSurveyResponses
      summary: Lists all provider survey responses in an organization
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            default: 10
            type: number
        - name: version
          required: false
          in: query
          description: Version of the desired survey response
          schema:
            type: number
      responses:
        '200':
          description: Survey responses
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                  count:
                    type: number
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/outreaches:
    get:
      operationId: ProviderV2Controller_findAllOutreaches
      summary: Lists all provider email outreaches in an organization
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            default: 10
            type: number
      responses:
        '200':
          description: List of provider email outreaches
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderOutreachResponseDto'
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/caqh-data:
    get:
      operationId: ProviderV2Controller_findProviderCaqhData
      summary: Retrieve CAQH data for a provider
      description: >-
        Returns the CAQH (Council for Affordable Quality Healthcare) data for
        the specified provider. This data includes provider credentialing and
        demographic information as stored in CAQH.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          description: >-
            The unique identifier of the provider whose CAQH data is to be
            retrieved.
          schema:
            type: string
      responses:
        '200':
          description: CAQH Data for the provider.
          content:
            application/json:
              schema:
                type: object
                properties:
                  practitionerInformation:
                    type: object
                    additionalProperties: false
                    properties:
                      caqhProviderId:
                        type: integer
                      firstName:
                        type: string
                      middleName:
                        type: string
                      lastName:
                        type: string
                      suffix:
                        type: string
                      gender:
                        type: string
                      birthDate:
                        type: string
                        format: date-time
                      ssn:
                        type: string
                      personalEmail:
                        type: string
                      primaryEmail:
                        type: string
                      ethnicity:
                        type: string
                      raceEthnicity:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          properties:
                            raceEthnicityLevel1:
                              type: string
                            raceEthnicityLevel2:
                              type: array
                              items:
                                type: object
                                additionalProperties: false
                                properties:
                                  raceEthnicityLevel2Name:
                                    type: string
                      languagesSpoken:
                        type: array
                        items:
                          type: object
                          additionalProperties: false
                          properties:
                            name:
                              type: string
                      birthCountry:
                        type: string
                      primaryPracticeState:
                        type: string
                      otherPracticeState:
                        type: array
                        items:
                          type: string
                      mailingAddress:
                        type: object
                        additionalProperties: false
                        properties:
                          address1:
                            type: string
                          address2:
                            type: string
                          city:
                            type: string
                          state:
                            type: string
                          zipCode:
                            type: string
                          country:
                            type: string
                      homePhoneNumber:
                        type: string
                      practiceSetting:
                        type: string
                      citizenshipCountry:
                        type: string
                      workPermitStatus:
                        type: string
                      usWorkEligibleFlag:
                        type: boolean
                      visaNumber:
                        type: string
                      practitionerType:
                        type: object
                        additionalProperties: false
                        properties:
                          name:
                            type: string
                      homeAddress:
                        type: object
                        additionalProperties: false
                        properties:
                          address1:
                            type: string
                          address2:
                            type: string
                          city:
                            type: string
                          state:
                            type: string
                          zipCode:
                            type: string
                          country:
                            type: string
                  practitionerProfileDetail:
                    type: object
                    additionalProperties: false
                    properties:
                      practitionerStatus:
                        type: object
                        additionalProperties: false
                        properties:
                          name:
                            type: string
                      lastAttestationDate:
                        type: string
                        format: date-time
                      attestId:
                        type: string
                      practitionerStatusDate:
                        type: string
                        format: date-time
                  healthPlanPractitionerDetail:
                    type: object
                    additionalProperties: false
                    properties:
                      proViewRosteredOnDate:
                        type: string
                        format: date-time
                      practitionerAuthorizationFlag:
                        type: boolean
                      practitionerAuthorizationDate:
                        type: string
                        format: date-time
                      practitionerLastRecredentialDate:
                        type: string
                        format: date-time
                      practitionerNextRecredentialDate:
                        type: string
                        format: date-time
                  practitionerProfessionalId:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        practitionerLicense:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              licenseState:
                                type: string
                              licenseNumber:
                                type: string
                              issueDate:
                                type: string
                                format: date-time
                              expirationDate:
                                type: string
                                format: date-time
                              currentlyPracticeInStateFlag:
                                type: boolean
                              licenseCategory:
                                type: string
                              licenseType:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                              licenseStatus:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                        practitionerNpi:
                          type: object
                          additionalProperties: false
                          properties:
                            npiNumber:
                              type: string
                            npiValidatedFlag:
                              type: boolean
                            npiAvailableFlag:
                              type: boolean
                        practitionerCds:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              cdsNumber:
                                type: string
                              cdsState:
                                type: string
                              issueDate:
                                type: string
                                format: date-time
                              expirationDate:
                                type: string
                                format: date-time
                        practitionerDea:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              deaNumber:
                                type: string
                              deaState:
                                type: string
                              issueDate:
                                type: string
                                format: date-time
                              expirationDate:
                                type: string
                                format: date-time
                              deaLicenseUnlimitedFlag:
                                type: boolean
                              deaApplicationSubmitDate:
                                type: string
                                format: date-time
                        practitionerMedicare:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              medicareNumber:
                                type: string
                              medicareState:
                                type: string
                        practitionerMedicaid:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              medicaidNumber:
                                type: string
                              medicaidState:
                                type: string
                        ecfmgAvailableFlag:
                          type: boolean
                        upinAvailableFlag:
                          type: boolean
                        upin:
                          type: string
                        deaAvailableFlag:
                          type: boolean
                        medicareParticipationFlag:
                          type: boolean
                        medicaidParticipationFlag:
                          type: boolean
                        modifiedAt:
                          type: string
                          format: date-time
                        createdAt:
                          type: string
                          format: date-time
                  practitionerEducation:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        graduateType:
                          type: object
                          additionalProperties: false
                          properties:
                            name:
                              type: string
                        professionalSchoolFlag:
                          type: boolean
                        practitionerProfessionalSchool:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              institutionName:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                              degree:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                              address:
                                type: object
                                additionalProperties: false
                                properties:
                                  address1:
                                    type: string
                                  address2:
                                    type: string
                                  city:
                                    type: string
                                  state:
                                    type: string
                                  zipCode:
                                    type: string
                                  country:
                                    type: string
                              institutionPhoneNumber:
                                type: string
                              certificateAwarded:
                                type: string
                              startDate:
                                type: string
                                format: date-time
                              endDate:
                                type: string
                                format: date-time
                              completionFlag:
                                type: boolean
                              completionDate:
                                type: string
                                format: date-time
                              incompleteReason:
                                type: string
                  practitionerSpecialExperienceAndTraining:
                    type: object
                    additionalProperties: false
                    properties:
                      adolescents:
                        type: boolean
                      angerManagement:
                        type: boolean
                      anxiety:
                        type: boolean
                      attentionDeficitHyperactivityDisorder:
                        type: boolean
                      autismSpectrumDisorders:
                        type: boolean
                      bipolarDisorder:
                        type: boolean
                      blindnessOrVisualImpairment:
                        type: boolean
                      children:
                        type: boolean
                      childWelfare:
                        type: boolean
                      chronicIllness:
                        type: boolean
                      cooccurringDisorders:
                        type: boolean
                      createdAt:
                        type: string
                        format: date-time
                      deafness:
                        type: boolean
                      depression:
                        type: boolean
                      dialecticalBehavioralTherapy:
                        type: boolean
                      genderIdentityDisorder:
                        type: boolean
                      genderNonConformity:
                        type: boolean
                      geriatricBehavioralHealth:
                        type: boolean
                      groupTherapy:
                        type: boolean
                      hivAIDS:
                        type: boolean
                      homelessness:
                        type: boolean
                      lesbianGayBisexual:
                        type: boolean
                      marriageAndFamilyTherapy:
                        type: boolean
                      medicalIllnessAndTherapy:
                        type: boolean
                      medicationManagementAndTherapy:
                        type: boolean
                      militaryVeterans:
                        type: boolean
                      modifiedAt:
                        type: string
                        format: date-time
                      neuropsychologicalTestingAdolescents:
                        type: boolean
                      neuropsychologicalTestingChildren:
                        type: boolean
                      obsessiveCompulsiveDisorder:
                        type: boolean
                      other:
                        type: string
                      peopleWithDisabilities:
                        type: boolean
                      physicalDisabilities:
                        type: boolean
                      playTherapy:
                        type: boolean
                      postpartumDepressionAndOrPsychosis:
                        type: boolean
                      psychologicalTestingAdolescents:
                        type: boolean
                      psychologicalTestingChildren:
                        type: boolean
                      resourceAuthorization:
                        type: object
                        additionalProperties: false
                        properties:
                          message:
                            type: string
                          resource:
                            type: string
                          statusCode:
                            type: string
                      seriousMentalIllness:
                        type: boolean
                      sleepDisorders:
                        type: boolean
                      substanceAbuse:
                        type: boolean
                      transgender:
                        type: boolean
                      trauma:
                        type: boolean
                  practitionerTraining:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        practitionerOtherTraining:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              otherTrainingSpecialty:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                        practitionerPreceptorshipFlag:
                          type: boolean
                        practitionerFellowship:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              institutionName:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                              affiliatedUniversity:
                                type: string
                              startDate:
                                type: string
                                format: date-time
                              endDate:
                                type: string
                                format: date-time
                              fellowshipProgramType:
                                type: string
                              department:
                                type: string
                              fellowshipSpecialty:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                        practitionerResidency:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              institutionName:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                              affiliatedUniversity:
                                type: string
                              startDate:
                                type: string
                                format: date-time
                              endDate:
                                type: string
                                format: date-time
                              residencyProgramType:
                                type: string
                              department:
                                type: string
                              residencySpecialty:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                  practitionerSpecialty:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        otherSpecialty:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              abmsListedFlag:
                                type: boolean
                              boardCertifiedFlag:
                                type: boolean
                              certificateExpirationDate:
                                type: string
                                format: date-time
                              certificationAppliedDate:
                                type: string
                                format: date-time
                              certificationNumber:
                                type: string
                              failedBoardExamAttempts:
                                type: integer
                              failedBoardExamBoardName:
                                type: string
                              failedBoardExamDate:
                                type: string
                                format: date-time
                              failedBoardExamExplanation:
                                type: string
                              failedBoardExamFlag:
                                type: boolean
                              initialCertificationDate:
                                type: string
                                format: date-time
                              lastRecertificationDate:
                                type: string
                                format: date-time
                              listedUnderHMOFlag:
                                type: boolean
                              listedUnderPOSFlag:
                                type: boolean
                              listedUnderPPOFlag:
                                type: boolean
                              listInDirectoryFlag:
                                type: boolean
                              notBoardCertifiedSpecialtyDetails:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    admissibilityExpirationDate:
                                      type: string
                                      format: date-time
                                    applicationFormState:
                                      type: string
                                    applyCertificationFlag:
                                      type: boolean
                                    examAcceptedFlag:
                                      type: boolean
                                    examName:
                                      type: string
                                    examTakenDate:
                                      type: string
                                      format: date-time
                                    futureBoardExamDate:
                                      type: string
                                      format: date-time
                                    futureBoardOralExamDate:
                                      type: string
                                      format: date-time
                                    futureBoardWrittenExamDate:
                                      type: string
                                      format: date-time
                                    intendApplyCertificationDate:
                                      type: string
                                      format: date-time
                                    intendApplyCertificationFlag:
                                      type: boolean
                                    intendingBoardFlag:
                                      type: boolean
                                    noCertificationExplanation:
                                      type: string
                                    nonCertifiedStatus:
                                      type: string
                                    notEligibleBoardFlag:
                                      type: boolean
                                    notIntendingBoardFlag:
                                      type: boolean
                                    partialExamFlag:
                                      type: boolean
                                    resourceAuthorization:
                                      type: object
                                      additionalProperties: false
                                      properties:
                                        message:
                                          type: string
                                        resource:
                                          type: string
                                        statusCode:
                                          type: string
                                    resultsPendingFlag:
                                      type: boolean
                                    resultsPendingSpecialtyBoardName:
                                      type: string
                                    specialtyStatus:
                                      type: string
                                    statusDate:
                                      type: string
                                      format: date-time
                                    statusExpirationDate:
                                      type: string
                                      format: date-time
                              primarySpecialtyFlag:
                                type: boolean
                              province:
                                type: string
                              recertifiedFlag:
                                type: boolean
                              specialtyBoardAddress:
                                type: object
                                additionalProperties: false
                                properties:
                                  address1:
                                    type: string
                                  address2:
                                    type: string
                                  city:
                                    type: string
                                  state:
                                    type: string
                                  zipCode:
                                    type: string
                                  country:
                                    type: string
                              specialtyBoardName:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                              specialtyName:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                              specialtyNuccTaxonomyCode:
                                type: string
                              specialtyType:
                                type: string
                              subSpecialtyName:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                        practitionerSpecialtyFlag:
                          type: boolean
                        primarySpecialty:
                          type: object
                          additionalProperties: false
                          properties:
                            specialtyType:
                              type: string
                            primarySpecialtyFlag:
                              type: boolean
                            specialtyName:
                              type: object
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                            subSpecialtyName:
                              type: object
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                            specialtyBoardName:
                              type: object
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                            certificationNumber:
                              type: string
                            initialCertificationDate:
                              type: string
                              format: date-time
                            certificateExpirationDate:
                              type: string
                              format: date-time
                            recertifiedFlag:
                              type: boolean
                            specialtyNuccTaxonomyCode:
                              type: string
                        secondarySpecialty:
                          type: object
                          additionalProperties: false
                          properties:
                            specialtyType:
                              type: string
                            primarySpecialtyFlag:
                              type: boolean
                            specialtyName:
                              type: object
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                            subSpecialtyName:
                              type: object
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                            specialtyBoardName:
                              type: object
                              additionalProperties: false
                              properties:
                                name:
                                  type: string
                            certificationNumber:
                              type: string
                            initialCertificationDate:
                              type: string
                              format: date-time
                            certificateExpirationDate:
                              type: string
                              format: date-time
                            recertifiedFlag:
                              type: boolean
                            specialtyNuccTaxonomyCode:
                              type: string
                  practitionerAffiliation:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        hospitalAffiliation:
                          type: object
                          additionalProperties: false
                          properties:
                            admittingPrivilegeFlag:
                              type: boolean
                            admittingPrivilege:
                              type: array
                              items:
                                type: object
                                additionalProperties: false
                                properties:
                                  practitionerCredentialingContact:
                                    type: array
                                    items:
                                      type: object
                                      additionalProperties: false
                                      properties:
                                        credentialingContactFirstName:
                                          type: string
                                        credentialingContactMiddleName:
                                          type: string
                                        credentialingContactLastName:
                                          type: string
                                        credentialingContactAddress:
                                          type: object
                                          additionalProperties: false
                                          properties:
                                            address1:
                                              type: string
                                            address2:
                                              type: string
                                            city:
                                              type: string
                                            state:
                                              type: string
                                            zipCode:
                                              type: string
                                            country:
                                              type: string
                                        credentialingContactPhoneNumber:
                                          type: string
                                        credentialingContactTitle:
                                          type: string
                                        credentialingContactFaxNumber:
                                          type: string
                                        credentialingContactEmailAddress:
                                          type: string
                                        primaryCredentialingContactFlag:
                                          type: boolean
                                        credentialingContactAvailabilityHours:
                                          type: string
                                  institutionName:
                                    type: object
                                    additionalProperties: false
                                    properties:
                                      name:
                                        type: string
                                      nonAhaName:
                                        type: string
                                  address:
                                    type: object
                                    additionalProperties: false
                                    properties:
                                      address1:
                                        type: string
                                      address2:
                                        type: string
                                      city:
                                        type: string
                                      state:
                                        type: string
                                      country:
                                        type: string
                                      zipCode:
                                        type: string
                                  phoneNumber:
                                    type: string
                                  startDate:
                                    type: string
                                    format: date-time
                                  endDate:
                                    type: string
                                    format: date-time
                                  department:
                                    type: string
                                  admittingPrivilegeStatus:
                                    type: string
                            admittingArrangementFlag:
                              type: boolean
                            admittingArrangement:
                              type: array
                              items:
                                type: object
                                additionalProperties: false
                                properties:
                                  ahaHospitalId:
                                    type: string
                                  phoneNumber:
                                    type: string
                                  startDate:
                                    type: string
                                    format: date-time
                                  endDate:
                                    type: string
                                    format: date-time
                                  admittingArrangementStatus:
                                    type: string
                            nonAdmittingAffiliationFlag:
                              type: boolean
                            nonAdmittingAffiliation:
                              type: array
                              items:
                                type: object
                                additionalProperties: false
                                properties:
                                  ahaHospitalId:
                                    type: string
                                  institutionName:
                                    type: object
                                    additionalProperties: false
                                    properties:
                                      name:
                                        type: string
                                      nonAhaName:
                                        type: string
                                  address:
                                    type: object
                                    additionalProperties: false
                                    properties:
                                      address1:
                                        type: string
                                      address2:
                                        type: string
                                      city:
                                        type: string
                                      state:
                                        type: string
                                      country:
                                        type: string
                                      zipCode:
                                        type: string
                                  phoneNumber:
                                    type: string
                                  startDate:
                                    type: string
                                    format: date-time
                                  endDate:
                                    type: string
                                    format: date-time
                                  nonAdmittingAffiliationStatus:
                                    type: string
                  practitionerPracticeLocation:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        activeLocation:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              practiceLimitationFlag:
                                type: boolean
                              practiceLimitation:
                                type: object
                                additionalProperties: false
                                properties:
                                  ageLimitationFlag:
                                    type: boolean
                                  ageLimitationMaximum:
                                    type: string
                                  ageLimitationMinimum:
                                    type: string
                                  otherLimitation:
                                    type: string
                                  specialtyLimitationFlag:
                                    type: boolean
                                  specialtyLimitationDescription:
                                    type: string
                                  genderLimitationType:
                                    type: string
                              healthcareServiceName:
                                type: string
                              phoneCoverage24x7:
                                type: boolean
                              practitionerLocationDetail:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    practitionerStartDate:
                                      type: string
                                      format: date-time
                              locationService:
                                type: object
                                additionalProperties: false
                                properties:
                                  laboratoryServicesFlag:
                                    type: boolean
                                  drawingBloodFlag:
                                    type: boolean
                                  cliaCertificateNumber:
                                    type: string
                                  cliaExpirationDate:
                                    type: string
                                    format: date-time
                              locationOfficeManager:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    officeManagerCredentialingContactFlag:
                                      type: boolean
                                    officeManagerEmailAddress:
                                      type: string
                                    officeManagerFaxNumber:
                                      type: string
                                    officeManagerFirstName:
                                      type: string
                                    officeManagerLastName:
                                      type: string
                                    officeManagerMiddleName:
                                      type: string
                                    officeManagerPhoneNumber:
                                      type: string
                                    primaryContactFlag:
                                      type: boolean
                              caqhLocationId:
                                type: string
                              officeType:
                                type: object
                                additionalProperties: false
                                properties:
                                  name:
                                    type: string
                              standardizedLocationID:
                                type: string
                              parentOrganization:
                                type: object
                                additionalProperties: false
                                properties:
                                  organizationTaxId:
                                    type: array
                                    items:
                                      type: object
                                      additionalProperties: false
                                      properties:
                                        taxIdNumber:
                                          type: string
                                  organizationId:
                                    type: string
                                  organizationName:
                                    type: string
                              healthcareServicePrimaryTaxID:
                                type: object
                                additionalProperties: false
                                properties:
                                  taxIdNumber:
                                    type: string
                              healthcareServiceType2Npi:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    npiNumber:
                                      type: string
                              healthcareServiceTaxId:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    taxIdNumber:
                                      type: string
                                    taxIdType:
                                      type: string
                                    taxIdGroupName:
                                      type: string
                              locationType2Npi:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    npiNumber:
                                      type: string
                              locationTaxId:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    taxIdNumber:
                                      type: string
                              address:
                                type: object
                                additionalProperties: false
                                properties:
                                  address1:
                                    type: string
                                  address2:
                                    type: string
                                  city:
                                    type: string
                                  state:
                                    type: string
                                  country:
                                    type: string
                                  zipCode:
                                    type: string
                              mailingAddress:
                                type: object
                                additionalProperties: false
                                properties:
                                  address1:
                                    type: string
                                  address2:
                                    type: string
                                  city:
                                    type: string
                                  state:
                                    type: string
                                  country:
                                    type: string
                                  zipCode:
                                    type: string
                              locationHours:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    dayOfweek:
                                      type: string
                                    startHours:
                                      type: string
                                    endHours:
                                      type: string
                                    createdAt:
                                      type: string
                                      format: date-time
                                    modifiedAt:
                                      type: string
                                      format: date-time
                              locationSpecialty:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    specialty:
                                      type: object
                                      additionalProperties: false
                                      properties:
                                        name:
                                          type: string
                                    subSpecialty:
                                      type: object
                                      additionalProperties: false
                                      properties:
                                        name:
                                          type: string
                  practitionerEmploymentInformation:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        employerName:
                          type: string
                        startDate:
                          type: string
                          format: date-time
                        endDate:
                          type: string
                          format: date-time
                        department:
                          type: string
                        title:
                          type: string
                        employerPhoneNumber:
                          type: string
                        employerPhoneExtn:
                          type: string
                        employerFaxNumber:
                          type: string
                        employerEmailAddress:
                          type: string
                        employerAddress:
                          type: object
                          additionalProperties: false
                          properties:
                            address1:
                              type: string
                            address2:
                              type: string
                            city:
                              type: string
                            state:
                              type: string
                            zipCode:
                              type: string
                            country:
                              type: string
                  practitionerEmploymentGap:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        gapStartDate:
                          type: string
                          format: date-time
                        gapEndDate:
                          type: string
                          format: date-time
                        gapExplanation:
                          type: array
                          items:
                            type: object
                            additionalProperties: false
                            properties:
                              gapExplanationName:
                                type: string
                  practitionerCertification:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        certificationName:
                          type: string
                        certificationType:
                          type: string
                        certificationState:
                          type: string
                        certificationNumber:
                          type: string
                        certificationObtainedDate:
                          type: string
                          format: date-time
                        certificationExpirationDate:
                          type: string
                          format: date-time
                  practitionerDocument:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        documentID:
                          type: string
                        documentName:
                          type: string
                        documentStatus:
                          type: string
                        documentType:
                          type: string
                  practitionerClinicalPractice:
                    type: object
                    additionalProperties: false
                    properties:
                      fullTimeFlag:
                        type: boolean
                  practitionerProfessionalLiabilityInsurance:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      properties:
                        insuranceCarrierName:
                          type: string
                        policyNumber:
                          type: string
                        renewalDate:
                          type: string
                          format: date-time
                        occurrenceCoverageAmount:
                          type: number
                        aggregateCoverageAmount:
                          type: number
                        policyHolder:
                          type: string
                        pliCoverageType:
                          type: object
                          additionalProperties: false
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                        policyEffectiveDate:
                          type: string
                          format: date-time
                        policyExpirationDate:
                          type: string
                          format: date-time
                        policyCurrentEffectiveDate:
                          type: string
                          format: date-time
                        individualCoverageFlag:
                          type: boolean
                        insuranceType:
                          type: string
                        unlimitedCoverageFlag:
                          type: boolean
                  providerId:
                    type: string
                  updatedAt:
                    type: string
                    format: date-time
                  updatedBy:
                    type: string
                  updatedByName:
                    type: string
                  workflowSource:
                    type: string
        '400':
          description: Invalid input parameters.
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
        '404':
          description: No CAQH data found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/credentialing-workflows:
    post:
      operationId: ProviderV2Controller_createCredentialingWorkflow
      summary: Creates a credentialing workflow for the provider.
      description: |-
        Initiates a new credentialing workflow for the specified 
              provider. The workflow will automatically trigger the pipeline to 
              fetch the required provider information needed for credentialing.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Credentialing workflow ID
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  providerId:
                    type: string
        '201':
          description: ''
        '400':
          description: |-
            Bad request because of any of the following reasons:

                1. Wrong parameters provided in the request.

                2. Workflow exists in not complete state for the provider.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Provider is not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/psv/signed-url:
    get:
      operationId: ProviderV2Controller_gePSVPdfSignedUrl
      summary: Retrieve signed URL for provider PSV PDF
      description: >-
        Returns a signed URL for downloading the PSV (Primary Source
        Verification) PDF for the specified provider. The signed URL is
        time-limited and allows secure access to the PSV document.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          description: >-
            The unique identifier of the provider whose PSV PDF signed URL is to
            be retrieved.
          schema:
            type: string
      responses:
        '200':
          description: Signed URL for the provider PSV PDF.
          content:
            application/json:
              schema:
                example:
                  signedUrl: >-
                    https://storage.googleapis.com/bucket/psv.pdf?X-Goog-Signature=...
        '400':
          description: Invalid input parameters.
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
        '404':
          description: Provider or PSV PDF not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/groups:
    put:
      operationId: ProviderV2Controller_modifyProviderOrgEntities
      summary: Modify groups associated to a provider
      description: Modifies the groups (org-entities) associated with a provider.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CreateProviderV2GroupDto'
      responses:
        '200':
          description: The record has been successfully updated.
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
    get:
      operationId: ProviderV2Controller_getProviderGroups
      summary: Retrieve groups/ org-entities for a provider.
      description: Fetches all the groups (org-entities) associated with a provider.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Provider Groups.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderV2GroupsResponseDto'
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/providers:
    post:
      operationId: ProvidersV2Controller_bulkCreate
      summary: Create Providers
      description: Create providers (Bulk)
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CreateProviderDtoV2'
      responses:
        '201':
          description: The records has been successfully created.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BulkCreateProviderResponseDtoV2'
        '207':
          description: If some of the records failed to be created.
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/providers
      security:
        - BearerAuth: []
    get:
      operationId: ProvidersV2Controller_findAll
      summary: Lists all providers in an organization
      description: >-
        Fetches all the providers in the given organization, this endpoint is
        used to query for 
              all providers in the organization. The endpoint returns a list of providers with the 
              providerId and basic details. This endpoint supports filters for pagination (offset and limit), 
              file type, flagged status, and created or updated date ranges.
              The practice location data response can be enabled on request, it is not returned by default.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            default: 10
            type: number
        - name: file_type
          required: false
          in: query
          description: File Type of the providers to filter by to be terminated.
          schema:
            enum:
              - Clean
              - Non_Clean
              - Pending
            type: string
        - name: flagged
          required: false
          in: query
          description: Flagged providers will be terminated.
          schema:
            type: boolean
        - name: start_updated_at
          required: false
          in: query
          description: Filter providers that are created or updated >= specified date.
          schema:
            format: date-time
            type: string
        - name: end_updated_at
          required: false
          in: query
          description: Filter providers that are created or updated < specified date.
          schema:
            format: date-time
            type: string
      responses:
        '200':
          description: List of providers.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderListV2ResponseDto'
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/providers
      security:
        - BearerAuth: []
  /v2/providers/terminate-providers:
    patch:
      operationId: ProvidersV2Controller_terminate
      summary: Terminate providers
      description: Terminate providers.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TerminateProviderV2Dto'
      responses:
        '204':
          description: Providers successfully terminated.
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
        '207':
          description: |-
            Some providers couldn't be terminated. The response 
                  includes each failed provider id followed by the reason of the failure.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    providerId:
                      type: string
                    reason:
                      type: string
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/providers
      security:
        - BearerAuth: []
  /v2/providers/unterminate-providers:
    patch:
      operationId: ProvidersV2Controller_UnTerminate
      summary: Unterminate providers
      description: Unterminate providers
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnterminateProviderV2Dto'
      responses:
        '204':
          description: Providers successfully unterminated.
        '207':
          description: |-
            Some providers couldn't be unterminated. The response includes 
                each failed provider id followed by the reason of the failure.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    providerId:
                      type: string
                    reason:
                      type: string
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/providers
      security:
        - BearerAuth: []
  /v2/providers/{id}:
    patch:
      operationId: ProvidersV2Controller_update
      summary: Updates provider data
      description: Updates the information of a specific provider.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProvidersDtoV2'
      responses:
        '200':
          description: Provider data successfully updated.
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Provider or related resource not found.
      tags:
        - v2/providers
      security:
        - BearerAuth: []
  /v2/providers/bulk-share-to-cred-committee:
    post:
      operationId: ProvidersV2Controller_shareBulkToCredCommittee
      summary: Share multiple providers to Credentialing Committee.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareBulkProviderToCredCommDtoV2'
      responses:
        '204':
          description: All providers shared to the cred committee successfully.
        '207':
          description: Some providers couldn't be shared to cred committee
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    status:
                      type: string
                    id:
                      type: string
                    reason:
                      type: string
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/providers
      security:
        - BearerAuth: []
  /v2/providers/{id}/share-to-cred-committee:
    patch:
      operationId: ProvidersV2Controller_shareToCredCommittee
      summary: Share provider to Credentialing Committee.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareProviderToCredCommDto'
      responses:
        '204':
          description: Shared to the cred committee successfully.
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/providers
      security:
        - BearerAuth: []
  /v2/flags:
    get:
      operationId: ProviderFlagsController_findFlags
      summary: Find Flags For Provider
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: provider_id
          required: true
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Successfully fetched flags.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderFlagResponseDto'
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/flags
      security:
        - BearerAuth: []
  /v2/provider-with-groups:
    post:
      operationId: ProviderWithGroupsV2Controller_create
      summary: Create Provider With Groups
      description: Add a provider to the organization
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProviderWithGroupDtoV2'
      responses:
        '201':
          description: The record has been successfully created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  provider_id:
                    type: string
                    example: sfas12345
                  is_created:
                    type: boolean
                    example: false
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/provider-with-groups
      security:
        - BearerAuth: []
  /flags:
    get:
      operationId: FlagsController_findAllFlags
      summary: Get all provider flags
      description: >-
        Returns a list of all provider flags for the given organization.
        Supports filtering by NPI, read status, and shared status.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            default: 10
            type: number
        - name: npi
          required: false
          in: query
          schema:
            type: string
        - name: read
          required: false
          in: query
          schema:
            type: boolean
        - name: shared
          required: false
          in: query
          schema:
            type: boolean
      responses:
        '200':
          description: List of all the provider flags for provider organization id
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - flags
      security:
        - BearerAuth: []
    patch:
      operationId: FlagsController_deactivateFlagBulk
      summary: Bulk deactivate (clear) flags
      description: Deactivates (clears) multiple flags in bulk for the current user.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        description: Array of flag objects to deactivate.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlagPatchAllRequestDto'
      responses:
        '200':
          description: The flag has been successfully cleared.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlagPatchAllResponseDto'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - flags
      security:
        - BearerAuth: []
  /flags/{id}/deactivate:
    patch:
      operationId: FlagsController_deactivateFlag
      summary: Deactivate (clear) a flag
      description: Deactivates (clears) a specific flag by its ID.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: The unique identifier of the flag to deactivate.
          schema:
            type: string
      responses:
        '200':
          description: ''
        '201':
          description: The flag has been successfully cleared.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - flags
      security:
        - BearerAuth: []
  /flags/{id}/activate:
    patch:
      operationId: FlagsController_activateFlag
      summary: Activate (un-clear) a flag
      description: Activates (un-clears) a specific flag by its ID.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: The unique identifier of the flag to activate.
          schema:
            type: string
      responses:
        '200':
          description: ''
        '201':
          description: The flag has been successfully un-cleared.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - flags
      security:
        - BearerAuth: []
  /flags/webhook/{id}/mark-read:
    patch:
      operationId: FlagsController_moveToOutreachInProgressWebhook
      summary: Mark flag as read via webhook
      description: Marks a flag as read using a webhook event.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: The unique identifier of the flag to mark as read.
          schema:
            type: string
      requestBody:
        required: true
        description: Optional reason for marking as read.
        content:
          application/json:
            schema:
              example:
                reason: Reviewed via webhook
              type: object
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - flags
      security:
        - BearerAuth: []
  /flags/bulk-mark-read:
    patch:
      operationId: FlagsController_markReadBulk
      summary: Bulk mark flags as read
      description: >-
        Marks multiple flags as read for the current user. Returns 204 if all
        succeeded, 207 if some failed.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        description: Payload containing flag IDs to mark as read and a reason.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlagMarkReadAllRequestDto'
      responses:
        '204':
          description: If all of the IDs marked as read successfully.
          content:
            application/json:
              schema:
                example:
                  success: true
        '207':
          description: If some of the IDs failed to be marked as read.
          content:
            application/json:
              schema:
                example:
                  - flagId: flag1
                    error: Not found
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - flags
      security:
        - BearerAuth: []
  /flags/{id}/mark-read:
    patch:
      operationId: FlagsController_markRead
      summary: Mark a flag as read
      description: Marks a specific flag as read for the current user.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: The unique identifier of the flag to mark as read.
          schema:
            type: string
      requestBody:
        required: true
        description: Reason for marking the flag as read.
        content:
          application/json:
            schema:
              example:
                reason: Flag reviewed by analyst
              type: object
      responses:
        '200':
          description: ''
        '201':
          description: The flag has been successfully marked read.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - flags
      security:
        - BearerAuth: []
  /flags/{id}/mark-unread:
    patch:
      operationId: FlagsController_markUnread
      summary: Mark a flag as unread
      description: Marks a specific flag as unread for the current user.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: The unique identifier of the flag to mark as unread.
          schema:
            type: string
      responses:
        '200':
          description: ''
        '201':
          description: The flag has been successfully marked un-read.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - flags
      security:
        - BearerAuth: []
  /flags/search:
    get:
      operationId: FlagsController_searchFlags
      summary: Get Provider Flags
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            default: 10
            type: number
        - name: npi
          required: false
          in: query
          description: Provider NPI(s) (comma or dash separated)
          schema:
            type: string
        - name: flagType
          required: false
          in: query
          description: Type of flag
          example: flagType1,flagType2,flagType3
          schema:
            type: array
            items:
              type: string
        - name: firstName
          required: false
          in: query
          description: First name
          schema:
            type: string
        - name: lastName
          required: false
          in: query
          description: Last name
          schema:
            type: string
        - name: subCollectionName
          required: false
          in: query
          description: Sub collection name
          example: subCollection1,subCollection2,subCollection3
          schema:
            type: array
            items:
              type: string
        - name: sharedToCredCommittee
          required: false
          in: query
          description: Shared to cred committee (boolean)
          schema:
            type: boolean
        - name: flagReadStatus
          required: false
          in: query
          description: Flag read status (seen, unseen, all)
          schema:
            $ref: '#/components/schemas/ReadStatus'
        - name: flaggedDateStart
          required: false
          in: query
          description: Flagged date start (ISO date)
          schema:
            format: date-time
            type: string
        - name: flaggedDateEnd
          required: false
          in: query
          description: Flagged date end (ISO date)
          schema:
            format: date-time
            type: string
        - name: expirationDateStart
          required: false
          in: query
          description: Expiration date start (ISO date)
          schema:
            format: date-time
            type: string
        - name: expirationDateEnd
          required: false
          in: query
          description: Expiration date end (ISO date)
          schema:
            format: date-time
            type: string
        - name: reportDateStart
          required: false
          in: query
          description: Report date start (ISO date)
          schema:
            format: date-time
            type: string
        - name: reportDateEnd
          required: false
          in: query
          description: Report date end (ISO date)
          schema:
            format: date-time
            type: string
      responses:
        '200':
          description: List of provider flags based on advanced filter criteria
          content:
            application/json:
              schema:
                example:
                  data:
                    - flagId: flag1
                      status: unseen
                  meta:
                    total: 1
        '400':
          description: Bad request if filter is invalid.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - flags
      security:
        - BearerAuth: []
  /flags/bulk-mark-unread:
    patch:
      operationId: FlagsController_markUnreadBulk
      summary: Bulk mark flags as unread
      description: >-
        Marks multiple flags as unread for the current user. Returns 204 if all
        succeeded, 207 if some failed.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        description: Payload containing flag IDs to mark as unread.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlagMarkUnreadAllRequestDto'
      responses:
        '204':
          description: If all of the IDs marked as unread successfully.
          content:
            application/json:
              schema:
                example:
                  success: true
        '207':
          description: If some of the IDs failed to be marked as unread.
          content:
            application/json:
              schema:
                example:
                  - flagId: flag1
                    error: Not found
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - flags
      security:
        - BearerAuth: []
  /flags/{id}/mark-all-read-for-provider:
    post:
      operationId: FlagsController_markProviderReviewedAndApproved
      summary: Mark all flags as read for a provider and approve
      description: >-
        Marks all flags as read for a specific provider and marks the provider
        as approved.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: The unique identifier of the provider.
          schema:
            type: string
      requestBody:
        required: true
        description: Reason for marking all as read and approving.
        content:
          application/json:
            schema:
              example:
                reason: Provider reviewed and approved
              type: object
      responses:
        '201':
          description: ''
        '204':
          description: The Provider was successfully approved.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - flags
      security:
        - BearerAuth: []
  /v2/flags/bulk-mark-read:
    patch:
      operationId: FlagsV2Controller_markReadBulk
      summary: Mark multiple flags as read
      description: >-
        Marks a list of flags as read for the current user. Returns 204 if all
        succeeded, 207 if some failed.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        description: Payload containing flag IDs to mark as read and a reason.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FlagMarkReadAllRequestV2Dto'
      responses:
        '204':
          description: All flags marked as read successfully.
          content:
            application/json:
              schema:
                example:
                  success: true
        '207':
          description: Some flags failed to be marked as read.
          content:
            application/json:
              schema:
                example:
                  - status: fullfilled
                    id: flagId1
                  - status: rejected
                    id: flagId2
                    reason:
                      status: 404
                      name: NotFoundException
                      message: provider-flags with id = flagId2 was not found
        '400':
          description: Bad request. Invalid input.
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
      tags:
        - v2/flags
      security:
        - BearerAuth: []
  /v2/flags/{id}/mark-read:
    patch:
      operationId: FlagsV2Controller_markRead
      summary: Mark a single flag as read
      description: Marks a specific flag as read for the current user.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: The unique identifier of the flag to mark as read.
          schema:
            type: string
      responses:
        '204':
          description: The flag has been successfully marked read.
        '400':
          description: Bad request. Invalid input.
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
        '404':
          description: Flag not found.
      tags:
        - v2/flags
      security:
        - BearerAuth: []
  /v2/flags/search:
    get:
      operationId: FlagsV2Controller_searchFlags
      summary: Search provider flags
      description: >-
        Returns a list of provider flags based on advanced filter criteria.
        Supports filtering by NPI, flag type, name, sub-collection, committee
        sharing, read status, and date ranges.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            default: 10
            type: number
        - name: npi
          required: false
          in: query
          description: Provider NPI
          schema:
            type: string
        - name: flag_type
          required: false
          in: query
          description: Type of flag
          example: flagType1,flagType2,flagType3
          schema:
            type: array
            items:
              type: string
        - name: first_name
          required: false
          in: query
          description: First name
          schema:
            type: string
        - name: last_name
          required: false
          in: query
          description: Last name
          schema:
            type: string
        - name: sub_collection_name
          required: false
          in: query
          description: Sub collection name
          example: subCollection1,subCollection2,subCollection3
          schema:
            type: array
            items:
              type: string
        - name: shared_to_cred_committee
          required: false
          in: query
          description: Shared to cred committee (boolean)
          schema:
            type: boolean
        - name: flagReadStatus
          required: false
          in: query
          description: Flag read status (seen, unseen, all)
          schema:
            $ref: '#/components/schemas/ReadStatus'
        - name: flagged_date_start
          required: false
          in: query
          description: Flagged date start (ISO date)
          schema:
            format: date-time
            type: string
        - name: flagged_date_end
          required: false
          in: query
          description: Flagged date end (ISO date)
          schema:
            format: date-time
            type: string
        - name: expiration_date_start
          required: false
          in: query
          description: Expiration date start (ISO date)
          schema:
            format: date-time
            type: string
        - name: expiration_date_end
          required: false
          in: query
          description: Expiration date end (ISO date)
          schema:
            format: date-time
            type: string
      responses:
        '200':
          description: List of provider flags based on advanced filter criteria
          content:
            application/json:
              schema:
                example:
                  data:
                    - flagId: flag1
                      status: unseen
                  meta:
                    total: 1
        '400':
          description: Bad request if filter is invalid.
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
      tags:
        - v2/flags
      security:
        - BearerAuth: []
  /v2/groups/{id}/associate-facilities:
    post:
      operationId: OrgEntitiesV2Controller_associateFacilityAsLocation
      summary: Associate Facilities with a Group
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssociateFacilitiesV2Dto'
      responses:
        '201':
          description: If all ids are associated successfully.
        '207':
          description: If some of the IDs failed to be associated.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: If org-entity with the id is not found.
      tags:
        - v2/groups
      security:
        - BearerAuth: []
    delete:
      operationId: OrgEntitiesV2Controller_disassociateFacilityFromLocation
      summary: Dissociate Facilities From a Group
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssociateFacilitiesV2Dto'
      responses:
        '200':
          description: If all ids are disassociated successfully.
        '207':
          description: If some of the IDs failed to be disassociated.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: If org-entity with the id is not found.
      tags:
        - v2/groups
      security:
        - BearerAuth: []
  /v2/webhooks:
    get:
      operationId: WebhooksController_fetchAll
      summary: Retrieve all registered webhooks
      description: >-
        Retrieve all webhooks registered for the organization, including basic
        configuration details. Sensitive information like oauth_configuration
        will be masked in the response.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      responses:
        '200':
          description: List of registered webhooks retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebhookResponseDto'
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
      tags:
        - Webhooks
      security:
        - BearerAuth: []
    post:
      operationId: WebhooksController_create
      summary: Register Webhook (Credentialing Events)
      description: >-
        Register a webhook for credentialing events of a provider. If headers
        are included, they will be sent with every request. If
        oauth_configuration is set, the token_url will be called with client_id
        and client_secret and a form urlencoded POST request to generate an
        access token. The response includes the webhook ID and configuration
        details.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhooksDto'
      responses:
        '201':
          description: Webhook Created Successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateWebhookResponseDto'
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
          content:
            application/json:
              schema:
                example:
                  message: Invalid request body
                  errors:
                    - url must be a valid URL
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
      tags:
        - Webhooks
      security:
        - BearerAuth: []
    delete:
      operationId: WebhooksController_remove
      summary: Remove Registered Webhook
      description: Remove a previously registered webhook by providing its configuration.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveWebhooksDto'
      responses:
        '204':
          description: Webhook deleted successfully.
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
          content:
            application/json:
              schema:
                example:
                  message: Invalid request body
                  errors:
                    - id is required
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
        '404':
          description: Webhook or related resource not found.
          content:
            application/json:
              schema:
                example:
                  message: Webhook not found
      tags:
        - Webhooks
      security:
        - BearerAuth: []
  /v2/webhooks/{webhookId}/test-event:
    post:
      operationId: WebhooksController_testWebhook
      summary: Test a registered webhook
      description: >-
        Send a test event to a registered webhook. This is useful for verifying
        that the webhook endpoint is reachable and correctly configured.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: webhookId
          required: true
          in: path
          description: Webhook ID returned when registering a webhook
          example: webhook_123
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhookTestEventDto'
      responses:
        '201':
          description: Webhook test event sent successfully
          content:
            application/json:
              schema:
                example:
                  message: Test event sent successfully
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
          content:
            application/json:
              schema:
                example:
                  message: Invalid request body
                  errors:
                    - eventType is required
        '401':
          description: Authorization token is missing or invalid.
        '403':
          description: User does not have permission to access this resource.
        '422':
          description: The test event could not be sent using the webhook configuration.
          content:
            application/json:
              schema:
                example:
                  message: Failed to send test event
                  reason: Invalid endpoint
      tags:
        - Webhooks
      security:
        - BearerAuth: []
  /forms/submissions:
    post:
      operationId: FormSubmissionController_create
      summary: Create a new form submission.
      description: Creates a new form submission.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        description: Form submission payload.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFormSubmissionDto'
      responses:
        '201':
          description: Form submission created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormSubmissionResponseDto'
        '400':
          description: Invalid request body or missing required fields.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - forms
      security:
        - BearerAuth: []
  /forms/submissions/{id}:
    get:
      operationId: FormSubmissionController_findOne
      summary: Get a form submission by ID.
      description: Retrieves a single form submission by its unique ID.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: Form submission ID.
          schema:
            type: string
      responses:
        '200':
          description: Form submission found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormSubmissionResponseDto'
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Form submission not found.
      tags:
        - forms
      security:
        - BearerAuth: []
  /v2/facility-credentialing-workflows/{id}/steps/move-to-cancel:
    put:
      operationId: FacilityCredentialingWorkflowsV2Controller_moveToCancel
      summary: Cancel Facility Credentialing Workflow
      description: Move a facility credentialing workflow to cancel status.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveToCancelV2Dto'
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/facility-credentialing-workflows
      security:
        - BearerAuth: []
  /v2/facility-credentialing-workflows/{id}/steps/move-to-cred-approved:
    put:
      operationId: FacilityCredentialingWorkflowsV2Controller_moveToCredApproved
      summary: Approve Facility Credentialing Workflow
      description: Move a facility credentialing workflow to approved status.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetCredStatusChangeMetaDataDtoV2'
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/facility-credentialing-workflows
      security:
        - BearerAuth: []
  /v2/facility-credentialing-workflows/{id}/steps/move-to-cred-denied:
    put:
      operationId: FacilityCredentialingWorkflowsV2Controller_moveToCredDenied
      summary: Deny Facility Credentialing Workflow
      description: Move a facility credentialing workflow to denied status.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetCredStatusChangeMetaDataDtoV2'
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/facility-credentialing-workflows
      security:
        - BearerAuth: []
  /v2/facilities/{facilityId}:
    get:
      operationId: FacilityV2Controller_findOne
      summary: >-
        Retrieve all available information for a Facility. Supporting documents
        are URLs to the file.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: facilityId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Facility Details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityResponseV2Dto'
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Facility was not found.
      tags:
        - v2/facilities
      security:
        - BearerAuth: []
    patch:
      operationId: FacilityV2Controller_update
      summary: Update information for a facility.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: facilityId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFacilityDto'
      responses:
        '204':
          description: Updated.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/facilities
      security:
        - BearerAuth: []
  /v2/facilities:
    get:
      operationId: FacilityV2Controller_findAll
      summary: List all Facilities.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            default: 10
            type: number
      responses:
        '200':
          description: Paginated list of facilities.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedFacilityV2ResponseDto'
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/facilities
      security:
        - BearerAuth: []
    post:
      operationId: FacilityV2Controller_create
      summary: Add a facility.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFacilityDto'
      responses:
        '201':
          description: The record has been successfully created.
        '400':
          description: Bad request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/facilities
      security:
        - BearerAuth: []
  /v2/facilities/terminate-facility:
    patch:
      operationId: FacilityV2Controller_terminate
      summary: Terminate Facilities (Bulk)
      description: Terminates the facility.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TerminateFacilityV2Dto'
      responses:
        '204':
          description: Facility successfully terminated.
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
        '207':
          description: >-
            Some facility couldn't be terminated. The response includes each
            failed id followed by the reason of the failure.
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/facilities
      security:
        - BearerAuth: []
  /v2/facilities/unterminate-facility:
    patch:
      operationId: FacilityV2Controller_unterminate
      summary: Unterminate Facilities (Bulk)
      description: Unterminates the facility
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UnterminateFacilityV2Dto'
      responses:
        '204':
          description: Facility successfully unterminated.
        '207':
          description: >-
            Some facilities couldn't be unterminated. The response includes each
            failed id followed by the reason of the failure.
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the request
            body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/facilities
      security:
        - BearerAuth: []
  /v2/facilities/{facilityId}/psv/signed-url:
    get:
      operationId: FacilityV2Controller_getDocumentSignedUrl
      summary: Retrieve signed PSV url of a given facility.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: facilityId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: string
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
      tags:
        - v2/facilities
      security:
        - BearerAuth: []
  /v2/facilities/{facilityId}/groups:
    get:
      operationId: FacilityV2Controller_getFacilityGroups
      summary: Retrieve groups/org-entities for a facility.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: facilityId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Facility Groups.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityGroupsResponseDto'
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the
            request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Facility or related resource was not found.
      tags:
        - v2/facilities
      security:
        - BearerAuth: []
  /v2/facilities/{facilityId}/credentialing-workflow-timelines:
    get:
      operationId: FacilityV2Controller_getCredentialingWorkflowTimeline
      summary: Retrieve credentialing workflow timeline for a facility.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: facilityId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Credentialing workflow timeline
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/FacilityCredentialingWorkflowTimelineV2ResponseDto
        '400':
          description: >-
            Bad request because the wrong parameters are provided in the
            request.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Facility or related resource was not found.
      tags:
        - v2/facilities
      security:
        - BearerAuth: []
  /providers/{id}/supporting-documents:
    post:
      operationId: SupportingDocumentsController_upload
      summary: Upload Supporting Document
      description: |2-

            Uploads a supporting document for a provider by ID. This endpoint accepts a multipart/form-data request with a file and metadata.

            - The uploaded document is associated with the provider and saved in the system.
            - Only valid files and supported document metadata will be processed.
            - Returns a confirmation once the document is uploaded successfully.

            Authorization:
            - Requires an Bearer access token.

            Possible Errors:
            - `400 Bad Request`: If the file or metadata is invalid.
            - `404 Not Found`: If the provider with the given ID does not exist.
            
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        description: Supporting Document upload request
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                fileType:
                  type: string
                state:
                  type: string
                  enum:
                    - AK
                    - AL
                    - AR
                    - AS
                    - AZ
                    - CA
                    - CO
                    - CT
                    - DC
                    - DE
                    - FL
                    - FM
                    - GA
                    - GU
                    - HI
                    - IA
                    - ID
                    - IL
                    - IN
                    - KS
                    - KY
                    - LA
                    - MA
                    - MD
                    - ME
                    - MH
                    - MI
                    - MN
                    - MO
                    - MP
                    - MS
                    - MT
                    - NC
                    - ND
                    - NE
                    - NH
                    - NJ
                    - NM
                    - NV
                    - NY
                    - OH
                    - OK
                    - OR
                    - PA
                    - PR
                    - PW
                    - RI
                    - SC
                    - SD
                    - TN
                    - TX
                    - UT
                    - UM
                    - VA
                    - VI
                    - VT
                    - WA
                    - WI
                    - WV
                    - WY
              required:
                - fileType
      responses:
        '201':
          description: The supporting document was successfully uploaded.
        '400':
          description: Bad request. Invalid input or file.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Provider not found.
      tags:
        - providers
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/credentialing-workflow-timelines:
    get:
      operationId: >-
        CredentialingWorkflowTimelineV2Controller_getCredentialingWorkflowTimelines
      summary: Retrieve credentialing workflow timelines for a provider
      description: >-
        Returns a list of credentialing workflow timeline records for the
        specified provider within the organization. Each record contains
        credentialing status, cycle, dates, and related metadata.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          description: >-
            The unique identifier of the provider whose credentialing workflow
            timelines are being retrieved.
          schema:
            type: string
      responses:
        '200':
          description: Credentialing workflow timelines
          schema:
            example:
              - credentialingWorkflowId: workflow123
                credentialingStatus: Active
                credentialingCycle: Initial
                providerId: provider456
                organizationId: org789
                orgEntity:
                  id: entity1
                  name: Group A
                medicalDirectorId: md123
                medicalDirectorName: Dr. Smith
                receivedForCredentialingDate: '2024-01-01'
                attestationDate: '2024-01-02'
                initialCredentialingDate: '2024-01-03'
                lastCredentialedDate: '2024-01-04'
                psvCompleteDate: '2024-01-05'
                credentialingDecisionDate: '2024-01-06'
                nextCredentialingDate: '2025-01-01'
                updatedAt: '2024-01-07'
                updatedByName: Jane Doe
                updatedBy: user123
                createdAt: '2024-01-01'
                createdBy: user456
                createdByName: John Doe
                decisionEnteredById: user789
                decisionEnteredByName: Dr. Reviewer
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/CredentialingWorkflowTimelineV2ResponseDto
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /providers/{providerId}/credentialing-workflow-timelines:
    get:
      operationId: CredentialingWorkflowTimelineController_findAll
      summary: Get all credentialing workflow timelines for a provider
      description: >-
        Returns a list of credentialing workflow timeline records for the
        specified provider within 
            the organization. Each record contains credentialing status, cycle, dates, and related metadata.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Credentialing workflow timelines retrieved successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/CredentialingWorkflowTimelineSubCollection
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - providers
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/professional-ids:
    post:
      operationId: ProfessionalIdsV2Controller_createMany
      summary: Create Bulk Provider Professional IDs
      description: Create multiple professional IDs for a provider
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProfessionalIdsV2Dto'
      responses:
        '201':
          description: Professional IDs created successfully.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProfessionalIdResponseV2Dto'
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/specialties:
    get:
      operationId: SpecialtiesV2Controller_findAll
      summary: Get list of provider specialties
      description: Retrieves a list of specialties for the specified provider.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
        - name: offset
          required: false
          in: query
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          description: The maximum number of records to retrieve in a single request.
          schema:
            default: 10
            type: number
      responses:
        '200':
          description: List of specialties
          content:
            application/json:
              schema:
                example:
                  - id: string
                    specialty_nucc_taxonomy_code: string
                    name: string
                    is_primary: true
                    sub_specialties:
                      - specialty_nucc_taxonomy_code: string
                        name: string
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
    post:
      operationId: SpecialtiesV2Controller_create
      summary: Create provider specialties
      description: Create a specialty with optional sub-specialties
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSpecialtiesV2Dto'
      responses:
        '201':
          description: Specialty created successfully.
        '400':
          description: Invalid request body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
  /v2/provider/{providerId}/specialties/{specialtyId}:
    patch:
      operationId: SpecialtiesV2Controller_update
      summary: Update provider specialty
      description: Update specialty details with optional sub-specialties
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
        - name: specialtyId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSpecialtiesV2Dto'
      responses:
        '204':
          description: Updated.
        '400':
          description: Invalid request body.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
    delete:
      operationId: SpecialtiesV2Controller_delete
      summary: Delete provider specialty
      description: Deletes a specialty for the specified provider.
      parameters:
        - name: organization-id
          in: header
          schema:
            type: string
        - name: providerId
          required: true
          in: path
          schema:
            type: string
        - name: specialtyId
          required: true
          in: path
          schema:
            type: string
      responses:
        '204':
          description: Deleted.
        '401':
          description: Unauthorized if authorization token is not provided or invalid.
        '403':
          description: Forbidden if user access is not right.
        '404':
          description: Resource not found.
      tags:
        - v2/provider
      security:
        - BearerAuth: []
info:
  title: CertifyOS API
  description: ''
  contact: {}
tags: []
servers:
  - url: https://ng-api-production.certifyos.com
    description: Production
  - url: https://ng-api-stg.certifyos.com/
    description: Staging (Test Data)
components:
  securitySchemes:
    BearerAuth:
      scheme: bearer
      bearerFormat: JWT
      type: http
  schemas:
    CreateAuthTokenDto:
      type: object
      properties:
        email:
          type: string
        password:
          type: string
      required:
        - email
        - password
    CreateApiAuthTokenDto:
      type: object
      properties:
        client_id:
          type: string
          description: ID assigned to Client Organization
        client_secret:
          type: string
          description: Secret assigned to Client Organization
        grant_type:
          type: string
          description: This is always “client”
      required:
        - client_id
        - client_secret
    AccessTokenV2ResponseDto:
      type: object
      properties:
        access_token:
          type: string
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
      required:
        - access_token
    DeleteManyCredentialingWorkflowsDto:
      type: object
      properties:
        workflowIds:
          type: array
          items:
            type: string
      required:
        - workflowIds
    DeleteCredentialingWorkflowDto:
      type: object
      properties:
        reason:
          type: string
    CredCommDetailsDto:
      type: object
      properties:
        dateOfReport:
          format: date-time
          type: string
        dateOfLastAction:
          format: date-time
          type: string
        dateOfSettlement:
          format: date-time
          type: string
        committeeDate:
          format: date-time
          type: string
        settlementAmount:
          type: string
        summaryOfIssue:
          type: string
        descriptionOfJudgement:
          type: string
        providerAttestation:
          type: string
        notesFromCommittee:
          type: string
    FilterProvidersDto:
      type: object
      properties:
        offset:
          type: number
          default: 0
          minimum: 0
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
        limit:
          type: number
          default: 10
          description: The maximum number of records to retrieve in a single request.
        flagType:
          enum:
            - PROVIDER_DATA_CHANGED
          type: string
          description: Exclusive with other filters.
        npi:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        providerType:
          type: string
        state:
          type: string
        states:
          type: array
          items:
            type: string
        assignedStates:
          type: array
          items:
            type: string
        fileType:
          type: string
        credentialedStart:
          format: date-time
          type: string
        credentialedEnd:
          format: date-time
          type: string
        createdAtStart:
          format: date-time
          type: string
        createdAtEnd:
          format: date-time
          type: string
        nextCredentialingStart:
          format: date-time
          type: string
        nextCredentialingEnd:
          format: date-time
          type: string
        providerIds:
          type: array
          items:
            type: string
        onStep:
          type: string
        rosterId:
          type: string
        credentialingStatus:
          type: array
          items:
            type: string
        includeTerminatedProviders:
          type: boolean
          default: false
        includeDelegatedProviders:
          type: boolean
          default: false
        orgEntityId:
          type: string
        orgEntityLocationIds:
          type: array
          items:
            type: string
        lastRosterDateStart:
          format: date-time
          type: string
        lastRosterDateEnd:
          format: date-time
          type: string
        externalId:
          type: string
        hsdSpecialtyName:
          type: string
        specialtyNuccCodes:
          type: array
          items:
            type: string
        locationType:
          type: string
        isHospitalBased:
          type: boolean
    CreateCredentialingWorkflowDto:
      type: object
      properties:
        providerIds:
          type: array
          items:
            type: string
        version:
          type: number
          example: 1
        outreachReasons:
          type: array
          items:
            type: string
        credCommDetails:
          $ref: '#/components/schemas/CredCommDetailsDto'
        credentialingCycle:
          type: string
        filters:
          $ref: '#/components/schemas/FilterProvidersDto'
        providerExternalId:
          type: string
        providerFileType:
          type: string
        providerFileTypeManuallyOverridden:
          type: boolean
        orgEntityId:
          type: string
      required:
        - providerIds
    RevertStatusDto:
      type: object
      properties:
        reason:
          type: string
      required:
        - reason
    CredentialingWorkflowTimeline:
      type: object
      properties:
        id:
          type: string
        decisionEnteredById:
          type: string
        decisionEnteredByName:
          type: string
        medicalDirectorId:
          type: string
        medicalDirectorName:
          type: string
        receivedForCredentialingDate:
          format: date-time
          type: string
        attestationDate:
          format: date-time
          type: string
        lastCredentialedDate:
          format: date-time
          type: string
        psvCompleteDate:
          format: date-time
          type: string
        credentialingDecisionDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        verificationDate:
          format: date-time
          type: string
        verifierId:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        orgEntities:
          type: array
          items:
            type: string
        initialCredentialingDate:
          format: date-time
          type: string
      required:
        - id
        - decisionEnteredById
        - decisionEnteredByName
        - medicalDirectorId
        - medicalDirectorName
        - receivedForCredentialingDate
        - attestationDate
        - lastCredentialedDate
        - psvCompleteDate
        - credentialingDecisionDate
        - nextCredentialingDate
        - verificationDate
        - verifierId
        - updatedAt
        - updatedBy
        - updatedByName
        - createdAt
        - createdBy
        - createdByName
        - orgEntities
        - initialCredentialingDate
    UpdateCredentialingWorkflowTimelineDto:
      type: object
      properties:
        attestationDate:
          format: date-time
          type: string
      required:
        - attestationDate
    FilterCredentialingWorkflowsDto:
      type: object
      properties:
        offset:
          type: number
          default: 0
          minimum: 0
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
        limit:
          type: number
          default: 10
          description: The maximum number of records to retrieve in a single request.
        providerNpi:
          type: string
        providerFirstName:
          type: string
        providerLastName:
          type: string
        providerType:
          type: string
        providerFileType:
          type: string
        providerState:
          type: string
        providerStates:
          type: array
          items:
            type: string
        providerAssignedStates:
          type: array
          items:
            type: string
        name:
          type: string
        onStep:
          type: string
        outreachReasons:
          type: array
          items:
            type: string
        createdAtStart:
          format: date-time
          type: string
        createdAtEnd:
          format: date-time
          type: string
        nextCredentialingStart:
          format: date-time
          type: string
        nextCredentialingEnd:
          format: date-time
          type: string
        credentialingCycle:
          enum:
            - Initial
            - Recredentialing
          type: string
        completedAtStart:
          format: date-time
          type: string
        completedAtEnd:
          format: date-time
          type: string
        credentialingStatusUpdatedAtStart:
          format: date-time
          type: string
        credentialingStatusUpdatedAtEnd:
          format: date-time
          type: string
        workflowIds:
          type: array
          items:
            type: string
        assignedTo:
          type: string
        includeTerminatedProviders:
          type: boolean
          default: false
        providerExternalId:
          type: string
        locationType:
          type: string
        orgEntityIds:
          type: array
          items:
            type: string
        providerOrgEntityIds:
          type: array
          items:
            type: string
    AssignCredentialWorkflowDto:
      type: object
      properties:
        userIds:
          type: array
          items:
            type: string
        workflowIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FilterCredentialingWorkflowsDto'
      required:
        - userIds
        - workflowIds
        - filters
    AssignCredentialWorkflowToMeDto:
      type: object
      properties:
        workflowIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FilterCredentialingWorkflowsDto'
      required:
        - workflowIds
        - filters
    UnassignCredentialWorkflowsDto:
      type: object
      properties:
        workflowIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FilterCredentialingWorkflowsDto'
      required:
        - workflowIds
        - filters
    Address:
      type: object
      properties:
        address1:
          type: string
        city:
          type: string
        state:
          type: string
        zipCode:
          type: string
        country:
          type: string
        type:
          type: string
          enum:
            - Home
            - Work
        source:
          type: string
      required:
        - address1
        - city
        - state
        - zipCode
        - country
        - type
    SubSpecialtiesDto:
      type: object
      properties:
        specialtyNuccTaxonomyCode:
          type: string
        name:
          type: string
      required:
        - specialtyNuccTaxonomyCode
        - name
    CreateSpecialtiesDto:
      type: object
      properties:
        specialtyNuccTaxonomyCode:
          type: string
        code:
          type: string
        name:
          type: string
        id:
          type: string
        isPrimary:
          type: boolean
        specialtyBoardName:
          type: string
        source:
          type: string
        subSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/SubSpecialtiesDto'
      required:
        - name
    HsdSpecialty:
      type: object
      properties:
        code:
          type: string
          enum:
            - ''
            - '001'
            - '002'
            - '003'
            - '004'
            - '005'
            - '006'
            - '007'
            - '008'
            - '010'
            - '011'
            - '012'
            - '013'
            - '014'
            - '015'
            - '016'
            - '017'
            - '018'
            - '019'
            - '020'
            - '021'
            - '022'
            - '023'
            - '025'
            - '026'
            - '027'
            - '028'
            - '029'
            - '030'
            - '031'
            - '033'
            - '034'
            - '035'
            - '036'
            - '037'
            - '040'
            - '041'
            - '042'
            - '043'
            - '044'
            - '045'
            - '046'
            - '047'
            - '048'
            - '049'
            - '050'
            - '051'
            - '052'
            - '057'
        name:
          type: string
          enum:
            - ''
            - General Practice
            - Family Practice
            - Internal Medicine
            - Geriatrics
            - Primary Care - Physician Assistants
            - Primary Care - Nurse Practitioners
            - Allergy and Immunology
            - Cardiology
            - Chiropractor
            - Dermatology
            - Endocrinology
            - ENT/Otolaryngology
            - Gastroenterology
            - General Surgery
            - Gynecology, OB/GYN
            - Infectious Diseases
            - Nephrology
            - Neurology
            - Neurosurgery
            - Oncology - Medical, Surgical
            - Oncology - Radiation/Radiation Oncology
            - Ophthalmology
            - Orthopedic Surgery
            - Physiatry, Rehabilitative Medicine
            - Plastic Surgery
            - Podiatry
            - Psychiatry
            - Pulmonology
            - Rheumatology
            - Urology
            - Vascular Surgery
            - Cardiothoracic Surgery
            - Clinical Psychology
            - Clinical Social Work
            - Acute Inpatient Hospitals
            - Cardiac Surgery Program
            - Cardiac Catheterization Services
            - Critical Care Services – Intensive Care Units (ICU)
            - Outpatient Dialysis
            - Surgical Services (Outpatient or ASC)
            - Skilled Nursing Facilities
            - Diagnostic Radiology
            - Mammography
            - Physical Therapy
            - Occupational Therapy
            - Speech Therapy
            - Inpatient Psychiatric Facility Services
            - Outpatient Infusion/Chemotherapy
      required:
        - code
        - name
    CreateProviderGroupDto:
      type: object
      properties:
        groupName:
          type: string
        groupNPI:
          type: string
          description: Group National Provider Identifier (NPI)
          example: '2345678901'
        groupTIN:
          type: string
          description: Group Tax Identification Number (TIN)
          example: '123456789'
        locationName:
          type: string
        externalGroupId:
          type: string
      required:
        - groupName
        - groupNPI
        - groupTIN
    EmailAddressDto:
      type: object
      properties:
        type:
          type: string
        email:
          type: string
      required:
        - type
        - email
    ContactNumberDto:
      type: object
      properties:
        type:
          type: string
        providedContactNumber:
          type: string
      required:
        - type
        - providedContactNumber
    NpdbProviderInfo:
      type: object
      properties:
        databankSubjectID:
          type: string
          pattern: /^(?:\d{15}|)$/
          description: 15-digit NPDB subject ID (digits only)
          example: '000001234511112'
        enrollmentStartDate:
          format: date-time
          type: string
    UpdateProviderFromCredentialingWorkflowDto:
      type: object
      properties:
        aliasName:
          type: string
        dateOfBirth:
          format: date-time
          type: string
        placeOfBirth:
          type: string
        gender:
          type: string
          enum:
            - M
            - F
            - U
          description: User gender
        homeAddress:
          $ref: '#/components/schemas/Address'
        primaryEmail:
          type: string
          example: string@string.com
        specialty:
          type: string
        secondarySpecialty:
          type: string
        practitionerSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        practitionerPrimarySpecialty:
          type: object
        practitionerHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        contactNumber:
          type: string
        caqhLastAttestationDate:
          type: string
        practitionerStatus:
          type: string
        hasLicensureActions:
          type: boolean
        externalId:
          type: string
        databankSubjectID:
          type: string
          pattern: /^(?:\d{15}|)$/
          description: 15-digit NPDB subject ID (digits only)
          example: '300000021226896'
        enrollmentStartDate:
          format: date-time
          type: string
        allProviderStates:
          type: string
        lastCredentialedDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        groupName:
          type: string
        groupNPI:
          type: string
          description: Group National Provider Identifier (NPI)
          example: '2345678901'
        groupTIN:
          type: string
          description: Group Tax Identification Number (TIN)
          example: '123456789'
        locationName:
          type: string
        externalGroupId:
          type: string
        initialCredentialingDate:
          format: date-time
          type: string
        groups:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/CreateProviderGroupDto'
        acceptsNewPatients:
          type: boolean
        acceptsNewMedicarePatients:
          type: boolean
        isPCP:
          type: boolean
        isSpecialist:
          type: boolean
        suffix:
          type: string
        degree:
          type: string
        salutation:
          type: string
        ethnicity:
          type: string
        race:
          type: object
        otherLanguages:
          type: object
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/EmailAddressDto'
        contactNumbers:
          type: array
          items:
            $ref: '#/components/schemas/ContactNumberDto'
        isHospitalBased:
          type: boolean
        fileType:
          type: string
        npdbProviderInfo:
          $ref: '#/components/schemas/NpdbProviderInfo'
        linesOfBusiness:
          type: array
          items:
            type: string
            enum:
              - Medicare
              - Medicaid
              - Commercial
          description: Line of business types for the provider
        states:
          type: array
          items:
            type: string
            enum:
              - AK
              - AL
              - AR
              - AS
              - AZ
              - CA
              - CO
              - CT
              - DC
              - DE
              - FL
              - FM
              - GA
              - GU
              - HI
              - IA
              - ID
              - IL
              - IN
              - KS
              - KY
              - LA
              - MA
              - MD
              - ME
              - MH
              - MI
              - MN
              - MO
              - MP
              - MS
              - MT
              - NC
              - ND
              - NE
              - NH
              - NJ
              - NM
              - NV
              - NY
              - OH
              - OK
              - OR
              - PA
              - PR
              - PW
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - UM
              - VA
              - VI
              - VT
              - WA
              - WI
              - WV
              - WY
    MoveFromPSVReadyToPSVCompleteByCertifyOSDto:
      type: object
      properties:
        reason:
          type: string
      required:
        - reason
    MoveToOutreachInProgressDto:
      type: object
      properties:
        outreachReasons:
          type: array
          items:
            type: string
    SetCredStatusChangeMetaDataDto:
      type: object
      properties:
        credStatusDate:
          format: date-time
          type: string
        medicalDirectorId:
          type: string
    MoveBulkCredentialingWorkflowsToCancelledDto:
      type: object
      properties:
        filters:
          $ref: '#/components/schemas/FilterCredentialingWorkflowsDto'
        workflowIds:
          type: array
          items:
            type: string
        reason:
          type: string
      required:
        - reason
    ApproveBulkCredentialingDto:
      type: object
      properties:
        filters:
          $ref: '#/components/schemas/FilterCredentialingWorkflowsDto'
        workflowIds:
          type: array
          items:
            type: string
        credStatusDate:
          format: date-time
          type: string
        medicalDirectorId:
          type: string
      required:
        - credStatusDate
        - medicalDirectorId
    MoveToCommitteeBulkDto:
      type: object
      properties:
        filters:
          $ref: '#/components/schemas/FilterCredentialingWorkflowsDto'
        workflowIds:
          type: array
          items:
            type: string
    DenyBulkCredentialingDto:
      type: object
      properties:
        filters:
          $ref: '#/components/schemas/FilterCredentialingWorkflowsDto'
        workflowIds:
          type: array
          items:
            type: string
        credStatusDate:
          format: date-time
          type: string
        medicalDirectorId:
          type: string
      required:
        - credStatusDate
        - medicalDirectorId
    MoveToCancelDto:
      type: object
      properties:
        reason:
          type: string
      required:
        - reason
    UpdateCredentialingWorkflowDto:
      type: object
      properties:
        providerIds:
          type: array
          items:
            type: string
        version:
          type: number
          example: 1
        outreachReasons:
          type: array
          items:
            type: string
        credCommDetails:
          $ref: '#/components/schemas/CredCommDetailsDto'
        credentialingCycle:
          type: string
        filters:
          $ref: '#/components/schemas/FilterProvidersDto'
        providerExternalId:
          type: string
        providerFileType:
          type: string
        providerFileTypeManuallyOverridden:
          type: boolean
        orgEntityId:
          type: string
    AttachmentDataDto:
      type: object
      properties:
        content:
          type: string
        filename:
          type: string
        type:
          type: string
        disposition:
          type: string
        contentId:
          type: string
      required:
        - content
        - filename
    AttachmentDto:
      type: object
      properties:
        attachmentUrl:
          type: string
        filename:
          type: string
        createdBy:
          type: string
        createdAt:
          format: date-time
          type: string
      required:
        - attachmentUrl
        - filename
    OriginalHeaderToIncludeInThread:
      type: object
      properties:
        References:
          type: string
        In-Reply-To:
          type: string
        Message-ID:
          type: string
      required:
        - References
        - In-Reply-To
        - Message-ID
    CreateOutreachCorrespondenceDto:
      type: object
      properties:
        method:
          type: object
        note:
          type: string
        reason:
          type: array
          items:
            type: string
        to:
          type: array
          items:
            type: string
        subject:
          type: string
          maxLength: 255
        body:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/AttachmentDataDto'
        attachmentFiles:
          type: array
          items:
            $ref: '#/components/schemas/AttachmentDto'
        files:
          type: array
          items:
            type: object
        phone:
          type: string
        isPrivate:
          type: boolean
          default: false
        outcome:
          type: string
        isEmailSaveOnly:
          type: boolean
          default: false
        originalHeaderToIncludeInThread:
          $ref: '#/components/schemas/OriginalHeaderToIncludeInThread'
        isNotePrivate:
          type: boolean
          default: false
        ccEmailAddress:
          type: array
          items:
            type: string
      required:
        - method
        - note
        - reason
        - to
        - subject
        - body
        - phone
        - outcome
    UpdateOutreachCorrespondenceDto:
      type: object
      properties:
        note:
          type: string
        isPrivate:
          type: boolean
          default: false
        outcome:
          type: string
    AddOutreachAttemptBulkItemDto:
      type: object
      properties:
        npis:
          type: array
          items:
            type: string
        shouldMoveToOutreachInProgress:
          type: boolean
        correspondence:
          $ref: '#/components/schemas/CreateOutreachCorrespondenceDto'
      required:
        - npis
        - shouldMoveToOutreachInProgress
        - correspondence
    AddOutreachAttemptBulkDto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/AddOutreachAttemptBulkItemDto'
      required:
        - list
    SendOutreachEmailDto:
      type: object
      properties:
        to:
          type: object
        reason:
          type: string
        subject:
          type: string
        body:
          type: string
        entityType:
          enum:
            - task
            - l_workflow
            - c_workflow
            - fc_workflow
            - pe_workflow
          type: string
        entityId:
          type: string
        attachments:
          type: array
          items:
            type: object
        files:
          type: array
          items:
            type: object
        numberOfAttachments:
          type: number
        ccEmailAddress:
          type: object
      required:
        - to
        - reason
        - subject
        - body
    UploadOutreachDocumentsDto:
      type: object
      properties:
        docTypes:
          type: string
        files:
          type: string
          format: binary
      required:
        - docTypes
        - files
    CreateOutreachReasonsDto:
      type: object
      properties:
        outreachReasons:
          type: array
          items:
            type: string
      required:
        - outreachReasons
    CreateNoteDto:
      type: object
      properties:
        message:
          type: string
      required:
        - message
    UpdateNoteDto:
      type: object
      properties:
        message:
          type: string
    ResendCredentialingProviderEmailDto:
      type: object
      properties:
        email:
          type: string
    SetCredStatusChangeMetaDataDtoV2:
      type: object
      properties:
        credStatusDate:
          format: date-time
          type: string
          description: Timestamp at which credentialing was approved/denied.
        medicalDirectorId:
          type: string
          description: >-
            ID of the medical director authorized to communicate the approval as
            assigned by Certify.
    MoveToCancelV2Dto:
      type: object
      properties:
        reason:
          type: string
          description: Reason for moving the workflow to cancel
      required:
        - reason
    UpdateOneOfManyCredentialingInfoDto:
      type: object
      properties:
        providerId:
          type: string
        initialCredentialingDate:
          format: date-time
          type: string
        initialCredentialingDateChangeReason:
          type: string
        lastCredentialedDate:
          format: date-time
          type: string
        lastCredentialedDateChangeReason:
          type: string
        orgEntityId:
          type: string
      required:
        - providerId
    UpdateManyCredentialingInfoDto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/UpdateOneOfManyCredentialingInfoDto'
      required:
        - list
    CreateOneOfManyStateLicensesForBulk:
      type: object
      properties:
        source:
          type: string
        verifiedBy:
          type: string
        state:
          type: string
        licenseNumber:
          type: string
        type:
          type: string
        licenseType:
          type: string
        licenseStatus:
          type: string
        issueDate:
          format: date-time
          type: string
        expirationDate:
          format: date-time
          type: string
        dataLastAcquiredDate:
          format: date-time
          type: string
        fetchSource:
          type: string
      required:
        - state
        - licenseNumber
        - type
        - licenseStatus
        - expirationDate
        - dataLastAcquiredDate
        - fetchSource
    CreateEditProviderStateLicenseDto:
      type: object
      properties:
        parentDocumentId:
          type: string
        docs:
          type: array
          items:
            $ref: '#/components/schemas/CreateOneOfManyStateLicensesForBulk'
      required:
        - parentDocumentId
        - docs
    CreateManyEditProviderStateLicensesDto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/CreateEditProviderStateLicenseDto'
      required:
        - list
    UpdateOneOfManyStateLicensesFromCsvDto:
      type: object
      properties:
        source:
          type: string
        licenseStatus:
          type: string
        expirationDate:
          format: date-time
          type: string
        id:
          type: string
        isUpdated:
          type: object
          default: true
        fetchSource:
          type: string
      required:
        - id
        - fetchSource
    UpdateEditProviderStateLicenseDto:
      type: object
      properties:
        parentDocumentId:
          type: string
        docs:
          type: array
          items:
            $ref: '#/components/schemas/UpdateOneOfManyStateLicensesFromCsvDto'
      required:
        - parentDocumentId
        - docs
    UpdateManyEditProviderStateLicensesDto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/UpdateEditProviderStateLicenseDto'
      required:
        - list
    DeleteProviderSubcollectionDataDto:
      type: object
      properties:
        parentDocumentId:
          type: string
        documentIds:
          type: array
          items:
            type: string
      required:
        - parentDocumentId
        - documentIds
    DeleteManyProviderSubcollectionDataDto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/DeleteProviderSubcollectionDataDto'
      required:
        - list
    FilterMonitoringWorkflowsDto:
      type: object
      properties:
        offset:
          type: number
          default: 0
          minimum: 0
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
        limit:
          type: number
          default: 10
          description: The maximum number of records to retrieve in a single request.
        providerNpi:
          type: string
        providerFirstName:
          type: string
        providerLastName:
          type: string
        providerType:
          type: string
        onStep:
          type: string
        providerState:
          type: string
        createdAtMonthOfYear:
          format: date-time
          type: string
        isFlagged:
          type: boolean
        currentFlags:
          type: object
        currentFlagSources:
          type: array
          items:
            type: string
        createdAtStart:
          format: date-time
          type: string
        createdAtEnd:
          format: date-time
          type: string
        workflowIds:
          type: array
          items:
            type: string
        newThisMonth:
          type: boolean
        newFlags:
          type: array
          items:
            type: string
        assignedTo:
          type: string
        providerExternalId:
          type: string
    MoveBulkMonitoringWorkflowsToCertifyOsReviewCompleteDto:
      type: object
      properties:
        providerIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FilterMonitoringWorkflowsDto'
      required:
        - providerIds
        - filters
    MoveBulkMonitoringWorkflowsToNoActionRequiredDto:
      type: object
      properties:
        workflowIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FilterMonitoringWorkflowsDto'
      required:
        - workflowIds
        - filters
    MoveBulkProviderWorkflowsFromPsvCompleteByCertifyosToPsvReadyDto:
      type: object
      properties:
        providerIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FilterCredentialingWorkflowsDto'
      required:
        - providerIds
        - filters
    OrgEntity:
      type: object
      properties:
        active:
          type: boolean
        generalInfo:
          type: object
        contactPerson:
          type: object
        serviceAddress:
          type: object
        mailingAddress:
          type: object
        billingAddress:
          type: object
        w9Address:
          type: object
        MRStorageAddress:
          type: object
        taxInfo:
          type: object
        dea:
          type: string
        telemedicineAvailable:
          type: boolean
        step1CreatedBy:
          type: string
        step1CreatedByName:
          type: string
        step1CreatedAt:
          format: date-time
          type: string
        step2CreatedBy:
          type: string
        step2CreatedByName:
          type: string
        step2CreatedAt:
          format: date-time
          type: string
        step3CreatedBy:
          type: string
        step3CreatedByName:
          type: string
        step3CreatedAt:
          format: date-time
          type: string
        bedCount:
          type: number
        isCreationProcessCompleted:
          type: boolean
        externalGroupId:
          type: string
        parentOrganizationId:
          type: string
          nullable: true
        enrollments:
          type: array
          items:
            type: string
        locations:
          type: array
          items:
            type: string
        providers:
          type: array
          items:
            type: string
        orgEntityId:
          type: string
          nullable: true
        organizationId:
          type: string
        facilityDetails:
          type: object
        tags:
          type: array
          items:
            type: string
        ownTags:
          type: array
          items:
            type: string
        npdbEnrollmentEnabled:
          type: boolean
        statusReason:
          type: string
        statusNotes:
          type: string
        terminationDate:
          format: date-time
          type: string
        facilityIds:
          type: array
          items:
            type: string
        changeReason:
          type: array
          items:
            type: object
        primarySpecialty:
          type: object
        hsdSpecialty:
          type: object
        parentOrgEntityId:
          type: string
        parentOrgEntityName:
          type: string
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
      required:
        - active
        - generalInfo
        - contactPerson
        - serviceAddress
        - mailingAddress
        - billingAddress
        - w9Address
        - MRStorageAddress
        - taxInfo
        - step1CreatedBy
        - step1CreatedByName
        - step1CreatedAt
        - step2CreatedBy
        - step2CreatedByName
        - step2CreatedAt
        - step3CreatedBy
        - step3CreatedByName
        - step3CreatedAt
        - isCreationProcessCompleted
        - enrollments
        - locations
        - providers
        - orgEntityId
        - organizationId
    CreateProviderDto:
      type: object
      properties:
        firstName:
          type: string
          pattern: NOT_NUMBER_ONLY
        middleName:
          type: string
        lastName:
          type: string
          pattern: NOT_NUMBER_ONLY
        aliasName:
          type: string
        dateOfBirth:
          format: date-time
          type: string
        placeOfBirth:
          type: string
        gender:
          type: string
          enum:
            - M
            - F
            - U
          description: User gender
        npi:
          type: string
        homeAddress:
          $ref: '#/components/schemas/Address'
        primaryEmail:
          type: string
          example: string@string.com
        specialty:
          type: string
        secondarySpecialty:
          type: string
        practitionerSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        practitionerPrimarySpecialty:
          type: object
        practitionerHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        contactNumber:
          type: string
        caqhProviderId:
          type: string
        caqhLastAttestationDate:
          type: string
        practitionerStatus:
          type: string
        hasLicensureActions:
          type: boolean
        externalId:
          type: string
        databankSubjectID:
          type: string
          pattern: /^(?:\d{15}|)$/
          description: 15-digit NPDB subject ID (digits only)
          example: '300000021226896'
        enrollmentStartDate:
          format: date-time
          type: string
        allProviderStates:
          type: string
        lastCredentialedDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        groupName:
          type: string
        groupNPI:
          type: string
          description: Group National Provider Identifier (NPI)
          example: '2345678901'
        groupTIN:
          type: string
          description: Group Tax Identification Number (TIN)
          example: '123456789'
        locationName:
          type: string
        externalGroupId:
          type: string
        initialCredentialingDate:
          format: date-time
          type: string
        groups:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/CreateProviderGroupDto'
        acceptsNewPatients:
          type: boolean
        acceptsNewMedicarePatients:
          type: boolean
        isPCP:
          type: boolean
        isSpecialist:
          type: boolean
        suffix:
          type: string
        degree:
          type: string
        salutation:
          type: string
        ethnicity:
          type: string
        race:
          type: object
        otherLanguages:
          type: object
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/EmailAddressDto'
        contactNumbers:
          type: array
          items:
            $ref: '#/components/schemas/ContactNumberDto'
        isHospitalBased:
          type: boolean
        providerType:
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
          type: string
        states:
          type: array
          items:
            type: string
            enum:
              - AK
              - AL
              - AR
              - AS
              - AZ
              - CA
              - CO
              - CT
              - DC
              - DE
              - FL
              - FM
              - GA
              - GU
              - HI
              - IA
              - ID
              - IL
              - IN
              - KS
              - KY
              - LA
              - MA
              - MD
              - ME
              - MH
              - MI
              - MN
              - MO
              - MP
              - MS
              - MT
              - NC
              - ND
              - NE
              - NH
              - NJ
              - NM
              - NV
              - NY
              - OH
              - OK
              - OR
              - PA
              - PR
              - PW
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - UM
              - VA
              - VI
              - VT
              - WA
              - WI
              - WV
              - WY
      required:
        - firstName
        - lastName
        - providerType
    CreateProviderByWebhookDto:
      type: object
      properties:
        firstName:
          type: string
          pattern: NOT_NUMBER_ONLY
        middleName:
          type: string
        lastName:
          type: string
          pattern: NOT_NUMBER_ONLY
        aliasName:
          type: string
        dateOfBirth:
          format: date-time
          type: string
        placeOfBirth:
          type: string
        gender:
          type: string
          enum:
            - M
            - F
            - U
          description: User gender
        npi:
          type: string
        homeAddress:
          $ref: '#/components/schemas/Address'
        primaryEmail:
          type: string
          example: string@string.com
        specialty:
          type: string
        secondarySpecialty:
          type: string
        practitionerSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        practitionerPrimarySpecialty:
          type: object
        practitionerHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        contactNumber:
          type: string
        caqhProviderId:
          type: string
        caqhLastAttestationDate:
          type: string
        practitionerStatus:
          type: string
        hasLicensureActions:
          type: boolean
        externalId:
          type: string
        databankSubjectID:
          type: string
          pattern: /^(?:\d{15}|)$/
          description: 15-digit NPDB subject ID (digits only)
          example: '300000021226896'
        enrollmentStartDate:
          format: date-time
          type: string
        allProviderStates:
          type: string
        lastCredentialedDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        groupName:
          type: string
        groupNPI:
          type: string
          description: Group National Provider Identifier (NPI)
          example: '2345678901'
        groupTIN:
          type: string
          description: Group Tax Identification Number (TIN)
          example: '123456789'
        locationName:
          type: string
        externalGroupId:
          type: string
        initialCredentialingDate:
          format: date-time
          type: string
        groups:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/CreateProviderGroupDto'
        acceptsNewPatients:
          type: boolean
        acceptsNewMedicarePatients:
          type: boolean
        isPCP:
          type: boolean
        isSpecialist:
          type: boolean
        suffix:
          type: string
        degree:
          type: string
        salutation:
          type: string
        ethnicity:
          type: string
        race:
          type: object
        otherLanguages:
          type: object
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/EmailAddressDto'
        contactNumbers:
          type: array
          items:
            $ref: '#/components/schemas/ContactNumberDto'
        isHospitalBased:
          type: boolean
        surveyResponse:
          type: object
        providerType:
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
          type: string
        states:
          type: array
          items:
            type: string
            enum:
              - AK
              - AL
              - AR
              - AS
              - AZ
              - CA
              - CO
              - CT
              - DC
              - DE
              - FL
              - FM
              - GA
              - GU
              - HI
              - IA
              - ID
              - IL
              - IN
              - KS
              - KY
              - LA
              - MA
              - MD
              - ME
              - MH
              - MI
              - MN
              - MO
              - MP
              - MS
              - MT
              - NC
              - ND
              - NE
              - NH
              - NJ
              - NM
              - NV
              - NY
              - OH
              - OK
              - OR
              - PA
              - PR
              - PW
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - UM
              - VA
              - VI
              - VT
              - WA
              - WI
              - WV
              - WY
      required:
        - firstName
        - lastName
        - providerType
    GenerateBoardCertificationDto:
      type: object
      properties:
        providerId:
          type: string
        organizationId:
          type: string
      required:
        - providerId
        - organizationId
    ProvidersExportResponseDto:
      type: object
      properties:
        message:
          type: string
          example: Task Created
      required:
        - message
    FirestoreDateDto:
      type: object
      properties:
        _seconds:
          type: number
        _nanoseconds:
          type: number
      required:
        - _seconds
        - _nanoseconds
    Flag:
      type: object
      properties:
        flagType:
          type: string
        active:
          type: boolean
    ApplicationVerificationResponseDto:
      type: object
      properties:
        source:
          type: string
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        verificationType:
          type: string
        explanation:
          type: string
        id:
          type: string
      required:
        - source
        - verificationType
        - explanation
        - id
    BoardCertificationSource:
      type: string
      enum:
        - American Academy of Nurse Practitioners
        - American Association of Critical Nurse Care
        - American Board of Addiction Medicine
        - American Board of Allergy & Immunology
        - American Board of Anesthesiology
        - American Board of Clinical Neuropsychology
        - American Board of Clinical Psychology
        - American Board of Clinical Social Work
        - American Board of Colon & Rectal Surgery
        - American Board of Dermatology
        - American Board of Emergency Medicine
        - American Board of Family Medicine
        - American Board of Foot and Ankle Surgery
        - American Board of Lower Extremity Surgery
        - American Board of Internal Medicine
        - American Board of Medical Genetics and Genomics
        - American Board of Medical Specialties
        - American Board of Neurological Surgery
        - American Board of Nuclear Medicine
        - American Board of Obesity Medicine
        - American Board of Obstetrics & Gynecology
        - American Board of Ophthalmology
        - American Board of Oral & Maxillofacial Surgery
        - American Board of Orthopaedic Surgery
        - American Board of Otolaryngology - Head and Neck Surgery
        - American Board of Pathology
        - American Board of Pediatrics
        - American Board of Physical Medicine & Rehabilitation
        - American Board of Physician Specialties
        - American Board of Plastic Surgery
        - American Board of Podiatric Medicine
        - American Board of Preventive Medicine
        - American Board of Professional Psychology
        - American Board of Prosthodontics
        - American Board of Psychiatry & Neurology
        - American Board of Radiology
        - American Board of Surgery
        - American Board of Thoracic Surgery
        - American Board of Venous & Lymphatic Medicine
        - American Board of Urgent Care Medicine
        - American Board of Urology
        - American College of Psychotherapy
        - American Midwifery Certification Board
        - American Nurses Credentialing Center
        - American Osteopathic Association (AOA)
        - American Speech-Language-Hearing Association
        - Behavioral Analyst Certification Board
        - Commission on Dietetic Registration
        - Certification Examination for Diabetes Care and Education
        - Certification Board for Diabetes Care and Education
        - Hand Therapy Certification Commission
        - National Board for Certification in Occupational Therapy
        - National Board for Certified Counselors
        - >-
          National Board of Certification and Recertification for Nurse
          Anesthetists
        - National Board of Physicians and Surgeons
        - National Commission on Certification of Physician Assistants
        - National Certification Corporation
        - Oncology Nursing Certification Corporation
        - Other
        - Pediatric Nursing Certification Board
        - Substance Abuse and Mental Health Services Administration
        - American Board of Multiple Specialties
        - International Academy of Neuromusculoskeletal Medicine
        - American Board of Pain Medicine
        - American Association of Critical-Care Nurses
        - American Board of Addiction Psychology
        - American Board of Counseling Psychology
        - American Academy of HIV Medicine
        - American Board of Couple and Family Psychology
        - American Board of Electrodiagnostic Medicine
        - American Board of Behavioral and Cognitive Psychology
        - American Board of Endodontics
        - American Board of Facial Plastic and Reconstructive Surgery
        - American Board of Chiropractic Acupuncture
        - American Board of Forensic Psychology
        - American Board of Genetic Counseling
        - American Board of Clinical Child and Adolescent Psychology
        - American Board of Geropsychology
        - American Board of Clinical Health Psychology
        - American Board of Group Psychology
        - American Board of Histocompatibility and Immunogenetics
        - American Academy of Audiology
        - >-
          American Board and Academy of Psychoanalytic and Psychodynamic
          Psychology
        - American Board of Clinical Lipidology
        - Dermatology Nurse Practitioner Certification Board
        - American Board of Sleep Medicine
        - American Board of Toxicology
        - American Board of Wound Management
        - American Board of School Psychology
        - American Naturopathic Medical Certification Board
        - American Board of Serious Mental Illness Psychology
        - EMDR International Association
        - National Association of Social Workers
        - American Board of Multiple Specialties In Podiatry
        - American Board of Optometry
        - American Board of Organizational and Business Consulting Psychology
        - American Board of Orthodontics
        - American Board of Pediatric Dentistry
        - American Board of Pediatric Neurological Surgery
        - American Board of Periodontology
        - Division of Substance Abuse Mental Health
        - American Board of Vascular Medicine
        - Certification Board of Cardiovascular Computed Tomography
        - Certification Board of Nuclear Cardiology
        - Commission On Dietetic Registration
        - American Board of Physical Therapy Specialties
        - American Board of Police and Public Safety Psychology
        - American Board of Rehabilitation Psychology
        - National Board of Chiropractic Examiners
        - National Board of Echocardiography
        - >-
          National Certification Commission for Acupuncture and Oriental
          Medicine
        - National Council for Threaputic Recreation Certification
        - Optometric Vision Development & Rehabilitation Association
        - United Council For Neurologic Subspecialties
        - Alliance for Physician Certification & Advancement
        - American Association for Marriage and Family Therapy
        - American Association of Endodontics
        - American Board of Podiatric Surgery
        - American Osteopathic Board of Anesthesiology
        - American Osteopathic Board of Dermatology
        - American Osteopathic Board of Emergency Medicine
        - American Osteopathic Board of Family Physicians
        - American Osteopathic Board of Internal Medicine
        - American Osteopathic Board of Neurology and Psychiatry
        - American Osteopathic Board of Neuromusculoskeletal Medicine
        - American Osteopathic Board of Obstetrics and Gynecology
        - American Osteopathic Board of Ophthalmology and Otolaryngology
        - American Osteopathic Board of Orthopedic Surgery
        - American Osteopathic Board of Pathology
        - American Osteopathic Board of Pediatrics
        - American Osteopathic Board of Physical Medicine & Rehabilitation
        - American Osteopathic Board of Preventive Medicine
        - American Osteopathic Board of Proctology
        - American Osteopathic Board of Radiology
        - American Osteopathic Board of Surgery
        - Board of Pharmacy Specialties
        - Royal College of Physicians & Surgeons of Canada
        - International Board of Lactation Consultant Examiners (IBLCE)
    BoardCertificationStatus:
      type: string
      enum:
        - Certified
        - Expired
        - Not Certified
    BoardCertificationResponseDto:
      type: object
      properties:
        source:
          $ref: '#/components/schemas/BoardCertificationSource'
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        status:
          $ref: '#/components/schemas/BoardCertificationStatus'
        id:
          type: string
        document:
          type: string
        specialty:
          enum:
            - Acupuncture
            - Acute Care
            - Acute Care Nurse Practitioner
            - Acute/Critical Care Nursing
            - Addiction Medicine
            - Addiction Psychology
            - Administrative Medicine
            - Adult-Gerontology Acute Care
            - Adult-Gerontology Acute Care Clinical Nurse Specialist
            - Adult-Gerontology Acute Care Nurse Practitioner
            - Adult-Gerontology Primary Care
            - Adult-Gerontology Primary Care Nurse Practitioner
            - Adult Health Clinical Nurse Specialist
            - Adult Nurse Practitioner
            - Adult Psychiatric-Mental Health
            - Adult Psychiatric Mental Health Nurse Practitioner
            - Advanced Diabetes Management
            - Advanced Oncology Certified Nurse
            - Aerospace Medicine
            - Allergy and Immunology
            - Ambulatory Care Nurse
            - Anatomic Pathology and Clinical Pathology
            - Anatomic Pathology - General
            - Anesthesiology
            - Assistant Behavior Analyst
            - Audiology
            - Behavioral Analyst
            - Board Certified Assistant Behavior Analyst
            - Board Certified Behavior Analyst
            - Board Certified Behavior Analyst - Doctoral
            - Cardiac Medicine
            - Cardiac Surgery
            - Cardiac/Vascular Nurse
            - Cardiology
            - Cardiothoracic Surgery
            - Cardiovascular Computed Tomography
            - Case Management
            - Cataract Surgery
            - Certified Diabetes Care and Education Specialist
            - Certified Hand Therapist
            - Certified Nurse Midwife
            - Certified Pediatric Nurse
            - Certified Registered Nurse Anesthetist
            - Chiropractor
            - Chiropractic Acupuncture
            - Clinical Biochemical Genetics
            - Clinical Child and Adolescent Psychology
            - Clinical Cytogenetics
            - Clinical Genetics (MD)
            - Clinical Genetics and Genomics (MD)
            - Clinical Health Psychology
            - Clinical Lipidology
            - Clinical Mental Health Counselor
            - Clinical Molecular Genetics
            - Clinical Neurophysiology
            - Clinical Nurse Specialist
            - Clinical Psychology
            - Clinical Social Work
            - Colon and Rectal Surgery
            - Community Behavioral Health Clinician
            - Counseling Psychology
            - Couple and Family Psychology
            - Dental
            - Dermatology
            - Dermatology Nurse Practitioner
            - Diabetes Care and Education
            - Diagnostic Radiology
            - Diagnostic Radiology with Special Competence in Nuclear Radiology
            - Echocardiography
            - Educational Commission for Foreign Medical Graduates
            - Electrodiagnostic Medicine
            - Electronic Fetal Monitoring
            - Emergency Medicine
            - Emergency Nurse Practitioner
            - EMDR
            - Endocrinology
            - Endodontics
            - Endovascular Medicine
            - ENT/Otolaryngology
            - Facial Plastic and Reconstructive Surgery
            - Family Medicine
            - Family Medicine, Geriatric Medicine
            - Family Medicine, Obesity Medicine
            - Family Nurse Practitioner
            - Family Practice
            - >-
              Focused Practice in Pediatric and Adolescent Gynecology -
              Obstetrics & Gynecology Designation
            - >-
              Focused Practice in Metabolic Bariatric Surgery - Surgery
              Designation
            - Foot and Ankle Surgery
            - Foot Surgery
            - Forensic Psychology
            - Gastroenterology
            - General Practice
            - General Surgery
            - Genetic Counseling
            - Geriatrics
            - Gerontological
            - Gerontological Nurse Practitioner
            - Gerontological Nutrition
            - Gerontology
            - Geropsychology
            - Group Psychology
            - Gynecology
            - Histocompatibility and Immunogenetics
            - HIV Specialist
            - Infectious Diseases
            - Internal Medicine
            - Internal Medicine, Geriatric Medicine
            - Internal Medicine, Obesity Medicine
            - Interventional Radiology and Diagnostic Radiology
            - Laboratory Genetics and Genomics
            - Lactation Consultant (Registered Nurse)
            - Limb Preservation and Salvage
            - Maternal Newborn Nursing
            - Medical Physics (Diagnostic, Nuclear, Therapeutic)
            - Medical Surgical Nurse
            - National Certified Counselor (NCC)
            - Naturopathic Medicine
            - Neonatal Acute Care Clinical Nurse Specialist
            - Neonatal Nurse Practitioner
            - Nephrology
            - Neurological Surgery
            - Neurology
            - Neurology with Special Qualification in Child Neurology
            - Neuromusculoskeletal Medicine & OMM
            - Neurophysiology-Neurology
            - Nuclear Cardiology
            - Nuclear Medicine
            - Nurse Anesthetist
            - Nurse Executive, Advanced
            - Nurse Practitioner
            - Obesity and Weight Management
            - Obesity Medicine
            - Obstetrics & Gynecology
            - Obstetrics & Gynecology, Obesity Medicine
            - Occupational Medicine
            - Occupational Therapist
            - Occupational Therapist, Hand
            - Oncology Clinical Nurse Specialist
            - Oncology - Medical
            - Oncology - Medical, Surgical
            - Oncology Nurse Practitioner
            - Oncology Nutrition
            - Oncology - Radiation/Radiation Oncology
            - Oncology - Surgical
            - Ophthalmology
            - Optometry
            - Oral and Maxillofacial Surgery
            - Organizational and Business Consulting Psychology
            - Orthodontics
            - Orthopaedic Surgery
            - Orthopaedic Surgery of the Spine
            - Osteopathic Manipulative Medicine (OMM)
            - Otolaryngology
            - Otolaryngology and Facial Plastic Surgery
            - Otolaryngology - Head and Neck Surgery
            - Pain Management
            - Pain Medicine
            - Pathology - Anatomic
            - Pathology - Anatomic/Pathology - Clinical
            - Pathology - Clinical
            - Pediatric Acute Care Clinical Nurse Specialist
            - Pediatric Critical Care Nutrition
            - Pediatric Dentistry
            - Pediatric Neurological Surgery
            - Pediatric Nurse Practitioner - Acute Care
            - Pediatric Nurse Practitioner - Primary Care
            - Pediatric Nutrition
            - Pediatric Primary Care
            - Pediatrics
            - 'Pediatrics: Developmental-Behavioral Pediatrics'
            - Pediatrics, Obesity Medicine
            - Peer Support Specialist
            - Periodontics
            - Physical Medicine and Rehabilitation
            - Physical Therapist
            - Physical Therapist, Hand
            - Physical Therapy
            - Physician Assistant
            - Physiatry, Rehabilitative Medicine
            - Plastic and Reconstructive Surgery
            - Plastic Surgery
            - Podiatry
            - Police and Public Safety Psychology
            - >-
              Prevention and Treatment of Diabetic Foot Wounds and Diabetic
              Footwear
            - Preventative Medicine
            - Preventive Medicine, Obesity Medicine
            - Primary Care
            - Primary Care in Podiatric Medicine
            - Primary Care - Nurse Practitioners
            - Primary Care - Physician Assistants
            - Proctology
            - Progressive Care Nursing
            - Prosthodontics
            - Psychoanalytic and Psychodynamic Psychology
            - Psychiatric-Mental Health
            - Psychiatric Mental Health Nurse Practitioner
            - Psychiatry
            - Psychiatry & Neurology, Obesity Medicine
            - 'Psychiatry: Child and Adolescent Psychiatry'
            - 'Psychiatry: Geriatric Psychiatry'
            - Psychiatry & Neurology
            - Psychology
            - Psychotherapy
            - Public Health and General Preventive Medicine
            - Pulmonology
            - Radiation Oncology
            - Radiologic Physics
            - Radiology
            - Reconstructive Rearfoot/Ankle Surgery
            - Recreational Therapy
            - Registered Behavior Technician
            - Registered Dietitian Nutritionist
            - Registered Physician in Neurovascular Interpretation (RPNI)
            - Registered Physician in Vascular Interpretation(RPVI)
            - Rehabilitation Psychology
            - Renal Nutrition
            - Retina Specialist
            - Retina Specialty
            - Rheumatology
            - School Nurse Practitioner
            - School Psychology
            - Serious Mental Illness Psychology
            - Sleep Medicine
            - Social Work
            - Speech-Language Pathology
            - Sports Dietetics
            - Surgery
            - Therapeutic Radiology
            - Thoracic and Cardiac Surgery
            - Thoracic Surgery
            - Toxicology
            - Urgent Care Medicine
            - Urological Surgery
            - Urology
            - Vascular Medicine
            - Vascular Surgery
            - Venous and Lymphatic Medicine
            - Women's Health Nurse Practitioner
            - Wound Specialist
          type: string
        subSpecialty:
          enum:
            - None
            - N/A
            - Addiction Medicine
            - Addiction Psychiatry
            - Adolescent Medicine
            - Adolescent Medicine (Family Medicine)
            - Adolescent Medicine (Internal Medicine)
            - Adolescent Medicine (Pediatrics)
            - Adult Cardiac Anesthesiology
            - Adult Congenital Heart Disease
            - Adult and Pediatric Allergy and Immunology
            - Advanced Heart Failure and Transplant
            - Anesthesiology
            - Anesthesiology Critical Care Medicine
            - Blood Banking/Transfusion Medicine
            - Brain Injury Medicine
            - Cardiology
            - Cardiovascular Disease
            - Child Abuse Pediatrics
            - Child and Adolescent Psychiatry
            - Child Neurology
            - Child Psychiatry
            - Clinical Cardiac Electrophysiology
            - Clinical Child and Adolescent
            - Clinical Informatics
            - Clinical Neurophysiology
            - Clinical and Laboratory Dermatological Immunology
            - Complex Family Planning
            - Complex General Surgical Oncology
            - Complex Pediatric Otolaryngology
            - Congenital Cardiac Surgery
            - Consultation-Liaison Psychiatry
            - Critical Care Medicine
            - Critical Care Medicine (Anesthesiology)
            - Critical Care Medicine (Internal Medicine)
            - Critical Care Medicine (OB/GYN)
            - Cytopathology
            - Dermatology
            - Dermatopathology
            - Dermatopathology (Dermatology)
            - Dermatopathology (Pathology)
            - Developmental-Behavioral Pediatrics
            - Diagnostic Laboratory Immunology
            - Diagnostic Radiology
            - Emergency Medical Services
            - Emergency Medicine
            - Endocrinology, Diabetes and Metabolism
            - Epilepsy
            - Family Medicine
            - Female Pelvic Medicine and Reconstructive Surgery
            - >-
              Focused Practice in Advanced Emergency Medicine Ultrasonography -
              Emergency Medicine Designation
            - Focused Practice in Hospital Medicine
            - Focused Practice in Metabolic Bariatric Surgery
            - Focused Practice in Minimally Invasive Gynecologic Surgery
            - Forensic Psychiatry
            - Foot Surgery
            - Gastroenterology
            - Geriatric Medicine
            - Geriatric Medicine (Family Medicine)
            - Geriatric Medicine (Internal Medicine)
            - Geriatric Psychiatry
            - Gynecologic Oncology
            - Health Care Administration Leadership and Management
            - Hematology
            - Hematopathology
            - Hospice and Palliative Medicine
            - Hospice and Palliative Medicine (Anesthesiology)
            - Hospice and Palliative Medicine (Emergency Medicine)
            - Hospice and Palliative Medicine (Family Medicine)
            - Hospice and Palliative Medicine (Internal Medicine)
            - Hospice and Palliative Medicine (OB/GYN)
            - Hospice and Palliative Medicine (Pediatrics)
            - Hospice and Palliative Medicine (Physical Medicine)
            - Hospice and Palliative Medicine (Psychiatry and Neurology)
            - Hospice and Palliative Medicine (Radiology)
            - Hospice and Palliative Medicine (Surgery)
            - Hospital Medicine
            - Immunopathology
            - Infectious Disease
            - Internal Medicine
            - Internal Medicine - Critical Care Medicine
            - Interventional Cardiology
            - Interventional Radiology and Diagnostic Radiology
            - Maternal and Fetal Medicine
            - Maternal-Fetal Medicine
            - Medical Biochemical Genetics
            - Medical Oncology
            - Medical Toxicology
            - Medical Toxicology (Emergency Medicine)
            - Medical Toxicology (Pediatrics)
            - Medical Toxicology (Preventive Medicine)
            - Micrographic Dermatologic Surgery
            - Mohs Micrographic Surgery
            - Molecular Genetic Pathology
            - Neonatal-Perinatal Medicine
            - Nephrology
            - Neurocritical Care
            - Neurodevelopmental Disabilities
            - Neurodevelopmental Disabilities (Pediatrics)
            - Neurodevelopmental Disabilities (Psychiatry and Neurology)
            - Neuromuscular Medicine
            - Neuromuscular Medicine (Physical Medicine)
            - Neuromuscular Medicine (Psychiatry and Neurology)
            - Neuropathology
            - Neuroradiology
            - Neurotology
            - No Subspecialty (Allergy and Immunology)
            - No Subspecialty (Anesthesiology)
            - No Subspecialty (Colon and Rectal Surgery)
            - No Subspecialty (Dermatology)
            - No Subspecialty (Emergency Medicine)
            - No Subspecialty (Family Medicine)
            - No Subspecialty (Genetics)
            - No Subspecialty (Internal Medicine)
            - No Subspecialty (Neurological Surgery)
            - No Subspecialty (Nuclear Medicine)
            - No Subspecialty (OB/GYN)
            - No Subspecialty (Ophthalmology)
            - No Subspecialty (Orthopaedic Surgery)
            - No Subspecialty (Otolaryngology)
            - No Subspecialty (Pathology)
            - No Subspecialty (Pediatrics)
            - No Subspecialty (Physical Medicine)
            - No Subspecialty (Plastic Surgery)
            - No Subspecialty (Preventive Medicine)
            - No Subspecialty (Psychiatry and Neurology)
            - No Subspecialty (Radiology)
            - No Subspecialty (Surgery)
            - No Subspecialty (Thoracic Surgery)
            - No Subspecialty (Urology)
            - Nuclear Radiology
            - Obstetrics & Gynecology
            - Ophthalmology
            - Optometry
            - Orthopaedic Sports Medicine
            - Osteopathic Manipulative Treatment
            - Pain Medicine
            - Pain Medicine (Anesthesiology)
            - Pain Medicine (Physical Medicine)
            - Pain Medicine (Psychiatry and Neurology)
            - Pathology - Chemical
            - Pathology - Forensic
            - Pathology - Hematology
            - Pathology - Medical Microbiology
            - Pathology - Molecular Genetic
            - Pathology - Pediatric
            - Pediatric and Adolescent Gynecology
            - Pediatric Anesthesiology
            - Pediatric Cardiology
            - Pediatric Critical Care Medicine
            - Pediatric Critical Care Medicine (Pediatrics)
            - Pediatric Dermatology
            - Pediatric Emergency Medicine
            - Pediatric Emergency Medicine (Emergency Medicine)
            - Pediatric Emergency Medicine (Pediatrics)
            - Pediatric Endocrinology
            - Pediatric Gastroenterology
            - Pediatric Hematology-Oncology
            - Pediatric Hospital Medicine
            - Pediatric Infectious Diseases
            - Pediatric Neurological Surgery
            - Pediatric Nephrology
            - Pediatric Otolaryngology
            - Pediatric Pulmonology
            - Pediatric Radiology
            - Pediatric Rehabilitation Medicine
            - Pediatric Rheumatology
            - Pediatric Surgery
            - Pediatric Transplant Hepatology
            - Pediatric Urology
            - Pediatrics
            - Plastic Surgery Within the Head and Neck (Otolaryngology)
            - Plastic Surgery Within the Head and Neck (Plastic Surgery)
            - Podiatry
            - Psychiatry
            - Psychosomatic Medicine
            - Pulmonary Disease
            - Radiation Oncology
            - Reconstruction Rearfoot/Ankle Surgery
            - Reproductive Endocrinology and Infertility
            - Reproductive Endocrinology/Infertility
            - Rheumatology
            - Sleep Medicine
            - Sleep Medicine (Family Medicine)
            - Sleep Medicine (Internal Medicine)
            - Sleep Medicine (Otolaryngology)
            - Sleep Medicine (Pediatrics)
            - Sleep Medicine (Psychiatry and Neurology)
            - Spinal Cord Injury Medicine
            - Spinal Surgery
            - Sports Medicine
            - Sports Medicine (Emergency Medicine)
            - Sports Medicine (Family Medicine)
            - Sports Medicine (Internal Medicine)
            - Sports Medicine (Pediatrics)
            - Sports Medicine (Physical Medicine)
            - Surgery
            - Surgery of the Hand
            - Surgery of the Hand (Orthopaedic Surgery)
            - Surgery of the Hand (Plastic Surgery)
            - Surgery of the Hand (Surgery)
            - Surgical Critical Care
            - Therapeutic Radiology
            - Transplant Hepatology
            - Undersea and Hyperbaric Medicine
            - Undersea and Hyperbaric Medicine (Emergency Medicine)
            - Undersea and Hyperbaric Medicine (Preventive Medicine)
            - Urogynecology and Reconstructive Pelvic Surgery
            - Vascular and Interventional Radiology
            - Vascular Neurology
            - Vascular Surgery
            - Neurophysiology-Neurology
            - Allergy and Immunology
            - Cardiovascular and Pulmonary
            - Child and Adolescent Neurology
            - Combined Medical Genetics and Genomics
            - Correctional Medicine
            - Dermatological Immunology/Diagnostic and Laboratory Immunology
            - Endocrinology
            - Forensic Pathology
            - Geriatrics
            - Hematology & Medical Oncology (Internal medicine)
            - Minimally Invasive Gynecologic Surgery
            - Neonatology
            - Neurology
            - Neurophysiology
            - Occupational Medicine
            - Oncology
            - Orthopaedics
            - Otolaryngic Allergy
            - Pain Management
            - Pediatric and Adult Allergy and Immunology
            - Pediatric Clinical Neuropsychology
            - Pulmonary & Critical Care Medicine
            - Sports
            - Women's Health
            - Wound Management
            - Undersea Medicine
          type: string
        moc:
          enum:
            - 'Yes'
            - 'No'
            - Not Required
          type: string
        durationType:
          enum:
            - Time-Limited
            - Lifetime
            - MOC
          type: string
        occurrenceType:
          enum:
            - Initial Certification
            - Recertification
            - Designation
          type: string
        certificateId:
          type: string
        recordType:
          type: string
        issueDate:
          format: date-time
          type: string
        expirationDate:
          format: date-time
          type: string
        certificateType:
          enum:
            - General
            - Subspecialty
          type: string
      required:
        - source
        - status
        - id
        - specialty
        - subSpecialty
        - moc
        - durationType
        - expirationDate
    StateLicenseResponseDto:
      type: object
      properties:
        source:
          type: string
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        state:
          type: string
        licenseNumber:
          type: string
        type:
          type: string
        licenseType:
          type: string
        licenseStatus:
          type: string
        issueDate:
          format: date-time
          type: string
        expirationDate:
          format: date-time
          type: string
        dataLastAcquiredDate:
          format: date-time
          type: string
        id:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        middleName:
          type: string
      required:
        - state
        - licenseNumber
        - type
        - licenseStatus
        - expirationDate
        - id
    MalpracticeInsuranceResponseDto:
      type: object
      properties:
        source:
          type: string
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        policyNumber:
          type: string
        expirationDate:
          format: date-time
          type: string
        policyCurrentEffectiveDate:
          format: date-time
          type: string
        status:
          type: string
        unlimitedCoverage:
          type: boolean
        aggregateCoverageAmount:
          type: number
        occurrenceCoverageAmount:
          type: number
        id:
          type: string
      required:
        - source
        - policyNumber
        - expirationDate
        - policyCurrentEffectiveDate
        - status
        - id
    DeaStatus:
      type: string
      enum:
        - Active
        - Inactive
    DeaDataType:
      type: string
      enum:
        - DEA
        - CDS
    DeaDataResponseDto:
      type: object
      properties:
        source:
          type: string
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        status:
          $ref: '#/components/schemas/DeaStatus'
        type:
          $ref: '#/components/schemas/DeaDataType'
        id:
          type: string
        state:
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
          type: string
        deaNumber:
          type: string
        providerType:
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
          type: string
        expirationDate:
          format: date-time
          type: string
        affiliation:
          type: string
      required:
        - source
        - status
        - id
        - state
        - deaNumber
        - providerType
        - expirationDate
    SanctionResponseDto:
      type: object
      properties:
        source:
          type: string
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        reportDate:
          format: date-time
          type: string
        sanctionType:
          enum:
            - MOO
            - OIG
            - GSA/SAM/OFAC
            - OFAC
            - Preclusion List Check
            - State Exclusion List
          type: string
        typeOfAction:
          type: string
        id:
          type: string
      required:
        - reportDate
        - sanctionType
        - typeOfAction
        - id
    PerformanceDataResponseDto:
      type: object
      properties:
        source:
          type: string
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        complaints:
          type: number
        clinical:
          type: number
        service:
          type: number
        benefits:
          type: number
        claims:
          type: number
        accessIssues:
          type: number
        id:
          type: string
      required:
        - complaints
        - clinical
        - service
        - benefits
        - claims
        - accessIssues
        - id
    EducationTrainingResponseDto:
      type: object
      properties:
        source:
          type: string
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        institution:
          type: string
        degree:
          type: string
        specialty:
          type: string
        subSpecialty:
          type: string
        startDate:
          format: date-time
          type: string
        endDate:
          format: date-time
          type: string
        type:
          type: string
        id:
          type: string
      required:
        - source
        - id
    NpdbReportType:
      type: string
      enum:
        - Adverse Action Report
        - Medical Malpractice Payment Report
        - No Report Found
    NpdbReportDataDto:
      type: object
      properties:
        totalPaymentForThisPractitioner:
          type: string
          nullable: true
        dateOfSettlement:
          type: string
          nullable: true
        judgmentOrSettlementDesc:
          type: string
          nullable: true
        medicalConditionDesc:
          type: string
          nullable: true
        procedureDesc:
          type: string
          nullable: true
        allegationsDesc:
          type: string
          nullable: true
        providerAttestation:
          type: string
          nullable: true
        deceased:
          type: string
          nullable: true
    NpdbResponseDto:
      type: object
      properties:
        source:
          type: string
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        typeOfAction:
          type: string
        lastReportDate:
          format: date-time
          type: string
          nullable: true
        processDate:
          format: date-time
          type: string
        reportDate:
          format: date-time
          type: string
        document:
          type: string
        reportType:
          $ref: '#/components/schemas/NpdbReportType'
        reportData:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/NpdbReportDataDto'
        createdBy:
          type: string
        npi:
          type: string
        reportDCN:
          type: string
        dcn:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        middleName:
          type: string
        gender:
          type: string
        birthdate:
          type: string
        ssn:
          type: string
        homeAddress:
          type: string
        homeAddress2:
          type: string
        homeCity:
          type: string
        homeState:
          type: string
        homeZip:
          type: string
        id:
          type: string
      required:
        - typeOfAction
        - processDate
        - reportDate
        - reportType
        - npi
        - id
    CreateSupportingDocumentDto:
      type: object
      properties:
        source:
          type: string
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        fileType:
          type: string
        fileUrl:
          type: string
        originalFilename:
          type: string
        pageSource:
          type: string
          enum:
            - credentialing
            - enrollment
            - licensing
            - providers
            - org-entities
            - contract-document
        file:
          type: string
          format: binary
        subCollectionDocumentId:
          type: string
        subCollectionName:
          type: string
        orgEntityId:
          type: string
          default: null
        state:
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
          type: string
      required:
        - fileType
    HospitalAffiliationResponseDto:
      type: object
      properties:
        source:
          type: string
          enum:
            - Verified through Licensing Board
            - Verified through Board Certification
            - Verified by Provider Application
            - Verified by Hospital Institution
            - Verified through the American Medical Association (AMA)
            - Verified by Other
            - ROSTER
        flag:
          $ref: '#/components/schemas/Flag'
        verifiedBy:
          type: string
        verifiedAt:
          format: date-time
          type: string
        actionSource:
          type: object
        name:
          type: string
        state:
          type: string
        type:
          type: string
        startDate:
          format: date-time
          type: string
        specialty:
          type: string
        endDate:
          format: date-time
          type: string
        verificationUrl:
          type: string
        id:
          type: string
      required:
        - name
        - type
        - id
    ProviderResponseDto:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        npi:
          type: string
        allProviderStates:
          type: string
        providerType:
          type: string
        caqhProviderId:
          type: string
        providerId:
          type: string
        status:
          type: string
        organizationId:
          type: string
        editProviderId:
          type: string
        credentialingStatus:
          type: string
        fileType:
          type: string
        states:
          type: array
          items:
            type: string
        assignedStates:
          type: array
          items:
            type: string
        providerStatus:
          type: string
        terminatedBy:
          type: string
        monitoringStatus:
          type: string
        isFlagged:
          type: boolean
        dateOfBirth:
          $ref: '#/components/schemas/FirestoreDateDto'
        lastFetchDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        credentialingDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        lastCredentialedDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        nextCredentialingDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        terminatedAt:
          $ref: '#/components/schemas/FirestoreDateDto'
        application-verifications:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationVerificationResponseDto'
        board-certifications:
          type: array
          items:
            $ref: '#/components/schemas/BoardCertificationResponseDto'
        state-licenses:
          type: array
          items:
            $ref: '#/components/schemas/StateLicenseResponseDto'
        malpractice-insurances:
          type: array
          items:
            $ref: '#/components/schemas/MalpracticeInsuranceResponseDto'
        dea-data:
          type: array
          items:
            $ref: '#/components/schemas/DeaDataResponseDto'
        sanctions:
          type: array
          items:
            $ref: '#/components/schemas/SanctionResponseDto'
        performance-data:
          type: array
          items:
            $ref: '#/components/schemas/PerformanceDataResponseDto'
        education-trainings:
          type: array
          items:
            $ref: '#/components/schemas/EducationTrainingResponseDto'
        npdb-data:
          type: array
          items:
            $ref: '#/components/schemas/NpdbResponseDto'
        supporting-documents:
          type: array
          items:
            $ref: '#/components/schemas/CreateSupportingDocumentDto'
        hospital-affiliation:
          type: array
          items:
            $ref: '#/components/schemas/HospitalAffiliationResponseDto'
      required:
        - firstName
        - middleName
        - lastName
        - npi
        - allProviderStates
        - providerType
        - caqhProviderId
        - providerId
        - status
        - organizationId
        - editProviderId
        - credentialingStatus
        - fileType
        - states
        - assignedStates
        - providerStatus
        - terminatedBy
        - monitoringStatus
        - isFlagged
        - dateOfBirth
        - lastFetchDate
        - credentialingDate
        - lastCredentialedDate
        - nextCredentialingDate
        - terminatedAt
        - application-verifications
        - board-certifications
        - state-licenses
        - malpractice-insurances
        - dea-data
        - sanctions
        - performance-data
        - education-trainings
        - npdb-data
        - supporting-documents
        - hospital-affiliation
    MonitoringWorkflowReviewerDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
        - name
    MonitoringWorkflowTimelineDto:
      type: object
      properties:
        workflowCreatedDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        completedReviewDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        completedReviewBy:
          $ref: '#/components/schemas/MonitoringWorkflowReviewerDto'
      required:
        - workflowCreatedDate
        - completedReviewDate
        - completedReviewBy
    ProviderListItemDto:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        npi:
          type: string
        allProviderStates:
          type: string
        providerType:
          type: string
        caqhProviderId:
          type: string
        providerId:
          type: string
        status:
          type: string
        organizationId:
          type: string
        editProviderId:
          type: string
        credentialingStatus:
          type: string
        fileType:
          type: string
        states:
          type: string
        assignedStates:
          type: string
        providerStatus:
          type: string
        terminatedBy:
          type: string
        monitoringStatus:
          type: string
        isFlagged:
          type: boolean
        dateOfBirth:
          $ref: '#/components/schemas/FirestoreDateDto'
        lastFetchDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        credentialingDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        lastCredentialedDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        nextCredentialingDate:
          $ref: '#/components/schemas/FirestoreDateDto'
        terminatedAt:
          $ref: '#/components/schemas/FirestoreDateDto'
        monitoringWorkflowTimeline:
          $ref: '#/components/schemas/MonitoringWorkflowTimelineDto'
      required:
        - firstName
        - middleName
        - lastName
        - npi
        - allProviderStates
        - providerType
        - caqhProviderId
        - providerId
        - status
        - organizationId
        - editProviderId
        - credentialingStatus
        - fileType
        - states
        - assignedStates
        - providerStatus
        - terminatedBy
        - monitoringStatus
        - isFlagged
        - dateOfBirth
        - lastFetchDate
        - credentialingDate
        - lastCredentialedDate
        - nextCredentialingDate
        - terminatedAt
        - monitoringWorkflowTimeline
    ProviderListResponseDto:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ProviderListItemDto'
        count:
          type: number
      required:
        - data
        - count
    ShareBulkProviderToCredCommDto:
      type: object
      properties:
        providerIds:
          description: Array of provider IDs to share to cred committee
          type: array
          items:
            type: string
        reason:
          type: string
          description: Reason for sharing to cred committee
      required:
        - providerIds
        - reason
    ShareProviderToCredCommDto:
      type: object
      properties:
        reason:
          type: string
      required:
        - reason
    TerminateProviderDto:
      type: object
      properties:
        providerIds:
          type: array
          items:
            type: string
        reason:
          type: string
        filters:
          $ref: '#/components/schemas/FilterProvidersDto'
      required:
        - providerIds
        - reason
        - filters
    UnterminateProviderDto:
      type: object
      properties:
        providerIds:
          type: array
          items:
            type: string
        reason:
          type: string
        filters:
          $ref: '#/components/schemas/FilterProvidersDto'
      required:
        - providerIds
        - reason
    UpdateProviderCoreInformationDto:
      type: object
      properties:
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        gender:
          type: string
        npi:
          type: string
        caqhProviderId:
          type: string
        reason:
          type: string
        providerType:
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
          type: string
      required:
        - firstName
        - lastName
        - reason
        - providerType
    UpdateSpecialtiesDto:
      type: object
      properties:
        specialtyNuccTaxonomyCode:
          type: string
        code:
          type: string
        name:
          type: string
        id:
          type: string
        isPrimary:
          type: boolean
        specialtyBoardName:
          type: string
        source:
          type: string
        subSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/SubSpecialtiesDto'
      required:
        - name
    UpdateAllSpecialtiesDto:
      type: object
      properties:
        facilitySpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityPrimarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
    UpdateProviderDto:
      type: object
      properties:
        aliasName:
          type: string
        dateOfBirth:
          format: date-time
          type: string
        placeOfBirth:
          type: string
        gender:
          type: string
          enum:
            - M
            - F
            - U
          description: User gender
        homeAddress:
          $ref: '#/components/schemas/Address'
        primaryEmail:
          type: string
          example: string@string.com
        specialty:
          type: string
        secondarySpecialty:
          type: string
        practitionerSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        practitionerPrimarySpecialty:
          type: object
        practitionerHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        contactNumber:
          type: string
        caqhLastAttestationDate:
          type: string
        practitionerStatus:
          type: string
        hasLicensureActions:
          type: boolean
        externalId:
          type: string
        databankSubjectID:
          type: string
          pattern: /^(?:\d{15}|)$/
          description: 15-digit NPDB subject ID (digits only)
          example: '300000021226896'
        enrollmentStartDate:
          format: date-time
          type: string
        allProviderStates:
          type: string
        lastCredentialedDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        groupName:
          type: string
        groupNPI:
          type: string
          description: Group National Provider Identifier (NPI)
          example: '2345678901'
        groupTIN:
          type: string
          description: Group Tax Identification Number (TIN)
          example: '123456789'
        locationName:
          type: string
        externalGroupId:
          type: string
        initialCredentialingDate:
          format: date-time
          type: string
        groups:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/CreateProviderGroupDto'
        acceptsNewPatients:
          type: boolean
        acceptsNewMedicarePatients:
          type: boolean
        isPCP:
          type: boolean
        isSpecialist:
          type: boolean
        suffix:
          type: string
        degree:
          type: string
        salutation:
          type: string
        ethnicity:
          type: string
        race:
          type: object
        otherLanguages:
          type: object
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/EmailAddressDto'
        contactNumbers:
          type: array
          items:
            $ref: '#/components/schemas/ContactNumberDto'
        isHospitalBased:
          type: boolean
        flags:
          $ref: '#/components/schemas/Flag'
        reason:
          type: string
        action:
          enum:
            - MOVE_TO_PSV_READY
            - TERMINATE
            - UNTERMINATE
            - CANCEL_WITHDRAW
            - ROLLBACK_TO_PSV_COMPLETE_BY_CERTIFYOS
            - PROVIDER_INFORMATION_CHANGE_ACTIVE_DATA
            - MOVE_TO_CRED_APPROVED
            - MOVE_TO_CRED_DENIED
            - SHARE_FLAGGED_PROVIDER
            - FLAG_MARKED_SEEN
            - FLAG_MARKED_UNSEEN
            - APPROVE_FLAGGED_PROVIDER
            - LICENSING_WORKFLOW_MOVE_TO_IN_PROGRESS
            - LICENSING_WORKFLOW_MOVE_TO_NEW
            - LICENSING_WORKFLOW_MOVE_TO_BLOCKED
            - LICENSING_WORKFLOW_MOVE_TO_APP_PREPARATION_AND_REVIEW
            - LICENSING_WORKFLOW_MOVE_TO_SUBMTTED
            - LICENSING_WORKFLOW_MOVE_TO_FOLLOW_UP
            - LICENSING_WORKFLOW_MOVE_TO_RESUBMITTED
            - LICENSING_WORKFLOW_MOVE_TO_COMPLETED
            - LICENSING_WORKFLOW_MOVE_TO_CANCELLED
            - FORCE_MOVE_TO_PSV_COMPLETE
            - DELETE
          type: string
        fileType:
          type: string
        npdbProviderInfo:
          $ref: '#/components/schemas/NpdbProviderInfo'
        linesOfBusiness:
          type: array
          items:
            type: string
            enum:
              - Medicare
              - Medicaid
              - Commercial
          description: Line of business types for the provider
        assignedStates:
          type: array
          items:
            type: string
            enum:
              - AK
              - AL
              - AR
              - AS
              - AZ
              - CA
              - CO
              - CT
              - DC
              - DE
              - FL
              - FM
              - GA
              - GU
              - HI
              - IA
              - ID
              - IL
              - IN
              - KS
              - KY
              - LA
              - MA
              - MD
              - ME
              - MH
              - MI
              - MN
              - MO
              - MP
              - MS
              - MT
              - NC
              - ND
              - NE
              - NH
              - NJ
              - NM
              - NV
              - NY
              - OH
              - OK
              - OR
              - PA
              - PR
              - PW
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - UM
              - VA
              - VI
              - VT
              - WA
              - WI
              - WV
              - WY
        states:
          type: array
          items:
            type: string
            enum:
              - AK
              - AL
              - AR
              - AS
              - AZ
              - CA
              - CO
              - CT
              - DC
              - DE
              - FL
              - FM
              - GA
              - GU
              - HI
              - IA
              - ID
              - IL
              - IN
              - KS
              - KY
              - LA
              - MA
              - MD
              - ME
              - MH
              - MI
              - MN
              - MO
              - MP
              - MS
              - MT
              - NC
              - ND
              - NE
              - NH
              - NJ
              - NM
              - NV
              - NY
              - OH
              - OK
              - OR
              - PA
              - PR
              - PW
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - UM
              - VA
              - VI
              - VT
              - WA
              - WI
              - WV
              - WY
    RunPipelineDto:
      type: object
      properties:
        pipelineExecutionType:
          type: string
        pipelineExecutionSource:
          type: string
        workflowId:
          type: string
        section:
          type: string
      required:
        - pipelineExecutionType
        - pipelineExecutionSource
        - workflowId
        - section
    CreateProviderDtoV2:
      type: object
      properties:
        first_name:
          type: string
          description: First name of the Provider
        middle_name:
          type: string
          default: ''
          description: Middle name of the Provider
        last_name:
          type: string
          description: Last name of the Provider
        degree:
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
          type: string
          description: Type of provider
        npi:
          type: string
          default: ''
          description: NPI of the Provider
        states:
          type: string
          description: States in which Provider will provide care to patients/enrollees
        caqh_provider_id:
          type: string
          default: ''
          description: CAQH ID of the Provider
        last_credentialed_date:
          format: date-time
          type: string
          description: Date Provider was last credentialed
        next_credentialing_date:
          format: date-time
          type: string
          description: Date by which Provider needs to be recredentialed
        initial_credentialing_date:
          format: date-time
          type: string
          description: Date by which Provider was initially credentialed.
        external_id:
          type: string
          description: Client’s ID for the provider
        primary_email:
          type: string
          description: Provider’s email address
          example: string@string.com
        gender:
          type: string
          enum:
            - M
            - F
            - U
          description: Provider Gender
        dob:
          format: date-time
          type: string
          description: Provider’s date of birth
        group_name:
          type: string
          description: Name of the group
        group_npi:
          type: string
          minLength: 10
          maxLength: 10
          description: Group National Provider Identifier (NPI)
          example: '2345678901'
        group_tin:
          type: string
          minLength: 9
          maxLength: 9
          description: Group Tax Identification Number (TIN)
          example: '123456789'
        location_name:
          type: string
          description: Name of group location
        external_group_id:
          type: string
          description: Client’s ID for the group
        is_pcp:
          type: boolean
          description: Indicates whether the provider is a Primary Care Provider (PCP).
        is_specialist:
          type: boolean
          description: Indicates whether the provider is a specialist.
        accepts_new_patients:
          type: boolean
          description: Indicates whether the provider is currently accepting new patients.
        accepts_new_medicare_patients:
          type: boolean
          description: Indicates whether the provider accepts new Medicare patients.
      required:
        - first_name
        - last_name
        - degree
        - states
    AttestationMetadata:
      type: object
      properties:
        attestation_language:
          type: string
        attestation_signature_image:
          type: string
        attestation_name:
          type: string
        date_attested:
          format: date-time
          type: string
    FieldValueWithDescription:
      type: object
      properties:
        value:
          type: string
        description:
          type: string
      required:
        - value
        - description
    OtherName:
      type: object
      properties:
        first_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        middle_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        last_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        suffix_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        name_type:
          $ref: '#/components/schemas/FieldValueWithDescription'
      required:
        - first_name
        - last_name
        - name_type
    Email:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FieldValueWithDescription'
        email:
          $ref: '#/components/schemas/FieldValueWithDescription'
      required:
        - type
        - email
    Education:
      type: object
      properties:
        institution_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        degree:
          $ref: '#/components/schemas/FieldValueWithDescription'
        document:
          type: string
        start_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        graduation_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        end_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
      required:
        - institution_name
        - degree
        - start_date
        - graduation_date
        - end_date
    License:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FieldValueWithDescription'
        state:
          $ref: '#/components/schemas/FieldValueWithDescription'
        license_number:
          $ref: '#/components/schemas/FieldValueWithDescription'
        issuing_board:
          $ref: '#/components/schemas/FieldValueWithDescription'
        document:
          type: string
        expiration_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        issue_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        renewal_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
      required:
        - type
        - state
        - license_number
        - issuing_board
        - document
        - expiration_date
        - issue_date
        - renewal_date
    SpecialityBoardCertificate:
      type: object
      properties:
        specialty:
          $ref: '#/components/schemas/FieldValueWithDescription'
        sub_specialty:
          $ref: '#/components/schemas/FieldValueWithDescription'
        board_certified:
          $ref: '#/components/schemas/FieldValueWithDescription'
        certifying_board:
          $ref: '#/components/schemas/FieldValueWithDescription'
        cert_number:
          $ref: '#/components/schemas/FieldValueWithDescription'
        document:
          type: string
        issue_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        renewal_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        expiration_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
      required:
        - specialty
        - sub_specialty
        - board_certified
        - certifying_board
        - cert_number
        - document
        - issue_date
        - renewal_date
        - expiration_date
    DEA:
      type: object
      properties:
        dea_number:
          $ref: '#/components/schemas/FieldValueWithDescription'
        state:
          $ref: '#/components/schemas/FieldValueWithDescription'
        document:
          type: string
        issue_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        expiration_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        renewal_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
      required:
        - dea_number
        - state
        - document
        - issue_date
        - expiration_date
        - renewal_date
    ProviderAddress:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FieldValueWithDescription'
        address_line_1:
          $ref: '#/components/schemas/FieldValueWithDescription'
        address_line_2:
          $ref: '#/components/schemas/FieldValueWithDescription'
        zip:
          $ref: '#/components/schemas/FieldValueWithDescription'
        city:
          $ref: '#/components/schemas/FieldValueWithDescription'
        state:
          $ref: '#/components/schemas/FieldValueWithDescription'
        country:
          $ref: '#/components/schemas/FieldValueWithDescription'
      required:
        - type
        - address_line_1
        - zip
        - city
        - state
        - country
    DocumentInfo:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FieldValueWithDescription'
        url:
          type: string
      required:
        - type
        - url
    EmploymentHistory:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/FieldValueWithDescription'
        employer:
          $ref: '#/components/schemas/FieldValueWithDescription'
        title:
          $ref: '#/components/schemas/FieldValueWithDescription'
        speciality:
          $ref: '#/components/schemas/FieldValueWithDescription'
        start_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        end_date:
          $ref: '#/components/schemas/FieldValueWithDescription'
        address_line_1:
          $ref: '#/components/schemas/FieldValueWithDescription'
        address_line_2:
          $ref: '#/components/schemas/FieldValueWithDescription'
        country:
          $ref: '#/components/schemas/FieldValueWithDescription'
        city:
          $ref: '#/components/schemas/FieldValueWithDescription'
        state:
          $ref: '#/components/schemas/FieldValueWithDescription'
        zip:
          $ref: '#/components/schemas/FieldValueWithDescription'
        gap_explanation:
          $ref: '#/components/schemas/FieldValueWithDescription'
      required:
        - type
        - employer
        - title
        - speciality
        - start_date
        - end_date
        - address_line_1
        - address_line_2
        - country
        - city
        - state
        - zip
        - gap_explanation
    LiabilityInsurance:
      type: object
      properties:
        carrier_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        policy_number:
          $ref: '#/components/schemas/FieldValueWithDescription'
        policy_expiration:
          $ref: '#/components/schemas/FieldValueWithDescription'
        occurence_amount:
          $ref: '#/components/schemas/FieldValueWithDescription'
        general_aggregate_amount:
          $ref: '#/components/schemas/FieldValueWithDescription'
        document:
          type: string
      required:
        - carrier_name
        - policy_number
        - policy_expiration
        - occurence_amount
        - general_aggregate_amount
        - document
    DataSnapshot:
      type: object
      properties:
        first_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        middle_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        last_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        suffix_name:
          $ref: '#/components/schemas/FieldValueWithDescription'
        npi:
          $ref: '#/components/schemas/FieldValueWithDescription'
        other_name:
          type: array
          items:
            $ref: '#/components/schemas/OtherName'
        email:
          type: array
          items:
            $ref: '#/components/schemas/Email'
        caqh_id:
          $ref: '#/components/schemas/FieldValueWithDescription'
        provider_type:
          $ref: '#/components/schemas/FieldValueWithDescription'
        education:
          type: array
          items:
            $ref: '#/components/schemas/Education'
        licenses:
          type: array
          items:
            $ref: '#/components/schemas/License'
        speciality_board_certification:
          type: array
          items:
            $ref: '#/components/schemas/SpecialityBoardCertificate'
        dea:
          type: array
          items:
            $ref: '#/components/schemas/DEA'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/ProviderAddress'
        dob:
          $ref: '#/components/schemas/FieldValueWithDescription'
        gender:
          $ref: '#/components/schemas/FieldValueWithDescription'
        sex:
          $ref: '#/components/schemas/FieldValueWithDescription'
        ssn:
          $ref: '#/components/schemas/FieldValueWithDescription'
        document:
          type: array
          items:
            $ref: '#/components/schemas/DocumentInfo'
        employment_history:
          type: array
          items:
            $ref: '#/components/schemas/EmploymentHistory'
        liability_insurance:
          type: array
          items:
            $ref: '#/components/schemas/LiabilityInsurance'
      required:
        - first_name
        - middle_name
        - last_name
        - suffix_name
        - npi
        - other_name
        - email
        - caqh_id
        - provider_type
        - education
        - licenses
        - speciality_board_certification
        - dea
        - addresses
        - dob
        - gender
        - sex
        - ssn
        - document
        - employment_history
        - liability_insurance
    QuestionResponse:
      type: object
      properties:
        response_text:
          type: string
      required:
        - response_text
    Question:
      type: object
      properties:
        question_text:
          type: string
        question_response:
          type: array
          items:
            $ref: '#/components/schemas/QuestionResponse'
      required:
        - question_text
        - question_response
    CreateAttestedProviderDataDto:
      type: object
      properties:
        purpose:
          type: string
        organization_id:
          type: string
        workflow_id:
          type: string
        date_complete:
          format: date-time
          type: string
        attestation_metadata:
          type: array
          items:
            $ref: '#/components/schemas/AttestationMetadata'
        data_snapshot:
          $ref: '#/components/schemas/DataSnapshot'
        question:
          type: array
          items:
            $ref: '#/components/schemas/Question'
      required:
        - purpose
        - organization_id
        - workflow_id
        - date_complete
        - attestation_metadata
        - data_snapshot
        - question
    CreateAttestedProviderDocumentDto:
      type: object
      properties:
        fileType:
          type: string
          description: Type of the file uploading
        organizationId:
          type: string
          description: ID assigned to Client Organization
        workflowId:
          type: string
          description: ID assigned to Workflow
        file:
          type: string
          format: binary
          description: Provider Document
      required:
        - fileType
        - organizationId
        - workflowId
    ProviderSanctionsDto:
      type: object
      properties:
        date_of_report:
          type: string
          description: Date the sanction report was issued
          example: YYYY-MM-DD
        id:
          type: string
          description: Unique identifier for the provider sanction record
        sanction_type:
          type: string
          description: Type of sanction applied to the provider
          enum:
            - OIG
            - GSA/SAM/OFAC
            - OFAC
            - MOO
            - State Exclusion List
            - Preclusion List Check
        type_of_action:
          type: string
          description: Type of action taken against the provider
          enum:
            - No Match Found
            - Match Found
        verified_by:
          type: string
          description: Name of the person or system that verified the sanction
        data:
          type: string
          description: Additional data or details related to the sanction
        verified_date:
          type: string
          description: Date the sanction was verified
          example: YYYY-MM-DD
      required:
        - date_of_report
        - id
        - sanction_type
        - type_of_action
        - verified_by
        - data
        - verified_date
    MalpracticeInsuranceDto:
      type: object
      properties:
        expiry_date:
          type: string
          description: Date when the malpractice insurance policy expires
          example: YYYY-MM-DD
        id:
          type: string
          description: Unique identifier for the malpractice insurance record
        source:
          type: string
          description: >-
            Source from which the malpractice insurance information was obtained
            (Copy of Insurance, Application, N/A)
        status:
          type: string
          description: Current status of the malpractice insurance policy (active, expired)
        policy_number:
          type: string
          description: Policy number of the malpractice insurance
        verified_by:
          type: string
          description: Name of the person or system that verified the malpractice insurance
        verified_date:
          type: string
          description: Date the malpractice insurance was verified
          example: YYYY-MM-DD
        aggregate_coverage_amount:
          type: number
          description: Aggregate coverage amount of the malpractice insurance policy
        occurrence_coverage_amount:
          type: number
          description: Occurrence coverage amount of the malpractice insurance policy
        policyHolder:
          type: string
          description: Name of the policy holder for the malpractice insurance
        pliCoverageType:
          type: string
          description: Type of Professional Liability Insurance (PLI) coverage
        policyEffectiveDate:
          type: string
          description: Effective date of the malpractice insurance policy
          example: YYYY-MM-DD
        policyExpirationDate:
          type: string
          description: Expiration date of the malpractice insurance policy
          example: YYYY-MM-DD
        policyCurrentEffectiveDate:
          type: string
          description: Current effective date of the malpractice insurance policy
          example: YYYY-MM-DD
        individualCoverageFlag:
          type: boolean
          description: Indicates if the policy provides individual coverage (true/false)
        insuranceType:
          type: string
          description: Type of insurance.
      required:
        - expiry_date
        - id
        - source
        - status
        - policy_number
        - verified_by
        - verified_date
        - aggregate_coverage_amount
        - occurrence_coverage_amount
        - policyHolder
        - pliCoverageType
        - policyEffectiveDate
        - policyExpirationDate
        - policyCurrentEffectiveDate
        - individualCoverageFlag
        - insuranceType
    NpdbDataDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the NPDB data.
        type_of_action:
          type: string
          description: Type of action taken.
          enum:
            - No Action
            - Medical Malpractice Payment
            - Health Plan
            - State Licensure/Certification
            - Professional Society
            - Exclusion/Debarment
            - DEA/Federal Licensure
            - Government Administrative
            - Judgement/Conviction
            - Clinical Privileges
            - Peer Review Organization
        report_date:
          type: string
          description: Date the report was created
          example: YYYY-MM-DD
        process_date:
          type: string
          description: Date the report was processed
          example: YYYY-MM-DD
        verified_by:
          type: string
          description: Name of the individual who verified the report
        verified_date:
          type: string
          description: Date the report was verified
          example: YYYY-MM-DD
        created_date:
          type: string
          description: Date the report entry was created
          example: YYYY-MM-DD
        payment_date:
          type: string
          description: Date the payment was made (if applicable)
          example: YYYY-MM-DD
        specific_allegation_date:
          type: string
          description: Date of the specific allegation (if applicable)
          example: YYYY-MM-DD
        source:
          type: string
          description: Source of the report (NPDB)
        report_type:
          type: string
          description: Type of report (e.g., disciplinary, administrative)
          enum:
            - Adverse Action Report
            - Medical Malpractice Payment Report
            - No Report Found
        first_name:
          type: string
          description: First name of the subject of the report
        last_name:
          type: string
          description: Last name of the subject of the report
        gender:
          type: string
          description: Gender of the subject
        npi:
          type: string
          description: National Provider Identifier (NPI)
        home_address:
          type: string
          description: Home address of the subject
        home_city:
          type: string
          description: Home city of the subject
        home_state:
          type: string
          description: Home state of the subject
        home_zip:
          type: string
          description: Home ZIP code of the subject
        dcn:
          type: string
          description: Document Control Number (DCN)
        birth_date:
          type: string
          description: Birth date of the subject
          example: '1980-05-21'
        databank_subject_id:
          type: string
          description: Databank Subject ID, unique identifier from NPDB
      required:
        - id
        - type_of_action
        - report_date
        - process_date
        - verified_by
        - verified_date
        - created_date
        - payment_date
        - specific_allegation_date
        - source
        - report_type
        - first_name
        - last_name
        - gender
        - npi
        - home_address
        - home_city
        - home_state
        - home_zip
        - dcn
        - birth_date
        - databank_subject_id
    PerformanceIndicatorDto:
      type: object
      properties:
        access_issue:
          type: string
        benefits:
          type: string
        claims:
          type: string
        clinical:
          type: string
        complaints:
          type: string
        id:
          type: string
        service:
          type: string
      required:
        - access_issue
        - benefits
        - claims
        - clinical
        - complaints
        - id
        - service
    ApplicationVerificationDto:
      type: object
      properties:
        explanation:
          type: string
        id:
          type: string
        verification_type:
          type: string
        verified_by:
          type: string
        verified_date:
          type: string
          example: YYYY-MM-DD
      required:
        - explanation
        - id
        - verification_type
        - verified_by
        - verified_date
    BoardCertificationDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the board certification record
        certificate_id:
          type: string
          description: Certificate ID assigned by the certifying board
        expire_date:
          type: string
          description: Date the certification expires
          example: YYYY-MM-DD
        issue_date:
          type: string
          description: Date the certification was issued
          example: YYYY-MM-DD
        specialty:
          type: string
          description: Specialty for which the certification was awarded
          enum:
            - Acupuncture
            - Acute Care
            - Acute Care Nurse Practitioner
            - Acute/Critical Care Nursing
            - Addiction Medicine
            - Addiction Psychology
            - Administrative Medicine
            - Adult-Gerontology Acute Care
            - Adult-Gerontology Acute Care Clinical Nurse Specialist
            - Adult-Gerontology Acute Care Nurse Practitioner
            - Adult-Gerontology Primary Care
            - Adult-Gerontology Primary Care Nurse Practitioner
            - Adult Health Clinical Nurse Specialist
            - Adult Nurse Practitioner
            - Adult Psychiatric-Mental Health
            - Adult Psychiatric Mental Health Nurse Practitioner
            - Advanced Diabetes Management
            - Advanced Oncology Certified Nurse
            - Aerospace Medicine
            - Allergy and Immunology
            - Ambulatory Care Nurse
            - Anatomic Pathology and Clinical Pathology
            - Anatomic Pathology - General
            - Anesthesiology
            - Assistant Behavior Analyst
            - Audiology
            - Behavioral Analyst
            - Board Certified Assistant Behavior Analyst
            - Board Certified Behavior Analyst
            - Board Certified Behavior Analyst - Doctoral
            - Cardiac Medicine
            - Cardiac Surgery
            - Cardiac/Vascular Nurse
            - Cardiology
            - Cardiothoracic Surgery
            - Cardiovascular Computed Tomography
            - Case Management
            - Cataract Surgery
            - Certified Diabetes Care and Education Specialist
            - Certified Hand Therapist
            - Certified Nurse Midwife
            - Certified Pediatric Nurse
            - Certified Registered Nurse Anesthetist
            - Chiropractor
            - Chiropractic Acupuncture
            - Clinical Biochemical Genetics
            - Clinical Child and Adolescent Psychology
            - Clinical Cytogenetics
            - Clinical Genetics (MD)
            - Clinical Genetics and Genomics (MD)
            - Clinical Health Psychology
            - Clinical Lipidology
            - Clinical Mental Health Counselor
            - Clinical Molecular Genetics
            - Clinical Neurophysiology
            - Clinical Nurse Specialist
            - Clinical Psychology
            - Clinical Social Work
            - Colon and Rectal Surgery
            - Community Behavioral Health Clinician
            - Counseling Psychology
            - Couple and Family Psychology
            - Dental
            - Dermatology
            - Dermatology Nurse Practitioner
            - Diabetes Care and Education
            - Diagnostic Radiology
            - Diagnostic Radiology with Special Competence in Nuclear Radiology
            - Echocardiography
            - Educational Commission for Foreign Medical Graduates
            - Electrodiagnostic Medicine
            - Electronic Fetal Monitoring
            - Emergency Medicine
            - Emergency Nurse Practitioner
            - EMDR
            - Endocrinology
            - Endodontics
            - Endovascular Medicine
            - ENT/Otolaryngology
            - Facial Plastic and Reconstructive Surgery
            - Family Medicine
            - Family Medicine, Geriatric Medicine
            - Family Medicine, Obesity Medicine
            - Family Nurse Practitioner
            - Family Practice
            - >-
              Focused Practice in Pediatric and Adolescent Gynecology -
              Obstetrics & Gynecology Designation
            - >-
              Focused Practice in Metabolic Bariatric Surgery - Surgery
              Designation
            - Foot and Ankle Surgery
            - Foot Surgery
            - Forensic Psychology
            - Gastroenterology
            - General Practice
            - General Surgery
            - Genetic Counseling
            - Geriatrics
            - Gerontological
            - Gerontological Nurse Practitioner
            - Gerontological Nutrition
            - Gerontology
            - Geropsychology
            - Group Psychology
            - Gynecology
            - Histocompatibility and Immunogenetics
            - HIV Specialist
            - Infectious Diseases
            - Internal Medicine
            - Internal Medicine, Geriatric Medicine
            - Internal Medicine, Obesity Medicine
            - Interventional Radiology and Diagnostic Radiology
            - Laboratory Genetics and Genomics
            - Lactation Consultant (Registered Nurse)
            - Limb Preservation and Salvage
            - Maternal Newborn Nursing
            - Medical Physics (Diagnostic, Nuclear, Therapeutic)
            - Medical Surgical Nurse
            - National Certified Counselor (NCC)
            - Naturopathic Medicine
            - Neonatal Acute Care Clinical Nurse Specialist
            - Neonatal Nurse Practitioner
            - Nephrology
            - Neurological Surgery
            - Neurology
            - Neurology with Special Qualification in Child Neurology
            - Neuromusculoskeletal Medicine & OMM
            - Neurophysiology-Neurology
            - Nuclear Cardiology
            - Nuclear Medicine
            - Nurse Anesthetist
            - Nurse Executive, Advanced
            - Nurse Practitioner
            - Obesity and Weight Management
            - Obesity Medicine
            - Obstetrics & Gynecology
            - Obstetrics & Gynecology, Obesity Medicine
            - Occupational Medicine
            - Occupational Therapist
            - Occupational Therapist, Hand
            - Oncology Clinical Nurse Specialist
            - Oncology - Medical
            - Oncology - Medical, Surgical
            - Oncology Nurse Practitioner
            - Oncology Nutrition
            - Oncology - Radiation/Radiation Oncology
            - Oncology - Surgical
            - Ophthalmology
            - Optometry
            - Oral and Maxillofacial Surgery
            - Organizational and Business Consulting Psychology
            - Orthodontics
            - Orthopaedic Surgery
            - Orthopaedic Surgery of the Spine
            - Osteopathic Manipulative Medicine (OMM)
            - Otolaryngology
            - Otolaryngology and Facial Plastic Surgery
            - Otolaryngology - Head and Neck Surgery
            - Pain Management
            - Pain Medicine
            - Pathology - Anatomic
            - Pathology - Anatomic/Pathology - Clinical
            - Pathology - Clinical
            - Pediatric Acute Care Clinical Nurse Specialist
            - Pediatric Critical Care Nutrition
            - Pediatric Dentistry
            - Pediatric Neurological Surgery
            - Pediatric Nurse Practitioner - Acute Care
            - Pediatric Nurse Practitioner - Primary Care
            - Pediatric Nutrition
            - Pediatric Primary Care
            - Pediatrics
            - 'Pediatrics: Developmental-Behavioral Pediatrics'
            - Pediatrics, Obesity Medicine
            - Peer Support Specialist
            - Periodontics
            - Physical Medicine and Rehabilitation
            - Physical Therapist
            - Physical Therapist, Hand
            - Physical Therapy
            - Physician Assistant
            - Physiatry, Rehabilitative Medicine
            - Plastic and Reconstructive Surgery
            - Plastic Surgery
            - Podiatry
            - Police and Public Safety Psychology
            - >-
              Prevention and Treatment of Diabetic Foot Wounds and Diabetic
              Footwear
            - Preventative Medicine
            - Preventive Medicine, Obesity Medicine
            - Primary Care
            - Primary Care in Podiatric Medicine
            - Primary Care - Nurse Practitioners
            - Primary Care - Physician Assistants
            - Proctology
            - Progressive Care Nursing
            - Prosthodontics
            - Psychoanalytic and Psychodynamic Psychology
            - Psychiatric-Mental Health
            - Psychiatric Mental Health Nurse Practitioner
            - Psychiatry
            - Psychiatry & Neurology, Obesity Medicine
            - 'Psychiatry: Child and Adolescent Psychiatry'
            - 'Psychiatry: Geriatric Psychiatry'
            - Psychiatry & Neurology
            - Psychology
            - Psychotherapy
            - Public Health and General Preventive Medicine
            - Pulmonology
            - Radiation Oncology
            - Radiologic Physics
            - Radiology
            - Reconstructive Rearfoot/Ankle Surgery
            - Recreational Therapy
            - Registered Behavior Technician
            - Registered Dietitian Nutritionist
            - Registered Physician in Neurovascular Interpretation (RPNI)
            - Registered Physician in Vascular Interpretation(RPVI)
            - Rehabilitation Psychology
            - Renal Nutrition
            - Retina Specialist
            - Retina Specialty
            - Rheumatology
            - School Nurse Practitioner
            - School Psychology
            - Serious Mental Illness Psychology
            - Sleep Medicine
            - Social Work
            - Speech-Language Pathology
            - Sports Dietetics
            - Surgery
            - Therapeutic Radiology
            - Thoracic and Cardiac Surgery
            - Thoracic Surgery
            - Toxicology
            - Urgent Care Medicine
            - Urological Surgery
            - Urology
            - Vascular Medicine
            - Vascular Surgery
            - Venous and Lymphatic Medicine
            - Women's Health Nurse Practitioner
            - Wound Specialist
        subspecialty:
          type: string
          description: Subspecialty for which the certification was awarded
          enum:
            - None
            - N/A
            - Addiction Medicine
            - Addiction Psychiatry
            - Adolescent Medicine
            - Adolescent Medicine (Family Medicine)
            - Adolescent Medicine (Internal Medicine)
            - Adolescent Medicine (Pediatrics)
            - Adult Cardiac Anesthesiology
            - Adult Congenital Heart Disease
            - Adult and Pediatric Allergy and Immunology
            - Advanced Heart Failure and Transplant
            - Anesthesiology
            - Anesthesiology Critical Care Medicine
            - Blood Banking/Transfusion Medicine
            - Brain Injury Medicine
            - Cardiology
            - Cardiovascular Disease
            - Child Abuse Pediatrics
            - Child and Adolescent Psychiatry
            - Child Neurology
            - Child Psychiatry
            - Clinical Cardiac Electrophysiology
            - Clinical Child and Adolescent
            - Clinical Informatics
            - Clinical Neurophysiology
            - Clinical and Laboratory Dermatological Immunology
            - Complex Family Planning
            - Complex General Surgical Oncology
            - Complex Pediatric Otolaryngology
            - Congenital Cardiac Surgery
            - Consultation-Liaison Psychiatry
            - Critical Care Medicine
            - Critical Care Medicine (Anesthesiology)
            - Critical Care Medicine (Internal Medicine)
            - Critical Care Medicine (OB/GYN)
            - Cytopathology
            - Dermatology
            - Dermatopathology
            - Dermatopathology (Dermatology)
            - Dermatopathology (Pathology)
            - Developmental-Behavioral Pediatrics
            - Diagnostic Laboratory Immunology
            - Diagnostic Radiology
            - Emergency Medical Services
            - Emergency Medicine
            - Endocrinology, Diabetes and Metabolism
            - Epilepsy
            - Family Medicine
            - Female Pelvic Medicine and Reconstructive Surgery
            - >-
              Focused Practice in Advanced Emergency Medicine Ultrasonography -
              Emergency Medicine Designation
            - Focused Practice in Hospital Medicine
            - Focused Practice in Metabolic Bariatric Surgery
            - Focused Practice in Minimally Invasive Gynecologic Surgery
            - Forensic Psychiatry
            - Foot Surgery
            - Gastroenterology
            - Geriatric Medicine
            - Geriatric Medicine (Family Medicine)
            - Geriatric Medicine (Internal Medicine)
            - Geriatric Psychiatry
            - Gynecologic Oncology
            - Health Care Administration Leadership and Management
            - Hematology
            - Hematopathology
            - Hospice and Palliative Medicine
            - Hospice and Palliative Medicine (Anesthesiology)
            - Hospice and Palliative Medicine (Emergency Medicine)
            - Hospice and Palliative Medicine (Family Medicine)
            - Hospice and Palliative Medicine (Internal Medicine)
            - Hospice and Palliative Medicine (OB/GYN)
            - Hospice and Palliative Medicine (Pediatrics)
            - Hospice and Palliative Medicine (Physical Medicine)
            - Hospice and Palliative Medicine (Psychiatry and Neurology)
            - Hospice and Palliative Medicine (Radiology)
            - Hospice and Palliative Medicine (Surgery)
            - Hospital Medicine
            - Immunopathology
            - Infectious Disease
            - Internal Medicine
            - Internal Medicine - Critical Care Medicine
            - Interventional Cardiology
            - Interventional Radiology and Diagnostic Radiology
            - Maternal and Fetal Medicine
            - Maternal-Fetal Medicine
            - Medical Biochemical Genetics
            - Medical Oncology
            - Medical Toxicology
            - Medical Toxicology (Emergency Medicine)
            - Medical Toxicology (Pediatrics)
            - Medical Toxicology (Preventive Medicine)
            - Micrographic Dermatologic Surgery
            - Mohs Micrographic Surgery
            - Molecular Genetic Pathology
            - Neonatal-Perinatal Medicine
            - Nephrology
            - Neurocritical Care
            - Neurodevelopmental Disabilities
            - Neurodevelopmental Disabilities (Pediatrics)
            - Neurodevelopmental Disabilities (Psychiatry and Neurology)
            - Neuromuscular Medicine
            - Neuromuscular Medicine (Physical Medicine)
            - Neuromuscular Medicine (Psychiatry and Neurology)
            - Neuropathology
            - Neuroradiology
            - Neurotology
            - No Subspecialty (Allergy and Immunology)
            - No Subspecialty (Anesthesiology)
            - No Subspecialty (Colon and Rectal Surgery)
            - No Subspecialty (Dermatology)
            - No Subspecialty (Emergency Medicine)
            - No Subspecialty (Family Medicine)
            - No Subspecialty (Genetics)
            - No Subspecialty (Internal Medicine)
            - No Subspecialty (Neurological Surgery)
            - No Subspecialty (Nuclear Medicine)
            - No Subspecialty (OB/GYN)
            - No Subspecialty (Ophthalmology)
            - No Subspecialty (Orthopaedic Surgery)
            - No Subspecialty (Otolaryngology)
            - No Subspecialty (Pathology)
            - No Subspecialty (Pediatrics)
            - No Subspecialty (Physical Medicine)
            - No Subspecialty (Plastic Surgery)
            - No Subspecialty (Preventive Medicine)
            - No Subspecialty (Psychiatry and Neurology)
            - No Subspecialty (Radiology)
            - No Subspecialty (Surgery)
            - No Subspecialty (Thoracic Surgery)
            - No Subspecialty (Urology)
            - Nuclear Radiology
            - Obstetrics & Gynecology
            - Ophthalmology
            - Optometry
            - Orthopaedic Sports Medicine
            - Osteopathic Manipulative Treatment
            - Pain Medicine
            - Pain Medicine (Anesthesiology)
            - Pain Medicine (Physical Medicine)
            - Pain Medicine (Psychiatry and Neurology)
            - Pathology - Chemical
            - Pathology - Forensic
            - Pathology - Hematology
            - Pathology - Medical Microbiology
            - Pathology - Molecular Genetic
            - Pathology - Pediatric
            - Pediatric and Adolescent Gynecology
            - Pediatric Anesthesiology
            - Pediatric Cardiology
            - Pediatric Critical Care Medicine
            - Pediatric Critical Care Medicine (Pediatrics)
            - Pediatric Dermatology
            - Pediatric Emergency Medicine
            - Pediatric Emergency Medicine (Emergency Medicine)
            - Pediatric Emergency Medicine (Pediatrics)
            - Pediatric Endocrinology
            - Pediatric Gastroenterology
            - Pediatric Hematology-Oncology
            - Pediatric Hospital Medicine
            - Pediatric Infectious Diseases
            - Pediatric Neurological Surgery
            - Pediatric Nephrology
            - Pediatric Otolaryngology
            - Pediatric Pulmonology
            - Pediatric Radiology
            - Pediatric Rehabilitation Medicine
            - Pediatric Rheumatology
            - Pediatric Surgery
            - Pediatric Transplant Hepatology
            - Pediatric Urology
            - Pediatrics
            - Plastic Surgery Within the Head and Neck (Otolaryngology)
            - Plastic Surgery Within the Head and Neck (Plastic Surgery)
            - Podiatry
            - Psychiatry
            - Psychosomatic Medicine
            - Pulmonary Disease
            - Radiation Oncology
            - Reconstruction Rearfoot/Ankle Surgery
            - Reproductive Endocrinology and Infertility
            - Reproductive Endocrinology/Infertility
            - Rheumatology
            - Sleep Medicine
            - Sleep Medicine (Family Medicine)
            - Sleep Medicine (Internal Medicine)
            - Sleep Medicine (Otolaryngology)
            - Sleep Medicine (Pediatrics)
            - Sleep Medicine (Psychiatry and Neurology)
            - Spinal Cord Injury Medicine
            - Spinal Surgery
            - Sports Medicine
            - Sports Medicine (Emergency Medicine)
            - Sports Medicine (Family Medicine)
            - Sports Medicine (Internal Medicine)
            - Sports Medicine (Pediatrics)
            - Sports Medicine (Physical Medicine)
            - Surgery
            - Surgery of the Hand
            - Surgery of the Hand (Orthopaedic Surgery)
            - Surgery of the Hand (Plastic Surgery)
            - Surgery of the Hand (Surgery)
            - Surgical Critical Care
            - Therapeutic Radiology
            - Transplant Hepatology
            - Undersea and Hyperbaric Medicine
            - Undersea and Hyperbaric Medicine (Emergency Medicine)
            - Undersea and Hyperbaric Medicine (Preventive Medicine)
            - Urogynecology and Reconstructive Pelvic Surgery
            - Vascular and Interventional Radiology
            - Vascular Neurology
            - Vascular Surgery
            - Neurophysiology-Neurology
            - Allergy and Immunology
            - Cardiovascular and Pulmonary
            - Child and Adolescent Neurology
            - Combined Medical Genetics and Genomics
            - Correctional Medicine
            - Dermatological Immunology/Diagnostic and Laboratory Immunology
            - Endocrinology
            - Forensic Pathology
            - Geriatrics
            - Hematology & Medical Oncology (Internal medicine)
            - Minimally Invasive Gynecologic Surgery
            - Neonatology
            - Neurology
            - Neurophysiology
            - Occupational Medicine
            - Oncology
            - Orthopaedics
            - Otolaryngic Allergy
            - Pain Management
            - Pediatric and Adult Allergy and Immunology
            - Pediatric Clinical Neuropsychology
            - Pulmonary & Critical Care Medicine
            - Sports
            - Women's Health
            - Wound Management
            - Undersea Medicine
        verified_by:
          type: string
          description: Name of the person or system that verified the certification
        verified_date:
          type: string
          description: Date the certification was verified
          example: YYYY-MM-DD
        moc:
          type: string
          description: >-
            Maintenance of Certification (MOC) status or details (Yes, No, Not
            Required)
        status:
          type: string
          description: >-
            Current status of the board certification (Certified, Expired, Not
            Certified)
        duration_type:
          type: string
          description: Type of duration for the certification (Time-Limited, Lifetime, MOC)
      required:
        - id
        - certificate_id
        - expire_date
        - issue_date
        - specialty
        - subspecialty
        - verified_by
        - verified_date
        - moc
        - status
        - duration_type
    CredentialingTimelineDto:
      type: object
      properties:
        medical_director:
          type: string
        attestation_date:
          type: string
          example: YYYY-MM-DD
        initial_credentialing_date:
          type: string
          example: YYYY-MM-DD
        last_credentialed_date:
          type: string
          example: YYYY-MM-DD
        psv_complete_date:
          type: string
          example: YYYY-MM-DD
        credentialing_decision_date:
          type: string
          example: YYYY-MM-DD
        next_credentialing_date:
          type: string
          example: YYYY-MM-DD
        received_for_credentialing_date:
          type: string
          example: YYYY-MM-DD
      required:
        - medical_director
        - attestation_date
        - last_credentialed_date
        - psv_complete_date
        - credentialing_decision_date
        - next_credentialing_date
        - received_for_credentialing_date
    EducationTrainingDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the education or training record
        source:
          type: string
          description: >-
            Source from which the education training information was obtained
            (e.g., Application, Primary Source Verification)
          enum:
            - Verified through Licensing Board/Agency
            - Verified through Board Certification
            - Verified by Educational Institution
            - Verified through the AMA
            - Verified by Student Clearinghouse
        type:
          type: string
          description: Type of education training.
          enum:
            - Fellowship
            - Residency
            - Professional
            - Internship
        degree:
          type: string
          description: Degree awarded
          enum:
            - Bachelor of Arts (BA)
            - Bachelor of Accountancy (BAcc)
            - Bachelor of Architecture (BArch)
            - Bachelor of Business Administration (BBA)
            - Bachelor of Commerce (BComm)
            - Bachelor of Computer Science (BCS)
            - Bachelor of Computer Application (BCA)
            - Bachelor of Divinity (BDiv)
            - Bachelor of Economics (BEc)
            - Bachelor of Education (BEd)
            - Bachelor of Engineering (BEng)
            - Bachelor of Fine Arts (BFA)
            - Bachelor of Laws (LLB)
            - Bachelor of Letters (BLitt)
            - Bachelor of Music (BM)
            - Bachelor of Management Studies (BMS)
            - Bachelor of Pharmacy (BPharm)
            - Bachelor of Philosophy (BPhil)
            - Bachelor of Science (BS)
            - Bachelor of Science in Nursing (BSN)
            - Bachelor of Social Work (BSW)
            - Bachelor of Technology (BTech)
            - Bachelor of Theology (BTh)
            - Bachelor of Medicine, Bachelor of Surgery (MBBS)
            - Bachelor of Civil Law (BCL)
            - Licentiate in Sacred Theology (STL)
            - Magister Juris (MJur)
            - Master of Business Administration (MBA)
            - Master of Counselling (MCouns)
            - Master of Divinity (MDiv)
            - Master of Education (MEd)
            - Master of Engineering (MEng)
            - Master of Family Therapy (MFT)
            - Master of Fine Arts (MFA)
            - Master of Health Science (MHS)
            - Master of Laws (LLM)
            - Master of Letters (MLitt)
            - Master of Medicine (MMed)
            - Master of Management Studies (MMS)
            - Master of Philosophy (MPhil)
            - Master of Physician Assistant Studies (MPAS)
            - Master of Psychology (MPsych)
            - Master of Public Administration (MPA)
            - Master of Public Health (MPH)
            - Master of Research (MRes)
            - Master of Sacred Theology (STM)
            - Master of Science (MS)
            - Master of Science in Nursing (MSN)
            - Master of Social Work (MSW)
            - Master of Studies (MSt)
            - Master of Surgery (ChM)
            - Master of Technology (Mtech)
            - Master of Art (MA)
            - Master in Physician Assistant Studies (MSPA)
            - Professional Science Masters (PSM)
            - Doctor of Arts (DA)
            - Doctor of Audiology (AuD)
            - Doctor of Business Administration (DBA)
            - Doctor of Canon Law (JCD)
            - Doctor of Civil Law (DCL)
            - Doctor of Clinical Psychology (DClinPsy)
            - Doctor of Chiropractic (DC)
            - Doctor of Dental Surgery (DDS)
            - Doctor of Divinity (DDiv)
            - Doctor of Education (EdD)
            - Doctor of Juridical Science (JSD)
            - Doctor of Letters (DLitt)
            - Doctor of Medicine (MD)
            - Doctor of Ministry (DMin)
            - Doctor of Naturopathic Medicine (ND)
            - Doctor of Nurse Practice (DNP)
            - Doctor of Osteopathic Medicine (DO)
            - Doctor of Pharmacy (DPharm)
            - Doctor of Philosophy (PhD)
            - Doctor of Physical Therapy (DPT)
            - Doctor of Psychology (PsyD)
            - Doctor of Science (DSc or ScD)
            - Doctor of Social Work (DSW)
            - Doctor of Theology (ThD)
            - Doctor of Veterinary Medicine (DVM)
            - Education Specialist degree (EdS)
            - Juris Doctor (JD)
            - Other Degree
        specialty:
          type: string
          description: Specialty or field of study for the education training
          enum:
            - Acupuncture
            - Acute Care
            - Acute Care Nurse Practitioner
            - Acute/Critical Care Nursing
            - Addiction Medicine
            - Addiction Psychology
            - Administrative Medicine
            - Adult-Gerontology Acute Care
            - Adult-Gerontology Acute Care Clinical Nurse Specialist
            - Adult-Gerontology Acute Care Nurse Practitioner
            - Adult-Gerontology Primary Care
            - Adult-Gerontology Primary Care Nurse Practitioner
            - Adult Health Clinical Nurse Specialist
            - Adult Nurse Practitioner
            - Adult Psychiatric-Mental Health
            - Adult Psychiatric Mental Health Nurse Practitioner
            - Advanced Diabetes Management
            - Advanced Oncology Certified Nurse
            - Aerospace Medicine
            - Allergy and Immunology
            - Ambulatory Care Nurse
            - Anatomic Pathology and Clinical Pathology
            - Anatomic Pathology - General
            - Anesthesiology
            - Assistant Behavior Analyst
            - Audiology
            - Behavioral Analyst
            - Board Certified Assistant Behavior Analyst
            - Board Certified Behavior Analyst
            - Board Certified Behavior Analyst - Doctoral
            - Cardiac Medicine
            - Cardiac Surgery
            - Cardiac/Vascular Nurse
            - Cardiology
            - Cardiothoracic Surgery
            - Cardiovascular Computed Tomography
            - Case Management
            - Cataract Surgery
            - Certified Diabetes Care and Education Specialist
            - Certified Hand Therapist
            - Certified Nurse Midwife
            - Certified Pediatric Nurse
            - Certified Registered Nurse Anesthetist
            - Chiropractor
            - Chiropractic Acupuncture
            - Clinical Biochemical Genetics
            - Clinical Child and Adolescent Psychology
            - Clinical Cytogenetics
            - Clinical Genetics (MD)
            - Clinical Genetics and Genomics (MD)
            - Clinical Health Psychology
            - Clinical Lipidology
            - Clinical Mental Health Counselor
            - Clinical Molecular Genetics
            - Clinical Neurophysiology
            - Clinical Nurse Specialist
            - Clinical Psychology
            - Clinical Social Work
            - Colon and Rectal Surgery
            - Community Behavioral Health Clinician
            - Counseling Psychology
            - Couple and Family Psychology
            - Dental
            - Dermatology
            - Dermatology Nurse Practitioner
            - Diabetes Care and Education
            - Diagnostic Radiology
            - Diagnostic Radiology with Special Competence in Nuclear Radiology
            - Echocardiography
            - Educational Commission for Foreign Medical Graduates
            - Electrodiagnostic Medicine
            - Electronic Fetal Monitoring
            - Emergency Medicine
            - Emergency Nurse Practitioner
            - EMDR
            - Endocrinology
            - Endodontics
            - Endovascular Medicine
            - ENT/Otolaryngology
            - Facial Plastic and Reconstructive Surgery
            - Family Medicine
            - Family Medicine, Geriatric Medicine
            - Family Medicine, Obesity Medicine
            - Family Nurse Practitioner
            - Family Practice
            - >-
              Focused Practice in Pediatric and Adolescent Gynecology -
              Obstetrics & Gynecology Designation
            - >-
              Focused Practice in Metabolic Bariatric Surgery - Surgery
              Designation
            - Foot and Ankle Surgery
            - Foot Surgery
            - Forensic Psychology
            - Gastroenterology
            - General Practice
            - General Surgery
            - Genetic Counseling
            - Geriatrics
            - Gerontological
            - Gerontological Nurse Practitioner
            - Gerontological Nutrition
            - Gerontology
            - Geropsychology
            - Group Psychology
            - Gynecology
            - Histocompatibility and Immunogenetics
            - HIV Specialist
            - Infectious Diseases
            - Internal Medicine
            - Internal Medicine, Geriatric Medicine
            - Internal Medicine, Obesity Medicine
            - Interventional Radiology and Diagnostic Radiology
            - Laboratory Genetics and Genomics
            - Lactation Consultant (Registered Nurse)
            - Limb Preservation and Salvage
            - Maternal Newborn Nursing
            - Medical Physics (Diagnostic, Nuclear, Therapeutic)
            - Medical Surgical Nurse
            - National Certified Counselor (NCC)
            - Naturopathic Medicine
            - Neonatal Acute Care Clinical Nurse Specialist
            - Neonatal Nurse Practitioner
            - Nephrology
            - Neurological Surgery
            - Neurology
            - Neurology with Special Qualification in Child Neurology
            - Neuromusculoskeletal Medicine & OMM
            - Neurophysiology-Neurology
            - Nuclear Cardiology
            - Nuclear Medicine
            - Nurse Anesthetist
            - Nurse Executive, Advanced
            - Nurse Practitioner
            - Obesity and Weight Management
            - Obesity Medicine
            - Obstetrics & Gynecology
            - Obstetrics & Gynecology, Obesity Medicine
            - Occupational Medicine
            - Occupational Therapist
            - Occupational Therapist, Hand
            - Oncology Clinical Nurse Specialist
            - Oncology - Medical
            - Oncology - Medical, Surgical
            - Oncology Nurse Practitioner
            - Oncology Nutrition
            - Oncology - Radiation/Radiation Oncology
            - Oncology - Surgical
            - Ophthalmology
            - Optometry
            - Oral and Maxillofacial Surgery
            - Organizational and Business Consulting Psychology
            - Orthodontics
            - Orthopaedic Surgery
            - Orthopaedic Surgery of the Spine
            - Osteopathic Manipulative Medicine (OMM)
            - Otolaryngology
            - Otolaryngology and Facial Plastic Surgery
            - Otolaryngology - Head and Neck Surgery
            - Pain Management
            - Pain Medicine
            - Pathology - Anatomic
            - Pathology - Anatomic/Pathology - Clinical
            - Pathology - Clinical
            - Pediatric Acute Care Clinical Nurse Specialist
            - Pediatric Critical Care Nutrition
            - Pediatric Dentistry
            - Pediatric Neurological Surgery
            - Pediatric Nurse Practitioner - Acute Care
            - Pediatric Nurse Practitioner - Primary Care
            - Pediatric Nutrition
            - Pediatric Primary Care
            - Pediatrics
            - 'Pediatrics: Developmental-Behavioral Pediatrics'
            - Pediatrics, Obesity Medicine
            - Peer Support Specialist
            - Periodontics
            - Physical Medicine and Rehabilitation
            - Physical Therapist
            - Physical Therapist, Hand
            - Physical Therapy
            - Physician Assistant
            - Physiatry, Rehabilitative Medicine
            - Plastic and Reconstructive Surgery
            - Plastic Surgery
            - Podiatry
            - Police and Public Safety Psychology
            - >-
              Prevention and Treatment of Diabetic Foot Wounds and Diabetic
              Footwear
            - Preventative Medicine
            - Preventive Medicine, Obesity Medicine
            - Primary Care
            - Primary Care in Podiatric Medicine
            - Primary Care - Nurse Practitioners
            - Primary Care - Physician Assistants
            - Proctology
            - Progressive Care Nursing
            - Prosthodontics
            - Psychoanalytic and Psychodynamic Psychology
            - Psychiatric-Mental Health
            - Psychiatric Mental Health Nurse Practitioner
            - Psychiatry
            - Psychiatry & Neurology, Obesity Medicine
            - 'Psychiatry: Child and Adolescent Psychiatry'
            - 'Psychiatry: Geriatric Psychiatry'
            - Psychiatry & Neurology
            - Psychology
            - Psychotherapy
            - Public Health and General Preventive Medicine
            - Pulmonology
            - Radiation Oncology
            - Radiologic Physics
            - Radiology
            - Reconstructive Rearfoot/Ankle Surgery
            - Recreational Therapy
            - Registered Behavior Technician
            - Registered Dietitian Nutritionist
            - Registered Physician in Neurovascular Interpretation (RPNI)
            - Registered Physician in Vascular Interpretation(RPVI)
            - Rehabilitation Psychology
            - Renal Nutrition
            - Retina Specialist
            - Retina Specialty
            - Rheumatology
            - School Nurse Practitioner
            - School Psychology
            - Serious Mental Illness Psychology
            - Sleep Medicine
            - Social Work
            - Speech-Language Pathology
            - Sports Dietetics
            - Surgery
            - Therapeutic Radiology
            - Thoracic and Cardiac Surgery
            - Thoracic Surgery
            - Toxicology
            - Urgent Care Medicine
            - Urological Surgery
            - Urology
            - Vascular Medicine
            - Vascular Surgery
            - Venous and Lymphatic Medicine
            - Women's Health Nurse Practitioner
            - Wound Specialist
        institution:
          type: string
          description: Name of the institution where the education training was completed
        licensing_board_reference:
          type: string
          description: Reference or identifier from the licensing board, if applicable
        verified_by:
          type: string
          description: Name of the person or system that verified the education training
        verified_date:
          type: string
          description: Date the education training was verified
          example: YYYY-MM-DD
      required:
        - id
        - source
        - type
        - degree
        - specialty
        - institution
        - licensing_board_reference
        - verified_by
        - verified_date
    LicenseDto:
      type: object
      properties:
        type:
          type: string
          description: Type of license (e.g., medical, nursing, etc.)
        expiration:
          type: string
          description: Date the license expires
          example: YYYY-MM-DD
        issue_date:
          type: string
          description: Date the license was issued
          example: YYYY-MM-DD
        license_number:
          type: string
          description: Unique license number assigned by the issuing authority
        state:
          type: string
          description: State or jurisdiction where the license is issued
        status:
          type: string
          description: Current status of the license (e.g., active, expired, suspended)
        id:
          type: string
          description: Unique identifier for the license record
        license_type:
          type: string
          description: Type/category of the license (e.g., MD, RN, DO)
        license_status:
          type: string
          description: Status of the license (e.g., valid, invalid, pending)
        source:
          type: string
          description: Source from which the license information was obtained
        report_date:
          type: string
          description: Date the license report was generated
          example: YYYY-MM-DD
        verified_by:
          type: string
          description: Name of the person or system that verified the license
        verified_date:
          type: string
          description: The date at which the license was verified.
          example: YYYY-MM-DD
        first_name:
          type: string
          description: First name of the license holder (if available)
        last_name:
          type: string
          description: Last name of the license holder (if available)
        middle_name:
          type: string
          description: Middle name of the license holder (if available)
      required:
        - type
        - expiration
        - issue_date
        - license_number
        - state
        - status
        - id
        - license_type
        - license_status
        - source
        - report_date
        - verified_by
        - verified_date
    DeaDto:
      type: object
      properties:
        expire_date:
          type: string
          example: YYYY-MM-DD
        dea_number:
          type: string
        id:
          type: string
        state:
          type: string
        status:
          type: string
        provider_type:
          type: string
          description: Type of provider
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
        verified_by:
          type: string
        verified_date:
          type: string
          example: YYYY-MM-DD
        source:
          type: string
        type:
          type: string
      required:
        - expire_date
        - dea_number
        - id
        - state
        - status
        - provider_type
        - verified_by
        - verified_date
        - source
        - type
    HospitalAffiliationDto:
      type: object
      properties:
        name:
          type: string
          description: Name of the affiliated hospital
        specialty:
          type: string
          description: Specialty associated with the hospital affiliation
          enum:
            - Acupuncture
            - Acute Care
            - Acute Care Nurse Practitioner
            - Acute/Critical Care Nursing
            - Addiction Medicine
            - Addiction Psychology
            - Administrative Medicine
            - Adult-Gerontology Acute Care
            - Adult-Gerontology Acute Care Clinical Nurse Specialist
            - Adult-Gerontology Acute Care Nurse Practitioner
            - Adult-Gerontology Primary Care
            - Adult-Gerontology Primary Care Nurse Practitioner
            - Adult Health Clinical Nurse Specialist
            - Adult Nurse Practitioner
            - Adult Psychiatric-Mental Health
            - Adult Psychiatric Mental Health Nurse Practitioner
            - Advanced Diabetes Management
            - Advanced Oncology Certified Nurse
            - Aerospace Medicine
            - Allergy and Immunology
            - Ambulatory Care Nurse
            - Anatomic Pathology and Clinical Pathology
            - Anatomic Pathology - General
            - Anesthesiology
            - Assistant Behavior Analyst
            - Audiology
            - Behavioral Analyst
            - Board Certified Assistant Behavior Analyst
            - Board Certified Behavior Analyst
            - Board Certified Behavior Analyst - Doctoral
            - Cardiac Medicine
            - Cardiac Surgery
            - Cardiac/Vascular Nurse
            - Cardiology
            - Cardiothoracic Surgery
            - Cardiovascular Computed Tomography
            - Case Management
            - Cataract Surgery
            - Certified Diabetes Care and Education Specialist
            - Certified Hand Therapist
            - Certified Nurse Midwife
            - Certified Pediatric Nurse
            - Certified Registered Nurse Anesthetist
            - Chiropractor
            - Chiropractic Acupuncture
            - Clinical Biochemical Genetics
            - Clinical Child and Adolescent Psychology
            - Clinical Cytogenetics
            - Clinical Genetics (MD)
            - Clinical Genetics and Genomics (MD)
            - Clinical Health Psychology
            - Clinical Lipidology
            - Clinical Mental Health Counselor
            - Clinical Molecular Genetics
            - Clinical Neurophysiology
            - Clinical Nurse Specialist
            - Clinical Psychology
            - Clinical Social Work
            - Colon and Rectal Surgery
            - Community Behavioral Health Clinician
            - Counseling Psychology
            - Couple and Family Psychology
            - Dental
            - Dermatology
            - Dermatology Nurse Practitioner
            - Diabetes Care and Education
            - Diagnostic Radiology
            - Diagnostic Radiology with Special Competence in Nuclear Radiology
            - Echocardiography
            - Educational Commission for Foreign Medical Graduates
            - Electrodiagnostic Medicine
            - Electronic Fetal Monitoring
            - Emergency Medicine
            - Emergency Nurse Practitioner
            - EMDR
            - Endocrinology
            - Endodontics
            - Endovascular Medicine
            - ENT/Otolaryngology
            - Facial Plastic and Reconstructive Surgery
            - Family Medicine
            - Family Medicine, Geriatric Medicine
            - Family Medicine, Obesity Medicine
            - Family Nurse Practitioner
            - Family Practice
            - >-
              Focused Practice in Pediatric and Adolescent Gynecology -
              Obstetrics & Gynecology Designation
            - >-
              Focused Practice in Metabolic Bariatric Surgery - Surgery
              Designation
            - Foot and Ankle Surgery
            - Foot Surgery
            - Forensic Psychology
            - Gastroenterology
            - General Practice
            - General Surgery
            - Genetic Counseling
            - Geriatrics
            - Gerontological
            - Gerontological Nurse Practitioner
            - Gerontological Nutrition
            - Gerontology
            - Geropsychology
            - Group Psychology
            - Gynecology
            - Histocompatibility and Immunogenetics
            - HIV Specialist
            - Infectious Diseases
            - Internal Medicine
            - Internal Medicine, Geriatric Medicine
            - Internal Medicine, Obesity Medicine
            - Interventional Radiology and Diagnostic Radiology
            - Laboratory Genetics and Genomics
            - Lactation Consultant (Registered Nurse)
            - Limb Preservation and Salvage
            - Maternal Newborn Nursing
            - Medical Physics (Diagnostic, Nuclear, Therapeutic)
            - Medical Surgical Nurse
            - National Certified Counselor (NCC)
            - Naturopathic Medicine
            - Neonatal Acute Care Clinical Nurse Specialist
            - Neonatal Nurse Practitioner
            - Nephrology
            - Neurological Surgery
            - Neurology
            - Neurology with Special Qualification in Child Neurology
            - Neuromusculoskeletal Medicine & OMM
            - Neurophysiology-Neurology
            - Nuclear Cardiology
            - Nuclear Medicine
            - Nurse Anesthetist
            - Nurse Executive, Advanced
            - Nurse Practitioner
            - Obesity and Weight Management
            - Obesity Medicine
            - Obstetrics & Gynecology
            - Obstetrics & Gynecology, Obesity Medicine
            - Occupational Medicine
            - Occupational Therapist
            - Occupational Therapist, Hand
            - Oncology Clinical Nurse Specialist
            - Oncology - Medical
            - Oncology - Medical, Surgical
            - Oncology Nurse Practitioner
            - Oncology Nutrition
            - Oncology - Radiation/Radiation Oncology
            - Oncology - Surgical
            - Ophthalmology
            - Optometry
            - Oral and Maxillofacial Surgery
            - Organizational and Business Consulting Psychology
            - Orthodontics
            - Orthopaedic Surgery
            - Orthopaedic Surgery of the Spine
            - Osteopathic Manipulative Medicine (OMM)
            - Otolaryngology
            - Otolaryngology and Facial Plastic Surgery
            - Otolaryngology - Head and Neck Surgery
            - Pain Management
            - Pain Medicine
            - Pathology - Anatomic
            - Pathology - Anatomic/Pathology - Clinical
            - Pathology - Clinical
            - Pediatric Acute Care Clinical Nurse Specialist
            - Pediatric Critical Care Nutrition
            - Pediatric Dentistry
            - Pediatric Neurological Surgery
            - Pediatric Nurse Practitioner - Acute Care
            - Pediatric Nurse Practitioner - Primary Care
            - Pediatric Nutrition
            - Pediatric Primary Care
            - Pediatrics
            - 'Pediatrics: Developmental-Behavioral Pediatrics'
            - Pediatrics, Obesity Medicine
            - Peer Support Specialist
            - Periodontics
            - Physical Medicine and Rehabilitation
            - Physical Therapist
            - Physical Therapist, Hand
            - Physical Therapy
            - Physician Assistant
            - Physiatry, Rehabilitative Medicine
            - Plastic and Reconstructive Surgery
            - Plastic Surgery
            - Podiatry
            - Police and Public Safety Psychology
            - >-
              Prevention and Treatment of Diabetic Foot Wounds and Diabetic
              Footwear
            - Preventative Medicine
            - Preventive Medicine, Obesity Medicine
            - Primary Care
            - Primary Care in Podiatric Medicine
            - Primary Care - Nurse Practitioners
            - Primary Care - Physician Assistants
            - Proctology
            - Progressive Care Nursing
            - Prosthodontics
            - Psychoanalytic and Psychodynamic Psychology
            - Psychiatric-Mental Health
            - Psychiatric Mental Health Nurse Practitioner
            - Psychiatry
            - Psychiatry & Neurology, Obesity Medicine
            - 'Psychiatry: Child and Adolescent Psychiatry'
            - 'Psychiatry: Geriatric Psychiatry'
            - Psychiatry & Neurology
            - Psychology
            - Psychotherapy
            - Public Health and General Preventive Medicine
            - Pulmonology
            - Radiation Oncology
            - Radiologic Physics
            - Radiology
            - Reconstructive Rearfoot/Ankle Surgery
            - Recreational Therapy
            - Registered Behavior Technician
            - Registered Dietitian Nutritionist
            - Registered Physician in Neurovascular Interpretation (RPNI)
            - Registered Physician in Vascular Interpretation(RPVI)
            - Rehabilitation Psychology
            - Renal Nutrition
            - Retina Specialist
            - Retina Specialty
            - Rheumatology
            - School Nurse Practitioner
            - School Psychology
            - Serious Mental Illness Psychology
            - Sleep Medicine
            - Social Work
            - Speech-Language Pathology
            - Sports Dietetics
            - Surgery
            - Therapeutic Radiology
            - Thoracic and Cardiac Surgery
            - Thoracic Surgery
            - Toxicology
            - Urgent Care Medicine
            - Urological Surgery
            - Urology
            - Vascular Medicine
            - Vascular Surgery
            - Venous and Lymphatic Medicine
            - Women's Health Nurse Practitioner
            - Wound Specialist
        state:
          type: string
          description: State where the hospital is located (if applicable)
        type:
          type: string
          description: >-
            Type of hospital affiliation (Hospital Privileges, Hospital
            Admitting Arrangements, Non-hospital Admitting Arrangements, Exempt)
        source:
          type: string
          description: >-
            Source from which the hospital affiliation information was obtained
            (if applicable)
        start_date:
          type: string
          description: Date when the hospital affiliation started
          example: YYYY-MM-DD
        end_date:
          format: date-time
          type: string
          description: Date when the hospital affiliation ended/ends
        verified_by:
          type: string
          description: Name of the person or system that verified the hospital affiliation
        verified_date:
          type: string
          description: Date the hospital affiliation was verified
          example: YYYY-MM-DD
      required:
        - name
        - specialty
        - type
        - start_date
        - end_date
        - verified_by
        - verified_date
    LicensureActionsDto:
      type: object
      properties:
        date_of_last_action:
          type: string
        date_of_report:
          type: string
        details:
          type: string
        state:
          type: string
        type_of_action:
          type: string
        id:
          type: string
      required:
        - date_of_last_action
        - date_of_report
        - details
        - state
        - type_of_action
        - id
    RaceEthnicityLevel3Dto:
      type: object
      properties:
        raceEthnicityLevel3Name:
          type: string
      required:
        - raceEthnicityLevel3Name
    RaceEthnicityLevel2Dto:
      type: object
      properties:
        raceEthnicityLevel2Name:
          type: string
        raceEthnicityLevel3:
          type: array
          items:
            $ref: '#/components/schemas/RaceEthnicityLevel3Dto'
      required:
        - raceEthnicityLevel2Name
        - raceEthnicityLevel3
    RaceTypeDto:
      type: object
      properties:
        raceEthnicityLevel1:
          type: string
        raceEthnicityLevel2:
          type: array
          items:
            $ref: '#/components/schemas/RaceEthnicityLevel2Dto'
      required:
        - raceEthnicityLevel1
        - raceEthnicityLevel2
    SupportingDocumentV2Dto:
      type: object
      properties:
        created_at:
          format: date-time
          type: string
        file_type:
          type: string
        file_url:
          type: string
        original_file_name:
          type: string
        id:
          type: string
      required:
        - created_at
        - file_type
        - file_url
        - original_file_name
        - id
    ProfessionalIdV2Dto:
      type: object
      properties:
        type:
          enum:
            - Medicare Number
            - Medicaid Number
            - ECFMG Number
            - Foreign National Identification Number
            - Unique Physician Identification Number
            - CLIA
            - DEA
          type: string
          description: Type of professional ID
        number:
          type: string
          description: Professional ID number
        issue_date:
          type: string
          description: Issue date of the professional ID
        expiration_date:
          type: string
          description: Expiration date of the professional ID
        note:
          type: string
          description: Notes about the professional ID
        state:
          type: string
          description: State associated with the professional ID
        source:
          type: string
          description: Source of the professional ID
      required:
        - type
        - number
        - issue_date
        - expiration_date
    PractitionerMedicaidDto:
      type: object
      properties:
        medicaidNumber:
          type: string
        medicaidState:
          type: string
      required:
        - medicaidNumber
        - medicaidState
    CaqhAddressDto:
      type: object
      properties:
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        state:
          type: string
        zipCode:
          type: string
        country:
          type: string
      required:
        - address1
        - address2
        - city
        - state
        - zipCode
        - country
    PractitionerPracticeActiveLocationDto:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/CaqhAddressDto'
        healthcareServiceName:
          type: string
      required:
        - address
        - healthcareServiceName
    LocationHourDto:
      type: object
      properties:
        dayOfweek:
          type: string
        endHours:
          type: string
        startHours:
          type: string
    PracticeLocationDto:
      type: object
      properties:
        id:
          type: string
        provider_id:
          type: string
        organization_id:
          type: string
        name:
          type: string
        tin:
          type: string
        start_date:
          type: string
          example: YYYY-MM-DD
        drawing_blood:
          type: boolean
        laboratory_services:
          type: boolean
        clia_number:
          type: string
        clia_expiration_date:
          type: string
          example: YYYY-MM-DD
        address1:
          type: string
        city:
          type: string
        state:
          type: string
        zip:
          type: string
        country:
          type: string
        npi:
          type: string
        phoneCoverage24x7:
          type: boolean
        totalLocationHours:
          type: number
        locationHours:
          type: array
          items:
            $ref: '#/components/schemas/LocationHourDto'
        verified_by:
          type: string
        verified_date:
          type: string
          example: YYYY-MM-DD
      required:
        - id
        - provider_id
        - organization_id
        - name
    BaseSanctionItemResponseDto:
      type: object
      properties:
        id:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        npi:
          type: string
          description: National Provider Identifier (NPI)
        address1:
          type: string
        address2:
          type: string
        address3:
          type: string
        address4:
          type: string
        city:
          type: string
        state:
          type: string
        zip_code:
          type: string
        source:
          type: string
        sanction_type:
          type: string
        middle_name:
          type: string
        full_name:
          type: string
        business_name:
          type: string
        country:
          type: string
        data_acquire_date:
          type: string
          example: YYYY-MM-DD
        source_update_date:
          type: string
          example: YYYY-MM-DD
        data_fetch_method:
          type: string
          example: YYYY-MM-DD
        data_issuing_source:
          type: string
          example: YYYY-MM-DD
        data_source_url:
          type: string
          example: YYYY-MM-DD
        data_fetch_source:
          type: string
          example: YYYY-MM-DD
        date_processed:
          type: string
          example: YYYY-MM-DD
        processed_by:
          type: string
        start_date:
          type: string
          example: YYYY-MM-DD
        end_date:
          type: string
          example: YYYY-MM-DD
        license_jurisdiction:
          type: string
        organization_id:
          type: string
        provider_id:
          type: string
        created_by:
          type: string
        updated_by:
          type: string
        created_at:
          type: string
          example: YYYY-MM-DD
        updated_at:
          type: string
          example: YYYY-MM-DD
        created_by_name:
          type: string
        updated_by_name:
          type: string
        flag:
          type: string
        verified_by:
          type: string
        verified_at:
          type: string
          example: YYYY-MM-DD
        action_source:
          type: string
      required:
        - id
        - source
        - sanction_type
    ProviderV2Dto:
      type: object
      properties:
        provider_sanctions:
          type: array
          items:
            $ref: '#/components/schemas/ProviderSanctionsDto'
        malpractice_insurance:
          type: array
          items:
            $ref: '#/components/schemas/MalpracticeInsuranceDto'
        npdb_data:
          type: array
          items:
            $ref: '#/components/schemas/NpdbDataDto'
        performance_indicator:
          type: array
          items:
            $ref: '#/components/schemas/PerformanceIndicatorDto'
        application_verification:
          type: array
          items:
            $ref: '#/components/schemas/ApplicationVerificationDto'
        board_certifications_data:
          type: array
          items:
            $ref: '#/components/schemas/BoardCertificationDto'
        credentialing_timeline:
          type: array
          items:
            $ref: '#/components/schemas/CredentialingTimelineDto'
        education_training:
          type: array
          items:
            $ref: '#/components/schemas/EducationTrainingDto'
        licenses:
          type: array
          items:
            $ref: '#/components/schemas/LicenseDto'
        deas:
          type: array
          items:
            $ref: '#/components/schemas/DeaDto'
        hospital_affiliations:
          type: array
          items:
            $ref: '#/components/schemas/HospitalAffiliationDto'
        licensure_actions:
          $ref: '#/components/schemas/LicensureActionsDto'
        first_name:
          type: string
        middle_name:
          type: string
        last_name:
          type: string
        npi:
          type: string
        provider_type:
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
          type: string
          description: Type of provider
        caqh_provider_id:
          type: string
        provider_id:
          type: string
        status:
          type: string
          description: Current status of the provider
          enum:
            - Terminated
            - Active
            - Denied
            - New
            - In Progress
        organization_id:
          type: string
        file_type:
          type: string
        psv_url:
          type: string
        dob:
          type: string
        gender:
          type: string
        verified_by:
          type: string
        monitoring_status:
          type: string
        last_monitoring_date:
          type: string
          example: YYYY-MM-DD
        provider_created_date:
          type: string
          example: YYYY-MM-DD
        verified_date:
          type: string
          example: YYYY-MM-DD
        file_completion_date:
          type: string
          example: YYYY-MM-DD
        file_status:
          type: string
        race:
          type: array
          items:
            $ref: '#/components/schemas/RaceTypeDto'
        ethnicity:
          type: string
        other_languages:
          type: array
          items:
            type: string
        supporting_documents:
          type: array
          items:
            $ref: '#/components/schemas/SupportingDocumentV2Dto'
        external_id:
          type: string
        professional_ids:
          description: Professional IDs associated with the provider
          type: array
          items:
            $ref: '#/components/schemas/ProfessionalIdV2Dto'
        practitioner_medicaid:
          $ref: '#/components/schemas/PractitionerMedicaidDto'
        practitioner_practice_location:
          $ref: '#/components/schemas/PractitionerPracticeActiveLocationDto'
        practice_location:
          description: Practice locations associated with the provider
          type: array
          items:
            $ref: '#/components/schemas/PracticeLocationDto'
        credentialing_status:
          type: string
          description: Credentialing status of the provider
          enum:
            - Not sent to credentialing
            - Not Started
            - In Progress
            - Recredentialing in progress
            - Data missing
            - Outreach in progress
            - PSV Complete
            - PSV ready
            - Hold for Cred Comm
            - Tabled
            - Cred approved
            - Cred denied
            - Provider Terminated
            - Withdrawn/Cancelled
            - Credentialing restarted
            - PSV complete by CertifyOS
        credentialing_cycle:
          type: string
        states:
          type: array
          items:
            type: string
        assigned_states:
          type: array
          items:
            type: string
        sanction_items:
          description: Sanction items associated with the provider
          type: array
          items:
            $ref: '#/components/schemas/BaseSanctionItemResponseDto'
        isPCP:
          type: boolean
        isSpecialist:
          type: boolean
        acceptsNewPatients:
          type: boolean
        acceptsNewMedicarePatients:
          type: boolean
        primaryEmail:
          type: string
      required:
        - provider_sanctions
        - malpractice_insurance
        - npdb_data
        - performance_indicator
        - application_verification
        - board_certifications_data
        - credentialing_timeline
        - education_training
        - licenses
        - deas
        - hospital_affiliations
        - licensure_actions
        - first_name
        - middle_name
        - last_name
        - npi
        - provider_type
        - caqh_provider_id
        - provider_id
        - status
        - organization_id
        - file_type
        - psv_url
        - dob
        - gender
        - verified_by
        - monitoring_status
        - last_monitoring_date
        - provider_created_date
        - verified_date
        - file_completion_date
        - file_status
        - race
        - ethnicity
        - other_languages
        - supporting_documents
        - external_id
        - professional_ids
        - practitioner_medicaid
        - practitioner_practice_location
        - practice_location
        - sanction_items
    ProviderV2ResponseDto:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ProviderV2Dto'
        success:
          type: boolean
      required:
        - data
        - success
    Attachment:
      type: object
      properties:
        content:
          type: string
        disposition:
          type: string
        filename:
          type: string
        type:
          type: string
    OutreachDataDto:
      type: object
      properties:
        to:
          example:
            - string@string.com
          type: array
          items:
            type: string
        reason:
          type: string
        subject:
          type: string
        body:
          type: string
        entityType:
          type: string
        entityId:
          type: string
        numberOfAttachments:
          type: number
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment'
      required:
        - to
        - reason
        - subject
        - body
    ProviderOutreachDto:
      type: object
      properties:
        provider_id:
          type: string
        organization_id:
          type: string
        workflow_id:
          type: string
        outreach_correspondence_id:
          type: string
        data:
          $ref: '#/components/schemas/OutreachDataDto'
        created_at:
          type: string
        created_by_name:
          type: string
        id:
          type: string
        latest_event:
          type: string
        outreach_correspondence:
          type: string
        status_code:
          type: number
        sg_message_id:
          type: string
      required:
        - provider_id
        - organization_id
        - workflow_id
        - data
        - created_at
        - created_by_name
        - id
    ProviderOutreachResponseDto:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ProviderOutreachDto'
        count:
          type: number
          example: 10
      required:
        - data
        - count
    CreateProviderV2GroupDto:
      type: object
      properties:
        group_name:
          type: string
          description: Name of the group
        group_npi:
          type: string
          minLength: 10
          maxLength: 10
          description: Group National Provider Identifier (NPI)
          example: '2345678901'
        group_tin:
          type: string
          minLength: 9
          maxLength: 9
          description: Group Tax Identification Number (TIN)
          example: '123456789'
        location_name:
          type: string
          description: Name of group location
        external_group_id:
          type: string
          description: Client's ID for the group
      required:
        - group_name
        - group_npi
        - group_tin
    ProviderV2GroupsResponseDto:
      type: object
      properties:
        group_name:
          type: string
          description: Name of the group
        group_npi:
          type: string
          minLength: 10
          maxLength: 10
          description: Group National Provider Identifier (NPI)
          example: '2345678901'
        group_tin:
          type: string
          minLength: 9
          maxLength: 9
          description: Group Tax Identification Number (TIN)
          example: '123456789'
        external_group_id:
          type: string
          description: Client's ID for the group
        id:
          type: string
      required:
        - group_name
        - group_npi
        - group_tin
        - id
    CreateProviderError:
      type: object
      properties:
        message:
          type: string
        name:
          type: string
        status:
          type: number
      required:
        - message
    BulkCreateProviderResponseDtoV2:
      type: object
      properties:
        provider_id:
          type: string
        error:
          $ref: '#/components/schemas/CreateProviderError'
      required:
        - error
    ProviderListV2ResponseDto:
      type: object
      properties:
        first_name:
          type: string
        middle_name:
          type: string
        last_name:
          type: string
        npi:
          type: string
        degree:
          type: string
        provider_id:
          type: string
        created_at:
          format: date-time
          type: string
        updated_at:
          format: date-time
          type: string
        status:
          type: string
          description: Current status of the provider
          enum:
            - Terminated
            - Active
            - Denied
            - New
            - In Progress
        credentialing_status:
          type: string
          description: Credentialing status of the provider
          enum:
            - Not sent to credentialing
            - Not Started
            - In Progress
            - Recredentialing in progress
            - Data missing
            - Outreach in progress
            - PSV Complete
            - PSV ready
            - Hold for Cred Comm
            - Tabled
            - Cred approved
            - Cred denied
            - Provider Terminated
            - Withdrawn/Cancelled
            - Credentialing restarted
            - PSV complete by CertifyOS
        credentialing_status_update_date:
          type: string
          example: YYYY-MM-DD
        external_id:
          type: string
        gender:
          type: string
        primary_email:
          type: string
        caqh_primary_email:
          type: string
        dob:
          type: string
          example: YYYY-MM-DD
        isHospitalBased:
          type: boolean
        practice_location:
          description: >-
            Practice locations associated with the provider (enabled on
            request).
          type: array
          items:
            $ref: '#/components/schemas/PracticeLocationDto'
      required:
        - first_name
        - middle_name
        - last_name
        - npi
        - degree
        - provider_id
        - created_at
        - updated_at
        - status
        - credentialing_status
        - credentialing_status_update_date
        - external_id
        - gender
        - primary_email
        - caqh_primary_email
        - dob
        - isHospitalBased
        - practice_location
    FilterProvidersV2Dto:
      type: object
      properties:
        offset:
          type: number
          default: 0
          minimum: 0
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
        limit:
          type: number
          default: 10
          description: The maximum number of records to retrieve in a single request.
        file_type:
          type: string
          description: File Type of the providers to filter by to be terminated.
          enum:
            - Clean
            - Non_Clean
            - Pending
        flagged:
          type: boolean
          description: Flagged providers will be terminated.
        start_updated_at:
          format: date-time
          type: string
          description: Filter providers that are created or updated >= specified date.
        end_updated_at:
          format: date-time
          type: string
          description: Filter providers that are created or updated < specified date.
    TerminateProviderV2Dto:
      type: object
      properties:
        provider_ids:
          description: >-
            Provider ids to be terminated in comma separated strings within the
            array.
          type: array
          items:
            type: string
        reason:
          type: string
          description: Reason for the termination.
        filters:
          description: Filters for Provider Termination
          allOf:
            - $ref: '#/components/schemas/FilterProvidersV2Dto'
      required:
        - provider_ids
        - reason
        - filters
    UnterminateProviderV2Dto:
      type: object
      properties:
        provider_ids:
          description: >-
            Provider ids to be unterminated in comma separated strings within
            the array.
          type: array
          items:
            type: string
        reason:
          type: string
          description: Reason for the untermination.
        filters:
          description: Filters for Provider Un-Termination
          allOf:
            - $ref: '#/components/schemas/FilterProvidersV2Dto'
      required:
        - provider_ids
        - reason
        - filters
    UpdateProvidersDtoV2:
      type: object
      properties:
        initial_credentialing_date:
          format: date-time
          type: string
          description: Date by which Provider was initially credentialed.
        external_id:
          type: string
          description: Client’s ID for the provider
        primary_email:
          type: string
          description: Provider’s email address
          example: string@string.com
        gender:
          type: string
          enum:
            - M
            - F
            - U
          description: Provider Gender
        dob:
          format: date-time
          type: string
          description: Provider’s date of birth
        is_pcp:
          type: boolean
          description: Indicates whether the provider is a Primary Care Provider (PCP).
        is_specialist:
          type: boolean
          description: Indicates whether the provider is a specialist.
        accepts_new_patients:
          type: boolean
          description: Indicates whether the provider is currently accepting new patients.
        accepts_new_medicare_patients:
          type: boolean
          description: Indicates whether the provider accepts new Medicare patients.
        assigned_states:
          type: string
          items:
            type: string
            enum:
              - AK
              - AL
              - AR
              - AS
              - AZ
              - CA
              - CO
              - CT
              - DC
              - DE
              - FL
              - FM
              - GA
              - GU
              - HI
              - IA
              - ID
              - IL
              - IN
              - KS
              - KY
              - LA
              - MA
              - MD
              - ME
              - MH
              - MI
              - MN
              - MO
              - MP
              - MS
              - MT
              - NC
              - ND
              - NE
              - NH
              - NJ
              - NM
              - NV
              - NY
              - OH
              - OK
              - OR
              - PA
              - PR
              - PW
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - UM
              - VA
              - VI
              - VT
              - WA
              - WI
              - WV
              - WY
          description: Provider's assigned states
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
    ShareBulkProviderToCredCommDtoV2:
      type: object
      properties:
        provider_ids:
          description: Array of provider IDs to share to cred committee
          type: array
          items:
            type: string
        reason:
          type: string
          description: Reason for sharing to cred committee
      required:
        - provider_ids
        - reason
    ProviderFlagResponseDto:
      type: object
      properties:
        id:
          type: string
        read:
          type: boolean
        active:
          type: boolean
        subCollectionName:
          type: string
        description:
          type: string
        actionSource:
          type: string
        createdAt:
          type: string
        flagType:
          type: string
      required:
        - id
        - read
        - active
        - subCollectionName
        - description
        - actionSource
        - createdAt
        - flagType
    CreateProviderWithGroupDtoV2:
      type: object
      properties:
        first_name:
          type: string
          description: First name of the Provider
        middle_name:
          type: string
          default: ''
          description: Middle name of the Provider
        last_name:
          type: string
          description: Last name of the Provider
        degree:
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
          type: string
          description: Type of provider
        npi:
          type: string
          default: ''
          description: 'NPI of the Provider '
        states:
          type: string
          description: States in which Provider will provide care to patients/enrollees
        caqh_provider_id:
          type: string
          default: ''
          description: CAQH ID of the Provider
        last_credentialed_date:
          format: date-time
          type: string
          description: Date Provider was last credentialed
        next_credentialing_date:
          format: date-time
          type: string
          description: 'Date by which Provider needs to be recredentialed '
        external_id:
          type: string
          description: Client’s ID for the provider
        primary_email:
          type: string
          description: Provider’s email address
          example: string@string.com
        gender:
          type: string
          enum:
            - M
            - F
            - U
          description: Provider's gender
        dob:
          format: date-time
          type: string
          description: Provider’s date of birth
        groups:
          description: Groups within the Org with which the provider is associated
          type: array
          items:
            $ref: '#/components/schemas/CreateProviderV2GroupDto'
      required:
        - first_name
        - last_name
        - degree
        - states
    FlagPatchRequestDto:
      type: object
      properties:
        id:
          type: string
        active:
          type: boolean
      required:
        - id
        - active
    FlagPatchAllRequestDto:
      type: object
      properties:
        flags:
          type: array
          items:
            $ref: '#/components/schemas/FlagPatchRequestDto'
      required:
        - flags
    FlagPatchResponseDto:
      type: object
      properties:
        id:
          type: string
        success:
          type: boolean
      required:
        - id
        - success
    FlagPatchAllResponseDto:
      type: object
      properties:
        flags:
          type: array
          items:
            $ref: '#/components/schemas/FlagPatchResponseDto'
      required:
        - flags
    FlagMarkReadAllRequestDto:
      type: object
      properties:
        flagIds:
          type: array
          items:
            type: string
        reason:
          type: string
      required:
        - flagIds
        - reason
    ReadStatus:
      type: string
      enum:
        - seen
        - unseen
        - all
    FlagMarkUnreadAllRequestDto:
      type: object
      properties:
        flagIds:
          type: array
          items:
            type: string
      required:
        - flagIds
    FlagMarkReadAllRequestV2Dto:
      type: object
      properties:
        flag_ids:
          type: array
          items:
            type: string
        reason:
          type: string
          example: Reason while marking flag as read
      required:
        - flag_ids
        - reason
    CreateGeneralInfoDto:
      type: object
      properties:
        dba:
          type: string
        deaNumber:
          type: string
        practiceType:
          type: string
        locationType:
          enum:
            - Solo
            - Group
            - Facility
          type: string
        website:
          type: string
        siteLoginUsername:
          type: string
        sitePassword:
          type: string
        networkEffectiveDate:
          format: date-time
          type: string
        name:
          type: string
        specialty:
          type: string
          enum:
            - Audiology
            - Adult Nurse Practitioner
            - Acute Care
            - Addiction Medicine
            - Adult Psychiatric-Mental Health
            - Adult-Gerontology Acute Care
            - Adult-Gerontology Primary Care
            - Advanced Diabetes Management
            - Aerospace Medicine
            - Allergy and Immunology
            - Anatomic Pathology and Clinical Pathology
            - Anesthesiology
            - Assistant Behavior Analyst
            - Behavioral Analyst
            - Board Certified Behavior Analyst - Doctoral
            - Cardiac Surgery
            - Cardiology
            - Cardiothoracic Surgery
            - Cataract Surgery
            - Certified Nurse Midwife
            - Certified Registered Nurse Anesthetist
            - Chiropractor
            - Clinical Biochemical Genetics
            - Clinical Cytogenetics
            - Clinical Genetics (MD)
            - Clinical Genetics and Genomics (MD)
            - Clinical Mental Health Counselor
            - Clinical Molecular Genetics
            - Clinical Neurophysiology
            - Clinical Nurse Specialist
            - Clinical Psychology
            - Colon and Rectal Surgery
            - Community Behavioral Health Clinician
            - Dental
            - Dermatology
            - Diagnostic Radiology
            - Clinical Social Work
            - Emergency Medicine
            - Emergency Nurse Practitioner
            - Endocrinology
            - ENT/Otolaryngology
            - Family Medicine
            - Family Practice
            - Family Nurse Practitioner
            - Foot and Ankle Surgery
            - Gastroenterology
            - General Practice
            - General Surgery
            - Geriatrics
            - Gerontological
            - Gerontology
            - Gynecology
            - Infectious Diseases
            - Internal Medicine
            - Interventional Radiology and Diagnostic Radiology
            - Laboratory Genetics and Genomics
            - Medical Physics (Diagnostic, Nuclear, Therapeutic)
            - Medical Surgical Nurse
            - Nephrology
            - Neurological Surgery
            - Neurology
            - Neurology with Special Qualification in Child Neurology
            - Neuromusculoskeletal Medicine & OMM
            - Nuclear Medicine
            - Nurse Executive, Advanced
            - Nurse Practitioner
            - Obesity Medicine
            - Obstetrics & Gynecology
            - Occupational Medicine
            - Oncology - Medical
            - Oncology - Radiation/Radiation Oncology
            - Oncology - Surgical
            - Ophthalmology
            - Optometry
            - Oral and Maxillofacial Surgery
            - Orthopaedic Surgery
            - Otolaryngology
            - Otolaryngology and Facial Plastic Surgery
            - Otolaryngology - Head and Neck Surgery
            - Pathology - Clinical
            - Pathology - Anatomic
            - Pathology - Anatomic/Pathology - Clinical
            - Pediatric Nurse Practitioner - Primary Care
            - Pediatric Primary Care
            - Pediatrics
            - 'Pediatrics: Developmental-Behavioral Pediatrics'
            - Physical Medicine and Rehabilitation
            - Physician Assistant
            - Plastic Surgery
            - Podiatry
            - Preventative Medicine
            - Primary Care
            - Primary Care - Physician Assistants
            - Primary Care - Nurse Practitioners
            - Psychiatric Mental Health Nurse Practitioner
            - Psychiatric-Mental Health
            - Psychiatry
            - Psychiatry & Neurology
            - 'Psychiatry: Child and Adolescent Psychiatry'
            - 'Psychiatry: Geriatric Psychiatry'
            - Psychology
            - Psychotherapy
            - Pulmonology
            - Public Health and General Preventive Medicine
            - Radiation Oncology
            - Radiologic Physics
            - Radiology
            - Registered Behavior Technician
            - Reconstructive Rearfoot/Ankle Surgery
            - Rheumatology
            - School Nurse Practitioner
            - Surgery
            - Therapeutic Radiology
            - Thoracic Surgery
            - Thoracic and Cardiac Surgery
            - Urgent Care Medicine
            - Urology
            - Vascular Surgery
            - Occupational Therapist
            - Speech-Language Pathology
            - Primary Care - Physician Assistants
            - Primary Care - Nurse Practitioners
            - Primary Care
            - Oncology - Medical, Surgical
            - Physiatry, Rehabilitative Medicine
            - Pulmonology
            - Rheumatology
            - Women's Health Nurse Practitioner
        npi:
          type: string
        tin:
          type: string
        affiliation:
          type: string
          enum:
            - Direct
            - Delegated
        groupType:
          type: string
        isSoloPractice:
          type: string
        ownTags:
          type: array
          items:
            type: string
      required:
        - name
        - npi
        - tin
        - affiliation
    CreateContractSignatoryDto:
      type: object
      properties:
        fullName:
          type: string
        designation:
          type: string
        email:
          type: string
        fax:
          type: string
        phone:
          type: string
    CreateContactPersonDto:
      type: object
      properties:
        fullName:
          type: string
        phone:
          type: string
        email:
          type: string
        fax:
          type: string
        contractSignatory:
          $ref: '#/components/schemas/CreateContractSignatoryDto'
      required:
        - fullName
        - phone
        - email
        - fax
    CreateAddressDto:
      type: object
      properties:
        addressLine1:
          type: string
        zip:
          type: string
        city:
          type: string
        state:
          type: string
        country:
          type: string
        county:
          type: string
        sameAsPrimary:
          type: boolean
      required:
        - addressLine1
        - zip
        - city
        - state
        - country
    CreateTaxInfoDto:
      type: object
      properties:
        legalTaxName:
          type: string
        taxEntityStates:
          type: array
          items:
            type: string
      required:
        - legalTaxName
        - taxEntityStates
    CreateOrgEntityStep1Dto:
      type: object
      properties:
        organizationId:
          type: string
        generalInfo:
          $ref: '#/components/schemas/CreateGeneralInfoDto'
        contactPerson:
          $ref: '#/components/schemas/CreateContactPersonDto'
        serviceAddress:
          $ref: '#/components/schemas/CreateAddressDto'
        mailingAddress:
          $ref: '#/components/schemas/CreateAddressDto'
        billingAddress:
          $ref: '#/components/schemas/CreateAddressDto'
        npdbEnrollmentEnabled:
          type: boolean
        taxInfo:
          $ref: '#/components/schemas/CreateTaxInfoDto'
        ownTags:
          type: array
          items:
            type: string
        externalGroupId:
          type: string
        facilityIds:
          type: array
          items:
            type: string
        changeReason:
          type: string
        specialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        primarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        hsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        parentOrgEntityId:
          type: string
      required:
        - generalInfo
        - contactPerson
        - serviceAddress
        - mailingAddress
        - billingAddress
    CheckOrgEntityIsAcceptableDto:
      type: object
      properties:
        name:
          type: string
        npi:
          type: string
        tin:
          type: string
      required:
        - name
        - npi
        - tin
    UpdateOrgEntityDto:
      type: object
      properties:
        organizationId:
          type: string
        generalInfo:
          $ref: '#/components/schemas/CreateGeneralInfoDto'
        contactPerson:
          $ref: '#/components/schemas/CreateContactPersonDto'
        serviceAddress:
          $ref: '#/components/schemas/CreateAddressDto'
        mailingAddress:
          $ref: '#/components/schemas/CreateAddressDto'
        billingAddress:
          $ref: '#/components/schemas/CreateAddressDto'
        npdbEnrollmentEnabled:
          type: boolean
        taxInfo:
          $ref: '#/components/schemas/CreateTaxInfoDto'
        ownTags:
          type: array
          items:
            type: string
        externalGroupId:
          type: string
        facilityIds:
          type: array
          items:
            type: string
        changeReason:
          type: string
        specialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        primarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        hsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        parentOrgEntityId:
          type: string
    UpdateOrgEntityNameDto:
      type: object
      properties:
        name:
          type: string
        reason:
          type: string
      required:
        - name
        - reason
    UpdateOrgEntitySpecialtiesDto:
      type: object
      properties:
        specialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        primarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        hsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
    CreateOrgEntityStep2FilesDto:
      type: object
      properties:
        irs575File:
          type: array
          items:
            type: object
        w9File:
          type: array
          items:
            type: object
    CreateOrgEntityStep2Dto:
      type: object
      properties:
        legalTaxName:
          type: string
        taxEntityStates:
          type: array
          items:
            type: string
        files:
          $ref: '#/components/schemas/CreateOrgEntityStep2FilesDto'
        corporateStructure:
          type: string
        certificationNumber:
          type: string
        corporateEffectiveDate:
          type: string
        legalActions:
          type: string
        supplierType:
          type: string
        billingAddress:
          type: string
        w9Address:
          type: string
        MRStorageAddress:
          type: string
        changeReason:
          type: string
      required:
        - legalTaxName
        - taxEntityStates
    CreateOrgEntityStep3Dto:
      type: object
      properties:
        certificateOfInsurance:
          type: array
          items:
            type: object
        disclosureOfOwnershipForm:
          type: array
          items:
            type: object
        eftForm:
          type: array
          items:
            type: object
        letterOfAppeal:
          type: array
          items:
            type: object
        supplierAgreement460:
          type: array
          items:
            type: object
        certificateOfGoodStanding:
          type: array
          items:
            type: object
        fictitousNamePermit:
          type: array
          items:
            type: object
        bankLetter:
          type: array
          items:
            type: object
        organizationChart:
          type: array
          items:
            type: object
        irs575:
          type: array
          items:
            type: object
        w9:
          type: array
          items:
            type: object
        directoryRelatedDocument:
          type: array
          items:
            type: object
        articleOfOwnership:
          type: array
          items:
            type: object
        mocAttestation:
          type: array
          items:
            type: object
        providerContactForm:
          type: array
          items:
            type: object
        providerRoster:
          type: array
          items:
            type: object
        pageSource:
          type: string
          enum:
            - credentialing
            - enrollment
            - licensing
            - providers
            - org-entities
            - contract-document
        workflowId:
          type: string
      required:
        - certificateOfInsurance
        - disclosureOfOwnershipForm
        - eftForm
        - letterOfAppeal
        - supplierAgreement460
        - certificateOfGoodStanding
        - fictitousNamePermit
        - bankLetter
        - organizationChart
        - irs575
        - w9
        - pageSource
    CreateEnrollmentGeneralInfoDto:
      type: object
      properties:
        jurisdiction:
          type: string
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
        lineOfBusiness:
          type: string
          enum:
            - Medicare
            - Medicaid
            - Commercial
            - Commercial/Medicare
            - Commercial/Medicaid
            - Commercial/Medicare/Medicaid
            - ISNP
            - Vision
            - Dental
            - Behavioral
            - ACO
        planId:
          type: string
        payorId:
          type: string
        contractingEffectiveDate:
          format: date-time
          type: string
        contractingTerminationDate:
          format: date-time
          type: string
      required:
        - jurisdiction
        - lineOfBusiness
        - planId
        - payorId
    CreateOfficerManagerContactDto:
      type: object
      properties:
        fullName:
          type: string
        email:
          type: string
        phone:
          type: string
      required:
        - fullName
        - email
    EnrollmentContractDetailsDto:
      type: object
      properties:
        contractUrl:
          type: string
        fileName:
          type: string
    CreateEnrolmentProviderDto:
      type: object
      properties:
        admittingPrivilegeStatus:
          type: string
        status:
          type: string
        effectiveDate:
          format: date-time
          type: string
        terminationDate:
          format: date-time
          type: string
    CreateEnrolmentLocationDto:
      type: object
      properties:
        locationId:
          type: string
        status:
          type: string
        effectiveDate:
          format: date-time
          type: string
        terminationDate:
          format: date-time
          type: string
    CreateCredentialingContactContactDto:
      type: object
      properties:
        type:
          type: string
          enum:
            - '>5% ownership'
            - Office Contact
            - Credentialing Contact
            - Contracting Contact
            - Billing Manager
        fullName:
          type: string
        email:
          type: string
        phone:
          type: string
        fax:
          type: string
      required:
        - fullName
        - email
    CreateBillingManagerContactDto:
      type: object
      properties:
        fullName:
          type: string
        email:
          type: string
        phone:
          type: string
      required:
        - fullName
        - email
    CreateEnrollmentDto:
      type: object
      properties:
        generalInfo:
          $ref: '#/components/schemas/CreateEnrollmentGeneralInfoDto'
        officeManager:
          $ref: '#/components/schemas/CreateOfficerManagerContactDto'
        contractDetails:
          $ref: '#/components/schemas/EnrollmentContractDetailsDto'
        provider:
          $ref: '#/components/schemas/CreateEnrolmentProviderDto'
        location:
          $ref: '#/components/schemas/CreateEnrolmentLocationDto'
        credentialingContact:
          $ref: '#/components/schemas/CreateCredentialingContactContactDto'
        billingManager:
          $ref: '#/components/schemas/CreateBillingManagerContactDto'
        status:
          type: string
          enum:
            - Pending Request
            - Requested
            - Onboarding
            - Missing Information
            - Information Verified
            - Submitted
            - Contracting
            - Credentialing by Health Plan
            - Additional Information Requested
            - Effective
            - On Hold
            - Other Processing
            - Effective
            - Suspended
            - Terminated
        contractAgreementType:
          type: string
        enrollmentCounty:
          type: string
        contractType:
          type: string
        additionalFeeSchedule:
          type: string
        includesNonTypicalContractTerms:
          type: string
        nonTypicalContractTerms:
          type: string
        isExternallyEnrolled:
          type: boolean
        enrollmentEffectiveDate:
          format: date-time
          type: string
        enrollmentTermDate:
          format: date-time
          type: string
        billingEffectiveDate:
          format: date-time
          type: string
        billingTermDate:
          format: date-time
          type: string
        billingAddressCounty:
          type: string
        lobStartDate:
          format: date-time
          type: string
        lobEndDate:
          format: date-time
          type: string
        claimSubmissionCycleTime:
          type: string
        physicianRateCalculation:
          type: string
        hospitalRateCalculation:
          type: string
        ancillaryRateCalculation:
          type: string
        sequestrationAllowed:
          type: string
        lesserOf:
          type: string
        snfCapitationPartARate:
          type: string
        snfCapitationPartBRate:
          type: string
        snfCapitationBillAboveRate:
          type: string
        snfCorporateChampionRate:
          type: string
        sharedSavings:
          type: string
        bonus:
          type: string
        hasGssRate:
          type: string
        gssRateDetails:
          type: string
        gssMinimumMm:
          type: string
        gssTerms:
          type: string
        gssFrequency:
          type: string
        appPenalty:
          type: string
        telehealthNoShow:
          type: string
        hasQualityProgram:
          type: string
        qualityProgramInitiatives:
          type: string
        averageStarsAndPmpmBonus:
          type: string
        hasMlrTarget:
          type: string
        mlrTargetDescription:
          type: string
        credentialingContactPhone:
          type: string
        contractingContactPhone:
          type: string
        orgEntityContractStatus:
          type: string
        contractPaymentType:
          type: string
        contractTemplateName:
          type: string
        contractRate:
          type: string
        dynamicFields:
          type: object
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/CreateAddressDto'
        keyContacts:
          type: array
          items:
            $ref: '#/components/schemas/CreateCredentialingContactContactDto'
      required:
        - generalInfo
        - officeManager
        - billingManager
    UpdateProviderEnrollmentDto:
      type: object
      properties:
        statusReason:
          type: string
        statusNotes:
          type: string
        terminationDate:
          format: date-time
          type: string
        terminationInfoDate:
          format: date-time
          type: string
        status:
          type: string
          enum:
            - Pending Request
            - Requested
            - Onboarding
            - Missing Information
            - Information Verified
            - Submitted
            - Contracting
            - Credentialing by Health Plan
            - Additional Information Requested
            - Effective
            - On Hold
            - Other Processing
            - Effective
            - Suspended
            - Terminated
    UpdateEnrollmentDto:
      type: object
      properties:
        generalInfo:
          $ref: '#/components/schemas/CreateEnrollmentGeneralInfoDto'
        officeManager:
          $ref: '#/components/schemas/CreateOfficerManagerContactDto'
        contractDetails:
          $ref: '#/components/schemas/EnrollmentContractDetailsDto'
        provider:
          $ref: '#/components/schemas/CreateEnrolmentProviderDto'
        location:
          $ref: '#/components/schemas/CreateEnrolmentLocationDto'
        credentialingContact:
          $ref: '#/components/schemas/CreateCredentialingContactContactDto'
        billingManager:
          $ref: '#/components/schemas/CreateBillingManagerContactDto'
        status:
          type: string
          enum:
            - Pending Request
            - Requested
            - Onboarding
            - Missing Information
            - Information Verified
            - Submitted
            - Contracting
            - Credentialing by Health Plan
            - Additional Information Requested
            - Effective
            - On Hold
            - Other Processing
            - Effective
            - Suspended
            - Terminated
        contractAgreementType:
          type: string
        enrollmentCounty:
          type: string
        contractType:
          type: string
        additionalFeeSchedule:
          type: string
        includesNonTypicalContractTerms:
          type: string
        nonTypicalContractTerms:
          type: string
        isExternallyEnrolled:
          type: boolean
        enrollmentEffectiveDate:
          format: date-time
          type: string
        enrollmentTermDate:
          format: date-time
          type: string
        billingEffectiveDate:
          format: date-time
          type: string
        billingTermDate:
          format: date-time
          type: string
        billingAddressCounty:
          type: string
        lobStartDate:
          format: date-time
          type: string
        lobEndDate:
          format: date-time
          type: string
        claimSubmissionCycleTime:
          type: string
        physicianRateCalculation:
          type: string
        hospitalRateCalculation:
          type: string
        ancillaryRateCalculation:
          type: string
        sequestrationAllowed:
          type: string
        lesserOf:
          type: string
        snfCapitationPartARate:
          type: string
        snfCapitationPartBRate:
          type: string
        snfCapitationBillAboveRate:
          type: string
        snfCorporateChampionRate:
          type: string
        sharedSavings:
          type: string
        bonus:
          type: string
        hasGssRate:
          type: string
        gssRateDetails:
          type: string
        gssMinimumMm:
          type: string
        gssTerms:
          type: string
        gssFrequency:
          type: string
        appPenalty:
          type: string
        telehealthNoShow:
          type: string
        hasQualityProgram:
          type: string
        qualityProgramInitiatives:
          type: string
        averageStarsAndPmpmBonus:
          type: string
        hasMlrTarget:
          type: string
        mlrTargetDescription:
          type: string
        credentialingContactPhone:
          type: string
        contractingContactPhone:
          type: string
        orgEntityContractStatus:
          type: string
        contractPaymentType:
          type: string
        contractTemplateName:
          type: string
        contractRate:
          type: string
        dynamicFields:
          type: object
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/CreateAddressDto'
        keyContacts:
          type: array
          items:
            $ref: '#/components/schemas/CreateCredentialingContactContactDto'
        statusReason:
          type: string
        statusNotes:
          type: string
        terminationDate:
          format: date-time
          type: string
        terminationInfoDate:
          format: date-time
          type: string
        includeAllProviders:
          type: boolean
        providerEnrollmentIds:
          type: array
          items:
            type: string
        reason:
          type: string
        attestation:
          type: boolean
        nextCredentialingDate:
          format: date-time
          type: string
        lastCredentialingDate:
          format: date-time
          type: string
        editProviderId:
          type: string
        requestType:
          type: object
    CreateLocationGeneralInfoDto:
      type: object
      properties:
        locationName:
          type: string
        mainPhoneNumber:
          type: string
        afterHoursPhoneNumber:
          type: string
        fax:
          type: string
        serviceCategory:
          type: string
        specialtyCode:
          type: string
        specialtyDescription:
          type: string
        contactName:
          type: string
        contactType:
          type: string
        bedCounts:
          type: number
        tags:
          type: array
          items:
            type: string
        acceptsNewPatients:
          type: boolean
        type:
          enum:
            - Solo
            - Group
            - Facility
          type: string
        suppressSiteFromDirectory:
          type: boolean
        locationType:
          type: string
        department:
          type: string
        isPrimaryLocation:
          type: boolean
        hasAdmittingPrivileges:
          type: boolean
        includeLocationForPrivileges:
          type: boolean
        tty:
          type: string
      required:
        - locationName
        - suppressSiteFromDirectory
    CreateLocationServiceAddressDto:
      type: object
      properties:
        addressLine1:
          type: string
        zip:
          type: string
        city:
          type: string
        state:
          type: string
        country:
          type: string
        county:
          type: string
        sameAsPrimary:
          type: boolean
      required:
        - addressLine1
        - zip
        - city
        - state
        - country
    CreateLocationBillingAddressDto:
      type: object
      properties:
        addressLine1:
          type: string
        zip:
          type: string
        city:
          type: string
        state:
          type: string
        country:
          type: string
        county:
          type: string
        sameAsPrimary:
          type: boolean
      required:
        - addressLine1
        - zip
        - city
        - state
        - country
    CreateLocationMailingAddressDto:
      type: object
      properties:
        addressLine1:
          type: string
        zip:
          type: string
        city:
          type: string
        state:
          type: string
        country:
          type: string
        county:
          type: string
        sameAsPrimary:
          type: boolean
      required:
        - addressLine1
        - zip
        - city
        - state
        - country
    CreateOfficeHourDto:
      type: object
      properties:
        daysOfWeek:
          type: array
          items:
            type: string
        hourFrom:
          type: string
        hourTo:
          type: string
      required:
        - daysOfWeek
        - hourFrom
        - hourTo
    CreateHospitalAdmittingPrivilegeDto:
      type: object
      properties:
        privilege:
          type: string
        status:
          type: string
        effectiveDate:
          format: date-time
          type: string
        terminationDate:
          format: date-time
          type: string
      required:
        - privilege
        - status
        - effectiveDate
        - terminationDate
    CreateAdaComplianceDto:
      type: object
      properties:
        accessibilityToTheBuildingEntrances:
          type: boolean
        accessibilityToTheBuildingSpaces:
          type: boolean
        receptionAndWaitingAreas:
          type: boolean
        examRoomsAndTreatmentAreas:
          type: boolean
        restrooms:
          type: boolean
        signageAndWayfinding:
          type: boolean
        communicationAccomodations:
          type: boolean
        policiesAndProcedures:
          type: boolean
        handicapAccessibility:
          type: boolean
      required:
        - accessibilityToTheBuildingEntrances
        - accessibilityToTheBuildingSpaces
        - receptionAndWaitingAreas
        - examRoomsAndTreatmentAreas
        - restrooms
        - signageAndWayfinding
        - communicationAccomodations
        - policiesAndProcedures
        - handicapAccessibility
    CreateLocationContactDto:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        mainPhoneNumber:
          type: string
        afterHoursPhoneNumber:
          type: string
        email:
          type: string
        tty:
          type: string
        fax:
          type: string
      required:
        - type
        - name
        - mainPhoneNumber
        - email
    CreateLocationDto:
      type: object
      properties:
        generalInfo:
          $ref: '#/components/schemas/CreateLocationGeneralInfoDto'
        locationSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        locationPrimarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        locationHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        serviceAddress:
          $ref: '#/components/schemas/CreateLocationServiceAddressDto'
        billingAddress:
          $ref: '#/components/schemas/CreateLocationBillingAddressDto'
        mailingAddress:
          $ref: '#/components/schemas/CreateLocationMailingAddressDto'
        officeHours:
          type: array
          items:
            $ref: '#/components/schemas/CreateOfficeHourDto'
        hospitalAdmittingPrivileges:
          type: array
          items:
            $ref: '#/components/schemas/CreateHospitalAdmittingPrivilegeDto'
        limitationsForMembers:
          type: array
          items:
            type: string
        adaCompliance:
          $ref: '#/components/schemas/CreateAdaComplianceDto'
        tags:
          type: array
          items:
            type: string
        ttyNumber:
          type: string
        handicapAccessibility:
          type: string
        facilityId:
          type: string
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/CreateLocationContactDto'
      required:
        - generalInfo
        - serviceAddress
    UpdateLocationDto:
      type: object
      properties:
        generalInfo:
          $ref: '#/components/schemas/CreateLocationGeneralInfoDto'
        locationSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        locationPrimarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        locationHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        serviceAddress:
          $ref: '#/components/schemas/CreateLocationServiceAddressDto'
        billingAddress:
          $ref: '#/components/schemas/CreateLocationBillingAddressDto'
        mailingAddress:
          $ref: '#/components/schemas/CreateLocationMailingAddressDto'
        officeHours:
          type: array
          items:
            $ref: '#/components/schemas/CreateOfficeHourDto'
        hospitalAdmittingPrivileges:
          type: array
          items:
            $ref: '#/components/schemas/CreateHospitalAdmittingPrivilegeDto'
        limitationsForMembers:
          type: array
          items:
            type: string
        adaCompliance:
          $ref: '#/components/schemas/CreateAdaComplianceDto'
        tags:
          type: array
          items:
            type: string
        ttyNumber:
          type: string
        handicapAccessibility:
          type: string
        facilityId:
          type: string
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/CreateLocationContactDto'
    CreateProviderLocationDto:
      type: object
      properties:
        locationId:
          type: string
        editProviderId:
          type: string
      required:
        - locationId
        - editProviderId
    CreateProviderLocationsDto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/CreateProviderLocationDto'
      required:
        - list
    DeleteProviderLocationDto:
      type: object
      properties:
        editProviderId:
          type: string
        locationId:
          type: string
      required:
        - editProviderId
        - locationId
    CreateProviderEnrollmentDto:
      type: object
      properties:
        enrollmentId:
          type: string
        editProviderId:
          type: string
        providerEnrollmentDeclinedReason:
          type: string
        providerEnrollmentStatus:
          enum:
            - Effective
            - Suspended
            - Terminated
            - Rejected
            - Abandoned
          type: string
        effectiveDate:
          format: date-time
          type: string
        terminationDate:
          format: date-time
          type: string
        impactsNetworkAdequacy:
          type: boolean
        assignedNetwork:
          type: string
        networkStatus:
          type: string
        isExternallyEnrolled:
          type: boolean
      required:
        - enrollmentId
        - editProviderId
    CreateProviderEnrollmentsDto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/CreateProviderEnrollmentDto'
      required:
        - list
    DeleteProviderEnrollmentDto:
      type: object
      properties:
        editProviderId:
          type: string
        enrollmentId:
          type: string
      required:
        - editProviderId
        - enrollmentId
    CreateMasterProviderRecordDto:
      type: object
      properties:
        firstName:
          type: string
          pattern: NOT_NUMBER_ONLY
        middleName:
          type: string
        lastName:
          type: string
          pattern: NOT_NUMBER_ONLY
        dateOfBirth:
          format: date-time
          type: string
        npi:
          type: string
        primaryEmail:
          type: string
          example: string@string.com
        practitionerSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        practitionerPrimarySpecialty:
          type: object
        practitionerHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        caqhProviderId:
          type: string
        lastCredentialedDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        isHospitalBased:
          type: boolean
        externalId:
          type: string
        specialty:
          type: string
          enum:
            - Audiology
            - Adult Nurse Practitioner
            - Acute Care
            - Addiction Medicine
            - Adult Psychiatric-Mental Health
            - Adult-Gerontology Acute Care
            - Adult-Gerontology Primary Care
            - Advanced Diabetes Management
            - Aerospace Medicine
            - Allergy and Immunology
            - Anatomic Pathology and Clinical Pathology
            - Anesthesiology
            - Assistant Behavior Analyst
            - Behavioral Analyst
            - Board Certified Behavior Analyst - Doctoral
            - Cardiac Surgery
            - Cardiology
            - Cardiothoracic Surgery
            - Cataract Surgery
            - Certified Nurse Midwife
            - Certified Registered Nurse Anesthetist
            - Chiropractor
            - Clinical Biochemical Genetics
            - Clinical Cytogenetics
            - Clinical Genetics (MD)
            - Clinical Genetics and Genomics (MD)
            - Clinical Mental Health Counselor
            - Clinical Molecular Genetics
            - Clinical Neurophysiology
            - Clinical Nurse Specialist
            - Clinical Psychology
            - Colon and Rectal Surgery
            - Community Behavioral Health Clinician
            - Dental
            - Dermatology
            - Diagnostic Radiology
            - Clinical Social Work
            - Emergency Medicine
            - Emergency Nurse Practitioner
            - Endocrinology
            - ENT/Otolaryngology
            - Family Medicine
            - Family Practice
            - Family Nurse Practitioner
            - Foot and Ankle Surgery
            - Gastroenterology
            - General Practice
            - General Surgery
            - Geriatrics
            - Gerontological
            - Gerontology
            - Gynecology
            - Infectious Diseases
            - Internal Medicine
            - Interventional Radiology and Diagnostic Radiology
            - Laboratory Genetics and Genomics
            - Medical Physics (Diagnostic, Nuclear, Therapeutic)
            - Medical Surgical Nurse
            - Nephrology
            - Neurological Surgery
            - Neurology
            - Neurology with Special Qualification in Child Neurology
            - Neuromusculoskeletal Medicine & OMM
            - Nuclear Medicine
            - Nurse Executive, Advanced
            - Nurse Practitioner
            - Obesity Medicine
            - Obstetrics & Gynecology
            - Occupational Medicine
            - Oncology - Medical
            - Oncology - Radiation/Radiation Oncology
            - Oncology - Surgical
            - Ophthalmology
            - Optometry
            - Oral and Maxillofacial Surgery
            - Orthopaedic Surgery
            - Otolaryngology
            - Otolaryngology and Facial Plastic Surgery
            - Otolaryngology - Head and Neck Surgery
            - Pathology - Clinical
            - Pathology - Anatomic
            - Pathology - Anatomic/Pathology - Clinical
            - Pediatric Nurse Practitioner - Primary Care
            - Pediatric Primary Care
            - Pediatrics
            - 'Pediatrics: Developmental-Behavioral Pediatrics'
            - Physical Medicine and Rehabilitation
            - Physician Assistant
            - Plastic Surgery
            - Podiatry
            - Preventative Medicine
            - Primary Care
            - Primary Care - Physician Assistants
            - Primary Care - Nurse Practitioners
            - Psychiatric Mental Health Nurse Practitioner
            - Psychiatric-Mental Health
            - Psychiatry
            - Psychiatry & Neurology
            - 'Psychiatry: Child and Adolescent Psychiatry'
            - 'Psychiatry: Geriatric Psychiatry'
            - Psychology
            - Psychotherapy
            - Pulmonology
            - Public Health and General Preventive Medicine
            - Radiation Oncology
            - Radiologic Physics
            - Radiology
            - Registered Behavior Technician
            - Reconstructive Rearfoot/Ankle Surgery
            - Rheumatology
            - School Nurse Practitioner
            - Surgery
            - Therapeutic Radiology
            - Thoracic Surgery
            - Thoracic and Cardiac Surgery
            - Urgent Care Medicine
            - Urology
            - Vascular Surgery
            - Occupational Therapist
            - Speech-Language Pathology
            - Primary Care - Physician Assistants
            - Primary Care - Nurse Practitioners
            - Primary Care
            - Oncology - Medical, Surgical
            - Physiatry, Rehabilitative Medicine
            - Pulmonology
            - Rheumatology
            - Women's Health Nurse Practitioner
        orgEntityLocations:
          type: array
          items:
            type: string
        orgEntityLocationsTypes:
          type: array
          items:
            type: string
        orgEntityEnrollments:
          type: array
          items:
            type: string
        lastOutreachDate:
          format: date-time
          type: string
        nextFollowUpDate:
          format: date-time
          type: string
        providerLastRosterDate:
          format: date-time
          type: string
        providerSuffix:
          type: string
        providerDegree:
          type: string
        providerSalutation:
          type: string
        providerEthinicity:
          type: string
        admittingPrivilegeStatus:
          type: string
        acceptsNewPatients:
          type: boolean
        taxonomyCode:
          type: string
        providerType:
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
          type: string
        states:
          type: array
          items:
            type: string
            enum:
              - AK
              - AL
              - AR
              - AS
              - AZ
              - CA
              - CO
              - CT
              - DC
              - DE
              - FL
              - FM
              - GA
              - GU
              - HI
              - IA
              - ID
              - IL
              - IN
              - KS
              - KY
              - LA
              - MA
              - MD
              - ME
              - MH
              - MI
              - MN
              - MO
              - MP
              - MS
              - MT
              - NC
              - ND
              - NE
              - NH
              - NJ
              - NM
              - NV
              - NY
              - OH
              - OK
              - OR
              - PA
              - PR
              - PW
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - UM
              - VA
              - VI
              - VT
              - WA
              - WI
              - WV
              - WY
      required:
        - firstName
        - lastName
        - providerType
    UpdateMasterProviderRecordDto:
      type: object
      properties:
        firstName:
          type: string
          pattern: NOT_NUMBER_ONLY
        middleName:
          type: string
        lastName:
          type: string
          pattern: NOT_NUMBER_ONLY
        dateOfBirth:
          format: date-time
          type: string
        npi:
          type: string
        primaryEmail:
          type: string
          example: string@string.com
        practitionerSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        practitionerPrimarySpecialty:
          type: object
        practitionerHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        caqhProviderId:
          type: string
        lastCredentialedDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        isHospitalBased:
          type: boolean
        externalId:
          type: string
        specialty:
          type: string
          enum:
            - Audiology
            - Adult Nurse Practitioner
            - Acute Care
            - Addiction Medicine
            - Adult Psychiatric-Mental Health
            - Adult-Gerontology Acute Care
            - Adult-Gerontology Primary Care
            - Advanced Diabetes Management
            - Aerospace Medicine
            - Allergy and Immunology
            - Anatomic Pathology and Clinical Pathology
            - Anesthesiology
            - Assistant Behavior Analyst
            - Behavioral Analyst
            - Board Certified Behavior Analyst - Doctoral
            - Cardiac Surgery
            - Cardiology
            - Cardiothoracic Surgery
            - Cataract Surgery
            - Certified Nurse Midwife
            - Certified Registered Nurse Anesthetist
            - Chiropractor
            - Clinical Biochemical Genetics
            - Clinical Cytogenetics
            - Clinical Genetics (MD)
            - Clinical Genetics and Genomics (MD)
            - Clinical Mental Health Counselor
            - Clinical Molecular Genetics
            - Clinical Neurophysiology
            - Clinical Nurse Specialist
            - Clinical Psychology
            - Colon and Rectal Surgery
            - Community Behavioral Health Clinician
            - Dental
            - Dermatology
            - Diagnostic Radiology
            - Clinical Social Work
            - Emergency Medicine
            - Emergency Nurse Practitioner
            - Endocrinology
            - ENT/Otolaryngology
            - Family Medicine
            - Family Practice
            - Family Nurse Practitioner
            - Foot and Ankle Surgery
            - Gastroenterology
            - General Practice
            - General Surgery
            - Geriatrics
            - Gerontological
            - Gerontology
            - Gynecology
            - Infectious Diseases
            - Internal Medicine
            - Interventional Radiology and Diagnostic Radiology
            - Laboratory Genetics and Genomics
            - Medical Physics (Diagnostic, Nuclear, Therapeutic)
            - Medical Surgical Nurse
            - Nephrology
            - Neurological Surgery
            - Neurology
            - Neurology with Special Qualification in Child Neurology
            - Neuromusculoskeletal Medicine & OMM
            - Nuclear Medicine
            - Nurse Executive, Advanced
            - Nurse Practitioner
            - Obesity Medicine
            - Obstetrics & Gynecology
            - Occupational Medicine
            - Oncology - Medical
            - Oncology - Radiation/Radiation Oncology
            - Oncology - Surgical
            - Ophthalmology
            - Optometry
            - Oral and Maxillofacial Surgery
            - Orthopaedic Surgery
            - Otolaryngology
            - Otolaryngology and Facial Plastic Surgery
            - Otolaryngology - Head and Neck Surgery
            - Pathology - Clinical
            - Pathology - Anatomic
            - Pathology - Anatomic/Pathology - Clinical
            - Pediatric Nurse Practitioner - Primary Care
            - Pediatric Primary Care
            - Pediatrics
            - 'Pediatrics: Developmental-Behavioral Pediatrics'
            - Physical Medicine and Rehabilitation
            - Physician Assistant
            - Plastic Surgery
            - Podiatry
            - Preventative Medicine
            - Primary Care
            - Primary Care - Physician Assistants
            - Primary Care - Nurse Practitioners
            - Psychiatric Mental Health Nurse Practitioner
            - Psychiatric-Mental Health
            - Psychiatry
            - Psychiatry & Neurology
            - 'Psychiatry: Child and Adolescent Psychiatry'
            - 'Psychiatry: Geriatric Psychiatry'
            - Psychology
            - Psychotherapy
            - Pulmonology
            - Public Health and General Preventive Medicine
            - Radiation Oncology
            - Radiologic Physics
            - Radiology
            - Registered Behavior Technician
            - Reconstructive Rearfoot/Ankle Surgery
            - Rheumatology
            - School Nurse Practitioner
            - Surgery
            - Therapeutic Radiology
            - Thoracic Surgery
            - Thoracic and Cardiac Surgery
            - Urgent Care Medicine
            - Urology
            - Vascular Surgery
            - Occupational Therapist
            - Speech-Language Pathology
            - Primary Care - Physician Assistants
            - Primary Care - Nurse Practitioners
            - Primary Care
            - Oncology - Medical, Surgical
            - Physiatry, Rehabilitative Medicine
            - Pulmonology
            - Rheumatology
            - Women's Health Nurse Practitioner
        orgEntityLocations:
          type: array
          items:
            type: string
        orgEntityLocationsTypes:
          type: array
          items:
            type: string
        orgEntityEnrollments:
          type: array
          items:
            type: string
        lastOutreachDate:
          format: date-time
          type: string
        nextFollowUpDate:
          format: date-time
          type: string
        providerLastRosterDate:
          format: date-time
          type: string
        providerSuffix:
          type: string
        providerDegree:
          type: string
        providerSalutation:
          type: string
        providerEthinicity:
          type: string
        admittingPrivilegeStatus:
          type: string
        acceptsNewPatients:
          type: boolean
        taxonomyCode:
          type: string
        reason:
          type: string
        providerType:
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CphT
            - CPsyD
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DD
            - DDS
            - DMD
            - DO
            - DOU
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LactCon
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RD
            - RDH
            - RDN
            - RN
            - RNFA
            - Rph
            - RPSGT
            - RT
            - SA
            - SLP
            - SW
          type: string
        states:
          type: array
          items:
            type: string
            enum:
              - AK
              - AL
              - AR
              - AS
              - AZ
              - CA
              - CO
              - CT
              - DC
              - DE
              - FL
              - FM
              - GA
              - GU
              - HI
              - IA
              - ID
              - IL
              - IN
              - KS
              - KY
              - LA
              - MA
              - MD
              - ME
              - MH
              - MI
              - MN
              - MO
              - MP
              - MS
              - MT
              - NC
              - ND
              - NE
              - NH
              - NJ
              - NM
              - NV
              - NY
              - OH
              - OK
              - OR
              - PA
              - PR
              - PW
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - UM
              - VA
              - VI
              - VT
              - WA
              - WI
              - WV
              - WY
      required:
        - reason
    PipelineVerifications:
      type: object
      properties:
        npiValidate:
          type: boolean
        caqhRostered:
          type: boolean
        pdbEnrolled:
          type: boolean
      required:
        - npiValidate
        - caqhRostered
        - pdbEnrolled
    EmailAddress:
      type: object
      properties:
        type:
          type: string
        email:
          type: string
      required:
        - type
        - email
    ContactNumber:
      type: object
      properties:
        type:
          type: string
        providedContactNumber:
          type: string
        sanitizedContactNumber:
          type: string
        ext:
          type: string
      required:
        - type
        - providedContactNumber
    DeaDatum:
      type: object
      properties:
        state:
          type: string
        deaNumber:
          type: string
        providerType:
          type: string
        type:
          enum:
            - DEA
            - CDS
          type: string
        expirationDate:
          type: object
        status:
          type: string
        source:
          type: string
        flags:
          type: object
        providerId:
          type: string
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
      required:
        - state
        - deaNumber
        - providerType
        - type
        - expirationDate
        - status
        - source
    BoardCertification:
      type: object
      properties:
        specialty:
          type: string
        subSpecialty:
          type: string
        issueDate:
          format: date-time
          type: string
        expirationDate:
          type: object
        document:
          type: string
        fetchSource:
          type: string
        source:
          type: string
        moc:
          type: string
        status:
          type: string
        durationType:
          type: string
        occurrenceType:
          type: string
        certificateType:
          type: string
        flags:
          type: object
        providerId:
          type: string
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
      required:
        - specialty
        - subSpecialty
        - expirationDate
        - document
        - source
        - moc
        - status
        - durationType
        - occurrenceType
        - certificateType
    MalpracticeInsurance:
      type: object
      properties:
        policyNumber:
          type: string
        expirationDate:
          type: object
        source:
          type: string
        status:
          type: string
        flags:
          type: object
        providerId:
          type: string
        unlimitedCoverage:
          type: boolean
        policyCurrentEffectiveDate:
          type: object
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
      required:
        - policyNumber
        - expirationDate
        - source
        - status
        - policyCurrentEffectiveDate
    StateLicense:
      type: object
      properties:
        state:
          type: string
        licenseNumber:
          type: string
        type:
          type: string
        licenseStatus:
          type: string
        issueDate:
          format: date-time
          type: string
        expirationDate:
          type: object
        source:
          type: string
        fetchSource:
          type: string
        flags:
          type: object
        providerId:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        middleName:
          type: string
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
      required:
        - state
        - licenseNumber
        - type
        - licenseStatus
        - expirationDate
        - source
        - fetchSource
    ProfessionalId:
      type: object
      properties:
        type:
          enum:
            - Medicare Number
            - Medicaid Number
            - ECFMG Number
            - Foreign National Identification Number
            - Unique Physician Identification Number
            - CLIA
            - DEA
          type: string
        number:
          type: string
        issueDate:
          type: string
        expirationDate:
          type: string
        note:
          type: string
        state:
          type: string
        source:
          type: string
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
      required:
        - type
        - number
        - issueDate
        - expirationDate
        - note
    CaqhData:
      type: object
      properties:
        practitionerProfileDetail:
          type: object
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
    OrgEntityProvider:
      type: object
      properties:
        orgEntityEnrollments:
          type: array
          items:
            type: string
        orgEntityLocations:
          type: array
          items:
            type: string
        orgEntities:
          type: array
          items:
            type: string
        orgEntitySpecificInfo:
          type: array
          items:
            type: object
        lastOutreachDate:
          format: date-time
          type: string
        nextFollowUpDate:
          format: date-time
          type: string
        providerLastRosterDate:
          format: date-time
          type: string
        providerSuffix:
          type: string
        providerDegree:
          type: string
        providerSalutation:
          type: string
        providerEthinicity:
          type: string
        assignedStates:
          type: array
          items:
            type: string
        userAccountId:
          type: string
        organizationId:
          type: string
        parentOrganizationId:
          type: string
          nullable: true
        version:
          type: number
        npdbReportActions:
          type: array
          items:
            type: string
        sanctionsTypes:
          type: array
          items:
            type: string
        npdbReportSignedUrl:
          type: string
        credCommitteeStatus:
          type: string
        licensureActions:
          type: array
          items:
            type: object
        status:
          type: object
        terminatedBy:
          type: string
        terminatedAt:
          format: date-time
          type: string
        terminationReason:
          type: string
        unterminatedAt:
          format: date-time
          type: string
        sectionMetadata:
          type: object
        businessPurpose:
          type: object
        externalId:
          type: string
        surveyResponse:
          type: object
        sharedToCredCommittee:
          type: boolean
        sharedToCredCommitteeReason:
          type: string
        sharedToCredCommitteeAt:
          format: date-time
          type: string
        fileTypeScores:
          type: object
        fileTypeAutoCalculatedValue:
          type: string
        fileTypeManuallyOverridden:
          type: boolean
        verifications:
          $ref: '#/components/schemas/PipelineVerifications'
        practitionerPrimarySpecialty:
          type: object
        practitionerHsdSpecialty:
          type: object
        caqhLastAttestationDate:
          format: date-time
          type: string
        caqhLastAttestationDateUpdatedBy:
          type: string
        caqhLastAttestationDateUpdatedByFullname:
          type: string
        caqhLastAttestationDateUpdatedAt:
          format: date-time
          type: string
        practitionerStatus:
          type: string
        specialtyNuccCodes:
          type: array
          items:
            type: string
        monitoringDate:
          format: date-time
          type: string
        monitoringStatus:
          type: string
        monitoringWorkflowTimeline:
          type: object
        credentialingCycle:
          type: string
        credentialingDate:
          format: date-time
          type: string
        orgEntityLocationsTypes:
          type: array
          items:
            type: string
        isHospitalBased:
          type: boolean
        linesOfBusiness:
          type: array
          items:
            type: string
            enum:
              - Medicare
              - Medicaid
              - Commercial
        credentialingContactEmailAddress:
          type: string
        providerStatus:
          type: object
        gender:
          type: string
        homeAddress:
          $ref: '#/components/schemas/Address'
        hasLicensureActions:
          type: boolean
        isCurrent:
          type: boolean
          default: null
        states:
          default: []
          type: array
          items:
            type: string
        fileType:
          type: string
          default: Clean
        workflowSource:
          enum:
            - CREDENTIALING
            - MONITORING
            - FACILITY_CREDENTIALING
            - LICENSING
            - PAYOR_ENROLLMENT
          type: string
        workflowId:
          type: string
        primaryEmail:
          type: string
        caqhPrimaryEmail:
          type: string
        contactNumber:
          type: string
        credentialingStatus:
          type: string
        credentialingStatusUpdatedAt:
          format: date-time
          type: string
        isFlagged:
          type: boolean
        currentFlags:
          type: object
        currentFlagSources:
          type: array
          items:
            type: string
        isMissingData:
          type: boolean
        missingData:
          type: array
          items:
            type: string
        credentialingWorkflowTimeline:
          $ref: '#/components/schemas/CredentialingWorkflowTimeline'
        credentialingTimelineAggregate:
          type: object
        hasEditProvider:
          type: boolean
        editProviderCreatedAt:
          format: date-time
          type: string
        acceptsNewPatients:
          type: boolean
        acceptsNewMedicarePatients:
          type: boolean
        isPCP:
          type: boolean
        isSpecialist:
          type: boolean
        credentialedStates:
          type: array
          items:
            type: string
        suffix:
          type: string
        degree:
          type: string
        salutation:
          type: string
        emailAddresses:
          type: array
          items:
            $ref: '#/components/schemas/EmailAddress'
        contactNumbers:
          type: array
          items:
            $ref: '#/components/schemas/ContactNumber'
        npdbProviderInfo:
          $ref: '#/components/schemas/NpdbProviderInfo'
        dea-data:
          type: array
          items:
            $ref: '#/components/schemas/DeaDatum'
        board-certifications:
          type: array
          items:
            $ref: '#/components/schemas/BoardCertification'
        malpractice-insurances:
          type: array
          items:
            $ref: '#/components/schemas/MalpracticeInsurance'
        state-licenses:
          type: array
          items:
            $ref: '#/components/schemas/StateLicense'
        professional-ids:
          type: array
          items:
            $ref: '#/components/schemas/ProfessionalId'
        caqh-data:
          type: array
          items:
            $ref: '#/components/schemas/CaqhData'
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        aliasName:
          type: string
        npi:
          type: string
        providerType:
          type: string
        dateOfBirth:
          format: date-time
          type: string
        caqhProviderId:
          type: string
        providerId:
          type: string
        race:
          type: object
        ethnicity:
          type: string
        otherLanguages:
          type: object
        placeOfBirth:
          type: string
        specialty:
          type: object
        secondarySpecialty:
          type: object
        locationId:
          type: string
        sourceOfCreation:
          enum:
            - ORG_ENTITIES
            - ROSTER
            - ''
          type: string
      required:
        - assignedStates
        - organizationId
        - version
        - gender
        - isCurrent
        - states
        - fileType
        - firstName
        - lastName
        - providerType
        - dateOfBirth
        - caqhProviderId
        - providerId
    AssociateEntityProviderDto:
      type: object
      properties:
        editProviderId:
          type: string
        orgEntityLocations:
          type: array
          items:
            type: string
        orgEntityEnrollments:
          type: array
          items:
            type: string
      required:
        - editProviderId
    AssociateEntityProvidersDto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/AssociateEntityProviderDto'
      required:
        - list
    DynamicFieldsDto:
      type: object
      properties: {}
    UpdateDynamicDataDto:
      type: object
      properties:
        subCollectionId:
          type: string
        dynamicFields:
          $ref: '#/components/schemas/DynamicFieldsDto'
      required:
        - dynamicFields
    AssociateFacilityDto:
      type: object
      properties:
        facilityId:
          type: string
      required:
        - facilityId
    AssociateFacilitiesDto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/AssociateFacilityDto'
      required:
        - list
    UpdateSchemaDto:
      type: object
      properties:
        entityType:
          enum:
            - provider
            - org-entity
            - enrollment
            - provider-enrollment
          type: string
        validationSchema:
          type: object
        formReason:
          type: string
      required:
        - entityType
        - validationSchema
        - formReason
    AssociateFacilityV2Dto:
      type: object
      properties:
        facilityId:
          type: string
      required:
        - facilityId
    AssociateFacilitiesV2Dto:
      type: object
      properties:
        list:
          type: array
          items:
            $ref: '#/components/schemas/AssociateFacilityV2Dto'
      required:
        - list
    ClientCredentialsConfigurationDto:
      type: object
      properties:
        client_id:
          type: string
          description: Client ID for OAuth token exchange
          example: my-client-id
        client_secret:
          type: string
          description: Client secret for OAuth token exchange
          example: my-client-secret
        token_url:
          type: string
          description: URL for OAuth token exchange
          example: https://auth.example.com/oauth/token
        scope:
          type: string
          nullable: true
          description: Scope for OAuth token exchange
          example: resource.read
        headers:
          type: object
          nullable: true
          description: >-
            Key-value pairs of custom headers to send in the OAuth token
            exchange request to {token_url}.
          example:
            X-Domain-Name: example.com
      required:
        - client_id
        - client_secret
        - token_url
    WebhookResponseDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the webhook registration
        organization_id:
          type: string
          description: Unique identifier for the client organization
        url:
          type: string
          description: Callback URL to which data should be posted
          example: https://yourdomain.com/webhook-endpoint
        event_types:
          type: array
          description: >-
            Credentialing event(s) that should trigger a post.
                
            Values:

            - IN_PROGRESS: Credentialing is in progress

            - PSV_COMPLETED: Primary source verification completed

            - CREDENTIALING_COMPLETED: Credentialing completed

            - PROVIDER_TERMINATED: Provider terminated

            - FACILITY_NOT_SENT_TO_CREDENTIALING: Facility not sent to
            credentialing

            - FACILITY_IN_PROGRESS: Facility credentialing in progress

            - FACILITY_DATA_MISSING: Facility data missing

            - FACILITY_OUTREACH_IN_PROGRESS: Facility outreach in progress

            - FACILITY_PSV_COMPLETE_BY_CERTIFYOS: Facility PSV complete by
            CertifyOS

            - FACILITY_CREDENTIALING_RESTARTED: Facility credentialing restarted

            - FACILITY_PSV_READY: Facility PSV ready

            - FACILITY_CRED_APPROVED: Facility credentialing approved

            - FACILITY_HOLD_FOR_CRED_COMM: Facility hold for credentialing
            committee

            - FACILITY_CRED_DENIED: Facility credentialing denied

            - FACILITY_TERMINATED: Facility terminated

            - FACILITY_RECREDENTIALING_IN_PROGRESS: Facility recredentialing in
            progress

            - FACILITY_TABLED: Facility tabled

            - FACILITY_WITHDRAWN_CANCELLED: Facility withdrawn or cancelled

            - FACILITY_NOT_STARTED: Facility credentialing not started

            - PROVIDER_NOT_SENT_TO_CREDENTIALING: Provider not sent to
            credentialing

            - PROVIDER_NOT_STARTED: Provider credentialing not started

            - PROVIDER_IN_PROGRESS: Provider credentialing in progress

            - PROVIDER_DATA_MISSING: Provider data missing

            - PROVIDER_OUTREACH_IN_PROGRESS: Provider outreach in progress

            - PROVIDER_PSV_COMPLETED: Provider PSV completed

            - PROVIDER_CREDENTIALING_RESTARTED: Provider credentialing restarted

            - PROVIDER_PSV_READY: Provider PSV ready

            - PROVIDER_CRED_APPROVED: Provider credentialing approved

            - PROVIDER_HOLD_FOR_CRED_COMM: Provider hold for credentialing
            committee

            - PROVIDER_CRED_DENIED: Provider credentialing denied

            - PROVIDER_RECREDENTIALING_IN_PROGRESS: Provider recredentialing in
            progress

            - PROVIDER_TABLED: Provider tabled

            - PROVIDER_WITHDRAWN_CANCELLED: Provider withdrawn or cancelled
          items:
            type: string
            enum:
              - IN_PROGRESS
              - PSV_COMPLETED
              - CREDENTIALING_COMPLETED
              - PROVIDER_TERMINATED
              - FACILITY_NOT_SENT_TO_CREDENTIALING
              - FACILITY_IN_PROGRESS
              - FACILITY_DATA_MISSING
              - FACILITY_OUTREACH_IN_PROGRESS
              - FACILITY_PSV_COMPLETE_BY_CERTIFYOS
              - FACILITY_CREDENTIALING_RESTARTED
              - FACILITY_PSV_READY
              - FACILITY_CRED_APPROVED
              - FACILITY_HOLD_FOR_CRED_COMM
              - FACILITY_CRED_DENIED
              - FACILITY_TERMINATED
              - FACILITY_RECREDENTIALING_IN_PROGRESS
              - FACILITY_TABLED
              - FACILITY_WITHDRAWN_CANCELLED
              - FACILITY_NOT_STARTED
              - PROVIDER_NOT_SENT_TO_CREDENTIALING
              - PROVIDER_NOT_STARTED
              - PROVIDER_IN_PROGRESS
              - PROVIDER_DATA_MISSING
              - PROVIDER_OUTREACH_IN_PROGRESS
              - PROVIDER_PSV_COMPLETED
              - PROVIDER_CREDENTIALING_RESTARTED
              - PROVIDER_PSV_READY
              - PROVIDER_CRED_APPROVED
              - PROVIDER_HOLD_FOR_CRED_COMM
              - PROVIDER_CRED_DENIED
              - PROVIDER_RECREDENTIALING_IN_PROGRESS
              - PROVIDER_TABLED
              - PROVIDER_WITHDRAWN_CANCELLED
              - FORM_SUBMISSION_CREATED
        description:
          type: string
          description: Title/description of the webhook being registered
          example: Provider Created Webhook
        headers:
          type: object
          description: >-
            Key-value pairs of custom static headers sent with the webhook
            requests (e.g., for API keys or tokens). These are masked in the
            response.
          example:
            X-Api-Key: '****'
        oauth_configuration:
          description: >-
            OAuth2 client credentials configuration for token-based
            authentication. These are masked in the response.
          example:
            client_id: my-client-id
            client_secret: '****'
            token_url: https://auth.example.com/oauth/token
          allOf:
            - $ref: '#/components/schemas/ClientCredentialsConfigurationDto'
        created_at:
          type: string
          description: Timestamp when the webhook was created
      required:
        - id
        - organization_id
        - url
        - event_types
        - created_at
    CreateWebhooksDto:
      type: object
      properties:
        url:
          type: string
          description: Callback URL to which data should be posted
          example: https://yourdomain.com/webhook-endpoint
        event_types:
          type: array
          description: >-
            Webhook event(s) that should trigger a post.
                
            Values:

            - IN_PROGRESS: Credentialing is in progress

            - PSV_COMPLETED: Primary source verification completed

            - CREDENTIALING_COMPLETED: Credentialing completed

            - PROVIDER_TERMINATED: Provider terminated

            - FACILITY_NOT_SENT_TO_CREDENTIALING: Facility not sent to
            credentialing

            - FACILITY_IN_PROGRESS: Facility credentialing in progress

            - FACILITY_DATA_MISSING: Facility data missing

            - FACILITY_OUTREACH_IN_PROGRESS: Facility outreach in progress

            - FACILITY_PSV_COMPLETE_BY_CERTIFYOS: Facility PSV complete by
            CertifyOS

            - FACILITY_CREDENTIALING_RESTARTED: Facility credentialing restarted

            - FACILITY_PSV_READY: Facility PSV ready

            - FACILITY_CRED_APPROVED: Facility credentialing approved

            - FACILITY_HOLD_FOR_CRED_COMM: Facility hold for credentialing
            committee

            - FACILITY_CRED_DENIED: Facility credentialing denied

            - FACILITY_TERMINATED: Facility terminated

            - FACILITY_RECREDENTIALING_IN_PROGRESS: Facility recredentialing in
            progress

            - FACILITY_TABLED: Facility tabled

            - FACILITY_WITHDRAWN_CANCELLED: Facility withdrawn or cancelled

            - FACILITY_NOT_STARTED: Facility credentialing not started

            - PROVIDER_NOT_SENT_TO_CREDENTIALING: Provider not sent to
            credentialing

            - PROVIDER_NOT_STARTED: Provider credentialing not started

            - PROVIDER_IN_PROGRESS: Provider credentialing in progress

            - PROVIDER_DATA_MISSING: Provider data missing

            - PROVIDER_OUTREACH_IN_PROGRESS: Provider outreach in progress

            - PROVIDER_PSV_COMPLETED: Provider PSV completed

            - PROVIDER_CREDENTIALING_RESTARTED: Provider credentialing restarted

            - PROVIDER_PSV_READY: Provider PSV ready

            - PROVIDER_CRED_APPROVED: Provider credentialing approved

            - PROVIDER_HOLD_FOR_CRED_COMM: Provider hold for credentialing
            committee

            - PROVIDER_CRED_DENIED: Provider credentialing denied

            - PROVIDER_RECREDENTIALING_IN_PROGRESS: Provider recredentialing in
            progress

            - PROVIDER_TABLED: Provider tabled

            - PROVIDER_WITHDRAWN_CANCELLED: Provider withdrawn or cancelled

            - FORM_SUBMISSION_CREATED: Form submission created
          items:
            type: string
            enum:
              - IN_PROGRESS
              - PSV_COMPLETED
              - CREDENTIALING_COMPLETED
              - PROVIDER_TERMINATED
              - FACILITY_NOT_SENT_TO_CREDENTIALING
              - FACILITY_IN_PROGRESS
              - FACILITY_DATA_MISSING
              - FACILITY_OUTREACH_IN_PROGRESS
              - FACILITY_PSV_COMPLETE_BY_CERTIFYOS
              - FACILITY_CREDENTIALING_RESTARTED
              - FACILITY_PSV_READY
              - FACILITY_CRED_APPROVED
              - FACILITY_HOLD_FOR_CRED_COMM
              - FACILITY_CRED_DENIED
              - FACILITY_TERMINATED
              - FACILITY_RECREDENTIALING_IN_PROGRESS
              - FACILITY_TABLED
              - FACILITY_WITHDRAWN_CANCELLED
              - FACILITY_NOT_STARTED
              - PROVIDER_NOT_SENT_TO_CREDENTIALING
              - PROVIDER_NOT_STARTED
              - PROVIDER_IN_PROGRESS
              - PROVIDER_DATA_MISSING
              - PROVIDER_OUTREACH_IN_PROGRESS
              - PROVIDER_PSV_COMPLETED
              - PROVIDER_CREDENTIALING_RESTARTED
              - PROVIDER_PSV_READY
              - PROVIDER_CRED_APPROVED
              - PROVIDER_HOLD_FOR_CRED_COMM
              - PROVIDER_CRED_DENIED
              - PROVIDER_RECREDENTIALING_IN_PROGRESS
              - PROVIDER_TABLED
              - PROVIDER_WITHDRAWN_CANCELLED
              - FORM_SUBMISSION_CREATED
        description:
          type: string
          description: Title/description of the webhook being registered
          example: Provider Created Webhook
        headers:
          type: object
          description: >-
            Key-value pairs of custom static headers sent with the webhook
            requests (e.g., for API keys or tokens). To send headers in the
            OAuth token exchange, set the oauth_configuration.headers property.
          example:
            X-Api-Key: abcdef123456
        oauth_configuration:
          description: >-
            OAuth2 client credentials configuration for token-based
            authentication.
          example:
            client_id: my-client-id
            client_secret: my-client-secret
            token_url: https://auth.example.com/oauth/token
          allOf:
            - $ref: '#/components/schemas/ClientCredentialsConfigurationDto'
      required:
        - url
        - event_types
    CreateWebhookResponseDto:
      type: object
      properties:
        id:
          type: string
      required:
        - id
    RemoveWebhooksDto:
      type: object
      properties:
        id:
          type: string
          description: ID assigned to the Webhook
      required:
        - id
    CreateWebhookTestEventDto:
      type: object
      properties:
        message:
          type: string
          description: Message to include in the test event sent to the webhook
        eventType:
          enum:
            - IN_PROGRESS
            - PSV_COMPLETED
            - CREDENTIALING_COMPLETED
            - PROVIDER_TERMINATED
            - FACILITY_NOT_SENT_TO_CREDENTIALING
            - FACILITY_IN_PROGRESS
            - FACILITY_DATA_MISSING
            - FACILITY_OUTREACH_IN_PROGRESS
            - FACILITY_PSV_COMPLETE_BY_CERTIFYOS
            - FACILITY_CREDENTIALING_RESTARTED
            - FACILITY_PSV_READY
            - FACILITY_CRED_APPROVED
            - FACILITY_HOLD_FOR_CRED_COMM
            - FACILITY_CRED_DENIED
            - FACILITY_TERMINATED
            - FACILITY_RECREDENTIALING_IN_PROGRESS
            - FACILITY_TABLED
            - FACILITY_WITHDRAWN_CANCELLED
            - FACILITY_NOT_STARTED
            - PROVIDER_NOT_SENT_TO_CREDENTIALING
            - PROVIDER_NOT_STARTED
            - PROVIDER_IN_PROGRESS
            - PROVIDER_DATA_MISSING
            - PROVIDER_OUTREACH_IN_PROGRESS
            - PROVIDER_PSV_COMPLETED
            - PROVIDER_CREDENTIALING_RESTARTED
            - PROVIDER_PSV_READY
            - PROVIDER_CRED_APPROVED
            - PROVIDER_HOLD_FOR_CRED_COMM
            - PROVIDER_CRED_DENIED
            - PROVIDER_RECREDENTIALING_IN_PROGRESS
            - PROVIDER_TABLED
            - PROVIDER_WITHDRAWN_CANCELLED
            - FORM_SUBMISSION_CREATED
          type: string
          description: Event type for the test event sent to the webhook
      required:
        - message
        - eventType
    CreateFormSubmissionDto:
      type: object
      properties:
        data:
          type: object
          description: >-
            A flexible object for storing any data related to a form submission.
            This can include details about the form, the submitted data, and
            metadata about the submission process.
      required:
        - data
    FormSubmissionSubmittedByResponseDto:
      type: object
      properties:
        email:
          type: string
          description: The email of the user who submitted the form.
        user:
          type: object
          description: The user information of the person who submitted the form.
      required:
        - email
    FormSubmissionResponseDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the form submission.
          example: d453006f-30e2-4a01-841d-962579531c25
        organizationId:
          type: string
          description: The unique identifier for the client organization within Certify.
        mappedData:
          type: object
          example:
            personalInformation:
              lastName: Smith
              firstName: Karen
              middleName: Ann
              suffix: Jr.
              npi: 1010000226
              caqhId: 12345678
              dateOfBirth: '1961-04-26'
              highmarkId: '123456789'
              practitionerType: Medical Doctor
              degree: Medical Doctor
              primarySpecialty: Internal Medicine
              primarySpecialtyRole: PCP
              secondarySpecialty: Infectious Disease
              secondarySpecialtyRole: Specialist
              credentialingContactEmailAddress: credentialing@altoonaprimarycare.com
              credentialingContactName: John Doe
            primaryPracticeLocation:
              buildingLocation: Altoona Medical Suites
              groupNpi: 1010000655
              addressLine1: Address Line 1
              addressLine2: Address Line 2
              city: Altoona
              state: PA
              zip: '16601'
              zipExt: '1234'
              county: Blair County
              fips: '42013'
            credentialingAddress:
              sameAsPrimaryPracticeLocation: true
              buildingLocation: Altoona Medical Suites
              addressLine1: Address Line 1
              addressLine2: Address Line 2
              city: Altoona
              state: PA
              zip: '16601'
              zipExt: '1234'
              county: Blair County
              fips: '42013'
              phoneNumber: 555-555-5555
              phoneExtension: '123'
          description: >-
            The mapped responses for the form submission. The structure of this
            object is flexible and can vary based on the form and its fields.
            Please request the specific structure from the Certify team if
            needed.
        submissionData:
          type: object
          description: >-
            The raw responses for the form submission. The structure of this
            object is flexible and can vary based on the form and its fields.
            Please request the specific structure from the Certify team if
            needed.
        submissionPdf:
          type: object
          description: The PDF document of the form submission, if available.
        submittedBy:
          description: The flexible data object containing the submitted by information.
          allOf:
            - $ref: '#/components/schemas/FormSubmissionSubmittedByResponseDto'
        form:
          type: object
          description: Information about the form associated with the submission.
        formVersionId:
          type: string
          description: The id of the version of the form used for this submission.
          example: e4dea7d7-6023-4c64-b0f1-777dd0266a02
        createdAt:
          type: string
          description: The date and time when the form submission was created
          example: '2025-01-01T12:00:00Z'
        createdBy:
          type: string
          description: The identifier of the user or system that created the submission.
        updatedAt:
          type: string
          description: The date and time when the form submission was last updated
          example: '2025-01-01T12:00:00Z'
      required:
        - createdAt
        - createdBy
        - updatedAt
    FacilitiesFilterDto:
      type: object
      properties:
        offset:
          type: number
          default: 0
          minimum: 0
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
        limit:
          type: number
          default: 10
          description: The maximum number of records to retrieve in a single request.
        facilityName:
          type: string
        tin:
          type: string
        npi:
          type: string
        credentialingStatus:
          type: string
        credentialingDateStart:
          format: date-time
          type: string
        credentialingDateEnd:
          format: date-time
          type: string
        assignedTo:
          type: string
        nextCredentialingDateStart:
          format: date-time
          type: string
        nextCredentialingDateEnd:
          format: date-time
          type: string
        credentialingCycle:
          enum:
            - Initial
            - Recredentialing
          type: string
        externalId:
          type: string
        fileType:
          type: string
        dba:
          type: string
        includeTerminatedFacilities:
          type: boolean
          default: false
    CreateFacilityCredentialingWorkflowDto:
      type: object
      properties:
        facilityIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FacilitiesFilterDto'
      required:
        - facilityIds
    DeleteFacilityCredentialingWorkflowDto:
      type: object
      properties:
        reason:
          type: string
    MoveBulkFacilityCredWorkflowsFromPsvReadyToCredCommitteeDto:
      type: object
      properties:
        facilityIds:
          type: array
          items:
            type: string
      required:
        - facilityIds
    AssignFacilityWorkflowDto:
      type: object
      properties:
        userIds:
          type: array
          items:
            type: string
        workflowIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FacilitiesFilterDto'
      required:
        - userIds
        - workflowIds
        - filters
    AssignFacilityWorkflowToMeDto:
      type: object
      properties:
        workflowIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FacilitiesFilterDto'
      required:
        - workflowIds
        - filters
    UnassignFacilityWorkflowsDto:
      type: object
      properties:
        workflowIds:
          type: array
          items:
            type: string
        filters:
          $ref: '#/components/schemas/FacilitiesFilterDto'
      required:
        - workflowIds
        - filters
    FacilityStateLicenseDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        licenseType:
          type: string
          description: Type of license
          enum:
            - State License
            - Business Permit
            - Occupational License
            - Medical gas permit
          example: State License
        source:
          type: string
          description: Source of license verification (licensing authority)
          example: Utah Department of Health and Human Services
        licenseNumber:
          type: string
          description: License number issued by the licensing authority
          example: F23-100000
        status:
          type: string
          description: Status of the license (e.g., "Active", "Expired")
          enum:
            - Active
            - Inactive
            - Expired
            - Retired
            - Revoked
            - Lapsed
            - Probation
            - Surrendered
            - Suspended
          example: Active
        issueDate:
          format: date
          type: string
          description: Date when the state license was issued
        expirationDate:
          format: date
          type: string
          description: Date when the state license expires
      required:
        - licenseType
        - source
        - licenseNumber
        - status
        - expirationDate
    FacilitySupportingDocumentDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        name:
          type: string
        lastModified:
          format: date-time
          type: string
        type:
          type: string
      required:
        - name
        - lastModified
        - type
    AccreditationDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        accreditationBody:
          type: string
          default: ''
        applicable:
          type: string
        status:
          type: string
          description: Accreditation status
          enum:
            - Accredited
            - Not Accredited
          example: Accredited
        effectiveDate:
          format: date-time
          type: string
        expirationDate:
          format: date-time
          type: string
      required:
        - accreditationBody
        - applicable
        - status
        - effectiveDate
    OnSiteReviewDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        applicable:
          type: string
          description: Whether on-site review is applicable
          enum:
            - 'Yes'
            - 'No'
            - N/A
          example: 'Yes'
        source:
          type: string
        grade:
          type: string
      required:
        - applicable
        - source
    CertificationsDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        source:
          type: string
        types:
          type: string
        certificateType:
          type: string
          default: CLIA
          enum:
            - State Survey
            - CLIA
            - CMS
            - CDS
            - DEA
            - N/A
          description: Type of certification
          example: CLIA
        number:
          type: string
        issueDate:
          format: date-time
          type: string
        expirationDate:
          format: date-time
          type: string
    NpdbDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        applicable:
          type: string
          description: Whether NPDB check is applicable
          enum:
            - 'Yes'
            - 'No'
            - N/A
          example: 'Yes'
        source:
          type: string
        typeOfAction:
          type: string
          description: Type of NPDB action
          enum:
            - No Action
            - Medical Malpractice Payment
            - Health Plan
            - State Licensure/Certification
            - Professional Society
            - Exclusion/Debarment
            - DEA/Federal Licensure
            - Government Administrative
            - Judgement/Conviction
            - Clinical Privileges
            - Peer Review Organization
          example: No Action
        reportResults:
          type: string
          default: No Report Found
          enum:
            - Adverse Action Report
            - Medical Malpractice Payment Report
            - No Report Found
          description: NPDB report results
          example: No Report Found
        reportDate:
          format: date-time
          type: string
        processDate:
          format: date-time
          type: string
      required:
        - applicable
        - source
        - typeOfAction
        - reportDate
        - processDate
    SanctionsDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        sanctionType:
          type: string
        source:
          type: string
        reportResults:
          type: string
      required:
        - sanctionType
        - source
        - reportResults
    FacilityPerformanceIndicatorDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        applicable:
          type: string
          description: Whether performance indicator is applicable
          enum:
            - 'Yes'
            - 'No'
            - N/A
          example: 'Yes'
        complaints:
          type: string
        clinical:
          type: string
        benefits:
          type: string
        claims:
          type: string
        accessIssues:
          type: string
      required:
        - applicable
        - complaints
        - clinical
        - benefits
        - claims
        - accessIssues
    InsuranceDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        policyNumber:
          type: string
          description: Insurance policy number
        source:
          type: string
          description: Insurance carrier/company name
        insuranceType:
          type: string
          description: Type of insurance
          enum:
            - General Liability
            - Professional Liability
          example: Professional Liability
        expirationDate:
          format: date
          type: string
          description: Date when the insurance policy expires
      required:
        - policyNumber
        - source
        - insuranceType
        - expirationDate
    AppVerificationDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        explanation:
          type: string
        source:
          type: string
        verificationType:
          type: string
    MedicareStarRatingDto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        starRating:
          type: string
        reportDate:
          format: date-time
          type: string
        source:
          type: string
    CreateFacilityDto:
      type: object
      properties:
        name:
          type: string
          maxLength: 128
          description: Legal name of the facility
        dba:
          type: string
          description: Doing Business As (DBA) name or trade name of the facility
        type:
          type: string
          description: Type of facility
          example: Ambulatory Surgery Centers
        tin:
          type: string
          description: Tax Identification Number (TIN) for the facility
        medicareNumber:
          type: string
        medicaidNumber:
          type: string
        address:
          type: string
          description: Street address of the facility (Line 1)
        city:
          type: string
          description: City where the facility is located
          example: Saint George
        zipcode:
          type: string
          description: ZIP code of the facility location
          example: '90210'
        contactName:
          type: string
          description: Name of the primary contact person for the facility
        contactPhone:
          type: string
          description: Primary contact phone number for the facility
          example: '8000001234'
        contactEmail:
          type: string
          description: Primary contact email address for the facility (email format)
        contactFax:
          type: string
          description: Contact fax number for the facility (optional)
          example: '8000001234'
        state:
          type: string
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
          description: State where the facility is located (2-letter state code)
          example: CA
        fileType:
          type: string
          description: File processing status for the facility record
          enum:
            - Clean
            - Non_Clean
            - Pending
          example: Clean
        npi:
          type: string
          description: National Provider Identifier (NPI) - 10-digit identifier
        externalId:
          type: string
          description: External identifier for the facility from external systems
          example: V2222L00000
        skipOnSiteReview:
          type: boolean
        stateLicenses:
          type: array
          items:
            $ref: '#/components/schemas/FacilityStateLicenseDto'
        facilitySupportingDocuments:
          type: array
          items:
            $ref: '#/components/schemas/FacilitySupportingDocumentDto'
        accreditations:
          type: array
          items:
            $ref: '#/components/schemas/AccreditationDto'
        siteVisits:
          type: array
          items:
            $ref: '#/components/schemas/OnSiteReviewDto'
        certifications:
          type: array
          items:
            $ref: '#/components/schemas/CertificationsDto'
        npdb:
          type: array
          items:
            $ref: '#/components/schemas/NpdbDto'
        sanctions:
          type: array
          items:
            $ref: '#/components/schemas/SanctionsDto'
        perfIndicator:
          type: array
          items:
            $ref: '#/components/schemas/FacilityPerformanceIndicatorDto'
        liabilityInsurances:
          type: array
          items:
            $ref: '#/components/schemas/InsuranceDto'
        lastCredentialingDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        facilitySpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityPrimarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        appVerifications:
          type: array
          items:
            $ref: '#/components/schemas/AppVerificationDto'
        medicareStarRatings:
          type: array
          items:
            $ref: '#/components/schemas/MedicareStarRatingDto'
        linesOfBusiness:
          items:
            type: array
          type: array
      required:
        - name
        - dba
        - type
        - tin
        - address
        - city
        - zipcode
        - contactName
        - contactPhone
        - contactEmail
        - contactFax
        - state
        - skipOnSiteReview
        - stateLicenses
        - facilitySupportingDocuments
        - accreditations
        - siteVisits
        - certifications
        - npdb
        - sanctions
        - perfIndicator
        - liabilityInsurances
        - medicareStarRatings
    CreateFacilityByWebhookDto:
      type: object
      properties:
        name:
          type: string
          maxLength: 128
          description: Legal name of the facility
        dba:
          type: string
          description: Doing Business As (DBA) name or trade name of the facility
        type:
          type: string
          description: Type of facility
          example: Ambulatory Surgery Centers
        tin:
          type: string
          description: Tax Identification Number (TIN) for the facility
        medicareNumber:
          type: string
        medicaidNumber:
          type: string
        address:
          type: string
          description: Street address of the facility (Line 1)
        city:
          type: string
          description: City where the facility is located
          example: Saint George
        zipcode:
          type: string
          description: ZIP code of the facility location
          example: '90210'
        contactName:
          type: string
          description: Name of the primary contact person for the facility
        contactPhone:
          type: string
          description: Primary contact phone number for the facility
          example: '8000001234'
        contactEmail:
          type: string
          description: Primary contact email address for the facility (email format)
        contactFax:
          type: string
          description: Contact fax number for the facility (optional)
          example: '8000001234'
        state:
          type: string
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
          description: State where the facility is located (2-letter state code)
          example: CA
        fileType:
          type: string
          description: File processing status for the facility record
          enum:
            - Clean
            - Non_Clean
            - Pending
          example: Clean
        npi:
          type: string
          description: National Provider Identifier (NPI) - 10-digit identifier
        externalId:
          type: string
          description: External identifier for the facility from external systems
          example: V2222L00000
        skipOnSiteReview:
          type: boolean
        stateLicenses:
          type: array
          items:
            $ref: '#/components/schemas/FacilityStateLicenseDto'
        facilitySupportingDocuments:
          type: array
          items:
            $ref: '#/components/schemas/FacilitySupportingDocumentDto'
        accreditations:
          type: array
          items:
            $ref: '#/components/schemas/AccreditationDto'
        siteVisits:
          type: array
          items:
            $ref: '#/components/schemas/OnSiteReviewDto'
        certifications:
          type: array
          items:
            $ref: '#/components/schemas/CertificationsDto'
        npdb:
          type: array
          items:
            $ref: '#/components/schemas/NpdbDto'
        sanctions:
          type: array
          items:
            $ref: '#/components/schemas/SanctionsDto'
        perfIndicator:
          type: array
          items:
            $ref: '#/components/schemas/FacilityPerformanceIndicatorDto'
        liabilityInsurances:
          type: array
          items:
            $ref: '#/components/schemas/InsuranceDto'
        lastCredentialingDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        facilitySpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityPrimarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        appVerifications:
          type: array
          items:
            $ref: '#/components/schemas/AppVerificationDto'
        medicareStarRatings:
          type: array
          items:
            $ref: '#/components/schemas/MedicareStarRatingDto'
        linesOfBusiness:
          items:
            type: array
          type: array
        surveyResponse:
          type: object
      required:
        - name
        - dba
        - type
        - tin
        - address
        - city
        - zipcode
        - contactName
        - contactPhone
        - contactEmail
        - contactFax
        - state
        - skipOnSiteReview
        - stateLicenses
        - facilitySupportingDocuments
        - accreditations
        - siteVisits
        - certifications
        - npdb
        - sanctions
        - perfIndicator
        - liabilityInsurances
        - medicareStarRatings
    Facility:
      type: object
      properties:
        name:
          type: string
        address:
          type: string
        city:
          type: string
        organizationId:
          type: string
        zipcode:
          type: string
        contactName:
          type: string
        contactPhone:
          type: string
        contactEmail:
          type: string
        contactFax:
          type: string
        contractEntity:
          type: string
        credentialingStartDate:
          format: date-time
          type: string
        attestationDate:
          format: date-time
          type: string
        lastCredentialingDate:
          format: date-time
          type: string
        psvCompleteDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        credentialingDecisionDate:
          format: date-time
          type: string
        medicalDirectorId:
          type: string
        medicalDirectorName:
          type: string
        type:
          type: string
        state:
          type: string
        tin:
          type: string
        npi:
          type: string
        externalId:
          type: string
        fileType:
          type: object
        surveyResponse:
          type: object
        tins:
          default: []
          type: array
          items:
            type: object
        skipOnSiteReview:
          type: boolean
        providers:
          default: []
          type: array
          items:
            type: object
        practiceLicense:
          default: []
          type: array
          items:
            type: object
        businessLicense:
          default: []
          type: array
          items:
            type: object
        accreditations:
          default: []
          type: array
          items:
            type: object
        onsiteReviews:
          default: []
          type: array
          items:
            type: object
        certifications:
          default: []
          type: array
          items:
            type: object
        licensureActions:
          default: []
          type: array
          items:
            type: object
        sanctions:
          default: []
          type: array
          items:
            type: object
        liabilityInsurances:
          default: []
          type: array
          items:
            type: object
        npdb:
          default: []
          type: array
          items:
            type: object
        siteVisits:
          default: []
          type: array
          items:
            type: object
        perfIndicator:
          default: []
          type: array
          items:
            type: object
        stateLicenses:
          default: []
          type: array
          items:
            type: object
        deas:
          default: []
          type: array
          items:
            type: object
        credentialingStatus:
          type: string
        facilitySupportingDocuments:
          default: []
          type: array
          items:
            type: object
        timelines:
          default: []
          type: array
          items:
            type: object
        credentialingWorkflowTimeline:
          $ref: '#/components/schemas/CredentialingWorkflowTimeline'
        orgEntities:
          type: array
          items:
            type: string
        appVerifications:
          default: []
          type: array
          items:
            type: object
        medicareStarRatings:
          default: []
          type: array
          items:
            type: object
        nppes:
          default: []
          type: array
          items:
            type: object
        medicaidNumber:
          type: string
        medicareNumber:
          type: string
        facilityStatus:
          type: object
        terminatedAt:
          format: date-time
          type: string
        terminatedBy:
          type: string
        unterminatedAt:
          format: date-time
          type: string
        linesOfBusiness:
          type: array
          items:
            type: string
            enum:
              - Medicare
              - Medicaid
              - Commercial
        dba:
          type: string
        facilityId:
          type: string
        id:
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
      required:
        - name
        - address
        - city
        - organizationId
        - zipcode
        - contactName
        - contactPhone
        - contactEmail
        - contactFax
        - contractEntity
        - type
        - state
        - tin
        - npi
        - fileType
        - tins
        - skipOnSiteReview
        - providers
        - practiceLicense
        - businessLicense
        - accreditations
        - onsiteReviews
        - certifications
        - licensureActions
        - sanctions
        - liabilityInsurances
        - npdb
        - siteVisits
        - perfIndicator
        - stateLicenses
        - deas
        - credentialingStatus
        - facilitySupportingDocuments
        - timelines
        - medicareStarRatings
        - dba
        - facilityId
    TerminateFacilityDto:
      type: object
      properties:
        facilityIds:
          type: array
          items:
            type: string
        reason:
          type: string
        filters:
          $ref: '#/components/schemas/FacilitiesFilterDto'
      required:
        - facilityIds
        - reason
        - filters
    UnterminateFacilityDto:
      type: object
      properties:
        facilityIds:
          type: array
          items:
            type: string
        reason:
          type: string
        filters:
          $ref: '#/components/schemas/FacilitiesFilterDto'
      required:
        - facilityIds
        - reason
        - filters
    UpdateFacilityDto:
      type: object
      properties:
        name:
          type: string
          maxLength: 128
          description: Legal name of the facility
        dba:
          type: string
          description: Doing Business As (DBA) name or trade name of the facility
        type:
          type: string
          description: Type of facility
          example: Ambulatory Surgery Centers
        tin:
          type: string
          description: Tax Identification Number (TIN) for the facility
        medicareNumber:
          type: string
        medicaidNumber:
          type: string
        address:
          type: string
          description: Street address of the facility (Line 1)
        city:
          type: string
          description: City where the facility is located
          example: Saint George
        zipcode:
          type: string
          description: ZIP code of the facility location
          example: '90210'
        contactName:
          type: string
          description: Name of the primary contact person for the facility
        contactPhone:
          type: string
          description: Primary contact phone number for the facility
          example: '8000001234'
        contactEmail:
          type: string
          description: Primary contact email address for the facility (email format)
        contactFax:
          type: string
          description: Contact fax number for the facility (optional)
          example: '8000001234'
        state:
          type: string
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
          description: State where the facility is located (2-letter state code)
          example: CA
        fileType:
          type: string
          description: File processing status for the facility record
          enum:
            - Clean
            - Non_Clean
            - Pending
          example: Clean
        npi:
          type: string
          description: National Provider Identifier (NPI) - 10-digit identifier
        externalId:
          type: string
          description: External identifier for the facility from external systems
          example: V2222L00000
        skipOnSiteReview:
          type: boolean
        stateLicenses:
          type: array
          items:
            $ref: '#/components/schemas/FacilityStateLicenseDto'
        facilitySupportingDocuments:
          type: array
          items:
            $ref: '#/components/schemas/FacilitySupportingDocumentDto'
        accreditations:
          type: array
          items:
            $ref: '#/components/schemas/AccreditationDto'
        siteVisits:
          type: array
          items:
            $ref: '#/components/schemas/OnSiteReviewDto'
        certifications:
          type: array
          items:
            $ref: '#/components/schemas/CertificationsDto'
        npdb:
          type: array
          items:
            $ref: '#/components/schemas/NpdbDto'
        sanctions:
          type: array
          items:
            $ref: '#/components/schemas/SanctionsDto'
        perfIndicator:
          type: array
          items:
            $ref: '#/components/schemas/FacilityPerformanceIndicatorDto'
        liabilityInsurances:
          type: array
          items:
            $ref: '#/components/schemas/InsuranceDto'
        lastCredentialingDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        facilitySpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityPrimarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        appVerifications:
          type: array
          items:
            $ref: '#/components/schemas/AppVerificationDto'
        medicareStarRatings:
          type: array
          items:
            $ref: '#/components/schemas/MedicareStarRatingDto'
        linesOfBusiness:
          items:
            type: string
          type: array
        credentialingStatus:
          type: string
        credentialingStartDate:
          format: date-time
          type: string
        psvCompleteDate:
          format: date-time
          type: string
        credentialingDecisionDate:
          format: date-time
          type: string
        attestationDate:
          format: date-time
          type: string
        medicalDirectorId:
          type: string
    UpdateStatusDto:
      type: object
      properties:
        status:
          type: string
      required:
        - status
    FacilityProviderV2Dto:
      type: object
      properties:
        id:
          type: string
        npi:
          type: string
        name:
          type: string
        type:
          type: string
          description: Provider type/credential
          enum:
            - AA
            - ABA
            - ACU
            - ADC
            - APN
            - AT
            - ATR
            - AUD
            - BCaBA
            - BCBA
            - BSW
            - BT
            - CBHT
            - CMHC
            - CNS
            - CP
            - CPsyD
            - CphT
            - CRNA
            - CSP
            - CSW
            - CTRS
            - DC
            - DDS
            - DMD
            - DO
            - DPM
            - DT
            - EMT
            - GC
            - HOS
            - IBCLC
            - LBHC
            - LCSW
            - LMHC
            - LN
            - LP
            - LPC
            - LPN
            - LPT
            - LactCon
            - MA
            - MD
            - MFT
            - MT
            - MW
            - ND
            - NEU
            - NMW
            - NP
            - OA
            - OD
            - OPT
            - OT
            - OTA
            - PA
            - PC
            - PDH
            - PHA
            - PHD
            - PSW
            - PT
            - PTA
            - PTNL
            - RDH
            - RDN
            - RN
            - RNFA
            - RPSGT
            - RT
            - Rph
            - SA
            - SW
          example: MD
        verified_by:
          type: string
        verified_date:
          type: string
          example: YYYY-MM-DD
      required:
        - id
        - npi
        - name
        - type
        - verified_by
        - verified_date
    PracticeLicenseV2Dto:
      type: object
      properties:
        id:
          type: string
        state:
          type: string
          description: US state or territory where practice license is issued
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
          example: CA
        expirationDate:
          format: date-time
          type: string
        type:
          type: string
          description: Type of practice license
          enum:
            - State License
            - Business Permit
            - Occupational License
            - Medical gas permit
          example: State License
        status:
          type: string
          description: Current status of the practice license
          enum:
            - Active
            - Inactive
            - Expired
            - Retired
            - Revoked
            - Lapsed
            - Probation
            - Surrendered
            - Suspended
          example: Active
        license:
          type: string
        source:
          type: string
          description: Source of practice license verification
        verified_by:
          type: string
          description: Name of the person who verified this practice license information
        verified_date:
          type: string
          description: Date when this practice license information was verified
          example: YYYY-MM-DD
        issueDate:
          format: date-time
          type: string
      required:
        - id
        - state
        - expirationDate
        - type
        - status
        - license
        - source
        - verified_by
        - verified_date
        - issueDate
    BusinessLicenseV2Dto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Business name as registered
        entity:
          type: string
          description: Business entity type
        city:
          type: string
        type:
          type: string
        incorporationDate:
          type: string
          description: Date when the business was incorporated
          format: date
        verified_by:
          type: string
          description: Name of the person who verified this business license information
          example: John Doe
        verified_date:
          type: string
          description: Date when this business license information was verified
          example: YYYY-MM-DD
      required:
        - id
        - name
        - entity
        - city
        - type
        - incorporationDate
        - verified_by
        - verified_date
    DEADto:
      type: object
      properties:
        id:
          type: string
        action:
          type: string
          default: updated
          enum:
            - updated
            - created
            - deleted
        isUpdated:
          type: boolean
        state:
          type: string
          description: State where DEA license is issued
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
          example: CA
        deaNumber:
          type: string
        providerType:
          type: string
        status:
          type: string
          description: Status of the DEA license
          enum:
            - Active
            - Inactive
          example: Active
        source:
          type: string
        expirationDate:
          format: date-time
          type: string
      required:
        - state
        - deaNumber
        - providerType
        - status
        - source
        - expirationDate
    TimelineV2Dto:
      type: object
      properties:
        id:
          type: string
        enteredAt:
          format: date-time
          type: string
        title:
          type: string
        verified_by:
          type: string
        verified_date:
          type: string
          example: YYYY-MM-DD
      required:
        - id
        - enteredAt
        - title
        - verified_by
        - verified_date
    FacilityResponseV2Dto:
      type: object
      properties:
        name:
          type: string
          maxLength: 128
          description: Legal name of the facility
        dba:
          type: string
          description: Doing Business As (DBA) name or trade name of the facility
        type:
          type: string
          description: Type of facility
          example: Ambulatory Surgery Centers
        tin:
          type: string
          description: Tax Identification Number (TIN) for the facility
        medicareNumber:
          type: string
        medicaidNumber:
          type: string
        address:
          type: string
          description: Street address of the facility (Line 1)
        city:
          type: string
          description: City where the facility is located
          example: Saint George
        zipcode:
          type: string
          description: ZIP code of the facility location
          example: '90210'
        contactName:
          type: string
          description: Name of the primary contact person for the facility
        contactPhone:
          type: string
          description: Primary contact phone number for the facility
          example: '8000001234'
        contactEmail:
          type: string
          description: Primary contact email address for the facility (email format)
        contactFax:
          type: string
          description: Contact fax number for the facility (optional)
          example: '8000001234'
        state:
          type: string
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
          description: State where the facility is located (2-letter state code)
          example: CA
        fileType:
          type: string
          description: File processing status for the facility record
          enum:
            - Clean
            - Non_Clean
            - Pending
          example: Clean
        npi:
          type: string
          description: National Provider Identifier (NPI) - 10-digit identifier
        externalId:
          type: string
          description: External identifier for the facility from external systems
          example: V2222L00000
        skipOnSiteReview:
          type: boolean
        stateLicenses:
          type: array
          items:
            $ref: '#/components/schemas/FacilityStateLicenseDto'
        facilitySupportingDocuments:
          type: array
          items:
            $ref: '#/components/schemas/FacilitySupportingDocumentDto'
        accreditations:
          type: array
          items:
            $ref: '#/components/schemas/AccreditationDto'
        siteVisits:
          type: array
          items:
            $ref: '#/components/schemas/OnSiteReviewDto'
        certifications:
          type: array
          items:
            $ref: '#/components/schemas/CertificationsDto'
        npdb:
          type: array
          items:
            $ref: '#/components/schemas/NpdbDto'
        sanctions:
          type: array
          items:
            $ref: '#/components/schemas/SanctionsDto'
        perfIndicator:
          type: array
          items:
            $ref: '#/components/schemas/FacilityPerformanceIndicatorDto'
        liabilityInsurances:
          type: array
          items:
            $ref: '#/components/schemas/InsuranceDto'
        lastCredentialingDate:
          format: date
          type: string
          description: Date the facility was last credentialed
        nextCredentialingDate:
          format: date
          type: string
          description: Date when the facility is due for re-credentialing
        facilitySpecialties:
          type: array
          items:
            $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityPrimarySpecialty:
          $ref: '#/components/schemas/CreateSpecialtiesDto'
        facilityHsdSpecialty:
          $ref: '#/components/schemas/HsdSpecialty'
        appVerifications:
          type: array
          items:
            $ref: '#/components/schemas/AppVerificationDto'
        medicareStarRatings:
          type: array
          items:
            $ref: '#/components/schemas/MedicareStarRatingDto'
        linesOfBusiness:
          items:
            type: array
          type: array
        organizationId:
          type: string
        contractEntity:
          type: string
        credentialingStartDate:
          format: date
          type: string
          description: Date the facility was received for credentialing
        attestationDate:
          format: date
          type: string
          description: Date when facility attestation was completed
        psvCompleteDate:
          format: date-time
          type: string
        credentialingDecisionDate:
          format: date-time
          type: string
        medicalDirectorId:
          type: string
        medicalDirectorName:
          type: string
        id:
          type: string
        createdAt:
          format: date-time
          type: string
          example: YYYY-MM-DD
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
          example: YYYY-MM-DD
        updatedBy:
          type: string
        updatedByName:
          type: string
        surveyResponse:
          type: array
          items:
            type: object
        providers:
          type: array
          items:
            $ref: '#/components/schemas/FacilityProviderV2Dto'
        practiceLicense:
          type: array
          items:
            $ref: '#/components/schemas/PracticeLicenseV2Dto'
        businessLicense:
          type: array
          items:
            $ref: '#/components/schemas/BusinessLicenseV2Dto'
        onsiteReviews:
          type: array
          items:
            $ref: '#/components/schemas/OnSiteReviewDto'
        licensureActions:
          type: array
          items:
            type: object
        deas:
          type: array
          items:
            $ref: '#/components/schemas/DEADto'
        credentialingStatus:
          type: string
          description: Current credentialing status of the facility
          enum:
            - Not sent to credentialing
            - Not Started
            - In Progress
            - Data missing
            - Outreach in progress
            - PSV complete by CertifyOS
            - Credentialing restarted
            - PSV ready
            - Cred approved
            - Hold for Cred Comm
            - Cred denied
            - Facility Terminated
            - Recredentialing in progress
            - Tabled
            - Withdrawn/Cancelled
          example: In Progress
        timelines:
          type: array
          items:
            $ref: '#/components/schemas/TimelineV2Dto'
      required:
        - name
        - dba
        - type
        - tin
        - address
        - city
        - zipcode
        - contactName
        - contactPhone
        - contactEmail
        - contactFax
        - state
        - skipOnSiteReview
        - stateLicenses
        - facilitySupportingDocuments
        - accreditations
        - siteVisits
        - certifications
        - npdb
        - sanctions
        - perfIndicator
        - liabilityInsurances
        - lastCredentialingDate
        - nextCredentialingDate
        - medicareStarRatings
        - organizationId
        - contractEntity
        - credentialingStartDate
        - attestationDate
        - psvCompleteDate
        - credentialingDecisionDate
        - medicalDirectorId
        - medicalDirectorName
        - id
        - createdAt
        - createdBy
        - createdByName
        - updatedAt
        - updatedBy
        - updatedByName
        - surveyResponse
        - providers
        - practiceLicense
        - businessLicense
        - onsiteReviews
        - licensureActions
        - deas
        - credentialingStatus
        - timelines
    PaginatedFacilityV2ResponseDto:
      type: object
      properties:
        data:
          description: Array of facility objects
          type: array
          items:
            $ref: '#/components/schemas/FacilityResponseV2Dto'
        count:
          type: number
          description: Total number of facilities
          example: 528
        ids:
          type: array
          nullable: true
          description: Array of specific facility IDs (when filtering)
      required:
        - data
        - count
    FilterFacilityV2Dto:
      type: object
      properties:
        offset:
          type: number
          default: 0
          minimum: 0
          description: >-
            The starting index for pagination, specifying how many records to
            skip.
        limit:
          type: number
          default: 10
          description: The maximum number of records to retrieve in a single request.
        file_type:
          type: string
          description: >-
            File Type of the facility to filter by to be terminated. (Effective
            only when no facility_ids are being passed and filters are used for
            query instead, but we need to pass the value in every case to make
            the api request)
          enum:
            - Clean
            - Non_Clean
            - Pending
        start_updated_at:
          format: date-time
          type: string
          description: Filter facility that are created or updated >= specified date.
        end_updated_at:
          format: date-time
          type: string
          description: Filter providers that are created or updated < specified date.
    TerminateFacilityV2Dto:
      type: object
      properties:
        facility_ids:
          description: >-
            Facility ids to be terminated in comma separated strings within the
            array.
          type: array
          items:
            type: string
        reason:
          type: string
          description: Reason for the termination.
        filters:
          description: Add Filters to the facility to be terminated
          allOf:
            - $ref: '#/components/schemas/FilterFacilityV2Dto'
      required:
        - facility_ids
        - reason
        - filters
    UnterminateFacilityV2Dto:
      type: object
      properties:
        facility_ids:
          description: >-
            Facility ids to be unterminated in comma separated strings within
            the array.
          type: array
          items:
            type: string
        reason:
          type: string
          description: Reason for the untermination.
        filters:
          description: Add Filters to the facility to be unterminated
          allOf:
            - $ref: '#/components/schemas/FilterFacilityV2Dto'
      required:
        - facility_ids
        - reason
        - filters
    FacilityGroupsResponseDto:
      type: object
      properties:
        id:
          type: string
        group_name:
          type: string
        group_npi:
          type: string
          minLength: 10
          maxLength: 10
          description: Group National Provider Identifier (NPI)
          example: '2345678901'
        group_tin:
          type: string
          minLength: 9
          maxLength: 9
          description: Group Tax Identification Number (TIN)
          example: '123456789'
        external_group_id:
          type: string
      required:
        - id
        - group_name
        - group_npi
        - group_tin
    FacilityCredentialingWorkflowTimelineV2ResponseDto:
      type: object
      properties:
        facilityCredentialingWorkflowId:
          type: string
        credentialingStatus:
          type: string
        credentialingCycle:
          type: string
        facilityId:
          type: string
        organizationId:
          type: string
        medicalDirectorId:
          type: string
        medicalDirectorName:
          type: string
        receivedForCredentialingDate:
          type: string
        attestationDate:
          type: string
        lastCredentialedDate:
          type: string
        psvCompleteDate:
          type: string
        credentialingDecisionDate:
          type: string
        nextCredentialingDate:
          type: string
        updatedAt:
          type: string
        updatedByName:
          type: string
        updatedBy:
          type: string
        createdAt:
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        decisionEnteredById:
          type: string
        decisionEnteredByName:
          type: string
        verifierId:
          type: string
      required:
        - facilityId
        - organizationId
        - receivedForCredentialingDate
        - lastCredentialedDate
        - psvCompleteDate
        - credentialingDecisionDate
        - nextCredentialingDate
        - updatedAt
        - createdAt
    CredentialingWorkflowOrgEntityTypeDto:
      type: object
      properties:
        id:
          type: string
          default: null
        name:
          type: string
          default: null
      required:
        - id
    CredentialingWorkflowTimelineV2ResponseDto:
      type: object
      properties:
        credentialingWorkflowId:
          type: string
        credentialingStatus:
          type: string
        credentialingCycle:
          type: string
        providerId:
          type: string
        organizationId:
          type: string
        orgEntity:
          $ref: '#/components/schemas/CredentialingWorkflowOrgEntityTypeDto'
        medicalDirectorId:
          type: string
        medicalDirectorName:
          type: string
        receivedForCredentialingDate:
          type: string
        attestationDate:
          type: string
        initialCredentialingDate:
          type: string
        lastCredentialedDate:
          type: string
        psvCompleteDate:
          type: string
        credentialingDecisionDate:
          type: string
        nextCredentialingDate:
          type: string
        updatedAt:
          type: string
        updatedByName:
          type: string
        updatedBy:
          type: string
        createdAt:
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        decisionEnteredById:
          type: string
        decisionEnteredByName:
          type: string
      required:
        - credentialingWorkflowId
        - credentialingStatus
        - credentialingCycle
        - providerId
        - organizationId
        - orgEntity
        - medicalDirectorId
        - medicalDirectorName
        - receivedForCredentialingDate
        - attestationDate
        - initialCredentialingDate
        - lastCredentialedDate
        - psvCompleteDate
        - credentialingDecisionDate
        - nextCredentialingDate
        - updatedAt
        - updatedByName
        - updatedBy
        - createdAt
        - createdBy
        - createdByName
        - decisionEnteredById
        - decisionEnteredByName
    CredentialingWorkflowTimelineSubCollection:
      type: object
      properties:
        id:
          type: string
        decisionEnteredById:
          type: string
        decisionEnteredByName:
          type: string
        medicalDirectorId:
          type: string
        medicalDirectorName:
          type: string
        receivedForCredentialingDate:
          format: date-time
          type: string
        attestationDate:
          format: date-time
          type: string
        lastCredentialedDate:
          format: date-time
          type: string
        lastCredentialedDateChangeReason:
          type: string
        psvCompleteDate:
          format: date-time
          type: string
        credentialingDecisionDate:
          format: date-time
          type: string
        nextCredentialingDate:
          format: date-time
          type: string
        verificationDate:
          format: date-time
          type: string
        verifierId:
          type: string
        initialCredentialingDate:
          format: date-time
          type: string
        initialCredentialingDateChangeReason:
          type: string
        providerId:
          type: string
        organizationId:
          type: string
        orgEntity:
          type: object
        credentialingWorkflowId:
          type: string
          nullable: true
        credentialingStatus:
          type: string
        credentialingCycle:
          enum:
            - Initial
            - Recredentialing
          type: string
        credentialingStatusUpdatedAt:
          format: date-time
          type: string
        createdAt:
          format: date-time
          type: string
        createdBy:
          type: string
        createdByName:
          type: string
        updatedAt:
          format: date-time
          type: string
        updatedBy:
          type: string
        updatedByName:
          type: string
      required:
        - id
        - lastCredentialedDate
        - initialCredentialingDate
        - providerId
        - organizationId
        - orgEntity
        - credentialingStatus
    CreateProfessionalIdV2Dto:
      type: object
      properties:
        type:
          enum:
            - Medicare Number
            - Medicaid Number
            - ECFMG Number
            - Foreign National Identification Number
            - Unique Physician Identification Number
            - CLIA
            - DEA
          type: string
          description: Type of professional ID
        number:
          type: string
          description: Professional ID number
        issue_date:
          format: date-time
          type: string
          description: Issue date of the professional ID
        expiration_date:
          format: date-time
          type: string
          description: Expiration date of the professional ID
        notes:
          type: string
          description: Notes about the professional ID
        state:
          enum:
            - AK
            - AL
            - AR
            - AS
            - AZ
            - CA
            - CO
            - CT
            - DC
            - DE
            - FL
            - FM
            - GA
            - GU
            - HI
            - IA
            - ID
            - IL
            - IN
            - KS
            - KY
            - LA
            - MA
            - MD
            - ME
            - MH
            - MI
            - MN
            - MO
            - MP
            - MS
            - MT
            - NC
            - ND
            - NE
            - NH
            - NJ
            - NM
            - NV
            - NY
            - OH
            - OK
            - OR
            - PA
            - PR
            - PW
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - UM
            - VA
            - VI
            - VT
            - WA
            - WI
            - WV
            - WY
          type: string
          description: State associated with the professional ID
        source:
          type: string
          description: Source of the professional ID
      required:
        - type
        - number
    CreateProfessionalIdsV2Dto:
      type: object
      properties:
        professional_ids:
          description: Array of professional IDs to create
          type: array
          items:
            $ref: '#/components/schemas/CreateProfessionalIdV2Dto'
      required:
        - professional_ids
    ProfessionalIdResponseV2Dto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the professional ID
        type:
          enum:
            - Medicare Number
            - Medicaid Number
            - ECFMG Number
            - Foreign National Identification Number
            - Unique Physician Identification Number
            - CLIA
            - DEA
          type: string
          description: Type of professional ID
        number:
          type: string
          description: Professional ID number
        issue_date:
          type: string
          description: Issue date of the professional ID
        expiration_date:
          type: string
          description: Expiration date of the professional ID
        notes:
          type: string
          description: Notes about the professional ID
        state:
          type: string
          description: State associated with the professional ID
        source:
          type: string
          description: Source of the professional ID
      required:
        - id
        - type
        - number
    SpecialtiesResponseDto:
      type: object
      properties:
        specialtyNuccTaxonomyCode:
          type: string
        code:
          type: string
        name:
          type: string
        id:
          type: string
        isPrimary:
          type: boolean
        specialtyBoardName:
          type: string
        source:
          type: string
        subSpecialties:
          type: array
          items:
            $ref: '#/components/schemas/SubSpecialtiesDto'
      required:
        - name
        - id
    SubSpecialtiesV2Dto:
      type: object
      properties:
        specialty_nucc_taxonomy_code:
          type: string
          description: Nucc taxonomy code tied to this subspecialty
        name:
          type: string
          description: Name of subspecialty tied to this taxonomy code
      required:
        - specialty_nucc_taxonomy_code
        - name
    CreateSpecialtiesV2Dto:
      type: object
      properties:
        specialty_nucc_taxonomy_code:
          type: string
          description: Nucc taxonomy code tied to this specialty
        name:
          type: string
          description: Name of specialty tied to this taxonomy code
        is_primary:
          type: boolean
          description: >-
            Whether this specialty is the provider’s primary speciality; they
            can only have 1 primary specialty
        sub_specialties:
          default: []
          description: >-
            Provider’s subspecialties that are tied to this specialty [array]
            (if there are no subspecialties, include the field, but just put
            empty [])
          type: array
          items:
            $ref: '#/components/schemas/SubSpecialtiesV2Dto'
      required:
        - specialty_nucc_taxonomy_code
        - name
        - is_primary
        - sub_specialties
