openapi: 3.0.1
info:
  title: Verifiable API Documentation
  description: >+
    # Introduction


    This document contains the official documentation for the latest version of
    the Verifiable API. Our solution has been built API-first. That means we
    first design our API's and build our own user interfaces on top of these
    API's afterwards. This results in a reusable API that can be used by 3rd
    parties to offer the exact same functionality as we can provide ourselves.
    Both the product and API are still subject to significant and potentially
    breaking changes, so please refer back to this documentation frequently. Any
    breaking change will be communicated ahead of time to our partners
    integrating with our API's.


    # Getting Started


    This is a RESTful API that can be accessed using convential HTTP methods. It
    doesn't matter what programming language you use, there is already tooling
    available that can jumpstart you to access our API's. This documentation is
    based on OpenAPI 3.0 specifications and as such it is possible to
    dynamically generate a client in a language of your choice by simply loading
    our [specification
    document](https://api.discovery.verifiable.com/.well-known/openapi/vCurrent.json)
    in a tool such as [Swagger
    Codegen](https://swagger.io/tools/swagger-codegen/). It is not necessary to
    generate such a client and it is also possible to simply use any HTTP client
    to access our API. You can refer to the reference below to find the correct
    HTTP method, endpoint and model to use.


    ### Environments


    When developing an integration with our API we typicially request you to use
    our `staging` environment for development and only start using `production`
    when your integration is stable and tested thoroughly. Please contact
    [Verifiable support](https://verifiable.com/contact) to be granted access to
    our environments.


    **Staging Base URL**

    ```

    https://api.discovery-staging.verifiable.com/

    ```


    **Production Base URL**

    ```

    https://api.discovery.verifiable.com/

    ```


    ## Authentication


    Most endpoints require authentication to be used. You can authenticate to
    the API by passing an access token in the `Authentication` header using the
    `Bearer` scheme. An access token can be requested by authenticating against
    one of the [Authentication endpoints](#tag/Authentication).


    ### Example using password authentication endpoint


    **Request:**


    ```http

    POST /auth/token/password HTTP/1.1

    Content-Type: application/json

    Host: https://<SERVER>

    {
        "email": "john.doe@mail.com",
        "password": "secret"
    }

    ```


    **Response:**


    ```http

    HTTP/1.1 200 OK

    Date: Fri, 25 Sep 2020 12:59:56 GMT

    Content-Type: application/json; charset=utf-8

    {
        "tokenId": "2e5db76c-4c48-4cce-b11f-23a57ac5824c",
        "token": "MtetyFcIW...xgXXX-Z4yy"
    }

    ```


    ### Example using access token


    **Request**


    ```http

    GET /log/events HTTP/1.1

    Authorization: Bearer <ACCESS_TOKEN>

    Host: https://<SERVER>

    ```


    An access token is bound to a single user in an organization. The access
    token should remain secret and be treated as if it were a password. We
    recommend you to create access tokens with a short time to live and
    frequently rotate them. Note that time to live requested might be lowered to
    a shorter duration based on your organization settings. These can be
    configured to enforce a suitable maximum time to live for your use-cases
    that facilitate users and service integrations.


    ## Create a new provider


    A provider must be created and associated with license numbers, NPI numbers
    or other identifiers that can be used to perform lookups to fetch associated
    data for this provider.


    ### Example creating a new provider


    To create a new provider that can be used for license lookups:


    **Request:**


    ```http

    POST /providers HTTP/1.1

    Content-Type: application/json

    Authorization: Bearer <ACCESS_TOKEN>

    Host: https://<SERVER>

    {
        "firstName": "John",
        "lastName": "Doe"
    }

    ```


    **Response:**


    ```http

    HTTP/1.1 201 Created

    Date: Fri, 25 Sep 2020 15:25:12 GMT

    Content-Type: application/json; charset=utf-8

    Location: https://<SERVER>/providers/9706f2ea-9c1d-49f3-9a57-871159878c9c

    {
        "firstName": "John",
        "lastName": "Doe",
        "id": "9706f2ea-9c1d-49f3-9a57-871159878c9c",
        "licenses": []
    }

    ```


    **Note:**

    The `id` in the response is the `Provider id`. It can be used as a `Path
    Parameter` to attach licenses to this provider, using [Attach
    License](#operation/AttachLicense) API.

    You will need to pass in a `licenseTypeId`, which can be obtained from the
    [List Simplified License Types](#operation/ListSimplifiedLicenseTypes) API.
    For more details on providers see [Provider endpoints](#tag/Providers)


    ## Get license types


    The list of license types which are supported for license verification.


    ### Example get license types


    Returns a list of all license types that are currently supported and used
    for license verifications.


    **Request**


    ```http

    GET /licensetypes HTTP/1.1

    Authorization: Bearer <ACCESS_TOKEN>

    Host: https://<SERVER>

    ```


    **Response:**


    ```http

    HTTP/1.1 200 OK

    Date: Fri, 25 Sep 2020 15:32:47 GMT

    Content-Type: application/json; charset=utf-8

    {
        "nextOffset": "100",
        "nextCursor": "100",
        "pageSize": 100,
        "items": [
            {
                "id": "0059f76a-280a-377a-73e2-ddfe86f4113c",
                "name": "Medical Physician & Surgeon",
                "source": {
                    "id": "72dcec62-a0d3-4af8-955d-07ecac8f1e4d",
                    "name": "Missouri Division of ProfessionalRegistration",
                    "state": "MO",
                    "availability": "Available",
                    "isDegraded": false,
                    "url": "https://pr.mo.gov/licensee-search.asp"
                }
            },
        ],
        "sortedBy": "Id",
        "sortDirection": "Asc"
    }

    ```


    **Note:**

    `id` in response refers to `licenseTypeId`. It will be unique for each
    license type. Please see [List Simplified License
    Types](#operation/ListSimplifiedLicenseTypes) for more details.


    ## Attach a license to a provider


    To perform a license verification you must attach a license to a provider.
    The first time you do this will automatically trigger a license verification
    on that provider. Once attached you can re-verify the same license without
    reattaching it. A provider can have more than one license attached.


    ### Example attach license to a provider


    **Request:**


    ```http

    POST /providers/{providerId}/licenses HTTP/1.1

    Content-Type: application/json

    Authorization: Bearer <ACCESS_TOKEN>

    Host: https://<SERVER>

    {
        "licenseNumber": "123456",
        "licenseTypeId": "0059f76a-280a-377a-73e2-ddfe86f4113c"
    }

    ```


    **Response:**


    ```http

    HTTP/1.1 201 Created

    Date: Fri, 25 Sep 2020 15:35:00 GMT

    Content-Type: application/json; charset=utf-8

    Location:
    https://<SERVER>/providers/9706f2ea-9c1d-49f3-9a57-871159878c9c?licenseId=bfb028f0-52ca-47f4-8181-6b4c8262d29c

    {
        "providerId": "9706f2ea-9c1d-49f3-9a57-871159878c9c",
        "licenseNumber": "123456",
        "licenseType": {
            "id": "0059f76a-280a-377a-73e2-ddfe86f4113c",
            "name": "Registered Nurse - RN",
            "source": {
                "id": "679b4f9a-cc3c-49e8-b560-0d0a9af47fd3”,
                "name": "Missouri Division of ProfessionalRegistration",
                "state": "MO",
                "availability": "Available",
                "url": "https://pr.mo.gov/licensee-search.asp"
            }
        }
        "jobStatus": "Pending",
        "id": "b45cbeb0-873e-495b-8182-1b9a8b6d379d"
    }

    ```


    **Note:**

    Register a Webhook to get notified on HTTP endpoint, this prevents the need
    to poll the API for completion checks. For more details on Webhooks please
    see [Webhooks endpoint](#tag/Webhooks) and for details on attaching a
    license see [Attach License endpoint](#operation/AttachLicense).


    ## Fetch created provider


    Returns the data for a specific provider.


    ### Example to fetch created provider


    **Request**


    ```http

    GET /providers/{providerId} HTTP/1.1

    Authorization: Bearer <ACCESS_TOKEN>

    Host: https://<SERVER>

    ```


    **Response:**


    ```http

    HTTP/1.1 200 OK

    Date: Fri, 25 Sep 2020 15:36:30 GMT

    Content-Type: application/json; charset=utf-8

    {
        "firstName": "John",
        "lastName": "Doe",
        "id": "9706f2ea-9c1d-49f3-9a57-871159878c9c",
        "npis": [],
        "licenses": [
            {
                "providerId": "9706f2ea-9c1d-49f3-9a57-871159878c9c",
                "licenseNumber": "123456",
                "licenseType": {
                    "id": "0059f76a-280a-377a-73e2-ddfe86f4113c",
                    "name": "Registered Nurse - RN",
                    "source": {
                        "id": "679b4f9a-cc3c-49e8-b560-0d0a9af47fd3”,
                        "name": "Missouri Division of ProfessionalRegistration",
                        "state": "MO",
                        "availability": "Available",
                        "url": "https://pr.mo.gov/licensee-search.asp"
                    }
                }
                "jobStatus": "Idle",
                "currentVerificationStatus": "NeedsReview",
                "id": "b45cbeb0-873e-495b-8182-1b9a8b6d379d"
            }
        ]
    }

    ```


    **Note:**

    Response contains attached licenses, NPI details for the given provider. To
    get details of these individual items (a particular License or an NPI), use
    unique identifiers in each of these categories. For more details check [Get
    specific license endpoint](#operation/GetLicense) or [Get specific NPI
    record](#operation/GetNPIRecord). Further details on providers are at
    [Providers endpoint](#tag/Providers).


    # Common Concepts


    ## Pagination, filtering and sorting


    Some endpoints can return a large list of data. To allow you to efficiently
    iterate through this data these endpoints offer pagination, sorting and
    filtering. The concept will be similar for each endpoint that supports it:


    * Pagination, filtering and sorting parameters are provided through the
    query string.

    * Pagination, filtering and sorting is only supported for endpoints that
    return lists of data.

    * Filters is only supported for certain endpoints. You can refer to the
    documentation of the endpoint to find out if filtering is supported.

    * The `sortedBy` and `sortDirection` parameters can be used to specify the
    sorting method.

    * The `count` parameter can be used to specify the page size. Please note
    that the maximum and default page size can differ per endpoint.

    * (Deprecated) The `offset` parameter influences the start of the page. For
    the first page you can always omit this parameter. For any subsequent page
    you can supply the value from the `nextOffset` parameter as returned by the
    server.

    * The `cursor` parameter influences the start of the page. For the first
    page you can always omit this parameter. For any subsequent page you can
    supply the value from the `nextCursor` or `previousCursor` parameter as
    returned by the server.


    Example on how to make a paginated request:


    ```http

    GET /log/events?sortDirection=Asc&sortedBy=Timestamp&count=10 HTTP/1.1

    Authorization: Bearer <ACCESS_TOKEN>

    Host: https://<SERVER>

    ```


    In addition to returning a list of `items`, a paginated response will also
    return `nextCursor` and/or `previousCursor`. The value of this property can
    be used to fetch the next or previous page by passing it in the `cursor`
    parameter.


    ## Error handling


    All responses that do not indicate a success status code will return an
    error using the error model as specified by [RFC
    7807](https://tools.ietf.org/html/rfc7807). The amount of details exposed by
    the error model varies and depends on the nature of the error. We attempt to
    include as much information as is necessary to be able to self-diagnose the
    problem that led to the error. Should this information not be enough, then
    we also supply a `correlationId` in the response. We kindly request you to
    make note of this value when contacting Verifiable support as this will help
    us to quickly locate more information on this error.


    Example error result on a malformed request:

    ```json

    {
        "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
        "title": "One or more validation errors occurred.",
        "status": 400,
        "correlationId": "5e94110e-45a8-404c-831d-77eaeaa73ad6",
        "errors": {
            "$.firstName": [
                "The JSON value could not be converted to System.String. Path: $.firstName | LineNumber: 1 | BytePositionInLine: 18."
            ]
        }
    }

    ```


    ## Nullable properties


    If an input parameter is required it is marked as such. If an input
    parameter is not marked as required and you do not wish or need to use it,
    you should omit the parameter completely in the request.


    For response parameters you should always code defensively and assume that a
    parameter might be missing from the response. This could happen in case the
    parameter is not applicable (yet) or simply because the data is missing. By
    coding defensively and assuming that a parameter might be missing you also
    future proof your solution for potential future (otherwise) breaking
    changes.


    ## Flexible data model


    In some cases we collect data from external sources that are hard to fit in
    a single predefined schema. For these cases we have come up with a flexible
    data model that allows us to store structured data in 3 different ways:
     - Form 
     - Table 
     - Section
     
    ### Table


    Data that can be represented in a table structure. The keys of every
    element/object in the data array is expected to be the same.


    ```json

    {
       "type": "Table",
       "data": [
          {
             "Status Code": "CB",
             "Effective Date": "06/10/2016",
             "Description": "CANCELLED BY BOARD"
          },
          {
             "Status Code": "NA",
             "Effective Date": "06/10/2016",
             "Description": "NOT ACTIVE"
          }
       ]
    }

    ```


    ### Section

    Sections are used to represent multiple different data representations. For
    example, additional properties can 

    have three sections with section one being a Form, while the other two could
    be a table. 

    Also note there could be sections with and without heading.


    #### With section heading

    ```json

    {
       "type": "Section",
       "data": {
          "Discipline": {
             "type": "Form",
             "data": {
                "Discipline/Final Orders state": "ILLINOIS",
                "Date action was taken": "02/03/2020",
                "Against privilege to practice (PTP)": "N/A"
             }
          },
          "NPDB code": {
             "type": "Form",
             "data": {
                "NPDB code": "39 - LICENSE REVOCATION, SUSPENSION OR OTHER DISCIPLINARY ACTION TAKEN BY A FEDERAL, STATE OR LOCAL LICENSING AUTHORITY"
             }
          },
          "Actions": {
             "type": "Form",
             "data": {
                "Initial action date": "02/03/2020",
                "Effective date(s)": "02/03/2020 - INDEFINITE/UNSPECIFIED",
                "Is license automatically reinstated after the effective date(s)": "NOT SUPPLIED",
                "NPDB code": "1148 - DENIAL OF LICENSE RENEWAL"
             }
          }
       }
    }

    ```


    #### Without section heading

    ```json

    {
       "type": "Section",
       "data": [
          {
             "type": "Form",
             "data": {
                "Discipline/Final Orders state": "ILLINOIS",
                "Date action was taken": "02/03/2020",
                "Against privilege to practice (PTP)": "N/A"
             }
          },
          {
             "type": "Form",
             "data": {
                "NPDB code": "39 - LICENSE REVOCATION, SUSPENSION OR OTHER DISCIPLINARY ACTION TAKEN BY A FEDERAL, STATE OR LOCAL LICENSING AUTHORITY"
             }
          },
          {
             "type": "Form",
             "data": {
                "Initial action date": "02/03/2020",
                "Effective date(s)": "02/03/2020 - INDEFINITE/UNSPECIFIED",
                "Is license automatically reinstated after the effective date(s)": "NOT SUPPLIED",
                "NPDB code": "1148 - DENIAL OF LICENSE RENEWAL"
             }
          }
       ]
    }

    ```


    ### Form


    A form is essentially a simple key/value collection, but it can also have
    nested flexible data.


    #### Simple form

    ```json

    {
       "type": "Form",
       "data": {
          "Date of Birth": "1958",
          "Registration Date": "06/13/2016",
          "Disciplinary Status": "CANCELLED BY BOARD"
       }
    }

    ```


    #### Nested form


    ```json

    {
       "type": "Form",
       "data": {
          "Date of Birth": "1958",
          "Registration Date": "06/13/2016",
          "Disciplinary Status": "CANCELLED BY BOARD",
          "Status Change": {
             "type": "Table",
             "data": [
                {
                   "Status Code": "CB",
                   "Effective Date": "06/10/2016",
                   "Description": "CANCELLED BY BOARD"
                },
                {
                   "Status Code": "NA",
                   "Effective Date": "06/10/2016",
                   "Description": "NOT ACTIVE"
                }
             ]
          }
       }
    }

    ```


    ## API Rate Limiting


    ### Overview


    To ensure the stability and performance of the Verifiable Platform API for
    all users, we enforce rate limits on API requests. 

    These limits help maintain fair access and high availability across all
    clients.


    ### Rate Limits


    API requests are rate limited to **10,000 requests per 5 minutes.** 

    If a client exceeds this limit, the API will return an HTTP **429 Too Many
    Requests** response.


    Verifiable may adjust rate limits in the future based on factors such as
    endpoint-specific traffic patterns or system load. 

    Changes may include increasing or decreasing limits or introducing secondary
    rate limits for specific use cases. 

    Any changes will be reflected in this documentation.


    Example response:


    ```http

    HTTP/1.1 429 Too Many Requests

    {
        "title": "You have exceeded the allowed rate limit of 10,000 per 5 mins. Try again later.",
        "status": 429
    }

    ```

  version: 26.2.0.4306
servers:
  - url: https://api.discovery.verifiable.com
    description: Production
  - url: https://api.discovery-staging.verifiable.com
    description: Staging
paths:
  /auth/token/password:
    post:
      tags:
        - Authentication
      summary: |
        Password Authentication
      description: >
        Endpoint for authentication using an email and password for a user
        already registered at Verifiable. In return you will receive an access
        token that can be used in the following API calls.


        **Note:** The account may require a password change for successful
        authentication. If password change is required and `newPassword` is not
        set the server returns `409 Conflict`.

        If `newPassword` is set but the current `password` is not correct the
        server returns `403 Forbidden`.


        **Note:** If `newPassword` is set it *must* be different than the
        current password. If the password is the same the server returns `400
        Bad Request`.


        **Note:** When `newPassword` is set and the request returns `200 Ok`,
        all the active access tokens will be invalidated.
      operationId: PasswordAuth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordAuthModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '409':
          description: Conflict
        '500':
          description: Server Error
  /auth/password/reset:
    post:
      tags:
        - Authentication
      summary: |
        Resets a password
      description: |
        Endpoint for changing a password using a token.
      operationId: PasswordReset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordResetRequestModel'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /auth/password/requestreset:
    post:
      tags:
        - Authentication
      summary: |
        Requests a password reset
      description: >
        Endpoint for requesting a password reset.


        If the e-mail sent in the body of this request has an account associated
        with it, a message with a link for changing the password will be sent to
        it.  
      operationId: RequestPasswordReset
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestPasswordResetRequestModel'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /auth/token/google:
    post:
      tags:
        - Authentication
      summary: |
        Google Authentication
      description: >
        It is possible to use Google Sign-In for authentication with the
        Verifiable API. In order to do so we follow the [Google Sign-In for
        server-side
        apps](https://developers.google.com/identity/sign-in/web/server-side-flow)
        flow. In order to use this flow you must use the `client ID` from
        Verifiable when signing in to Google and send the authorization code as
        payload to this endpoint. In return you will receive an access token
        that can be used in the following API calls. The email address of the
        user must already be registered at Verifiable.
      operationId: GoogleAuth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAuthModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /auth/token:
    get:
      tags:
        - Authentication
      summary: |
        List active access tokens
      description: >
        Returns all access tokens for the current user that are neither expired,
        nor invalidated.
      operationId: ListActiveAccessTokens
      parameters:
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessTokenPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /auth/token/{tokenId}/invalidate:
    post:
      tags:
        - Authentication
      summary: |
        Invalidate an access token
      description: |
        Invalidates an access token so that it can no longer be used.
      operationId: InvalidateAccessToken
      parameters:
        - name: tokenId
          in: path
          description: The unique identifier of the access token to be invalidated.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Server Error
  /auth/token/invalidate:
    post:
      tags:
        - Authentication
      summary: |
        Invalidate multiple access tokens
      description: >
        Invalidates multiple access tokens that belongs to the user making the
        request so they can no longer be used.
      operationId: InvalidateAccessTokens
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvalidateAllAccessTokensRequestModel'
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /auth/oauth/token:
    post:
      tags:
        - Authentication
      summary: |
        OAuth Authentication
      description: >
        It is possible to use the OAuth Client Credentials flow to authenticate
        with the Verifiable API. In order to use this flow, you must use the
        `client ID` and a `client secret` from Verifiable. You must send the
        client credentials along with the grant type `client_credentials` in a
        URL-encoded format.
      operationId: OAuthToken
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                client_id:
                  type: string
                  format: uuid
                client_secret:
                  type: string
                grant_type:
                  type: string
            encoding:
              client_id:
                style: form
              client_secret:
                style: form
              grant_type:
                style: form
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OAuthTokenResponseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /countries:
    get:
      tags:
        - Definitions
      summary: |
        List countries
      description: |
        Returns the list of supported countries
      operationId: ListCountries
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CountryModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /providers:
    post:
      tags:
        - Providers
      summary: |
        Create a new provider
      description: >-
        Creates a new provider that can be used to store information about this
        provider. Once a provider is created you can attach records, notes,
        documents and create other associations with this provider such as
        adding them to a Group or Payer.
      operationId: CreateProvider
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - Providers
      summary: |
        List providers
      description: |
        Returns a page of providers.
      operationId: ListProviders
      parameters:
        - name: status
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            status.
          schema:
            enum:
              - None
              - NeedsReview
              - ExpiresSoon
              - Expired
              - Monitored
              - NotMonitored
              - NotFoundLicenses
              - DisciplinaryActionLicenses
              - UnableToVerifyLicenses
            type: string
        - name: providerName
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            name or alias name.
          schema:
            type: string
        - name: credentialingStatus
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            credentialing status.
          schema:
            type: array
            items:
              type: string
        - name: providerTypeId
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            provider type.
          schema:
            type: string
            format: uuid
        - name: npi
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            npi number.
          schema:
            type: integer
            format: int64
        - name: deactivated
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            deactivated status.
          schema:
            type: boolean
        - name: nextCredentialingDateOnOrAfter
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            next credentialing date that is equal to or greater than the date
            specified.
          schema:
            type: string
            format: date
        - name: nextCredentialingDateOnOrBefore
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            next credentialing date that is equal to or less than the date
            specified.
          schema:
            type: string
            format: date
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - LastName
              - FirstName
              - CredentialingStatus
              - CredentialedDate
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - LastName
                  - FirstName
                  - CredentialingStatus
                  - CredentialedDate
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}:
    get:
      tags:
        - Providers
      summary: |
        Get an existing provider
      description: |
        Returns the data for a specific provider.
      operationId: GetProvider
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider to get the data for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - Providers
      summary: |
        Patch an existing provider
      description: |
        Allows you to change a provider's name or other data properties.
      operationId: PatchProvider
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider to patch.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - Providers
      summary: |
        Delete an existing provider
      description: >
        This will delete the provider and all associated data such as attached
        licenses, NPI records, DEA registration etc.
      operationId: DeleteProvider
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider to get the data for.
          required: true
          schema:
            type: string
            format: uuid
        - name: cancelNpdbContinuousQuery
          in: query
          schema:
            type: boolean
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/aggregations:
    get:
      tags:
        - Providers
      summary: |
        Get provider aggregations
      description: |
        Returns aggregated counts for providers with different statuses.
      operationId: GetProviderAggregations
      parameters:
        - name: providerDeactivated
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            deactivated status.
          schema:
            type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderAggregationsModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /providertypes:
    get:
      tags:
        - Providers
      summary: |
        List provider types
      description: |
        Returns a list of all provider types that are currently supported.
      operationId: ListProviderTypes
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderTypeModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/report:
    post:
      tags:
        - Providers
      summary: |
        Generate report for an existing provider
      description: |
        Generates report for the specified provider.
      operationId: ReportProvider
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider to generate report.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderReportRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                format: binary
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/recredentialing/due:
    get:
      tags:
        - Providers
      summary: |
        List providers due for recredentialing
      description: |
        Returns a page of providers due for recredentialing.
      operationId: ListProvidersDueForRecredentialing
      parameters:
        - name: includeUnassigned
          in: query
          schema:
            type: boolean
        - name: providerName
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            name or alias name.
          schema:
            type: string
        - name: providerNpi
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            npi number.
          schema:
            type: integer
            format: int64
        - name: credentialingRequestOwnerId
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            credentialing request owner IDs.
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: credentialingRequestEventStatus
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            credentialing request event statuses.
          schema:
            type: array
            items:
              enum:
                - RequestSubmitted
                - RequestInProgress
                - AdditionalInformationRequested
                - AdditionalInformationSubmitted
                - CancellationRequested
                - Cancelled
                - Completed
                - CompletedWithConcern
                - UnableToComplete
                - SecondAttemptMissingInfo
                - ThirdAttemptMissingInfo
              type: string
        - name: nextCredentialingDateOnOrAfter
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            next credentialing date that is equal to or greater than the date
            specified.
          schema:
            type: string
            format: date
        - name: nextCredentialingDateOnOrBefore
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            next credentialing date that is equal to or less than the date
            specified.
          schema:
            type: string
            format: date
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - ProviderFirstName
              - ProviderLastName
              - RequestCreatedAt
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            additionalProperties:
              enum:
                - Asc
                - Desc
              type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderDueForRecredentialingPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info:
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get info for the existing provider
      description: |
        Returns the info for a specific provider.
      operationId: GetProviderInfo
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider to get the data for.
          required: true
          schema:
            type: string
            format: uuid
        - name: providerInfoType
          in: query
          description: >-
            If not specified, will return all data for the provider. Info types
            can be combined, ex.:
            `providerInfoType=licenses&providerInfoType=deaRegistrations`.
          schema:
            type: array
            items:
              enum:
                - BasicInfo
                - Caqh
                - LiabilityInsurance
                - Education
                - Training
                - WorkHistory
                - DeaRegistrations
                - Licenses
                - BoardCertifications
                - Certificates
                - MedicaidEnrollment
              type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                additionalProperties: {}
              example:
                BasicInfo:
                  firstName: string
                  lastName: string
                  dateOfBirth: '2019-08-24T14:15:22.0000000Z'
                  ssn: '***'
                  id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                  credentialingStatus: string
                  aliases:
                    - firstName: string
                      lastName: string
                  addresses:
                    - state: AL
                      zipCode: string
                      city: string
                      addressLine1: string
                      type: Unspecified
                  emails:
                    - email: string
                      type: Unspecified
                  phone: string
                  languages:
                    - string
                  gender: string
                  ethnicity:
                    - enum
                  credentialedDate: '2019-08-24T14:15:22.0000000Z'
                  recredentialedDates:
                    - '2019-08-24T14:15:22.0000000Z'
                  providerType: string
                CaqhInfo:
                  caqhId: string
                LiabilityInsurance:
                  - id: Guid
                    name: string
                    isSelfInsured: bool
                    originalEffectiveDate: Date
                    effectiveDate: Date
                    expirationDate: Date
                    CoverageType: enum
                    isUnlimitedCoverage: bool
                    includesTailCoverage: bool
                    occurrenceCoverageAmount: number
                    aggregateCoverageAmount: number
                    policyNumber: string
                    lastUpdatedAt: '2025-06-03T20:49:03.9129760Z'
                Education:
                  - id: Guid
                    ecfmgNumber: string
                    ecfmgIssueDate: '2019-08-24T14:15:22.0000000Z'
                    graduateType: enum
                    schoolName: string
                    schoolCode: string
                    startDate: '2000-09-01T00:00:00.0000000Z'
                    endDate: '2000-09-01T00:00:00.0000000Z'
                    completed: bool
                    degree: string
                    lastUpdatedAt: '2025-06-03T20:49:03.9129760Z'
                Training:
                  - id: Guid
                    trainingType: enum
                    institutionName: string
                    schoolCode: string
                    startDate: '2000-09-01T00:00:00.0000000Z'
                    endDate: '2000-09-01T00:00:00.0000000Z'
                    completed: bool
                    lastUpdatedAt: '2025-06-03T20:49:03.9129760Z'
                MedicaidEnrollment:
                  - state: AL
                    nonVerifiedInfo:
                      effectiveDate: '2026-01-01'
                      providerType: string
                      providerSpeciality: string
                      address: string
                      inOutState: enum
                      issueDate: '2010-01-01'
                    id: 2939ccdc-4acf-4b3a-b2d2-40f1e078882a
                    lastUpdatedAt: '2025-06-03T20:49:03.9129760Z'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
      x-codeSamples: []
  /providers/{providerId}/info/caqh:
    put:
      tags:
        - ProvidersInfo
      summary: |
        Create or replace caqh login info for the existing provider
      description: |
        Creates or replaces the CAQH login info for a specific provider.
      operationId: PutProviderCaqhInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaqhLoginInfoRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaqhLoginInfoModel'
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    patch:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's CAQH login info
      description: >+
        Change an existing CAQH login info associated with the specified
        provider.

      operationId: PatchProviderCaqhInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaqhLoginInfoRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaqhLoginInfoModel'
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing CAQH login info for the existing provider
      description: >
        Deletes an existing CAQH login info associated with the specified
        provider.
      operationId: DeleteProviderCaqhInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get CAQH login info for a provider
      description: |
        Returns the CAQH login info associated with the specified provider.
      operationId: GetProviderCaqhInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaqhLoginInfoModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/aliases/{aliasId}:
    put:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's alias
      description: |
        Change an existing alias associated with the specified provider.
      operationId: PutProviderAliasInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: aliasId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderAliasRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderAliasModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/aliases/{id}:
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get alias for the existing provider
      description: |
        Returns the alias for a specific provider.
      operationId: GetProviderAliasInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderAliasModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing alias for the existing provider
      description: |
        Deletes an existing alias associated with the specified provider.
      operationId: DeleteProviderAliasInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/boardCertifications:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create board certification info for the existing provider
      description: |
        Add a board certification info for the specified provider.
      operationId: CreateBoardCertificationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoardCertificationInfoRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardCertificationInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List board certifications
      description: |
        Returns all board certifications associated with the specified provider.
      operationId: ListBoardCertificationsInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BoardCertificationInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/boardCertifications/{id}:
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get board certification for the existing provider
      description: |
        Returns the board certification for a specific provider.
      operationId: GetBoardCertificationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardCertificationInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's board certification info
      description: >
        Change an existing board certification info associated with the
        specified provider.
      operationId: PatchBoardCertificationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BoardCertificationInfoPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardCertificationInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing board certification info for the existing provider
      description: >
        Deletes an existing board certification info associated with the
        specified provider.
      operationId: DeleteBoardCertificationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/certificates:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create certificate info for the existing provider
      description: |
        Add a certificate info for the specified provider.
      operationId: CreateCertificateInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateInfoRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List certificates
      description: |
        Returns all certificates associated with the specified provider.
      operationId: ListCertificateInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CertificateInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/certificates/{id}:
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get certificate for the existing provider
      description: |
        Returns the certificate for a specific provider.
      operationId: GetCertificateInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's certificate info
      description: >
        Change an existing certificate info associated with the specified
        provider.
      operationId: PatchCertificateInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CertificateInfoPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing certificate info for the existing provider
      description: >
        Deletes an existing certificate info associated with the specified
        provider.
      operationId: DeleteCertificateInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/liabilityInsurances:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create liability insurance info for the existing provider
      description: |
        Creates the liability insurance info for a specific provider.
      operationId: CreateProviderLiabilityInsurance
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiabilityInsuranceRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiabilityInsuranceModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List liability insurances
      description: |
        Returns all liability insurances associated with the specified provider.
      operationId: ListProviderLiabilityInsuranceInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LiabilityInsuranceModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/liabilityInsurances/{id}:
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get liability insurance for the existing provider
      description: |
        Returns the liability insurance for a specific provider.
      operationId: GetProviderLiabilityInsuranceInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiabilityInsuranceModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's liability insurance
      description: >
        Change an existing liability insurance associated with the specified
        provider.
      operationId: PatchProviderLiabilityInsuranceInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiabilityInsurancePatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiabilityInsuranceModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing liability insurance info for the existing provider
      description: >
        Deletes an existing insurance info associated with the specified
        provider.
      operationId: DeleteProviderLiabilityInsuranceInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/educations:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create education info for the existing provider
      description: |
        Creates the education info for a specific provider.
      operationId: CreateProviderEducationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EducationRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EducationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List educations
      description: |
        Returns all educations associated with the specified provider.
      operationId: ListProviderEducationInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EducationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/educations/{id}:
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get education for the existing provider
      description: |
        Returns the education for a specific provider.
      operationId: GetProviderEducationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EducationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's education info
      description: >
        Change an existing education info associated with the specified
        provider.
      operationId: PatchProviderEducationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EducationPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EducationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing education info for the existing provider
      description: >
        Deletes an existing education info associated with the specified
        provider.
      operationId: DeleteProviderEducationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/trainings:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create training info for the existing provider
      description: |
        Creates the training info for a specific provider.
      operationId: CreateProviderTrainingInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrainingRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrainingModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List trainings
      description: |
        Returns all trainings associated with the specified provider.
      operationId: ListProviderTrainingInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TrainingModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/trainings/{id}:
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get training for the existing provider
      description: |
        Returns the training for a specific provider.
      operationId: GetProviderTrainingInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrainingModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's training info
      description: |
        Change an existing training info associated with the specified provider.
      operationId: PatchProviderTrainingInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TrainingPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrainingModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing training info for the existing provider
      description: >
        Deletes an existing training info associated with the specified
        provider.
      operationId: DeleteProviderTrainingInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/workHistory:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create work history info for the existing provider
      description: |
        Creates the work history info for a specific provider.
      operationId: CreateProviderWorkHistoryInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkHistoryRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkHistoryModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List work history entries
      description: |
        Returns all work history entries associated with the specified provider.
      operationId: ListProviderWorkHistoryInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WorkHistoryModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/workHistory/{id}:
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get work history for the existing provider
      description: |
        Returns the work history for a specific provider.
      operationId: GetProviderWorkHistoryInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkHistoryModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's work history info
      description: >
        Change an existing work history info associated with the specified
        provider.
      operationId: PatchProviderWorkHistoryInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkHistoryPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkHistoryModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing work history info for the existing provider
      description: >
        Deletes an existing work history info associated with the specified
        provider.
      operationId: DeleteProviderWorkHistoryInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities:
    post:
      tags:
        - Facilities
      summary: |
        Create a new facility
      description: >
        Creates a new facility that can be used to store information about the
        facility.
      operationId: CreateFacility
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - Facilities
      summary: |
        List facilities
      description: |
        Returns a page of facilities.
      operationId: ListFacilities
      parameters:
        - name: name
          in: query
          description: >-
            If set, the items will be filtered on facilities with the specified
            name.
          schema:
            type: string
        - name: deactivated
          in: query
          description: >-
            If set, the items will be filtered on facilities with the specified
            deactivated status.
          schema:
            type: boolean
        - name: parentFacilityId
          in: query
          schema:
            type: string
            format: uuid
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - Name
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - Name
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}:
    get:
      tags:
        - Facilities
      summary: |
        Get an existing facility
      description: |
        Returns the data for a specific facility.
      operationId: GetFacility
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to get the data for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - Facilities
      summary: |
        Patch an existing facility
      description: |
        Allows you to change a facility's name or other data properties.
      operationId: PatchFacility
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to patch.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/license-types:
    get:
      tags:
        - Facilities
      summary: |
        List facility license types
      description: |
        Returns a page of facility license types.
      operationId: ListFacilityLicenseTypes
      parameters:
        - name: name
          in: query
          description: >-
            If set, the items will be filtered on facility license types with
            the specified name.
          schema:
            type: string
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - Name
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - Name
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityLicenseTypePageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /facilities/accreditations:
    get:
      tags:
        - Facilities
      summary: |
        List facility accreditations
      description: |
        Returns a page of facility accreditations.
      operationId: ListFacilityAccreditations
      parameters:
        - name: agencyName
          in: query
          description: >-
            If set, the items will be filtered on facility accreditations with
            the specified agency name.
          schema:
            type: string
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - AgencyName
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - AgencyName
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityAccreditationAgencyPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /facilities/medicare-enrollment-types:
    get:
      tags:
        - Facilities
      summary: |
        List facility medicare enrollment types
      description: |
        Returns a page of facility medicare enrollment types.
      operationId: ListFacilityMedicareEnrollmentTypes
      parameters:
        - name: id
          in: query
          description: >-
            If set, only items whose Id matches the passed in ID are set.
            Returns a single matching item.
          schema:
            type: string
            format: uuid
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Code
              - Description
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            additionalProperties:
              enum:
                - Asc
                - Desc
              type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MedicareEnrollmentTypePageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /facilities/taxonomies:
    get:
      tags:
        - Facilities
      summary: |
        List facility taxonomies 
      description: |
        Returns a page of facility taxonomies.
      operationId: ListFacilityTaxonomies
      parameters:
        - name: code
          in: query
          description: >-
            If set, the items will be filtered on facility taxonomies with the
            specified code, even if partially equals. Case insensitive.
          schema:
            type: string
        - name: name
          in: query
          description: >-
            If set, the items will be filtered on facility taxonomies with the
            specified name, even if partially equals. Case insensitive.
          schema:
            type: string
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - Code
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - Code
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityTaxonomyPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /facilities/{facilityId}/info:
    get:
      tags:
        - FacilitiesInfo
      summary: |
        Get info for the existing facility
      description: |
        Returns the info for a specific facility.
      operationId: GetFacilityInfo
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to get the data for.
          required: true
          schema:
            type: string
            format: uuid
        - name: facilityInfoTypes
          in: query
          description: >-
            If not specified, will return all data for the facility. Info types
            can be combined, ex.: `facilityInfoTypes=npi&facilityInfoTypes=dea`.
          schema:
            type: array
            items:
              enum:
                - Npi
                - Dea
                - LiabilityInsurance
                - License
                - Accreditation
                - CmsCertification
                - MedicareEnrollment
              type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  Accreditation:
                    $ref: '#/components/schemas/FacilityAccreditationModel'
                  CmsCertification:
                    $ref: '#/components/schemas/FacilityCmsCertificationModel'
                  Dea:
                    $ref: '#/components/schemas/FacilityDeaModel'
                  LiabilityInsurance:
                    $ref: '#/components/schemas/FacilityLiabilityInsuranceModel'
                  License:
                    $ref: '#/components/schemas/FacilityLicenseModel'
                  MedicareEnrollment:
                    $ref: '#/components/schemas/FacilityMedicareEnrollmentModel'
                  Npi:
                    $ref: '#/components/schemas/FacilityNpiModel'
              example:
                Npi: []
                Dea:
                  - deaNumber: '123456789'
                    nonVerifiedInfo:
                      state: ME
                      expirationDate: '2025-01-01'
                      paymentIndicator: Paid
                      isActive: true
                    id: b939ccdc-4acf-4b3a-b2d2-40f1e0788821
                    lastUpdatedAt: '2025-06-03T20:49:03.9129760Z'
                    appliesTo: SelfOnly
                    associatedFacilitySpecialtyIds: []
                LiabilityInsurance: []
                License:
                  - licenseTypeId: 634f8676-d588-4b4d-8e20-06a6e3c1c435
                    state: AL
                    licenseNumber: LN-12345
                    isPrimary: true
                    nonVerifiedInfo:
                      issueDate: '2010-01-01'
                      expirationDate: '2026-01-01'
                    id: cea8ea8e-7a1e-43d9-87fb-b56d38ed9078
                    lastUpdatedAt: '2025-06-03T20:53:28.7712720Z'
                    appliesTo: SelfOnly
                    associatedFacilitySpecialtyIds: []
                Accreditation: []
                CmsCertification: []
                MedicareEnrollment: []
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
      x-codeSamples: []
  /facilities/{facilityId}/info/npis:
    post:
      tags:
        - FacilitiesInfo
      summary: |
        Create a NPI for an existing facility
      description: |
        Add a NPI for the specified facility.
      operationId: CreateFacilityNpiInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityNpiRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityNpiModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - FacilitiesInfo
      summary: |
        List facility's NPIs
      description: |
        Returns all NPIs associated with the specified facility.
      operationId: ListFacilityNpiInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityNpiModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/npis/{id}:
    get:
      tags:
        - FacilitiesInfo
      summary: |
        Get NPI for an existing facility
      description: |
        Returns the NPI for a specific facility.
      operationId: GetFacilityNpiInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityNpiModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - FacilitiesInfo
      summary: |
        Change an existing facility's NPI
      description: |
        Change an existing NPI associated with the specified facility.
      operationId: PatchFacilityNpiInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityNpiPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityNpiModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - FacilitiesInfo
      summary: |
        Delete existing NPI for a facility
      description: |
        Deletes an existing NPI associated with the specified facility.
      operationId: DeleteFacilityNpiInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/deas:
    post:
      tags:
        - FacilitiesInfo
      summary: |
        Create a DEA for an existing facility
      description: |
        Add a DEA for the specified facility.
      operationId: CreateFacilityDeaInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityDeaRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityDeaModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - FacilitiesInfo
      summary: |
        List facility's DEAs
      description: |
        Returns all DEAs associated with the specified facility.
      operationId: ListFacilityDeaInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityDeaModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/deas/{id}:
    get:
      tags:
        - FacilitiesInfo
      summary: |
        Get DEA for an existing facility
      description: |
        Returns the DEA for a specific facility.
      operationId: GetFacilityDeaInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityDeaModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - FacilitiesInfo
      summary: |
        Change an existing facility's DEA
      description: |
        Change an existing DEA associated with the specified facility.
      operationId: PatchFacilityDeaInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityDeaPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityDeaModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - FacilitiesInfo
      summary: |
        Delete existing DEA for a facility
      description: |
        Deletes an existing DEA associated with the specified facility.
      operationId: DeleteFacilityDeaInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/liabilityInsurances:
    post:
      tags:
        - FacilitiesInfo
      summary: |
        Create a Liability Insurance for an existing facility
      description: |
        Add a Liability Insurance for the specified facility.
      operationId: CreateFacilityLiabilityInsuranceInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityLiabilityInsuranceRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityLiabilityInsuranceModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - FacilitiesInfo
      summary: |
        List facility's Liability Insurances
      description: |
        Returns all Liability Insurances associated with the specified facility.
      operationId: ListFacilityLiabilityInsuranceInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityLiabilityInsuranceModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/liabilityInsurances/{id}:
    get:
      tags:
        - FacilitiesInfo
      summary: |
        Get Liability Insurance for an existing facility
      description: |
        Returns the Liability Insurance for a specific facility.
      operationId: GetFacilityLiabilityInsuranceInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityLiabilityInsuranceModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - FacilitiesInfo
      summary: |
        Change an existing facility's Liability Insurance
      description: >
        Change an existing Liability Insurance associated with the specified
        facility.
      operationId: PatchFacilityLiabilityInsuranceInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityLiabilityInsurancePatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityLiabilityInsuranceModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - FacilitiesInfo
      summary: |
        Delete existing Liability Insurance for a facility
      description: >
        Deletes an existing Liability Insurance associated with the specified
        facility.
      operationId: DeleteFacilityLiabilityInsuranceInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/licenses:
    post:
      tags:
        - FacilitiesInfo
      summary: |
        Create a License for an existing facility
      description: Add a License for the specified facility.
      operationId: CreateFacilityLicenseInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityLicenseRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityLicenseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - FacilitiesInfo
      summary: |
        List facility's Licenses
      description: |
        Returns all Licenses associated with the specified facility.
      operationId: ListFacilityLicenseInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityLicenseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/licenses/{id}:
    get:
      tags:
        - FacilitiesInfo
      summary: |
        Get License for an existing facility
      description: |
        Returns the License for a specific facility.
      operationId: GetFacilityLicenseInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityLicenseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - FacilitiesInfo
      summary: |
        Change an existing facility's License
      description: |
        Change an existing License associated with the specified facility.
      operationId: PatchFacilityLicenseInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityLicensePatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityLicenseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - FacilitiesInfo
      summary: |
        Delete existing License for a facility
      description: |
        Deletes an existing License associated with the specified facility.
      operationId: DeleteFacilityLicenseInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/accreditations:
    post:
      tags:
        - FacilitiesInfo
      summary: |
        Create an Accreditation for an existing facility
      description: |
        Add an Accreditation for the specified facility.
      operationId: CreateFacilityAccreditationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityAccreditationRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityAccreditationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - FacilitiesInfo
      summary: |
        List facility's Accreditations
      description: |
        Returns all Accreditations associated with the specified facility.
      operationId: ListFacilityAccreditationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityAccreditationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/accreditations/{id}:
    get:
      tags:
        - FacilitiesInfo
      summary: |
        Get Accreditation for an existing facility
      description: |
        Returns the Accreditation for a specific facility.
      operationId: GetFacilityAccreditationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityAccreditationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - FacilitiesInfo
      summary: |
        Change an existing facility's Accreditation
      description: |
        Change an existing Accreditation associated with the specified facility.
      operationId: PatchFacilityAccreditationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityAccreditationPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityAccreditationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - FacilitiesInfo
      summary: |
        Delete existing Accreditation for a facility
      description: >
        Deletes an existing Accreditation associated with the specified
        facility.
      operationId: DeleteFacilityAccreditationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/cmsCertifications:
    post:
      tags:
        - FacilitiesInfo
      summary: |
        Create a CMS Certification for an existing facility
      description: |
        Add a CMS Certification for the specified facility.
      operationId: CreateFacilityCmsCertificationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityCmsCertificationRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityCmsCertificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - FacilitiesInfo
      summary: |
        List facility's CMS Certifications
      description: |
        Returns all CMS Certifications associated with the specified facility.
      operationId: ListFacilityCmsCertificationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityCmsCertificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/cmsCertifications/{id}:
    get:
      tags:
        - FacilitiesInfo
      summary: |
        Get CMS Certification for an existing facility
      description: |
        Returns the CMS Certification for a specific facility.
      operationId: GetFacilityCmsCertificationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityCmsCertificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - FacilitiesInfo
      summary: |
        Change an existing facility's CMS Certification
      description: >
        Change an existing CMS Certification associated with the specified
        facility.
      operationId: PatchFacilityCmsCertificationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityCmsCertificationPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityCmsCertificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - FacilitiesInfo
      summary: |
        Delete existing CMS Certification for a facility
      description: >
        Deletes an existing CMS Certification associated with the specified
        facility.
      operationId: DeleteFacilityCmsCertificationInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/medicare-enrollments:
    post:
      tags:
        - FacilitiesInfo
      summary: |
        Create a Medicare Enrollment for an existing facility
      description: |
        Add a Medicare Enrollment for the specified facility.
      operationId: CreateFacilityMedicareEnrollmentInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityMedicareEnrollmentRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityMedicareEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - FacilitiesInfo
      summary: |
        List facility's Medicare Enrollments
      description: |
        Returns all Medicare Enrollments associated with the specified facility.
      operationId: ListFacilityMedicareEnrollmentInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FacilityMedicareEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/info/medicare-enrollments/{id}:
    get:
      tags:
        - FacilitiesInfo
      summary: |
        Get Medicare Enrollment for an existing facility
      description: |
        Returns the Medicare Enrollment Info for a specific facility.
      operationId: GetFacilityMedicareEnrollmentInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityMedicareEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - FacilitiesInfo
      summary: |
        Change an existing facility's Medicare Enrollment
      description: >
        Change an existing Medicare Enrollment associated with the specified
        facility.
      operationId: PatchFacilityMedicareEnrollmentInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilityMedicareEnrollmentPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityMedicareEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - FacilitiesInfo
      summary: |
        Delete a Medicare Enrollment from an existing facility
      description: |
        Delete a Medicare Enrollment from the specified facility.
      operationId: DeleteFacilityMedicareEnrollmentInfo
      parameters:
        - name: facilityId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/specialties:
    post:
      tags:
        - FacilitiesSpecialties
      summary: |
        Create a Specialty for an existing facility
      description: |
        Add a Specialty for the specified facility.
      operationId: CreateFacilitySpecialty
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to create the Specialty for.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FacilitySpecialtyRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilitySpecialtyModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - FacilitiesSpecialties
      summary: |
        List facility's Specialties
      description: |
        Returns all Specialties associated with the specified facility.
      operationId: ListFacilitySpecialties
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to get the Specialties for.
          required: true
          schema:
            type: string
            format: uuid
        - name: taxonomyId
          in: query
          schema:
            type: string
            format: uuid
        - name: sortedBy
          in: query
          schema:
            enum:
              - TaxonomyId
            type: string
        - name: sort
          in: query
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - TaxonomyId
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          schema:
            type: string
        - name: count
          in: query
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilitySpecialtyPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/specialties/{facilitySpecialtyId}:
    get:
      tags:
        - FacilitiesSpecialties
      summary: |
        Get Specialty for an existing facility
      description: |
        Returns the Specialty for a specific facility.
      operationId: GetFacilitySpecialty
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to get the Specialty for.
          required: true
          schema:
            type: string
            format: uuid
        - name: facilitySpecialtyId
          in: path
          description: Identifier of the Specialty.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilitySpecialtyModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - FacilitiesSpecialties
      summary: |
        Delete existing Specialty for a facility
      description: |
        Deletes an existing Specialty associated with the specified facility.
      operationId: DeleteFacilitySpecialty
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to remove the Specialty from.
          required: true
          schema:
            type: string
            format: uuid
        - name: facilitySpecialtyId
          in: path
          description: Identifier of the Specialty to remove.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/specialties/{facilitySpecialtyId}/info/{facilityInfoType}:
    get:
      tags:
        - FacilitiesSpecialties
      summary: |
        List facility's specialty information by type
      description: >
        Returns all Infos associated with the specified facility specialty
        filtered by type.
      operationId: ListFacilitySpecialtyInfosByType
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to get the information for.
          required: true
          schema:
            type: string
            format: uuid
        - name: facilitySpecialtyId
          in: path
          description: Identifier of the facility specialty to get the information for.
          required: true
          schema:
            type: string
            format: uuid
        - name: facilityInfoType
          in: path
          description: Type of facility information.
          required: true
          schema:
            enum:
              - Npi
              - Dea
              - LiabilityInsurance
              - License
              - Accreditation
              - CmsCertification
              - MedicareEnrollment
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  oneOf:
                    - $ref: '#/components/schemas/FacilityAccreditationModel'
                    - $ref: '#/components/schemas/FacilityCmsCertificationModel'
                    - $ref: '#/components/schemas/FacilityDeaModel'
                    - $ref: '#/components/schemas/FacilityLiabilityInsuranceModel'
                    - $ref: '#/components/schemas/FacilityLicenseModel'
                    - $ref: '#/components/schemas/FacilityMedicareEnrollmentModel'
                    - $ref: '#/components/schemas/FacilityNpiModel'
              example:
                - id: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                  lastUpdatedAt: '2025-07-31T14:02:38.6580000Z'
                  appliesTo: Custom
                  associatedFacilitySpecialtyIds:
                    - 3fa85f64-5717-4562-b3fc-2c963f66afa6
                  deaNumber: string
                  nonVerifiedInfo:
                    drugSchedules: string
                    state: AL
                    expirationDate: '2025-07-31'
                    businessActivityCode: string
                    paymentIndicator: Paid
                    isActive: true
                - id: 4cb7f496-c4b9-48c0-8d3d-5e1050ae7ff6
                  lastUpdatedAt: '2024-10-11T14:37:12.3397020Z'
                  appliesTo: SelfAndAllChildren
                  associatedFacilitySpecialtyIds: []
                  deaNumber: string
                  nonVerifiedInfo:
                    isActive: true
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
      x-codeSamples: []
  /facilities/{facilityId}/specialties/{facilitySpecialtyId}/info:
    get:
      tags:
        - FacilitiesSpecialties
      summary: |
        List facility's specialty information
      description: |
        Returns all Infos associated with the specified facility specialty.
      operationId: ListFacilitySpecialtyInfos
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to get the information for.
          required: true
          schema:
            type: string
            format: uuid
        - name: facilitySpecialtyId
          in: path
          description: Identifier of the facility specialty to get the information for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  anyOf:
                    - $ref: '#/components/schemas/FacilityAccreditationModel'
                    - $ref: '#/components/schemas/FacilityCmsCertificationModel'
                    - $ref: '#/components/schemas/FacilityDeaModel'
                    - $ref: '#/components/schemas/FacilityLiabilityInsuranceModel'
                    - $ref: '#/components/schemas/FacilityLicenseModel'
                    - $ref: '#/components/schemas/FacilityMedicareEnrollmentModel'
                    - $ref: '#/components/schemas/FacilityNpiModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/profiles/import/sources:
    get:
      tags:
        - ProviderProfiles
      summary: |
        List provider profile import sources
      description: >
        Returns a list of sources where you can import provider profile data
        from. You can choose a source to import from and select the parameters
        required for a successful request.
      operationId: ListProviderProfileImportSources
      parameters:
        - name: source
          in: query
          description: The source of the import to get profiles.
          schema:
            enum:
              - Npi
              - CaqhPo
              - AmericanMedicalAssociationPhysician
              - AmericanMedicalAssociationPhysicianAssistant
            type: string
            example: CaqhPo
        - name: sortedBy
          in: query
          schema:
            enum:
              - Name
              - Source
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Name
                  - Source
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderProfileImportSourcePageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/profiles/import:
    post:
      tags:
        - ProviderProfiles
      summary: |
        Create a new provider profile import
      description: >
        To import a profile from an external source, you must first create an
        import request. When the request is initiated, the provider profile
        record will be created with a “Pending” status. When complete, the
        status will change to “Completed”. 


        If the request is successful, the provider profile will have a “Profile"
        value. If an error occurs, the profile will have a "FailureCode" and
        "FailureDescription" value.
      operationId: CreateProviderProfileImport
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderProfileImportRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderProfileImportModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProviderProfiles
      summary: |
        List provider profile imports
      description: >
        Returns a list of all the provider profiles that have been imported so
        far. You can filter the selection by source, status, providerId, get
        only latest record for each provider, and change the sorting and pages.
      operationId: ListProviderProfileImports
      parameters:
        - name: latest
          in: query
          description: >-
            If set, returns only the most recent import of each source type for
            a given provider.
          schema:
            type: boolean
        - name: status
          in: query
          description: If set, returns only the profiles with this status.
          schema:
            enum:
              - Pending
              - Working
              - Completed
              - Failed
            type: string
        - name: source
          in: query
          description: If set, returns only the profiles of this source.
          schema:
            enum:
              - Npi
              - CaqhPo
              - AmericanMedicalAssociationPhysician
              - AmericanMedicalAssociationPhysicianAssistant
            type: string
            example: CaqhPo
        - name: providerId
          in: query
          description: If set, returns only the imports for a given provider.
          schema:
            type: string
            format: uuid
        - name: sortedBy
          in: query
          schema:
            enum:
              - Id
              - Source
              - Status
              - Completed
              - Started
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - Source
                  - Status
                  - Completed
                  - Started
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderProfileImportPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/profiles/import/{importId}:
    get:
      tags:
        - ProviderProfiles
      summary: |
        Get an existing provider profile import
      description: >
        Returns a specific provider profile import model, allowing you to check
        the model status and get the profile value. 
      operationId: GetProviderProfileImport
      parameters:
        - name: importId
          in: path
          description: Identifier of the provider profile import to get the data for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderProfileImportModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/profiles/imports/{source}/parameters/{providerId}:
    get:
      tags:
        - ProviderProfiles
      summary: |
        Get profile import parameters for a provider
      description: >
        Returns the list of provider profile import parameters that will be used
        during a profile import.
      operationId: GetProviderImportParameters
      parameters:
        - name: providerId
          in: path
          description: >-
            The identifier of the provider for which the parameters should be
            returned.
          required: true
          schema:
            type: string
            format: uuid
        - name: source
          in: path
          description: The source of the import to get profiles.
          required: true
          schema:
            enum:
              - Npi
              - CaqhPo
              - AmericanMedicalAssociationPhysician
              - AmericanMedicalAssociationPhysicianAssistant
            type: string
            example: CaqhPo
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IProviderParameter'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/notes:
    post:
      tags:
        - Notes
      summary: |
        Create a new provider note
      description: |
        Creates a note associated with the specified provider.
      operationId: CreateNote
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider to create a note for.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderNotesRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderNotesModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - Notes
      summary: |
        List provider notes
      description: >
        Returns all notes associated with the specified provider. This also
        returns any dismissal related to alerts on this provider.
      operationId: ListNotes
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider to get all notes for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderNotesModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/notes/{noteId}:
    get:
      tags:
        - Notes
      summary: |
        Get an existing provider note
      description: |
        Gets an existing note associated with the specified provider.
      operationId: GetNote
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider associated with the note.
          required: true
          schema:
            type: string
            format: uuid
        - name: noteId
          in: path
          description: Identifier of the note.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderNotesModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    put:
      tags:
        - Notes
      summary: |
        Change an existing provider note
      description: |
        Change an existing note associated with the specified provider.
      operationId: EditNote
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider associated with the note to change.
          required: true
          schema:
            type: string
            format: uuid
        - name: noteId
          in: path
          description: Identifier of the note to be changed.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderNotesRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderNotesModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
    delete:
      tags:
        - Notes
      summary: |
        Delete an existing provider note
      description: |
        Deletes an existing note associated with the specified provider.
      operationId: DeleteNote
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider associated with the note to delete.
          required: true
          schema:
            type: string
            format: uuid
        - name: noteId
          in: path
          description: Identifier of the note to be deleted.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
  /files/uploads/{path}:
    post:
      tags:
        - Files
      summary: |
        Upload a file
      description: >
        Uploads, copies or moves a file. If the file already exists the server
        returns `409 Conflict`.


        If `x-source-path` is set then the file is copied from an existing file
        and stored at `path`.

        If `x-source-delete` is set to `1`, `true` or `yes` then the file is
        moved instead of copied.

        If `x-source-path` is not set then the content of the file must be
        uploaded by using form data (Content-Type = `multipart/form-data`). The
        new file is stored at `path`.


        Note that there is special handling for files uploaded to
        `uploads/providers/{providerId}/<<FileName>>.<<FileExtension>>`. If this
        path is used, then the file will be associated with the provider with
        that identifier and also deleted when this provider gets deleted.

        Files must include a `<<FileName>>` and `<<FileExtension>>` to be
        associated with a provider.
      operationId: UploadFile
      parameters:
        - name: path
          in: path
          description: >-
            The complete path to the file including -but not necessarily
            requiring- folder separators.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '409':
          description: Conflict
        '500':
          description: Server Error
    put:
      tags:
        - Files
      summary: |
        Upload and overwrite a file
      description: >
        Uploads, copies or moves a file. If the file already exists then it is
        overwritten.


        If `x-source-path` is set then the file is copied from an existing file
        and stored at `path`.

        If `x-source-delete` is set to `1`, `true` or `yes` then the file is
        moved instead of copied.

        If `x-source-path` is not set then the content of the file must be
        uploaded by using form data (Content-Type = `multipart/form-data`). The
        new file is stored at `path`.


        Note that there is special handling for files uploaded to
        `uploads/providers/{providerId}/<<FileName>>.<<FileExtension>>`. If this
        path is used, then the file will be associated with the provider with
        that identifier and also deleted when this provider gets deleted.

        Files must include a `<<FileName>>` and `<<FileExtension>>` to be
        associated with a provider.
      operationId: UploadAndOverwriteFile
      parameters:
        - name: path
          in: path
          description: >-
            The complete path to the file including -but not necessarily
            requiring- folder separators.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /files/uploads/{pathOrId}:
    delete:
      tags:
        - Files
      summary: |
        Delete a file
      description: |
        Deletes a previously uploaded file.
      operationId: DeleteFile
      parameters:
        - name: pathOrId
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Server Error
  /files/{pathOrId}:
    get:
      tags:
        - Files
      summary: |
        Download a file
      description: |
        Download the file contents for the file at the specified location.
      operationId: DownloadFile
      parameters:
        - name: pathOrId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                format: binary
        '304':
          description: Not Modified
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    head:
      tags:
        - Files
      summary: |
        Get file metadata
      description: |
        Returns the metadata of a file at the specified location.
      operationId: GetFileMetadata
      parameters:
        - name: pathOrId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
        '304':
          description: Not Modified
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /files/uploads:
    get:
      tags:
        - Files
      summary: |
        List uploaded files
      description: |
        Returns metadata for previously uploaded files.
      operationId: ListUploadedFilesMetadata
      parameters:
        - name: prefix
          in: query
          description: >-
            If set the result is filtered to return only files whose path begin
            with the specified prefix.
          schema:
            maxLength: 640
            minLength: 0
            type: string
        - name: before
          in: query
          description: If set, only returns events from before this date.
          schema:
            type: string
            format: date-time
        - name: beforeInclusive
          in: query
          description: >-
            If set to `true`, will include events created exactly at `before`
            date and time too.
          schema:
            type: boolean
        - name: after
          in: query
          description: If set, only returns events from after this date.
          schema:
            type: string
            format: date-time
        - name: afterInclusive
          in: query
          description: >-
            If set to `true`, will include events created exactly at `after`
            date and time too.
          schema:
            type: boolean
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Path
              - CreatedAt
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Path
                  - CreatedAt
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilePageModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/dea/{registrationNumber}:
    post:
      tags:
        - DEA
      summary: |
        Attach a DEA registration number to a provider
      description: >
        To perform a DEA registration lookup you must first attach a DEA
        registration number to a provider. Everytime you call this endpoint a
        new verification will be made.
      operationId: AttachDeaRegistration
      parameters:
        - name: providerId
          in: path
          description: >-
            The identifier describing the provider to attach the DEA
            registration number to.
          required: true
          schema:
            type: string
            format: uuid
        - name: registrationNumber
          in: path
          description: The DEA registration number to attach to the provider.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeaRegistrationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '402':
          description: Client Error
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - DEA
      summary: |
        Get a specific DEA registration from a provider
      description: >
        Returns the data and latest verification for a specific DEA registration
        attached to a specific provider.
      operationId: GetDeaRegistration
      parameters:
        - name: providerId
          in: path
          description: >-
            The identifier describing the provider that holds the DEA
            registration.
          required: true
          schema:
            type: string
            format: uuid
        - name: registrationNumber
          in: path
          description: The DEA registration number to get the data for.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeaRegistrationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '402':
          description: Client Error
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - DEA
      summary: |
        Detach a DEA registration number from a provider
      description: >
        This will delete the DEA registration lookup record for the specified
        provider.
      operationId: DetachDeaRegistration
      parameters:
        - name: providerId
          in: path
          description: >-
            The identifier describing the provider to detach the DEA
            registration number from.
          required: true
          schema:
            type: string
            format: uuid
        - name: registrationNumber
          in: path
          description: The DEA registration number to detach from the provider.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '402':
          description: Client Error
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/dea/{registrationNumber}/verifications/{verificationId}:
    get:
      tags:
        - DEA
      summary: |
        Get a specific DEA registration verification
      description: >
        Returns the data for a specific previously executed DEA registration
        verification. This endpoint can be used to retrieve historical results
        on older verifications.
      operationId: GetDeaVerification
      parameters:
        - name: providerId
          in: path
          description: >-
            The identifier describing the provider that holds the DEA
            registration.
          required: true
          schema:
            type: string
            format: uuid
        - name: registrationNumber
          in: path
          description: The registration number that was previously verified.
          required: true
          schema:
            type: string
        - name: verificationId
          in: path
          description: >-
            The identifier describing the verification that you want to
            retrieve.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeaVerificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '402':
          description: Client Error
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - DEA
      summary: |
        Resolve problems with a DEA registration verification
      description: >
        After a verification is executed we sometimes are uncertain about the
        results we get from the source. For example when the name of the DEA
        registration does not match the name that was used for the provider. In
        such cases we mark the verification `status` as `NeedsReview`. It is
        expected that this status is resolved by the end user. The resolution
        can be patched by using this endpoint.
      operationId: ResolveDeaVerificationProblems
      parameters:
        - name: providerId
          in: path
          description: >-
            The identifier describing the provider that holds the DEA
            registration.
          required: true
          schema:
            type: string
            format: uuid
        - name: registrationNumber
          in: path
          description: The DEA registration number that has a verification problem.
          required: true
          schema:
            type: string
        - name: verificationId
          in: path
          description: The identifier describing the verification that needs to be patched.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeaVerificationResolutionModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeaVerificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '402':
          description: Client Error
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
  /providers/{providerId}/dea/{registrationNumber}/verifications/{verificationId}/diff:
    get:
      tags:
        - DEA
      summary: |
        Diff two DEA registration verifications
      description: >
        Returns the diff according to [jsondiffpatch
        format](https://github.com/benjamine/jsondiffpatch) between the
        specified verification and the previous successful verification.
      operationId: GetDeaVerificationDiff
      parameters:
        - name: providerId
          in: path
          description: >-
            The identifier describing the provider that holds the DEA
            registration.
          required: true
          schema:
            type: string
            format: uuid
        - name: registrationNumber
          in: path
          description: The registration number that was previously verified.
          required: true
          schema:
            type: string
        - name: verificationId
          in: path
          description: >-
            The identifier describing the verification that you want to diff
            with the previous one.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeaVerificationDiffModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '402':
          description: Client Error
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
  /providers/{providerId}/dea:
    get:
      tags:
        - DEA
      summary: |
        List all DEA registrations from a provider
      description: >
        Returns a list of all DEA registrations previously attached to the
        specified provider.
      operationId: ListDeaRegistrations
      parameters:
        - name: providerId
          in: path
          description: >-
            The identifier describing the provider to list all DEA registrations
            for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeaRegistrationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '402':
          description: Client Error
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/dea/{registrationNumber}/verifications:
    get:
      tags:
        - DEA
      summary: |
        List all verifications for a DEA registration
      description: >
        It is possible to perform more than one verification for any given DEA
        registration. In order to go back in history you can use this endpoint
        to get a list of all verifications for the specified DEA registration.
      operationId: ListDeaVerifications
      parameters:
        - name: providerId
          in: path
          description: >-
            The identifier describing the provider that holds the DEA
            registration.
          required: true
          schema:
            type: string
            format: uuid
        - name: registrationNumber
          in: path
          description: The DEA registration number to get the verifications from.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeaVerificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '402':
          description: Client Error
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /provider-licenses:
    get:
      tags:
        - Licenses
      summary: |
        List provider licenses
      description: |
        Returns a page of provider licenses.
      operationId: ListProviderLicenses
      parameters:
        - name: providerName
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            (first or last) name.
          schema:
            type: string
        - name: providerCredentialingStatus
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            credentialing status.
          schema:
            type: array
            items:
              type: string
        - name: licenseState
          in: query
          description: >-
            If set, the items will be filtered on licenses with the specified
            license state.
          schema:
            enum:
              - AL
              - AK
              - AZ
              - AR
              - CA
              - CO
              - CT
              - DE
              - DC
              - FL
              - GA
              - HI
              - ID
              - IL
              - IN
              - IA
              - KS
              - KY
              - LA
              - ME
              - MD
              - MA
              - MI
              - MN
              - MS
              - MO
              - MT
              - NE
              - NV
              - NH
              - NJ
              - NM
              - NY
              - NC
              - ND
              - OH
              - OK
              - OR
              - PA
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - VT
              - VA
              - WA
              - WV
              - WI
              - WY
              - AS
              - GU
              - MP
              - PR
              - VI
            type: string
        - name: licenseType
          in: query
          description: >-
            If set, the items will be filtered on licenses with the specified
            license type.
          schema:
            type: string
            format: uuid
        - name: licenseStatus
          in: query
          description: >-
            If set, the items will be filtered on licenses with the specified
            license status.
          schema:
            enum:
              - None
              - Active
              - Expired
              - ExpiresSoon
              - DisciplinaryActions
              - Found
              - NotFound
              - UnableToVerify
              - NeedsReview
              - All
            type: string
        - name: licenseVerificationStatus
          in: query
          description: >-
            If set, the items will be filtered on licenses with the verification
            status.
          schema:
            enum:
              - Verified
              - Unverified
            type: string
        - name: licenseApprovedStatus
          in: query
          schema:
            type: array
            items:
              enum:
                - Pending
                - 'Yes'
                - 'No'
              type: string
        - name: export
          in: query
          schema:
            enum:
              - None
              - Csv
            type: string
        - name: providerDeactivated
          in: query
          schema:
            type: boolean
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - ProviderFirstName
              - ProviderLastName
              - LicenseState
              - LicenseExpirationDate
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - ProviderFirstName
                  - ProviderLastName
                  - LicenseState
                  - LicenseExpirationDate
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderLicensePageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/licenses/{licenseId}/verify:
    post:
      tags:
        - Licenses
      summary: |
        Trigger a new license verification
      description: >
        By executing this endpoint a new license verification is scheduled and
        executed for the specified license.
      operationId: TriggerLicenseVerification
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider that holds the license.
          required: true
          schema:
            type: string
            format: uuid
        - name: licenseId
          in: path
          description: The identifier describing the license to be verified again.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/licenses/verify:
    post:
      tags:
        - Licenses
      summary: |
        Trigger license verifications
      description: >
        By executing this endpoint a license verifications is scheduled and
        executed for specified licenses for the provider.
      operationId: TriggerLicenseVerifications
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider that holds the license.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: >-
          List with license identifiers to run verifications. If list with
          identifiers is empty, verifications for all provider licenses will be
          run.
        content:
          application/json:
            schema:
              type: array
              items:
                title: Unique license identifier to run verififcation.
                type: string
                format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/licenses/{licenseId}:
    delete:
      tags:
        - Licenses
      summary: |
        Detach a license from a provider
      description: >
        This will delete the license and associated verification records for the
        specified provider. This will also delete any related data such as
        screenshots, attachments, export reports, alerts etc.
      operationId: DetachLicense
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider to detach the license from.
          required: true
          schema:
            type: string
            format: uuid
        - name: licenseId
          in: path
          description: The identifier describing the license that you want to detach.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - Licenses
      summary: |
        Get a specific license from a provider
      description: >
        Returns the data and latest verification for a specific license attached
        to a specific provider.
      operationId: GetLicense
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider that holds the license.
          required: true
          schema:
            type: string
            format: uuid
        - name: licenseId
          in: path
          description: >-
            The identifier describing the license that you want to get the data
            for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/licenses/{licenseId}/verifications/{verificationId}:
    get:
      tags:
        - Licenses
      summary: |
        Get a specific license verification
      description: >
        Returns the data for a specific previously executed license
        verification. This endpoint can be used to retrieve historical results
        on older license verifications.
      operationId: GetLicenseVerification
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider that holds the license.
          required: true
          schema:
            type: string
            format: uuid
        - name: licenseId
          in: path
          description: The identifier describing the license that was previously verified.
          required: true
          schema:
            type: string
            format: uuid
        - name: verificationId
          in: path
          description: >-
            The identifier describing the license verification that you want to
            retrieve.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseVerificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - Licenses
      summary: |
        Resolve problems with a license verification
      description: >
        After a license verification is executed we sometimes are uncertain
        about the results we get from the source. For example when the source
        returns more than 1 match or the name of the license does not match the
        name that was used for the provider. In such cases we mark the license
        `status` as `NeedsReview`. It is expected that this status is resolved
        by the end user. The resolution can be patched by using this endpoint.
      operationId: ResolveLicenseVerificationProblems
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider that holds the license.
          required: true
          schema:
            type: string
            format: uuid
        - name: licenseId
          in: path
          description: >-
            The identifier describing the license that has a verification
            problem.
          required: true
          schema:
            type: string
            format: uuid
        - name: verificationId
          in: path
          description: >-
            The identifier describing the license verification that needs to be
            patched.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LicenseVerificationResolutionModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseVerificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
  /providers/{providerId}/licenses/{licenseId}/verifications/{verificationId}/diff:
    get:
      tags:
        - Licenses
      summary: |
        Diff two license verifications
      description: >
        Returns the diff according to [jsondiffpatch
        format](https://github.com/benjamine/jsondiffpatch) between the
        specified verification and the previous successful verification.
      operationId: GetLicenseVerificationDiff
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider that holds the license.
          required: true
          schema:
            type: string
            format: uuid
        - name: licenseId
          in: path
          description: The identifier describing the license that was previously verified.
          required: true
          schema:
            type: string
            format: uuid
        - name: verificationId
          in: path
          description: >-
            The identifier describing the license verification that you want to
            diff with the previous one.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseVerificationDiffModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
  /providers/{providerId}/licenses/{licenseId}/verifications:
    get:
      tags:
        - Licenses
      summary: |
        List all verifications for a license
      description: >
        It is possible to perform more than one verification for any given
        license. In order to go back in history you can use this endpoint to get
        a list of all verifications for the specified license.
      operationId: ListLicenseVerifications
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider that holds the license.
          required: true
          schema:
            type: string
            format: uuid
        - name: licenseId
          in: path
          description: The identifier describing the license to get the verifications from.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LicenseVerificationModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /licensetypes:
    get:
      tags:
        - Licenses
      summary: |
        List license types
      description: >
        Returns a list of all license types that are currently supported and
        used for license verifications.
      operationId: ListSimplifiedLicenseTypes
      parameters:
        - name: state
          in: query
          description: >-
            If set, the items will be filtered on the state specified by this
            parameter
          schema:
            enum:
              - AL
              - AK
              - AZ
              - AR
              - CA
              - CO
              - CT
              - DE
              - DC
              - FL
              - GA
              - HI
              - ID
              - IL
              - IN
              - IA
              - KS
              - KY
              - LA
              - ME
              - MD
              - MA
              - MI
              - MN
              - MS
              - MO
              - MT
              - NE
              - NV
              - NH
              - NJ
              - NM
              - NY
              - NC
              - ND
              - OH
              - OK
              - OR
              - PA
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - VT
              - VA
              - WA
              - WV
              - WI
              - WY
              - AS
              - GU
              - MP
              - PR
              - VI
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Taxonomy
              - Name
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Taxonomy
                  - Name
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimplifiedLicenseTypePageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /licensetypes/status:
    get:
      tags:
        - Licenses
      summary: |
        List license source status
      description: >
        Returns the license source status information for one or more license
        types.
      operationId: ListSimplifiedLicenseTypesStatus
      parameters:
        - name: licenseTypeId
          in: query
          description: >-
            If set, the items will be filtered by the License type id. Please
            refer to [LicenseTypes](../ListSimplifiedLicenseTypes) for more
            information on the License type id.
          schema:
            type: string
            format: uuid
        - name: state
          in: query
          description: >-
            If set, the items will be filtered by the state specified in this
            parameter.
          schema:
            enum:
              - AL
              - AK
              - AZ
              - AR
              - CA
              - CO
              - CT
              - DE
              - DC
              - FL
              - GA
              - HI
              - ID
              - IL
              - IN
              - IA
              - KS
              - KY
              - LA
              - ME
              - MD
              - MA
              - MI
              - MN
              - MS
              - MO
              - MT
              - NE
              - NV
              - NH
              - NJ
              - NM
              - NY
              - NC
              - ND
              - OH
              - OK
              - OR
              - PA
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - VT
              - VA
              - WA
              - WV
              - WI
              - WY
              - AS
              - GU
              - MP
              - PR
              - VI
            type: string
        - name: licenseTypeSearchQuery
          in: query
          schema:
            type: string
        - name: sourceIssue
          in: query
          schema:
            enum:
              - PossibleIssue
              - SourceIssue
              - AutomationIssue
              - AutomationDegraded
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - State
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - State
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimplifiedLicenseTypeStatusPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /sources/board-certifications:
    get:
      tags:
        - BoardCertifications
      summary: |
        List board certification sources (Deprecated)
      description: >
        Returns a list of all board certification source that are currently
        supported and used for verifications.
      operationId: ListBoardCertificationSources
      parameters:
        - name: availability
          in: query
          description: >-
            If set, the items will be filtered on the availability specified by
            this parameter
          schema:
            enum:
              - Available
              - Disabled
              - ComingSoon
            type: string
        - name: isDegraded
          in: query
          description: >-
            If set, the items will be filtered on the degraded status specified
            by this parameter
          schema:
            type: boolean
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - Name
              - SourceId
            type: string
        - name: sort
          in: query
          schema:
            type: object
            additionalProperties:
              enum:
                - Asc
                - Desc
              type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BoardCertificationSourcePageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /datasets/scans:
    post:
      tags:
        - Datasets
      summary: |
        Start a dataset scan
      description: |
        Starts a new dataset scan.

        Will return a failed scan if required parameters are missing.
      operationId: StartDatasetScan
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetScanRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetScanModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
    get:
      tags:
        - Datasets
      summary: |
        List dataset scans
      description: |
        Returns a page of dataset scans.
      operationId: ListDatasetScans
      parameters:
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - Started
              - Completed
              - Type
              - ProviderId
              - ProviderFirstName
              - ProviderLastName
              - FacilityId
              - FacilityName
            type: string
        - name: type
          in: query
          description: >-
            If set, the results will only contain scans with the specified
            dataset types.
          schema:
            type: array
            items:
              enum:
                - Sam
                - MedicareOptOut
                - OigFugitives
                - OfacSdn
                - OfacConsolidated
                - OigExclusions
                - StateSanctionsAndExclusions
                - Npdb
                - Dmf
                - Npi
                - Nsc
                - Dea
                - CmsPreclusion
                - Tricare
                - AmericanBoardofInternalMedicine
                - NationalCommissiononCertificationofPhysicianAssistants
                - Abms
                - NationalBoardforCertifiedCounselors
                - AmericanAcademyofNursePractitioners
                - >-
                  NationalBoardofCertificationandRecertificationforNurseAnesthetists
                - AmericanOsteopathicAssociation
                - AmericanNursesCredentialingCenter
                - NationalBoardforCertificationinOccupationalTherapy
                - AmericanSpeechLanguageHearingAssociation
                - AmericanBoardofFamilyMedicine
                - AmericanBoardofPsychiatryandNeurology
                - InternationalBoardofLactationConsultantExaminers
                - AmericanMidwiferyCertificationBoard
                - AmericanDentalBoardofAnesthesiology
                - AmericanBoardofClinicalSocialWork
                - BoardOfPharmacySpecialties
                - AmericanBoardofAllergyandImmunology
                - AmericanBoardofOrthodontics
                - AmericanBoardofOralMedicine
                - AmericanBoardofPediatricDentistry
                - AmericanBoardofOralandMaxillofacialSurgery
                - AmericanBoardofOralandMaxillofacialRadiology
                - AmericanBoardofProsthodontics
                - AmericanBoardofOralandMaxillofacialPathology
                - AmericanBoardofEndodontics
                - AmericanBoardofPeriodontology
                - AmericanBoardofOralImplantology
                - AmericanBoardofPodiatricMedicine
                - AmericanBoardofDentalPublicHealth
                - BehaviorAnalystCertificationBoard
                - AmericanBoardofGeneralDentistry
                - NationalAssociationofSchoolPsychologists
                - AmericanBoardofAddictionMedicine
                - AmericanBoardofMultipleSpecialtiesinPodiatry
                - CommissionOnDieteticRegistration
                - AmericanBoardOfObesityMedicine
                - NationalCertificationCorporation
                - NationalCommissionForCertificationOfAnesthesiologistAssistants
                - AmericanRegistryOfRadiologyTechnologists
                - AmericanBoardOfAnesthesiology
                - AmericanRegistryForDiagnosticMedicalSonography
                - NationalBoardOfPhysiciansAndSurgeons
                - CardiovascularCredentialingInternational
                - NationalCenterForCompetencyTesting
                - NationalAssociationOfPhlebotomyTechnicians
                - AmericanAlliedHealth
                - NationalRegistryOfAlliedHealthProfessionals
                - AmericanMedicalTechnologists
                - NationalHealthCareerAssociation
                - DentalAssistingNationalBoard
                - PediatricNursingCertification
                - >-
                  NationalCertificationCommissionForAcupunctureAndOrientalMedicine
                - CertificationBoardForMusicTherapists
                - AmericanBoardOfChiropracticInternists
                - AmericanBoardofPhysicalTherapySpecialties
                - AmericanBoardofPhysicianSpecialties
                - AmericanAcademyofOptometry
                - AmericanBoardofNeurologicalSurgery
                - AmericanBoardofObstetricsandGynecology
                - AmericanBoardofOphthalmology
                - AmericanBoardofOtolaryngologyHeadandNeckSurgery
                - AmericanBoardofPediatrics
                - AmericanBoardofOrthopaedicSurgery
                - AmericanBoardofPhysicalMedicineandRehabilitation
                - AmericanBoardofPlasticSurgery
                - AmericanBoardofRadiology
                - AmericanBoardofSurgery
                - AmericanBoardofUrology
                - AmericanBoardofColonandRectalSurgery
                - AmericanAssociationofCriticalCareNurses
                - AmericanBoardofFootandAnkleSurgery
                - PharmacyTechnicianCertificationBoard
                - NationalBoardofSurgicalTechnologyandSurgicalAssisting
                - AmericanBoardofPainMedicine
                - AmericanBoardofOrofacialPain
                - NuclearMedicineTechnologyCertificationBoard
                - AmericanBoardofEmergencyMedicine
                - ArtTherapyCredentialsBoard
                - AmericanHeartAssociation
                - MedicaidEnrollmentCalifornia
                - JointCommission
                - FacilityCmsCertification
              type: string
        - name: parameterSetId
          in: query
          description: >-
            If set, the results will only contain scans with the specified
            parameter set.
          schema:
            type: string
            format: uuid
        - name: referenceId
          in: query
          description: >-
            If set, the results will only contain scans with the specified
            provider info reference id.
          schema:
            type: string
            format: uuid
        - name: status
          in: query
          description: >-
            If set, the results will only contain scans with the specified
            statuses.
          schema:
            type: array
            items:
              enum:
                - Pending
                - Working
                - Completed
                - Failed
                - Active
              type: string
        - name: includeOldScans
          in: query
          description: >-
            If set, the results will contain all dataset scans, otherwise, only
            the most recent scans will be included.
          schema:
            type: boolean
        - name: hasMonitor
          in: query
          description: >-
            If set, when `true`, the results will only contain scans currently
            associated with a monitor, or when `false`, the results will only
            contain scans not currently associated with a monitor.
          schema:
            type: boolean
        - name: trigger
          in: query
          description: >-
            If set, the results will only contain scans with the specified
            trigger.
          schema:
            enum:
              - Manual
              - Monitor
            type: string
        - name: entityType
          in: query
          description: >-
            Indicates whether to retrieve dataset scans for practitioners or
            facilities. Defaults to `Practitioners`.
          schema:
            enum:
              - Practitioner
              - Facility
            type: string
        - name: entityId
          in: query
          description: >-
            If set, the items will be filtered by the specified entity
            identifier (`providerId` or `facilityId`).
          schema:
            type: string
            format: uuid
        - name: entityName
          in: query
          description: >-
            If set, the items will be filtered by the specified entity name
            (provider name/alias or facility name).
          schema:
            type: string
        - name: entityNpi
          in: query
          description: >-
            If set, the items will be filtered by the specified entity NPI
            number.
          schema:
            type: integer
            format: int64
        - name: entityDeactivated
          in: query
          description: >-
            If set, the items will be filtered by the specified entity
            deactivated status.
          schema:
            type: boolean
        - name: credentialingStatus
          in: query
          description: >-
            If set, the results will only contain scans for providers in the
            specified credentialing status.
          schema:
            type: string
        - name: providerId
          in: query
          description: If set, the results will only contain scans for this provider.
          schema:
            type: string
            format: uuid
            deprecated: true
        - name: providerName
          in: query
          description: >-
            If set, the results will only contain scans for providers with the
            specified name or alias name.
          schema:
            type: string
            deprecated: true
        - name: providerNpi
          in: query
          description: >-
            If set, the results will only contain scans for providers with the
            specified npi number.
          schema:
            type: integer
            format: int64
            deprecated: true
        - name: providerDeactivated
          in: query
          description: >-
            If set, the results will only contain scans for providers in the
            specified deactivated status.
          schema:
            type: boolean
            deprecated: true
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - Started
                  - Completed
                  - Type
                  - ProviderId
                  - ProviderFirstName
                  - ProviderLastName
                  - FacilityId
                  - FacilityName
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetScanPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /datasets/scans/{scanId}:
    get:
      tags:
        - Datasets
      summary: |
        Get dataset scan
      description: |
        Returns the status and results for a previously started dataset scan.
      operationId: GetDatasetScan
      parameters:
        - name: scanId
          in: path
          description: The identifier of the scan to get results for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetScanModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /datasets/matches:
    get:
      tags:
        - Datasets
      summary: |
        List dataset matches
      description: >
        Returns a page of dataset matches. By default, only matches that have
        not been rejected are returned. By default, only the most recent matches
        are returned.
      operationId: ListDatasetMatches
      parameters:
        - name: types
          in: query
          description: >-
            If set, the results will only contain matches for the specified
            dataset types. As opposed to `type` you can filter on more than 1
            different dataset type this way.
          schema:
            type: array
            items:
              enum:
                - Sam
                - MedicareOptOut
                - OigFugitives
                - OfacSdn
                - OfacConsolidated
                - OigExclusions
                - StateSanctionsAndExclusions
                - Npdb
                - Dmf
                - Npi
                - Nsc
                - Dea
                - CmsPreclusion
                - Tricare
                - AmericanBoardofInternalMedicine
                - NationalCommissiononCertificationofPhysicianAssistants
                - Abms
                - NationalBoardforCertifiedCounselors
                - AmericanAcademyofNursePractitioners
                - >-
                  NationalBoardofCertificationandRecertificationforNurseAnesthetists
                - AmericanOsteopathicAssociation
                - AmericanNursesCredentialingCenter
                - NationalBoardforCertificationinOccupationalTherapy
                - AmericanSpeechLanguageHearingAssociation
                - AmericanBoardofFamilyMedicine
                - AmericanBoardofPsychiatryandNeurology
                - InternationalBoardofLactationConsultantExaminers
                - AmericanMidwiferyCertificationBoard
                - AmericanDentalBoardofAnesthesiology
                - AmericanBoardofClinicalSocialWork
                - BoardOfPharmacySpecialties
                - AmericanBoardofAllergyandImmunology
                - AmericanBoardofOrthodontics
                - AmericanBoardofOralMedicine
                - AmericanBoardofPediatricDentistry
                - AmericanBoardofOralandMaxillofacialSurgery
                - AmericanBoardofOralandMaxillofacialRadiology
                - AmericanBoardofProsthodontics
                - AmericanBoardofOralandMaxillofacialPathology
                - AmericanBoardofEndodontics
                - AmericanBoardofPeriodontology
                - AmericanBoardofOralImplantology
                - AmericanBoardofPodiatricMedicine
                - AmericanBoardofDentalPublicHealth
                - BehaviorAnalystCertificationBoard
                - AmericanBoardofGeneralDentistry
                - NationalAssociationofSchoolPsychologists
                - AmericanBoardofAddictionMedicine
                - AmericanBoardofMultipleSpecialtiesinPodiatry
                - CommissionOnDieteticRegistration
                - AmericanBoardOfObesityMedicine
                - NationalCertificationCorporation
                - NationalCommissionForCertificationOfAnesthesiologistAssistants
                - AmericanRegistryOfRadiologyTechnologists
                - AmericanBoardOfAnesthesiology
                - AmericanRegistryForDiagnosticMedicalSonography
                - NationalBoardOfPhysiciansAndSurgeons
                - CardiovascularCredentialingInternational
                - NationalCenterForCompetencyTesting
                - NationalAssociationOfPhlebotomyTechnicians
                - AmericanAlliedHealth
                - NationalRegistryOfAlliedHealthProfessionals
                - AmericanMedicalTechnologists
                - NationalHealthCareerAssociation
                - DentalAssistingNationalBoard
                - PediatricNursingCertification
                - >-
                  NationalCertificationCommissionForAcupunctureAndOrientalMedicine
                - CertificationBoardForMusicTherapists
                - AmericanBoardOfChiropracticInternists
                - AmericanBoardofPhysicalTherapySpecialties
                - AmericanBoardofPhysicianSpecialties
                - AmericanAcademyofOptometry
                - AmericanBoardofNeurologicalSurgery
                - AmericanBoardofObstetricsandGynecology
                - AmericanBoardofOphthalmology
                - AmericanBoardofOtolaryngologyHeadandNeckSurgery
                - AmericanBoardofPediatrics
                - AmericanBoardofOrthopaedicSurgery
                - AmericanBoardofPhysicalMedicineandRehabilitation
                - AmericanBoardofPlasticSurgery
                - AmericanBoardofRadiology
                - AmericanBoardofSurgery
                - AmericanBoardofUrology
                - AmericanBoardofColonandRectalSurgery
                - AmericanAssociationofCriticalCareNurses
                - AmericanBoardofFootandAnkleSurgery
                - PharmacyTechnicianCertificationBoard
                - NationalBoardofSurgicalTechnologyandSurgicalAssisting
                - AmericanBoardofPainMedicine
                - AmericanBoardofOrofacialPain
                - NuclearMedicineTechnologyCertificationBoard
                - AmericanBoardofEmergencyMedicine
                - ArtTherapyCredentialsBoard
                - AmericanHeartAssociation
                - MedicaidEnrollmentCalifornia
                - JointCommission
                - FacilityCmsCertification
              type: string
        - name: userActionNeeded
          in: query
          schema:
            type: boolean
        - name: referenceId
          in: query
          schema:
            type: string
            format: uuid
        - name: includeOldMatches
          in: query
          description: >-
            If set, the results will contain all dataset matches, otherwise,
            only matches from the most recent completed scans will be included.
          schema:
            type: boolean
        - name: userActionResolution
          in: query
          schema:
            enum:
              - Accept
              - Reject
            type: string
        - name: matchRelevance
          in: query
          schema:
            type: array
            items:
              enum:
                - Low
                - Medium
                - High
              type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - MatchRelevance
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - MatchRelevance
            type: string
        - name: entityType
          in: query
          description: >-
            Indicates whether to retrieve dataset matches for practitioners or
            facilities. Defaults to `Practitioners`.
          schema:
            enum:
              - Practitioner
              - Facility
            type: string
        - name: entityId
          in: query
          description: >-
            If set, the items will be filtered by the specified entity
            identifier (`providerId` or `facilityId`).
          schema:
            type: string
            format: uuid
        - name: entityName
          in: query
          description: >-
            If set, the items will be filtered by the specified entity name
            (provider name/alias or facility name).
          schema:
            type: string
        - name: entityNpi
          in: query
          description: >-
            If set, the items will be filtered by the specified entity NPI
            number.
          schema:
            type: integer
            format: int64
        - name: entityDeactivated
          in: query
          description: >-
            If set, the items will be filtered by the specified entity
            deactivated status.
          schema:
            type: boolean
        - name: credentialingStatus
          in: query
          description: >-
            If set, the results will only contain scans for providers in the
            specified credentialing status.
          schema:
            type: array
            items:
              type: string
        - name: providerId
          in: query
          description: If set, the results will only contain matches for this provider.
          schema:
            type: string
            format: uuid
            deprecated: true
        - name: providerName
          in: query
          schema:
            type: string
            deprecated: true
        - name: providerNpi
          in: query
          schema:
            type: integer
            format: int64
            deprecated: true
        - name: providerDeactivated
          in: query
          description: >-
            If set, the results will only contain scans for providers in the
            specified deactivated status.
          schema:
            type: boolean
            deprecated: true
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetMatchPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /datasets/{datasetType}:
    get:
      tags:
        - Datasets
      summary: |
        Get dataset metadata
      description: >
        Returns metadata for a specific dataset. The metadata includes the date
        it was last updated in our system in addition to the JSON schema used
        for the records.
      operationId: GetDataset
      parameters:
        - name: datasetType
          in: path
          description: The specific dataset type to get the metadata for.
          required: true
          schema:
            enum:
              - Sam
              - MedicareOptOut
              - OigFugitives
              - OfacSdn
              - OfacConsolidated
              - OigExclusions
              - StateSanctionsAndExclusions
              - Npdb
              - Dmf
              - Npi
              - Nsc
              - Dea
              - CmsPreclusion
              - Tricare
              - AmericanBoardofInternalMedicine
              - NationalCommissiononCertificationofPhysicianAssistants
              - Abms
              - NationalBoardforCertifiedCounselors
              - AmericanAcademyofNursePractitioners
              - >-
                NationalBoardofCertificationandRecertificationforNurseAnesthetists
              - AmericanOsteopathicAssociation
              - AmericanNursesCredentialingCenter
              - NationalBoardforCertificationinOccupationalTherapy
              - AmericanSpeechLanguageHearingAssociation
              - AmericanBoardofFamilyMedicine
              - AmericanBoardofPsychiatryandNeurology
              - InternationalBoardofLactationConsultantExaminers
              - AmericanMidwiferyCertificationBoard
              - AmericanDentalBoardofAnesthesiology
              - AmericanBoardofClinicalSocialWork
              - BoardOfPharmacySpecialties
              - AmericanBoardofAllergyandImmunology
              - AmericanBoardofOrthodontics
              - AmericanBoardofOralMedicine
              - AmericanBoardofPediatricDentistry
              - AmericanBoardofOralandMaxillofacialSurgery
              - AmericanBoardofOralandMaxillofacialRadiology
              - AmericanBoardofProsthodontics
              - AmericanBoardofOralandMaxillofacialPathology
              - AmericanBoardofEndodontics
              - AmericanBoardofPeriodontology
              - AmericanBoardofOralImplantology
              - AmericanBoardofPodiatricMedicine
              - AmericanBoardofDentalPublicHealth
              - BehaviorAnalystCertificationBoard
              - AmericanBoardofGeneralDentistry
              - NationalAssociationofSchoolPsychologists
              - AmericanBoardofAddictionMedicine
              - AmericanBoardofMultipleSpecialtiesinPodiatry
              - CommissionOnDieteticRegistration
              - AmericanBoardOfObesityMedicine
              - NationalCertificationCorporation
              - NationalCommissionForCertificationOfAnesthesiologistAssistants
              - AmericanRegistryOfRadiologyTechnologists
              - AmericanBoardOfAnesthesiology
              - AmericanRegistryForDiagnosticMedicalSonography
              - NationalBoardOfPhysiciansAndSurgeons
              - CardiovascularCredentialingInternational
              - NationalCenterForCompetencyTesting
              - NationalAssociationOfPhlebotomyTechnicians
              - AmericanAlliedHealth
              - NationalRegistryOfAlliedHealthProfessionals
              - AmericanMedicalTechnologists
              - NationalHealthCareerAssociation
              - DentalAssistingNationalBoard
              - PediatricNursingCertification
              - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
              - CertificationBoardForMusicTherapists
              - AmericanBoardOfChiropracticInternists
              - AmericanBoardofPhysicalTherapySpecialties
              - AmericanBoardofPhysicianSpecialties
              - AmericanAcademyofOptometry
              - AmericanBoardofNeurologicalSurgery
              - AmericanBoardofObstetricsandGynecology
              - AmericanBoardofOphthalmology
              - AmericanBoardofOtolaryngologyHeadandNeckSurgery
              - AmericanBoardofPediatrics
              - AmericanBoardofOrthopaedicSurgery
              - AmericanBoardofPhysicalMedicineandRehabilitation
              - AmericanBoardofPlasticSurgery
              - AmericanBoardofRadiology
              - AmericanBoardofSurgery
              - AmericanBoardofUrology
              - AmericanBoardofColonandRectalSurgery
              - AmericanAssociationofCriticalCareNurses
              - AmericanBoardofFootandAnkleSurgery
              - PharmacyTechnicianCertificationBoard
              - NationalBoardofSurgicalTechnologyandSurgicalAssisting
              - AmericanBoardofPainMedicine
              - AmericanBoardofOrofacialPain
              - NuclearMedicineTechnologyCertificationBoard
              - AmericanBoardofEmergencyMedicine
              - ArtTherapyCredentialsBoard
              - AmericanHeartAssociation
              - MedicaidEnrollmentCalifornia
              - JointCommission
              - FacilityCmsCertification
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
  /datasets:
    get:
      tags:
        - Datasets
      summary: |
        List datasets metadata
      description: >
        Returns metadata for all available datasets. The metadata includes the
        date it was last updated in our system in addition to the JSON schema
        used for the records.
      operationId: ListDatasets
      parameters:
        - name: tags
          in: query
          description: >-
            If set, the result will contain items with matching associated tags.
            Currently supported tags are: "Sanctions and Exclusions", "Board
            Certifications", "NPI", "Id Check", "NPDB"
          schema:
            type: array
            items:
              type: string
        - name: entityTypes
          in: query
          description: >-
            If set, the result will contain items that support the specified
            healthcare entity types.
          schema:
            type: array
            items:
              enum:
                - Practitioner
                - Facility
              type: string
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Name
              - Type
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Name
                  - Type
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetPageModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /datasets/{datasetType}/parameters/providers/{providerId}:
    get:
      tags:
        - Datasets
      summary: |
        Get dataset scan parameters for a provider
      description: >
        Returns the list of dataset scan parameters that will be used during a
        dataset scan.
      operationId: GetProviderDatasetScanParameters
      parameters:
        - name: datasetType
          in: path
          description: The specific dataset type to get the scan parameters for.
          required: true
          schema:
            enum:
              - Sam
              - MedicareOptOut
              - OigFugitives
              - OfacSdn
              - OfacConsolidated
              - OigExclusions
              - StateSanctionsAndExclusions
              - Npdb
              - Dmf
              - Npi
              - Nsc
              - Dea
              - CmsPreclusion
              - Tricare
              - AmericanBoardofInternalMedicine
              - NationalCommissiononCertificationofPhysicianAssistants
              - Abms
              - NationalBoardforCertifiedCounselors
              - AmericanAcademyofNursePractitioners
              - >-
                NationalBoardofCertificationandRecertificationforNurseAnesthetists
              - AmericanOsteopathicAssociation
              - AmericanNursesCredentialingCenter
              - NationalBoardforCertificationinOccupationalTherapy
              - AmericanSpeechLanguageHearingAssociation
              - AmericanBoardofFamilyMedicine
              - AmericanBoardofPsychiatryandNeurology
              - InternationalBoardofLactationConsultantExaminers
              - AmericanMidwiferyCertificationBoard
              - AmericanDentalBoardofAnesthesiology
              - AmericanBoardofClinicalSocialWork
              - BoardOfPharmacySpecialties
              - AmericanBoardofAllergyandImmunology
              - AmericanBoardofOrthodontics
              - AmericanBoardofOralMedicine
              - AmericanBoardofPediatricDentistry
              - AmericanBoardofOralandMaxillofacialSurgery
              - AmericanBoardofOralandMaxillofacialRadiology
              - AmericanBoardofProsthodontics
              - AmericanBoardofOralandMaxillofacialPathology
              - AmericanBoardofEndodontics
              - AmericanBoardofPeriodontology
              - AmericanBoardofOralImplantology
              - AmericanBoardofPodiatricMedicine
              - AmericanBoardofDentalPublicHealth
              - BehaviorAnalystCertificationBoard
              - AmericanBoardofGeneralDentistry
              - NationalAssociationofSchoolPsychologists
              - AmericanBoardofAddictionMedicine
              - AmericanBoardofMultipleSpecialtiesinPodiatry
              - CommissionOnDieteticRegistration
              - AmericanBoardOfObesityMedicine
              - NationalCertificationCorporation
              - NationalCommissionForCertificationOfAnesthesiologistAssistants
              - AmericanRegistryOfRadiologyTechnologists
              - AmericanBoardOfAnesthesiology
              - AmericanRegistryForDiagnosticMedicalSonography
              - NationalBoardOfPhysiciansAndSurgeons
              - CardiovascularCredentialingInternational
              - NationalCenterForCompetencyTesting
              - NationalAssociationOfPhlebotomyTechnicians
              - AmericanAlliedHealth
              - NationalRegistryOfAlliedHealthProfessionals
              - AmericanMedicalTechnologists
              - NationalHealthCareerAssociation
              - DentalAssistingNationalBoard
              - PediatricNursingCertification
              - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
              - CertificationBoardForMusicTherapists
              - AmericanBoardOfChiropracticInternists
              - AmericanBoardofPhysicalTherapySpecialties
              - AmericanBoardofPhysicianSpecialties
              - AmericanAcademyofOptometry
              - AmericanBoardofNeurologicalSurgery
              - AmericanBoardofObstetricsandGynecology
              - AmericanBoardofOphthalmology
              - AmericanBoardofOtolaryngologyHeadandNeckSurgery
              - AmericanBoardofPediatrics
              - AmericanBoardofOrthopaedicSurgery
              - AmericanBoardofPhysicalMedicineandRehabilitation
              - AmericanBoardofPlasticSurgery
              - AmericanBoardofRadiology
              - AmericanBoardofSurgery
              - AmericanBoardofUrology
              - AmericanBoardofColonandRectalSurgery
              - AmericanAssociationofCriticalCareNurses
              - AmericanBoardofFootandAnkleSurgery
              - PharmacyTechnicianCertificationBoard
              - NationalBoardofSurgicalTechnologyandSurgicalAssisting
              - AmericanBoardofPainMedicine
              - AmericanBoardofOrofacialPain
              - NuclearMedicineTechnologyCertificationBoard
              - AmericanBoardofEmergencyMedicine
              - ArtTherapyCredentialsBoard
              - AmericanHeartAssociation
              - MedicaidEnrollmentCalifornia
              - JointCommission
              - FacilityCmsCertification
            type: string
        - name: providerId
          in: path
          description: >-
            The identifier of the provider for which the parameters should be
            returned.
          required: true
          schema:
            type: string
            format: uuid
        - name: parameterSetId
          in: query
          description: >-
            If set, the results will only return the parameters based on the
            specified parameter set else the parameters will be returned based
            on preferred dataset parameter.
          schema:
            type: string
            format: uuid
        - name: referenceId
          in: query
          description: >-
            If set, the results will only use the associated provider info to
            derive the parameters.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IProviderParameter'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /datasets/{datasetType}/parameters/facilities/{facilityId}:
    get:
      tags:
        - Datasets
      summary: |
        Get dataset scan parameters for a facility
      description: >
        Returns the list of dataset scan parameters that will be used during a
        dataset scan.
      operationId: GetFacilityDatasetScanParameters
      parameters:
        - name: datasetType
          in: path
          description: The specific dataset type to get the scan parameters for.
          required: true
          schema:
            enum:
              - Sam
              - MedicareOptOut
              - OigFugitives
              - OfacSdn
              - OfacConsolidated
              - OigExclusions
              - StateSanctionsAndExclusions
              - Npdb
              - Dmf
              - Npi
              - Nsc
              - Dea
              - CmsPreclusion
              - Tricare
              - AmericanBoardofInternalMedicine
              - NationalCommissiononCertificationofPhysicianAssistants
              - Abms
              - NationalBoardforCertifiedCounselors
              - AmericanAcademyofNursePractitioners
              - >-
                NationalBoardofCertificationandRecertificationforNurseAnesthetists
              - AmericanOsteopathicAssociation
              - AmericanNursesCredentialingCenter
              - NationalBoardforCertificationinOccupationalTherapy
              - AmericanSpeechLanguageHearingAssociation
              - AmericanBoardofFamilyMedicine
              - AmericanBoardofPsychiatryandNeurology
              - InternationalBoardofLactationConsultantExaminers
              - AmericanMidwiferyCertificationBoard
              - AmericanDentalBoardofAnesthesiology
              - AmericanBoardofClinicalSocialWork
              - BoardOfPharmacySpecialties
              - AmericanBoardofAllergyandImmunology
              - AmericanBoardofOrthodontics
              - AmericanBoardofOralMedicine
              - AmericanBoardofPediatricDentistry
              - AmericanBoardofOralandMaxillofacialSurgery
              - AmericanBoardofOralandMaxillofacialRadiology
              - AmericanBoardofProsthodontics
              - AmericanBoardofOralandMaxillofacialPathology
              - AmericanBoardofEndodontics
              - AmericanBoardofPeriodontology
              - AmericanBoardofOralImplantology
              - AmericanBoardofPodiatricMedicine
              - AmericanBoardofDentalPublicHealth
              - BehaviorAnalystCertificationBoard
              - AmericanBoardofGeneralDentistry
              - NationalAssociationofSchoolPsychologists
              - AmericanBoardofAddictionMedicine
              - AmericanBoardofMultipleSpecialtiesinPodiatry
              - CommissionOnDieteticRegistration
              - AmericanBoardOfObesityMedicine
              - NationalCertificationCorporation
              - NationalCommissionForCertificationOfAnesthesiologistAssistants
              - AmericanRegistryOfRadiologyTechnologists
              - AmericanBoardOfAnesthesiology
              - AmericanRegistryForDiagnosticMedicalSonography
              - NationalBoardOfPhysiciansAndSurgeons
              - CardiovascularCredentialingInternational
              - NationalCenterForCompetencyTesting
              - NationalAssociationOfPhlebotomyTechnicians
              - AmericanAlliedHealth
              - NationalRegistryOfAlliedHealthProfessionals
              - AmericanMedicalTechnologists
              - NationalHealthCareerAssociation
              - DentalAssistingNationalBoard
              - PediatricNursingCertification
              - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
              - CertificationBoardForMusicTherapists
              - AmericanBoardOfChiropracticInternists
              - AmericanBoardofPhysicalTherapySpecialties
              - AmericanBoardofPhysicianSpecialties
              - AmericanAcademyofOptometry
              - AmericanBoardofNeurologicalSurgery
              - AmericanBoardofObstetricsandGynecology
              - AmericanBoardofOphthalmology
              - AmericanBoardofOtolaryngologyHeadandNeckSurgery
              - AmericanBoardofPediatrics
              - AmericanBoardofOrthopaedicSurgery
              - AmericanBoardofPhysicalMedicineandRehabilitation
              - AmericanBoardofPlasticSurgery
              - AmericanBoardofRadiology
              - AmericanBoardofSurgery
              - AmericanBoardofUrology
              - AmericanBoardofColonandRectalSurgery
              - AmericanAssociationofCriticalCareNurses
              - AmericanBoardofFootandAnkleSurgery
              - PharmacyTechnicianCertificationBoard
              - NationalBoardofSurgicalTechnologyandSurgicalAssisting
              - AmericanBoardofPainMedicine
              - AmericanBoardofOrofacialPain
              - NuclearMedicineTechnologyCertificationBoard
              - AmericanBoardofEmergencyMedicine
              - ArtTherapyCredentialsBoard
              - AmericanHeartAssociation
              - MedicaidEnrollmentCalifornia
              - JointCommission
              - FacilityCmsCertification
            type: string
        - name: facilityId
          in: path
          description: >-
            The identifier of the facility for which the parameters should be
            returned.
          required: true
          schema:
            type: string
            format: uuid
        - name: parameterSetId
          in: query
          description: >-
            If set, the results will only return the parameters based on the
            specified parameter set else the parameters will be returned based
            on preferred dataset parameter.
          schema:
            type: string
            format: uuid
        - name: referenceId
          in: query
          description: >-
            If set, the results will only use the associated facility info to
            derive the parameters.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IProviderParameter'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /datasets/{datasetType}/uploads:
    post:
      tags:
        - Datasets
      summary: |
        Upload a dataset file
      description: |
        Uploads a dataset file. Only CSV files are supported.
      operationId: UploadDatasetFile
      parameters:
        - name: datasetType
          in: path
          description: >-
            The dataset type of the file to upload. Only `CmsPreclusion` is
            supported for now.
          required: true
          schema:
            enum:
              - Sam
              - MedicareOptOut
              - OigFugitives
              - OfacSdn
              - OfacConsolidated
              - OigExclusions
              - StateSanctionsAndExclusions
              - Npdb
              - Dmf
              - Npi
              - Nsc
              - Dea
              - CmsPreclusion
              - Tricare
              - AmericanBoardofInternalMedicine
              - NationalCommissiononCertificationofPhysicianAssistants
              - Abms
              - NationalBoardforCertifiedCounselors
              - AmericanAcademyofNursePractitioners
              - >-
                NationalBoardofCertificationandRecertificationforNurseAnesthetists
              - AmericanOsteopathicAssociation
              - AmericanNursesCredentialingCenter
              - NationalBoardforCertificationinOccupationalTherapy
              - AmericanSpeechLanguageHearingAssociation
              - AmericanBoardofFamilyMedicine
              - AmericanBoardofPsychiatryandNeurology
              - InternationalBoardofLactationConsultantExaminers
              - AmericanMidwiferyCertificationBoard
              - AmericanDentalBoardofAnesthesiology
              - AmericanBoardofClinicalSocialWork
              - BoardOfPharmacySpecialties
              - AmericanBoardofAllergyandImmunology
              - AmericanBoardofOrthodontics
              - AmericanBoardofOralMedicine
              - AmericanBoardofPediatricDentistry
              - AmericanBoardofOralandMaxillofacialSurgery
              - AmericanBoardofOralandMaxillofacialRadiology
              - AmericanBoardofProsthodontics
              - AmericanBoardofOralandMaxillofacialPathology
              - AmericanBoardofEndodontics
              - AmericanBoardofPeriodontology
              - AmericanBoardofOralImplantology
              - AmericanBoardofPodiatricMedicine
              - AmericanBoardofDentalPublicHealth
              - BehaviorAnalystCertificationBoard
              - AmericanBoardofGeneralDentistry
              - NationalAssociationofSchoolPsychologists
              - AmericanBoardofAddictionMedicine
              - AmericanBoardofMultipleSpecialtiesinPodiatry
              - CommissionOnDieteticRegistration
              - AmericanBoardOfObesityMedicine
              - NationalCertificationCorporation
              - NationalCommissionForCertificationOfAnesthesiologistAssistants
              - AmericanRegistryOfRadiologyTechnologists
              - AmericanBoardOfAnesthesiology
              - AmericanRegistryForDiagnosticMedicalSonography
              - NationalBoardOfPhysiciansAndSurgeons
              - CardiovascularCredentialingInternational
              - NationalCenterForCompetencyTesting
              - NationalAssociationOfPhlebotomyTechnicians
              - AmericanAlliedHealth
              - NationalRegistryOfAlliedHealthProfessionals
              - AmericanMedicalTechnologists
              - NationalHealthCareerAssociation
              - DentalAssistingNationalBoard
              - PediatricNursingCertification
              - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
              - CertificationBoardForMusicTherapists
              - AmericanBoardOfChiropracticInternists
              - AmericanBoardofPhysicalTherapySpecialties
              - AmericanBoardofPhysicianSpecialties
              - AmericanAcademyofOptometry
              - AmericanBoardofNeurologicalSurgery
              - AmericanBoardofObstetricsandGynecology
              - AmericanBoardofOphthalmology
              - AmericanBoardofOtolaryngologyHeadandNeckSurgery
              - AmericanBoardofPediatrics
              - AmericanBoardofOrthopaedicSurgery
              - AmericanBoardofPhysicalMedicineandRehabilitation
              - AmericanBoardofPlasticSurgery
              - AmericanBoardofRadiology
              - AmericanBoardofSurgery
              - AmericanBoardofUrology
              - AmericanBoardofColonandRectalSurgery
              - AmericanAssociationofCriticalCareNurses
              - AmericanBoardofFootandAnkleSurgery
              - PharmacyTechnicianCertificationBoard
              - NationalBoardofSurgicalTechnologyandSurgicalAssisting
              - AmericanBoardofPainMedicine
              - AmericanBoardofOrofacialPain
              - NuclearMedicineTechnologyCertificationBoard
              - AmericanBoardofEmergencyMedicine
              - ArtTherapyCredentialsBoard
              - AmericanHeartAssociation
              - MedicaidEnrollmentCalifornia
              - JointCommission
              - FacilityCmsCertification
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                datasetFile:
                  type: string
                  format: binary
            encoding:
              datasetFile:
                style: form
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /monitors:
    post:
      tags:
        - Monitoring
      summary: |
        Initiate monitoring for a provider or facility
      description: >
        Initiate monitoring for a dataset or license for a provider or facility.
        Please note that not all dataset types support monitoring. Please refer
        to [dataset endpoint](/reference/operation/GetDataset) to get the
        capabilities of a dataset. 
      operationId: CreateMonitor
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonitorRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - Monitoring
      summary: |
        Lists all the monitored items
      description: >
        Lists all the monitors and monitoring settings for monitors that are
        enabled.
      operationId: ListMonitors
      parameters:
        - name: type
          in: query
          description: If set, the items will be filtered on monitor type.
          schema:
            enum:
              - Dataset
              - License
            type: string
        - name: datasetTypes
          in: query
          description: >-
            If set, the items will be filtered on datasets with the specified
            types.
          schema:
            type: array
            items:
              enum:
                - Sam
                - MedicareOptOut
                - OigFugitives
                - OfacSdn
                - OfacConsolidated
                - OigExclusions
                - StateSanctionsAndExclusions
                - Npdb
                - Dmf
                - Npi
                - Nsc
                - Dea
                - CmsPreclusion
                - Tricare
                - AmericanBoardofInternalMedicine
                - NationalCommissiononCertificationofPhysicianAssistants
                - Abms
                - NationalBoardforCertifiedCounselors
                - AmericanAcademyofNursePractitioners
                - >-
                  NationalBoardofCertificationandRecertificationforNurseAnesthetists
                - AmericanOsteopathicAssociation
                - AmericanNursesCredentialingCenter
                - NationalBoardforCertificationinOccupationalTherapy
                - AmericanSpeechLanguageHearingAssociation
                - AmericanBoardofFamilyMedicine
                - AmericanBoardofPsychiatryandNeurology
                - InternationalBoardofLactationConsultantExaminers
                - AmericanMidwiferyCertificationBoard
                - AmericanDentalBoardofAnesthesiology
                - AmericanBoardofClinicalSocialWork
                - BoardOfPharmacySpecialties
                - AmericanBoardofAllergyandImmunology
                - AmericanBoardofOrthodontics
                - AmericanBoardofOralMedicine
                - AmericanBoardofPediatricDentistry
                - AmericanBoardofOralandMaxillofacialSurgery
                - AmericanBoardofOralandMaxillofacialRadiology
                - AmericanBoardofProsthodontics
                - AmericanBoardofOralandMaxillofacialPathology
                - AmericanBoardofEndodontics
                - AmericanBoardofPeriodontology
                - AmericanBoardofOralImplantology
                - AmericanBoardofPodiatricMedicine
                - AmericanBoardofDentalPublicHealth
                - BehaviorAnalystCertificationBoard
                - AmericanBoardofGeneralDentistry
                - NationalAssociationofSchoolPsychologists
                - AmericanBoardofAddictionMedicine
                - AmericanBoardofMultipleSpecialtiesinPodiatry
                - CommissionOnDieteticRegistration
                - AmericanBoardOfObesityMedicine
                - NationalCertificationCorporation
                - NationalCommissionForCertificationOfAnesthesiologistAssistants
                - AmericanRegistryOfRadiologyTechnologists
                - AmericanBoardOfAnesthesiology
                - AmericanRegistryForDiagnosticMedicalSonography
                - NationalBoardOfPhysiciansAndSurgeons
                - CardiovascularCredentialingInternational
                - NationalCenterForCompetencyTesting
                - NationalAssociationOfPhlebotomyTechnicians
                - AmericanAlliedHealth
                - NationalRegistryOfAlliedHealthProfessionals
                - AmericanMedicalTechnologists
                - NationalHealthCareerAssociation
                - DentalAssistingNationalBoard
                - PediatricNursingCertification
                - >-
                  NationalCertificationCommissionForAcupunctureAndOrientalMedicine
                - CertificationBoardForMusicTherapists
                - AmericanBoardOfChiropracticInternists
                - AmericanBoardofPhysicalTherapySpecialties
                - AmericanBoardofPhysicianSpecialties
                - AmericanAcademyofOptometry
                - AmericanBoardofNeurologicalSurgery
                - AmericanBoardofObstetricsandGynecology
                - AmericanBoardofOphthalmology
                - AmericanBoardofOtolaryngologyHeadandNeckSurgery
                - AmericanBoardofPediatrics
                - AmericanBoardofOrthopaedicSurgery
                - AmericanBoardofPhysicalMedicineandRehabilitation
                - AmericanBoardofPlasticSurgery
                - AmericanBoardofRadiology
                - AmericanBoardofSurgery
                - AmericanBoardofUrology
                - AmericanBoardofColonandRectalSurgery
                - AmericanAssociationofCriticalCareNurses
                - AmericanBoardofFootandAnkleSurgery
                - PharmacyTechnicianCertificationBoard
                - NationalBoardofSurgicalTechnologyandSurgicalAssisting
                - AmericanBoardofPainMedicine
                - AmericanBoardofOrofacialPain
                - NuclearMedicineTechnologyCertificationBoard
                - AmericanBoardofEmergencyMedicine
                - ArtTherapyCredentialsBoard
                - AmericanHeartAssociation
                - MedicaidEnrollmentCalifornia
                - JointCommission
                - FacilityCmsCertification
              type: string
        - name: licenseIds
          in: query
          description: >-
            If set, the items will be filtered on licenses with the specified
            ids.
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: entityType
          in: query
          description: >-
            Indicates whether to retrieve monitors for practitioners or
            facilities. Defaults to `Practitioners`.
          schema:
            enum:
              - Practitioner
              - Facility
            type: string
        - name: entityIds
          in: query
          description: >-
            If set, the items will be filtered on entities with the specified
            ids and type specified in 'entityType'.<br/>If 'entityType' is
            'Practitioner', the ids here should be ids of providers.<br/>If
            'entityType' is 'Facility', the ids here should be ids of
            facilities.
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: providerIds
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            ids.
          schema:
            type: array
            items:
              type: string
              format: uuid
            deprecated: true
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Type
              - NextMonitoringDate
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Type
                  - NextMonitoringDate
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /monitors/bulk/sanctions-and-exclusions:
    post:
      tags:
        - Monitoring
      summary: >
        Initiates monitoring for the specified Sanctions and Exclusions datasets
        for the specified providers
      description: >
        Initiate monitoring for the specified Sanctions and Exclusions datasets,
        for the specified list of providers. Immediate verification is not
        supported with this endpoint. If a next monitoring date is omitted or
        specified with a past date or within the closest 10 minutes, the monitor
        will execute within the next hour. Only Sanctions and Exclusions
        datasets are supported by this endpoint. Up to 100 provider IDs may be
        specified in one bulk.
      operationId: BulkCreateSanctionsAndExclusionsMonitors
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/BulkSanctionsAndExclusionsMonitorsRequestModel
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkSanctionsAndExclusionsMonitorsModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /monitors/{id}:
    get:
      tags:
        - Monitoring
      summary: |
        Returns a specified monitored item
      description: |
        Returns all the info for a specified monitored item.
      operationId: GetMonitor
      parameters:
        - name: id
          in: path
          description: The identifier describing the monitored item.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - Monitoring
      summary: |
        Patch an existing monitored item
      description: >
        Change existing monitoring for a specified item. Use this endpoint to
        update the monitoring frequency and next monitoring date.
      operationId: PatchMonitor
      parameters:
        - name: id
          in: path
          description: The identifier describing the monitored item.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonitorPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - Monitoring
      summary: |
        Stop monitoring an item
      description: >
        Stops existing monitoring for a specified dataset or license for a
        provider.
      operationId: DeleteMonitor
      parameters:
        - name: id
          in: path
          description: The identifier describing the monitored item.
          required: true
          schema:
            type: string
            format: uuid
        - name: propagateToPrimarySource
          in: query
          schema:
            type: boolean
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /alerts/{alertId}:
    get:
      tags:
        - Alerts
      summary: |
        Get an existing alert
      description: |
        Returns the data for a specific alert.
      operationId: GetAlert
      parameters:
        - name: alertId
          in: path
          description: Identifier of the alert to get the data for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /alerts/{alertId}/dismiss:
    post:
      tags:
        - Alerts
      summary: |
        Dismiss an alert
      description: |
        Dismisses a specific alert.
      operationId: DismissAlert
      parameters:
        - name: alertId
          in: path
          description: Identifier of the alert to dismiss.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DismissRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
  /alerts/aggregations:
    get:
      tags:
        - Alerts
      summary: |
        Get alert aggregations
      description: >
        Returns aggregated counts for alerts either in active or dismissed
        state.
      operationId: GetAlertAggregations
      parameters:
        - name: providerDeactivated
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            deactivated status.
          schema:
            type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertAggregationsModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /alerts:
    get:
      tags:
        - Alerts
      summary: |
        List alerts
      description: |
        Returns a page of alerts.
      operationId: ListAlerts
      parameters:
        - name: providerId
          in: query
          description: >-
            If set, the items will be filtered on provider with the specified
            identifier.
          schema:
            type: string
            format: uuid
        - name: providerName
          in: query
          schema:
            type: string
        - name: providerNpi
          in: query
          schema:
            type: integer
            format: int64
        - name: type
          in: query
          description: If set, the items will be filtered on alerts of the specified type
          schema:
            type: array
            items:
              enum:
                - LicenseChanged
                - LicenseExpiresSoon
                - LicenseExpired
                - ProfileImportCompleted
              type: string
        - name: status
          in: query
          description: If set, filter the items by the dismissal status.
          schema:
            enum:
              - Active
              - Dismissed
            type: string
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
        - name: providerDeactivated
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            deactivated status.
          schema:
            type: boolean
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Timestamp
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Timestamp
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /groups:
    post:
      tags:
        - Groups
      summary: |
        Create a new group
      description: |
        Creates a new medical group of providers.
      operationId: CreateGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - Groups
      summary: |
        List groups
      description: |
        Returns groups
      operationId: ListGroups
      parameters:
        - name: providerId
          in: query
          description: If set, the items will be filtered by `providerId`.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GroupModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /groups/{groupId}:
    get:
      tags:
        - Groups
      summary: |
        Get an existing group
      description: |
        Returns the data for a specific group.
      operationId: GetGroup
      parameters:
        - name: groupId
          in: path
          description: Identifier of the group to get the data for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - Groups
      summary: |
        Patch an existing group
      description: |
        Allows you to change a group's name or other data properties.
      operationId: PatchGroup
      parameters:
        - name: groupId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - Groups
      summary: |
        Delete an existing group
      description: |
        This will delete the group and all its associations with providers.
      operationId: DeleteGroup
      parameters:
        - name: groupId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /groups/{groupId}/enrollments:
    get:
      tags:
        - Groups
      summary: |
        List enrollments for the group
      description: >
        Returns a page of enrollments for the specified group or generated csv
        roster if `rosterType` parameter specified.
      operationId: ListGroupEnrollments
      parameters:
        - name: groupId
          in: path
          description: The unique identifier of the group to get enrollments for.
          required: true
          schema:
            type: string
            format: uuid
        - name: payerPlanId
          in: query
          description: >-
            If set, the items will be filtered on enrollments with the specified
            payer plan.
          schema:
            type: string
            format: uuid
        - name: networkStatus
          in: query
          description: >-
            If set, the items will be filtered on enrollments with the specified
            network status.
          schema:
            enum:
              - None
              - Par
              - NonPar
            type: string
        - name: enrollmentStatus
          in: query
          description: >-
            If set, the items will be filtered on enrollments with the specified
            enrollment status.
          schema:
            enum:
              - NotSubmitted
              - Submitted
              - Enrolled
              - Denied
            type: string
        - name: specialistType
          in: query
          description: >-
            If set, the items will be filtered on enrollments with the specified
            specialist type.
          schema:
            enum:
              - None
              - Pcp
              - Specialist
            type: string
        - name: submissionDate
          in: query
          schema:
            type: string
            format: date-time
        - name: effectiveDate
          in: query
          schema:
            type: string
            format: date-time
        - name: sortedBy
          in: query
          schema:
            enum:
              - Id
              - NetworkStatus
              - EnrollmentStatus
              - SpecialistType
              - SubmissionDate
              - EffectiveDate
              - PayerPlanName
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - NetworkStatus
                  - EnrollmentStatus
                  - SpecialistType
                  - SubmissionDate
                  - EffectiveDate
                  - PayerPlanName
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
        - name: rosterType
          in: query
          description: If set, csv report of specified type will be generated.
          schema:
            enum:
              - Providers
              - Licenses
              - Deas
              - LiabilityInsurances
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderEnrollmentPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /groups/{groupId}/providers:
    get:
      tags:
        - Groups
      summary: |
        List providers for the group
      description: >
        Returns a page of providers for the specified group or generated csv
        roster if `rosterType` parameter specified.
      operationId: ListGroupProviders
      parameters:
        - name: groupId
          in: path
          description: The unique identifier of the group to get providers for.
          required: true
          schema:
            type: string
            format: uuid
        - name: status
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            status.
          schema:
            enum:
              - None
              - NeedsReview
              - ExpiresSoon
              - Expired
              - Monitored
              - NotMonitored
              - NotFoundLicenses
              - DisciplinaryActionLicenses
              - UnableToVerifyLicenses
            type: string
        - name: providerName
          in: query
          schema:
            type: string
        - name: credentialingStatus
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            credentialing status.
          schema:
            type: array
            items:
              type: string
        - name: providerTypeId
          in: query
          schema:
            type: string
            format: uuid
        - name: npi
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            npi number.
          schema:
            type: integer
            format: int64
        - name: deactivated
          in: query
          schema:
            type: boolean
        - name: nextCredentialingDateOnOrAfter
          in: query
          schema:
            type: string
            format: date
        - name: nextCredentialingDateOnOrBefore
          in: query
          schema:
            type: string
            format: date
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - LastName
              - FirstName
              - CredentialingStatus
              - CredentialedDate
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - LastName
                  - FirstName
                  - CredentialingStatus
                  - CredentialedDate
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
        - name: rosterType
          in: query
          description: If set, csv report of specified type will be generated.
          schema:
            enum:
              - Providers
              - Licenses
              - Deas
              - LiabilityInsurances
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - Groups
      summary: |
        Patch providers-group relations
      description: |
        Patch associations between group and providers.
      operationId: PatchGroupProviderRelation
      parameters:
        - name: groupId
          in: path
          description: Identifier of the group.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupProviderRelationPatchModel'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /groups/{groupId}/payer-plans:
    patch:
      tags:
        - Groups
      summary: |
        Patch payer plans-group relations
      description: |
        Patch associations between group and payer plans.
      operationId: PatchGroupPayerPlanRelation
      parameters:
        - name: groupId
          in: path
          description: Identifier of the group.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupPayerRelationPatchModel'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /payers:
    post:
      tags:
        - Payers
      summary: |
        Create a new payer
      description: |
        Creates a new payer.
      operationId: CreatePayer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayerRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayerModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - Payers
      summary: |
        List payers
      description: |
        Returns all payers
      operationId: ListPayers
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PayerModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /payers/{payerId}:
    get:
      tags:
        - Payers
      summary: |
        Get an existing payer
      description: |
        Returns the data for a specific payer.
      operationId: GetPayer
      parameters:
        - name: payerId
          in: path
          description: Identifier of the payer to get the data for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayerModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - Payers
      summary: |
        Patch an existing payer
      description: |
        Allows you to change a payers's name or other data properties.
      operationId: PatchPayer
      parameters:
        - name: payerId
          in: path
          description: Identifier of the payer to patch.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayerPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayerModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - Payers
      summary: |
        Delete an existing payer
      description: |
        This will delete the payer and all its plans.
      operationId: DeletePayer
      parameters:
        - name: payerId
          in: path
          description: Identifier of the payer to delete.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /payer-plans:
    post:
      tags:
        - PayerPlans
      summary: |
        Create a new payer plan
      description: |
        Creates a new payer plan.
      operationId: CreatePayerPlan
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayerPlanRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayerPlanModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - PayerPlans
      summary: |
        List payer plans
      description: |
        Returns payer plans
      operationId: ListPayerPlans
      parameters:
        - name: groupId
          in: query
          description: Identifier of the group to get the payer plans for.
          schema:
            type: string
            format: uuid
        - name: payerId
          in: query
          description: Identifier of the payer to get the payer plans for.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PayerPlanModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /payer-plans/{payerPlanId}:
    get:
      tags:
        - PayerPlans
      summary: |
        Get an existing payer plan
      description: |
        Returns the data for a specific payer plan.
      operationId: GetPayerPlan
      parameters:
        - name: payerPlanId
          in: path
          description: Identifier of the payer plan to get the data for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayerPlanModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - PayerPlans
      summary: |
        Patch an existing payer plan
      description: |
        Allows you to change a payer plan's name or other data properties.
      operationId: PatchPayerPlan
      parameters:
        - name: payerPlanId
          in: path
          description: Identifier of the payer plan to patch.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayerPlanPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayerPlanModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - PayerPlans
      summary: |
        Delete an existing payer plan
      description: |
        This will delete the payer plan.
      operationId: DeletePayerPlan
      parameters:
        - name: payerPlanId
          in: path
          description: Identifier of the payer plan to delete.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/enrollments:
    post:
      tags:
        - ProviderEnrollments
      summary: |
        Create a new provider enrollment
      description: |
        Creates a new enrollment of provider to payer plan.
      operationId: CreateProviderEnrollment
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderEnrollmentRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProviderEnrollments
      summary: |
        List provider enrollments
      description: |
        Returns a page of provider enrollments.
      operationId: ListProviderEnrollments
      parameters:
        - name: groupId
          in: query
          description: The unique identifier of the group to get enrollments for.
          schema:
            type: string
            format: uuid
        - name: providerId
          in: query
          description: >-
            If set, the items will be filtered on enrollments with the specified
            provider.
          schema:
            type: string
            format: uuid
        - name: payerPlanId
          in: query
          description: >-
            If set, the items will be filtered on enrollments with the specified
            payer plan.
          schema:
            type: string
            format: uuid
        - name: networkStatus
          in: query
          description: >-
            If set, the items will be filtered on enrollments with the specified
            network status.
          schema:
            enum:
              - None
              - Par
              - NonPar
            type: string
        - name: enrollmentStatus
          in: query
          description: >-
            If set, the items will be filtered on enrollments with the specified
            enrollment status.
          schema:
            enum:
              - NotSubmitted
              - Submitted
              - Enrolled
              - Denied
            type: string
        - name: specialistType
          in: query
          description: >-
            If set, the items will be filtered on enrollments with the specified
            specialist type.
          schema:
            enum:
              - None
              - Pcp
              - Specialist
            type: string
        - name: submissionDate
          in: query
          schema:
            type: string
            format: date-time
        - name: effectiveDate
          in: query
          schema:
            type: string
            format: date-time
        - name: sortedBy
          in: query
          schema:
            enum:
              - Id
              - NetworkStatus
              - EnrollmentStatus
              - SpecialistType
              - SubmissionDate
              - EffectiveDate
              - PayerPlanName
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - NetworkStatus
                  - EnrollmentStatus
                  - SpecialistType
                  - SubmissionDate
                  - EffectiveDate
                  - PayerPlanName
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderEnrollmentPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/enrollments/{providerEnrollmentId}:
    get:
      tags:
        - ProviderEnrollments
      summary: |
        Get an existing provider enrollment
      description: |
        Returns the data for a specific provider enrollment.
      operationId: GetProviderEnrollment
      parameters:
        - name: providerEnrollmentId
          in: path
          description: Identifier of the provider enrollment to get the data for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - ProviderEnrollments
      summary: |
        Patch an existing provider enrollment
      description: |
        Allows you to change a provider enrollment's data properties.
      operationId: PatchProviderEnrollment
      parameters:
        - name: providerEnrollmentId
          in: path
          description: Identifier of the provider enrollment to patch.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderEnrollmentPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    delete:
      tags:
        - ProviderEnrollments
      summary: |
        Delete an existing provider enrollment
      description: |
        This will delete the provider enrollment.
      operationId: DeleteProviderEnrollment
      parameters:
        - name: providerEnrollmentId
          in: path
          description: Identifier of the provider enrollment to delete.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /integrations/fountain/webhook/{organizationId}:
    post:
      tags:
        - Integrations
      summary: |
        Fountain integration webhook
      description: |
        Webhook for the Fountain integration.
      operationId: FountainWebhook
      parameters:
        - name: organizationId
          in: path
          description: The organization on which this webhook is called.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FountainWebhookRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FountainWebhookResponseModel'
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /integrations/salesforce/documentrequest:
    post:
      tags:
        - Integrations
      summary: |
        Salesforce document request
      description: |
        Request a document to be uploaded to the configured Salesforce tenant.
      operationId: SalesforceDocumentRequest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesforceDocumentRequestRequestModel'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
  /webhooks:
    post:
      tags:
        - Webhooks
      summary: Create a new webhook
      description: >-
        Creates a new webhook that will be called when the specified event is
        triggered.
      operationId: CreateWebhook
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '409':
          description: Conflict
        '500':
          description: Server Error
    get:
      tags:
        - Webhooks
      summary: List all webhooks
      description: List all webhooks created on this organization.
      operationId: ListWebhooks
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebhookModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /webhooks/{webhookId}:
    get:
      tags:
        - Webhooks
      summary: Get details from a webhook
      description: Get details from a previously created webhook.
      operationId: GetWebhook
      parameters:
        - name: webhookId
          in: path
          description: Identifier of a previously created webhook.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - Webhooks
      summary: |
        Update a webhook
      description: |
        Update a previously created webhook.
      operationId: PatchWebhook
      parameters:
        - name: webhookId
          in: path
          description: Identifier of a previously created webhook.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
    delete:
      tags:
        - Webhooks
      summary: |
        Delete a webhook
      description: |
        Deletes a previously created webhook.
      operationId: DeleteWebhook
      parameters:
        - name: webhookId
          in: path
          description: Identifier of a previously created webhook to be deleted.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /webhookslog:
    get:
      tags:
        - Webhooks
      summary: |
        List all webhooks logs
      description: |
        List all webhooks logs on this organization.
      operationId: ListWebhooksLog
      parameters:
        - name: type
          in: query
          description: If set, the items will be filtered with the specified webhook type.
          schema:
            enum:
              - VerificationCompleted
              - ExportCompleted
              - LicenseExpiresSoon
              - LicenseExpired
              - LicenseChanged
              - DatasetScanCompleted
              - LicenseStatusChanged
              - ProviderStatusChanged
              - ProviderProfileImportCompleted
              - CredentialingRequestChanged
              - GenerateReport
              - DatasetScanMatchesChanged
              - NpdbUpdateRequestRejected
            type: string
        - name: status
          in: query
          description: >-
            If set, the items will be filtered with the specified webhook log
            status.
          schema:
            enum:
              - Triggered
              - Completed
              - Failed
            type: string
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
        - name: traceId
          in: query
          description: >-
            If set, the items will be filtered with the specified webhook log
            trace id.
          schema:
            type: string
            format: uuid
        - name: before
          in: query
          description: >-
            If set, the items will be filtered with timestamp value less the
            provided value.
          schema:
            type: string
            format: date-time
        - name: beforeInclusive
          in: query
          description: >-
            If set to `true`, will include events created exactly at `before`
            date and time too.
          schema:
            type: boolean
        - name: after
          in: query
          description: >-
            If set, the items will be filtered with timestamp value more the
            provided value.
          schema:
            type: string
            format: date-time
        - name: afterInclusive
          in: query
          description: >-
            If set to `true`, will include events created exactly at `after`
            date and time too.
          schema:
            type: boolean
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Timestamp
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Timestamp
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhooksLogPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /log/events:
    get:
      tags:
        - Audit
      summary: |
        List event log entries
      description: >
        Returns a page of event log entries. Events can occur either system or
        user initiated. In case an event is user initiated the event context
        contains information on the user that triggered it and the associated
        HTTP request is captured.
      operationId: ListEventLogEntries
      parameters:
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
        - name: type
          in: query
          description: >-
            If set, only returns events with the specified type. More than 1
            type can be specified.
          schema:
            type: array
            items:
              enum:
                - System
                - Request
                - Legacy
              type: string
        - name: includeFailedRequests
          in: query
          description: >-
            If set to `true`, also includes failed request events (these are
            filtered out by default). Note that not all failed requests can be
            captured or assigned to your organization, depending on the nature
            of the failure.
          schema:
            type: boolean
        - name: entityId
          in: query
          description: >-
            If set, only returns events related to the specified identifier. For
            example, to filter on events for a given provider, set this
            parameter to the identifier of that provider. More than 1 entity
            identifier can be specified.
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: category
          in: query
          description: >-
            If set, only returns events related to the specified category. More
            than 1 category can be specified.
          schema:
            type: array
            items:
              enum:
                - Verifications
                - ProviderInfo
                - ProviderManagement
                - Organization
                - Integrations
                - Groups
                - ProviderProfile
                - Beta
                - Mpd
                - Console
                - FacilityManagement
                - FacilityInfo
              type: string
        - name: subcategory
          in: query
          description: >-
            If set, only returns events related to the specified subcategory.
            The subcategories differ per `category`. More than 1 subcategory can
            be specified.
          schema:
            type: array
            items:
              type: string
        - name: before
          in: query
          description: If set, only returns events from before this date.
          schema:
            type: string
            format: date-time
        - name: beforeInclusive
          in: query
          description: >-
            If set to `true`, will include events created exactly at `before`
            date and time too.
          schema:
            type: boolean
        - name: after
          in: query
          description: If set, only returns events from after this date.
          schema:
            type: string
            format: date-time
        - name: afterInclusive
          in: query
          description: >-
            If set to `true`, will include events created exactly at `after`
            date and time too.
          schema:
            type: boolean
        - name: correlationId
          in: query
          description: >-
            If set, only returns events related to the specified correlation
            identifier.
          schema:
            type: string
            format: uuid
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Timestamp
              - Type
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Timestamp
                  - Type
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventLogPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /users/me/password:
    post:
      tags:
        - Users
      summary: |
        Change the password of the current user
      description: >
        Changes the password of the current user.


        **Note:** If the current user does not have a password (e.g. they use
        Google Authentication) `password` can be empty. Otherwise, `password`
        must be the current password of the user.
      operationId: SetCurrentUserPassword
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordUpdateModel'
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /organization/reports/sanctionsandexclusions:
    get:
      tags:
        - Reports
      summary: |
        List sanctions and exclusions reports for the organization.
      description: >
        Returns a list of all the sanctions and exclusions reports that have
        been created so far. The reports are sorted in descending order from
        latest created to oldest.
      operationId: ListSanctionsAndExclusionsReports
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SanctionsAndExclusionsReportInfoModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /organization/reports/enrollments:
    get:
      tags:
        - Reports
      summary: |
        List enrollments reports for the organization.
      description: >
        Returns a list of all the enrollment reports that have been created so
        far. The reports are sorted in descending order from latest created to
        oldest.
      operationId: ListEnrollmentsReports
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EnrollmentsReportInfoModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /organization/reports/expirable-credentials:
    get:
      tags:
        - Reports
      summary: |
        List expirable credentials reports for the organization.
      description: >
        Returns a list of all the expirable credentials reports that have been
        created so far. The reports are sorted in descending order from latest
        created to oldest.
      operationId: ListExpirableCredentialsReports
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExpirableCredentialsReportInfoModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /organization/reports/roster:
    get:
      tags:
        - Reports
      summary: |
        List roster reports for the organization.
      description: >
        Returns a list of all the roster reports that have been created so far.
        The reports are sorted in descending order from latest created to
        oldest.
      operationId: ListRosterReports
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RosterReportInfoModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /credentialing-requests/aggregations/owners:
    get:
      tags:
        - CredentialingRequests
      summary: |
        Aggregate provider credentialing request owners
      description: >
        Returns an aggregation of all owners assigned to provider credentialing
        requests
      operationId: AggregateCredentialingRequestOwners
      parameters:
        - name: providerDeactivated
          in: query
          description: >-
            If set, the items will be filtered on requests for the providers
            with the specified deactivated status.
          schema:
            type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BaseUserModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /providers/{providerId}/licenses:
    post:
      tags:
        - Licenses
      summary: |
        Attach a license to a provider
      description: >
        To perform a license verification you must first attach a license to a
        provider. The first time you do this will automatically trigger a
        license verification on that provider. Once attached you can reverify
        the same license without reattaching it. A provider can have more than
        one license attached.
      operationId: AttachLicense
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider to attach the license to.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachLicenseRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - Licenses
      summary: |
        List all licenses from a provider
      description: >
        Returns a list of all licenses previously attached to the specified
        provider.
      operationId: ListLicenses
      parameters:
        - name: providerId
          in: path
          description: The identifier describing the provider to list all licenses for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LicenseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '500':
          description: Server Error
  /integrations/cognito-forms/webhook/{type}:
    post:
      tags:
        - CognitoFormsWebhook
      operationId: CognitoFormsWebhook
      parameters:
        - name: type
          in: query
          schema:
            enum:
              - Submit
              - Update
              - Delete
            type: string
        - name: type
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema: {}
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /credentialing-requests:
    post:
      tags:
        - CredentialingRequests
      summary: |
        Create a new credentialing request
      description: |
        Creates a new credentialing request for a provider or facility.
      operationId: CreateCredentialingRequest
      requestBody:
        content:
          application/json:
            schema:
              type: object
              oneOf:
                - $ref: >-
                    #/components/schemas/CredentialingRequestProviderRequestModel
                - $ref: >-
                    #/components/schemas/CredentialingRequestFacilityRequestModel
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialingRequestModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - CredentialingRequests
      summary: |
        List credentialing requests
      description: |
        Returns credentialing requests
      operationId: ListCredentialingRequests
      parameters:
        - name: entityType
          in: query
          description: >-
            Indicates whether to retrieve credentialing requests for providers
            or facilities. Defaults to `Providers`.
          schema:
            enum:
              - Provider
              - Facility
            type: string
        - name: currentEventStatus
          in: query
          description: >-
            If set, the items will be filtered by the specified current event
            status.
          schema:
            type: array
            items:
              enum:
                - RequestSubmitted
                - RequestInProgress
                - AdditionalInformationRequested
                - AdditionalInformationSubmitted
                - CancellationRequested
                - Cancelled
                - Completed
                - CompletedWithConcern
                - UnableToComplete
                - SecondAttemptMissingInfo
                - ThirdAttemptMissingInfo
              type: string
        - name: providerCredentialingStatus
          in: query
          description: >-
            If set, the items will be filtered by the specified provider
            credentialing status. Has no effect when querying facilities.
          schema:
            type: array
            items:
              type: string
        - name: priority
          in: query
          description: If set, the items will be filtered by the specified priority.
          schema:
            type: array
            items:
              enum:
                - Low
                - Medium
                - High
                - Urgent
              type: string
        - name: ownerId
          in: query
          description: If set, the items will be filtered by the specified owner.
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: includeUnassigned
          in: query
          description: >-
            If set, the items will include credentialing requests that are not
            assigned to any specified owner. Intended to be used together with
            `ownerId`.
          schema:
            type: boolean
        - name: credentialingRequestType
          in: query
          description: >-
            If set, the items will be filtered by the specified credentialing
            request type.
          schema:
            enum:
              - Initial
              - ReCredentialing
              - OffCycle
            type: string
        - name: entityId
          in: query
          description: >-
            If set, the items will be filtered by the specified entity
            identifier (`providerId` or `facilityId`).
          schema:
            type: string
            format: uuid
        - name: entityName
          in: query
          description: >-
            If set, the items will be filtered by the specified entity name
            (provider name/alias or facility name).
          schema:
            type: string
        - name: entityNpi
          in: query
          description: >-
            If set, the items will be filtered by the specified entity NPI
            number.
          schema:
            type: integer
            format: int64
        - name: entityDeactivated
          in: query
          description: >-
            If set, the items will be filtered by the specified entity
            deactivated status.
          schema:
            type: boolean
        - name: facilitySpecialtyId
          in: query
          description: If set, the items will be filtered by the specified specialty.
          schema:
            type: string
            format: uuid
        - name: providerId
          in: query
          description: See `entityId`.
          deprecated: true
          schema:
            type: string
            format: uuid
            deprecated: true
        - name: providerName
          in: query
          description: See `entityName`.
          deprecated: true
          schema:
            type: string
            deprecated: true
        - name: providerNpi
          in: query
          description: See `entityNpi`.
          deprecated: true
          schema:
            type: integer
            format: int64
            deprecated: true
        - name: providerDeactivated
          in: query
          description: See `entityDeactivated`.
          deprecated: true
          schema:
            type: boolean
            deprecated: true
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Id
              - CreatedAt
              - Priority
              - CurrentEventStatus
              - CurrentEventDate
              - ProviderId
              - ProviderFirstName
              - ProviderLastName
              - ProviderCredentialingStatus
              - FacilityId
              - FacilityName
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Id
                  - CreatedAt
                  - Priority
                  - CurrentEventStatus
                  - CurrentEventDate
                  - ProviderId
                  - ProviderFirstName
                  - ProviderLastName
                  - ProviderCredentialingStatus
                  - FacilityId
                  - FacilityName
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialingRequestPageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /credentialing-requests/{requestId}/events:
    post:
      tags:
        - CredentialingRequests
      summary: |
        Create a new credentialing request event
      description: |
        Creates a new event for a credentialing request.
      operationId: CreateCredentialingRequestEvent
      parameters:
        - name: requestId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialingRequestEventRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialingRequestEventModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /providers/{providerId}/info/dea:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create DEA registration info for the existing provider
      description: |
        Add a DEA registration info for the specified provider.
      operationId: CreateDeaRegistrationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeaRegistrationInfoRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeaRegistrationInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List DEA registrations
      description: |
        Returns all DEA registrations associated with the specified provider.
      operationId: ListDeaRegistrationInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DeaRegistrationInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /organization/settings/oauth-credentials/{clientId}/client-secret:
    post:
      tags:
        - CreateOAuthCredentialsClientSecret
      operationId: CreateOAuthCredentialsClientSecret
      parameters:
        - name: clientId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientSecretModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/addresses:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create address for an existing provider
      description: |
        Add an address for the specified provider.
      operationId: CreateProviderAddressInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderAddressRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderAddressModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List addresses
      description: |
        Returns all addresses associated with the specified provider.
      operationId: ListProviderAddressInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderAddressModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/aliases:
    get:
      tags:
        - ProvidersInfo
      summary: |
        List aliases
      description: |
        Returns all aliases associated with the specified provider.
      operationId: ListProviderAliasInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderAliasModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create alias for an existing provider
      description: |
        Add an alias for the specified provider.
      operationId: CreateProviderAliasInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderAliasRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderAliasModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/emails:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create email for an existing provider
      description: |
        Add an email for the specified provider.
      operationId: CreateProviderEmailInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderEmailRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderEmailModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List emails
      description: |
        Returns all emails associated with the specified provider.
      operationId: ListProviderEmailInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProviderEmailModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/medicaidEnrollments:
    post:
      tags:
        - ProvidersInfo
      summary: |
        Create medicaid enrollment info for the existing provider
      description: |
        Creates the medicaid enrollment info for a specific provider.
      operationId: CreateProviderMedicaidEnrollmentInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MedicaidEnrollmentRequestModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MedicaidEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        List Medicaid enrollments
      description: |
        Returns all medicaid enrollments associated with the specified provider.
      operationId: ListProviderMedicaidEnrollmentInfos
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MedicaidEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/dea/{id}:
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing DEA registration info for the existing provider
      description: >
        Deletes an existing DEA registration info associated with the specified
        provider.
      operationId: DeleteDeaRegistrationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get DEA registration for the existing provider
      description: |
        Returns the DEA registration for a specific provider.
      operationId: GetDeaRegistrationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeaRegistrationInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's DEA registration info
      description: >
        Change an existing DEA registration info associated with the specified
        provider.
      operationId: PatchDeaRegistrationInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeaRegistrationInfoPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeaRegistrationInfoModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /organization/settings/oauth-credentials/{clientId}/client-secret/{clientSecretId}:
    delete:
      tags:
        - DeleteOAuthCredentialsClientSecret
      operationId: DeleteOAuthCredentialsClientSecret
      parameters:
        - name: clientId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: clientSecretId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/addresses/{id}:
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing address for a provider
      description: |
        Deletes an existing address associated with the specified provider.
      operationId: DeleteProviderAddressInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get address for an existing provider
      description: |
        Returns the address for a specific provider.
      operationId: GetProviderAddressInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderAddressModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    put:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's address
      description: |
        Change an existing address associated with the specified provider.
      operationId: PutProviderAddressInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderAddressRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderAddressModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/emails/{id}:
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing email for a provider
      description: |
        Deletes an existing email associated with the specified provider.
      operationId: DeleteProviderEmailInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get email for the existing provider
      description: |
        Returns the email for a specific provider.
      operationId: GetProviderEmailInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderEmailModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    put:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's email
      description: |
        Change an existing email associated with the specified provider.
      operationId: PutProviderEmailInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProviderEmailRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderEmailModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /providers/{providerId}/info/medicaidEnrollments/{id}:
    delete:
      tags:
        - ProvidersInfo
      summary: |
        Delete existing Medicaid enrollment info for the existing provider
      description: >
        Deletes an existing Medicaid enrollment info associated with the
        specified provider.
      operationId: DeleteProviderMedicaidEnrollmentInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    get:
      tags:
        - ProvidersInfo
      summary: |
        Get medicaid enrollment info for the existing provider
      description: |
        Returns the medicaid enrollment for a specific provider
      operationId: GetProviderMedicaidEnrollmentInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MedicaidEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - ProvidersInfo
      summary: |
        Change an existing provider's Medicaid enrollment info
      description: >
        Change an existing Medicaid enrollment info associated with the
        specified provider.
      operationId: PatchProviderMedicaidEnrollmentInfo
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MedicaidEnrollmentPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MedicaidEnrollmentModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /credentialing-requests/{requestId}:
    get:
      tags:
        - CredentialingRequests
      summary: |
        Get a specific credentialing request
      description: |
        Returns the data for a specific credentialing request.
      operationId: GetCredentialingRequest
      parameters:
        - name: requestId
          in: path
          description: Identifier of the credentialing request to get the data for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialingRequestModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
    patch:
      tags:
        - CredentialingRequests
      summary: |
        Patch an existing credentialing request
      description: |
        Changes properties for an existing credentialing request.
      operationId: PatchCredentialingRequest
      parameters:
        - name: requestId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialingRequestPatchModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialingRequestModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /credentialing-requests/aggregations:
    get:
      tags:
        - CredentialingRequests
      summary: |
        Get credentialing requests aggregations
      description: >
        Returns aggregated counts for provider or facility credentialing
        requests.
      operationId: GetCredentialingRequestAggregations
      parameters:
        - name: entityDeactivated
          in: query
          description: >-
            If set, the items will be filtered based on the deactivated status
            of entities. If not specified, all entities are included regardless
            of deactivation status.
          schema:
            type: boolean
        - name: entityType
          in: query
          description: >-
            The entity type to be used for filtering items. Valid values are
            `Practitioner` or `Facility`. Default is `Practitioner`.
          schema:
            enum:
              - Practitioner
              - Facility
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialingRequestAggregationModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /credentialing-requests/{requestId}/events/{eventId}:
    get:
      tags:
        - GetCredentialingRequestEvent
      operationId: GetCredentialingRequestEvent
      parameters:
        - name: requestId
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: eventId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialingRequestEventModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /datasets/matches/aggregations:
    get:
      tags:
        - Datasets
      summary: |
        Get dataset matches aggregations
      description: >
        Returns aggregated counts for dataset matches that require `user action`
        and for dataset matches that have been `accepted`.
      operationId: GetDatasetMatchesAggregations
      parameters:
        - name: providerDeactivated
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            deactivated status.
          schema:
            type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetMatchesAggregationsModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /datasets/{datasetType}/parameters/{providerId}:
    get:
      tags:
        - Datasets
      summary: |
        (Deprecated) Get dataset scan parameters for a provider
      description: >
        Returns the list of dataset scan parameters that will be used during a
        dataset scan.
      operationId: GetDatasetScanParameters
      parameters:
        - name: datasetType
          in: path
          description: The specific dataset type to get the scan parameters for.
          required: true
          schema:
            enum:
              - Sam
              - MedicareOptOut
              - OigFugitives
              - OfacSdn
              - OfacConsolidated
              - OigExclusions
              - StateSanctionsAndExclusions
              - Npdb
              - Dmf
              - Npi
              - Nsc
              - Dea
              - CmsPreclusion
              - Tricare
              - AmericanBoardofInternalMedicine
              - NationalCommissiononCertificationofPhysicianAssistants
              - Abms
              - NationalBoardforCertifiedCounselors
              - AmericanAcademyofNursePractitioners
              - >-
                NationalBoardofCertificationandRecertificationforNurseAnesthetists
              - AmericanOsteopathicAssociation
              - AmericanNursesCredentialingCenter
              - NationalBoardforCertificationinOccupationalTherapy
              - AmericanSpeechLanguageHearingAssociation
              - AmericanBoardofFamilyMedicine
              - AmericanBoardofPsychiatryandNeurology
              - InternationalBoardofLactationConsultantExaminers
              - AmericanMidwiferyCertificationBoard
              - AmericanDentalBoardofAnesthesiology
              - AmericanBoardofClinicalSocialWork
              - BoardOfPharmacySpecialties
              - AmericanBoardofAllergyandImmunology
              - AmericanBoardofOrthodontics
              - AmericanBoardofOralMedicine
              - AmericanBoardofPediatricDentistry
              - AmericanBoardofOralandMaxillofacialSurgery
              - AmericanBoardofOralandMaxillofacialRadiology
              - AmericanBoardofProsthodontics
              - AmericanBoardofOralandMaxillofacialPathology
              - AmericanBoardofEndodontics
              - AmericanBoardofPeriodontology
              - AmericanBoardofOralImplantology
              - AmericanBoardofPodiatricMedicine
              - AmericanBoardofDentalPublicHealth
              - BehaviorAnalystCertificationBoard
              - AmericanBoardofGeneralDentistry
              - NationalAssociationofSchoolPsychologists
              - AmericanBoardofAddictionMedicine
              - AmericanBoardofMultipleSpecialtiesinPodiatry
              - CommissionOnDieteticRegistration
              - AmericanBoardOfObesityMedicine
              - NationalCertificationCorporation
              - NationalCommissionForCertificationOfAnesthesiologistAssistants
              - AmericanRegistryOfRadiologyTechnologists
              - AmericanBoardOfAnesthesiology
              - AmericanRegistryForDiagnosticMedicalSonography
              - NationalBoardOfPhysiciansAndSurgeons
              - CardiovascularCredentialingInternational
              - NationalCenterForCompetencyTesting
              - NationalAssociationOfPhlebotomyTechnicians
              - AmericanAlliedHealth
              - NationalRegistryOfAlliedHealthProfessionals
              - AmericanMedicalTechnologists
              - NationalHealthCareerAssociation
              - DentalAssistingNationalBoard
              - PediatricNursingCertification
              - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
              - CertificationBoardForMusicTherapists
              - AmericanBoardOfChiropracticInternists
              - AmericanBoardofPhysicalTherapySpecialties
              - AmericanBoardofPhysicianSpecialties
              - AmericanAcademyofOptometry
              - AmericanBoardofNeurologicalSurgery
              - AmericanBoardofObstetricsandGynecology
              - AmericanBoardofOphthalmology
              - AmericanBoardofOtolaryngologyHeadandNeckSurgery
              - AmericanBoardofPediatrics
              - AmericanBoardofOrthopaedicSurgery
              - AmericanBoardofPhysicalMedicineandRehabilitation
              - AmericanBoardofPlasticSurgery
              - AmericanBoardofRadiology
              - AmericanBoardofSurgery
              - AmericanBoardofUrology
              - AmericanBoardofColonandRectalSurgery
              - AmericanAssociationofCriticalCareNurses
              - AmericanBoardofFootandAnkleSurgery
              - PharmacyTechnicianCertificationBoard
              - NationalBoardofSurgicalTechnologyandSurgicalAssisting
              - AmericanBoardofPainMedicine
              - AmericanBoardofOrofacialPain
              - NuclearMedicineTechnologyCertificationBoard
              - AmericanBoardofEmergencyMedicine
              - ArtTherapyCredentialsBoard
              - AmericanHeartAssociation
              - MedicaidEnrollmentCalifornia
              - JointCommission
              - FacilityCmsCertification
            type: string
        - name: providerId
          in: path
          description: >-
            The identifier of the provider for which the parameters should be
            returned.
          required: true
          schema:
            type: string
            format: uuid
        - name: parameterSetId
          in: query
          description: >-
            If set, the results will only return the parameters based on the
            specified parameter set else the parameters will be returned based
            on preferred dataset parameter.
          schema:
            type: string
            format: uuid
        - name: referenceId
          in: query
          description: >-
            If set, the results will only use the associated provider info to
            derive the parameters.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IProviderParameter'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /facilities/{facilityId}/credentialing-data:
    get:
      tags:
        - CredentialingRequests
      summary: |
        Get the credentialing data for a facility
      description: |
        Returns the credentialing data for a facility.
      operationId: GetFacilityCredentialingData
      parameters:
        - name: facilityId
          in: path
          description: Identifier of the facility to get the data for.
          required: true
          schema:
            type: string
            format: uuid
        - name: credentialingRequestId
          in: query
          description: Identifier of the credentialing request associated to the facility.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityCredentialingDataModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /providers/{providerId}/credentialing-data:
    get:
      tags:
        - CredentialingRequests
      summary: |
        Get the credentialing data for a provider
      description: |
        Returns the credentialing data for a provider.
      operationId: GetProviderCredentialingData
      parameters:
        - name: providerId
          in: path
          description: Identifier of the provider to get the data for.
          required: true
          schema:
            type: string
            format: uuid
        - name: credentialingRequestId
          in: query
          description: Identifier of the credentialing request associated to the provider.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderCredentialingDataModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /provider-licenses/aggregations:
    get:
      tags:
        - Licenses
      summary: |
        Get provider licenses aggregations
      description: |
        Returns aggregated counts for provider licenses with different statuses.
      operationId: GetProviderLicensesAggregations
      parameters:
        - name: providerDeactivated
          in: query
          schema:
            type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProviderLicenseAggregationsModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /providers/monitoring/sanctions-and-exclusions/aggregations:
    get:
      tags:
        - Providers
      summary: |
        Get provider sanctions and exclusions monitoring categories aggregations
      description: >
        Returns aggregated counts for providers monitoring categories for
        sanctions and exclusions.
      operationId: GetProviderMonitoringSanctionsAndExclusionsSummaryAggregations
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ProviderMonitoringSanctionsAndExclusionsSummaryAggregationsModel
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /files/exports:
    get:
      tags:
        - Files
      summary: |
        List event log exports
      description: |
        Returns metadata for exported event logs.
      operationId: ListExportFilesMetadata
      parameters:
        - name: prefix
          in: query
          description: >-
            If set the result is filtered to return only files whose path begin
            with the specified prefix.
          schema:
            maxLength: 640
            minLength: 0
            type: string
        - name: before
          in: query
          description: If set, only returns events from before this date.
          schema:
            type: string
            format: date-time
        - name: beforeInclusive
          in: query
          description: >-
            If set to `true`, will include events created exactly at `before`
            date and time too.
          schema:
            type: boolean
        - name: after
          in: query
          description: If set, only returns events from after this date.
          schema:
            type: string
            format: date-time
        - name: afterInclusive
          in: query
          description: >-
            If set to `true`, will include events created exactly at `after`
            date and time too.
          schema:
            type: boolean
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Path
              - CreatedAt
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Path
                  - CreatedAt
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FilePageModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /datasets/nsc/schoolCodes:
    get:
      tags:
        - Datasets
      summary: |
        List schools
      description: >
        Returns a page of schools that are supported by NSC.


        The codes originating from [National Student
        Clearinghouse](https://docs.studentclearinghouse.org/vs/participating-schools)
      operationId: ListNscSchools
      parameters:
        - name: name
          in: query
          description: >-
            If set, the items will be filtered on schools with the specified
            name.
          schema:
            type: string
        - name: code
          in: query
          description: >-
            If set, the items will be filtered on schools with the specified
            code.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
        - name: sortedBy
          in: query
          description: The property by which the returned data will be sorted.
          schema:
            enum:
              - Name
              - Code
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - Name
                  - Code
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: sortDirection
          in: query
          description: The direction the returned data will be sorted by.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchoolCodePageModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /organization/settings/oauth-credentials:
    get:
      tags:
        - ListOAuthCredentials
      operationId: ListOAuthCredentials
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OAuthCredentialsModel'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /providers/monitoring/sanctions-and-exclusions:
    get:
      tags:
        - Providers
      summary: |
        List provider monitoring summary for sanctions and exclusions
      description: >
        Returns a page of provider monitoring summaries for sanctions and
        exclusions.
      operationId: ListProviderMonitoringSanctionsAndExclusionsSummary
      parameters:
        - name: name
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            name/alias.
          schema:
            type: string
        - name: npi
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            NPI number.
          schema:
            type: integer
            format: int64
        - name: credentialingStatus
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            credentialing status.
          schema:
            type: array
            items:
              type: string
        - name: monitoringCategory
          in: query
          description: >-
            If set, the items will be filtered on providers with the specified
            monitoring category.
          schema:
            enum:
              - NotMonitored
              - PartiallyMonitored
              - FullyMonitored
            type: string
        - name: sortedBy
          in: query
          schema:
            enum:
              - FirstName
              - LastName
              - CredentialingStatus
            type: string
        - name: sort
          in: query
          description: >-
            If set, the properties and directions the returned data will be
            sorted by.
          schema:
            type: object
            properties:
              Keys:
                enum:
                  - FirstName
                  - LastName
                  - CredentialingStatus
                type: string
              Values:
                enum:
                  - Asc
                  - Desc
                type: string
        - name: offset
          in: query
          description: The offset for the page to start.
          deprecated: true
          schema:
            type: integer
            format: int32
        - name: cursor
          in: query
          description: >-
            The cursor to render the page requested. To load the first page send
            an empty cursor, then the system will generate the cursors to go to
            the next and/or previous pages automatically.
          schema:
            type: string
        - name: count
          in: query
          description: The number of items to include in a single page.
          schema:
            type: integer
            format: int32
        - name: sortDirection
          in: query
          description: The direction in which the returned data will be sorted.
          schema:
            enum:
              - Asc
              - Desc
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ProviderMonitoringSanctionsAndExclusionsSummaryPageModel
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /datasets/matches/{matchId}:
    patch:
      tags:
        - Datasets
      summary: |
        Patch an existing dataset match
      description: >
        Allows you to reject, accept or restore a previous rejected dataset
        match. Only a match from the most recent scan can be patched.
      operationId: PatchDatasetMatch
      parameters:
        - name: matchId
          in: path
          description: Identifier of the dataset match to patch.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DatasetMatchPatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetMatchModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /licenses/{licenseId}:
    patch:
      tags:
        - Licenses
      summary: |
        Patch an existing license
      description: |
        Allows you to change a license's restriction or approved status.
      operationId: PatchLicense
      parameters:
        - name: licenseId
          in: path
          description: Identifier of the license to patch.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LicensePatchModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LicenseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /credentialing-requests/{requestId}/checklist:
    put:
      tags:
        - CredentialingRequests
      summary: |
        Create or replace a credentialing request checklist
      description: |
        Creates or replaces a checklist for a credentialing request.
      operationId: CreateCredentialingRequestChecklist
      parameters:
        - name: requestId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CredentialingRequestChecklistRequestModel'
      responses:
        '204':
          description: No Content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoContentResult'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Server Error
  /datasets/scans/{scanId}/refresh:
    post:
      tags:
        - Datasets
      summary: |
        Refresh dataset scan
      description: >
        Triggers a refresh for an existing running continuous dataset scan.
        Currently only NPDB dataset supports it. For NPDB it will trigger Status
        request to fetch the latest available response from the site.  
      operationId: RefreshDatasetScan
      parameters:
        - name: scanId
          in: path
          description: The identifier of the scan to trigger refresh for.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '409':
          description: Conflict
        '500':
          description: Server Error
  /auth/sso/admin:
    get:
      tags:
        - SsoAdminPortal
      operationId: SsoAdminPortal
      parameters:
        - name: code
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SsoAdminPortalLinkResponseModel'
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /auth/token/oauth:
    post:
      tags:
        - SsoAuth
      operationId: SsoAuth
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SsoAuthModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Server Error
  /providers/{providerId}/npdb/transfer-enrollment:
    post:
      tags:
        - Providers
      summary: |
        Initiate an NPDB enrollment transfer for a provider
      description: >
        Initiates the transfer of an existing an NPDB enrollment to the
        specified provider. Once a transfer has been initiated, review the
        dataset scan results to monitor the transfer operation.
      operationId: TransferNpdbEnrollment
      parameters:
        - name: providerId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferNpdbRequestModel'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferNpdbResponseModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '409':
          description: Conflict
        '500':
          description: Server Error
        '503':
          description: Server Error
  /auth/workos/webhook:
    post:
      tags:
        - WorkOsWebhook
      operationId: WorkOsWebhook
      parameters:
        - name: WorkOS-Signature
          in: header
          schema:
            type: string
      responses:
        '200':
          description: Success
        '400':
          description: Bad Request
        '500':
          description: Server Error
components:
  schemas:
    AbmsAddressRecord:
      type: object
      properties:
        city:
          type: string
          nullable: true
        stateOrProvince:
          type: string
          nullable: true
        postalCode:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        restrictions:
          type: string
          nullable: true
      additionalProperties: false
    AbmsCertificateInfo:
      type: object
      properties:
        name:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        maintenance:
          type: string
          nullable: true
        maintenanceRequired:
          type: string
          nullable: true
        issuance:
          type: array
          items:
            $ref: '#/components/schemas/AbmsCertificateIssuance'
          nullable: true
        recognition:
          type: array
          items:
            $ref: '#/components/schemas/AbmsCertificateRecognition'
          nullable: true
      additionalProperties: false
    AbmsCertificateIssuance:
      type: object
      properties:
        focus:
          type: string
          nullable: true
        duration:
          type: string
          nullable: true
        occurrence:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
          nullable: true
        issueDateAccuracy:
          type: string
          nullable: true
        expiryDate:
          type: string
          format: date-time
          nullable: true
        expiryDateAccuracy:
          type: string
          nullable: true
        scheduledUpdate:
          type: string
          format: date-time
          nullable: true
        scheduledUpdateAccuracy:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        notices:
          type: array
          items:
            $ref: '#/components/schemas/AbmsCertificateIssuanceNotice'
          nullable: true
      additionalProperties: false
    AbmsCertificateIssuanceNotice:
      type: object
      properties:
        category:
          type: string
          nullable: true
        details:
          type: string
          nullable: true
      additionalProperties: false
    AbmsCertificateRecognition:
      type: object
      properties:
        status:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        duration:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
        issueDateAccuracy:
          type: string
          nullable: true
        expiryDate:
          type: string
          format: date-time
          nullable: true
        expiryDateAccuracy:
          type: string
          nullable: true
        scheduledUpdate:
          type: string
          format: date-time
          nullable: true
        scheduledUpdateAccuracy:
          type: string
          nullable: true
      additionalProperties: false
    AbmsCertificationInfo:
      type: object
      properties:
        recognitionOrganization:
          type: string
          nullable: true
        certificationBoard:
          type: string
          nullable: true
        maintenance:
          type: string
          nullable: true
        maintenanceRequired:
          type: string
          nullable: true
        certificateInfo:
          type: array
          items:
            $ref: '#/components/schemas/AbmsCertificateInfo'
          nullable: true
      additionalProperties: false
    AbmsDatasetRecord:
      type: object
      properties:
        uniqueId:
          type: array
          items:
            $ref: '#/components/schemas/AbmsMemberId'
          nullable: true
        name:
          $ref: '#/components/schemas/AbmsNameRecord'
        address:
          $ref: '#/components/schemas/AbmsAddressRecord'
        educationInfo:
          type: array
          items:
            $ref: '#/components/schemas/AbmsEducationInfo'
          nullable: true
        certificationInfo:
          type: array
          items:
            $ref: '#/components/schemas/AbmsCertificationInfo'
          nullable: true
        occupationInfo:
          $ref: '#/components/schemas/AbmsOccupationInfo'
        personalInfo:
          $ref: '#/components/schemas/AbmsPersonalInfo'
        extensibleInfo:
          $ref: '#/components/schemas/AbmsExtensibleInfo'
        restrictions:
          type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
      additionalProperties: false
    AbmsDisclaimerInfo:
      type: object
      properties:
        certificationBoard:
          type: string
          nullable: true
        disclaimer:
          type: string
          nullable: true
      additionalProperties: false
    AbmsEducationInfo:
      type: object
      properties:
        degree:
          type: string
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        endDateAccuracy:
          type: string
          nullable: true
      additionalProperties: false
    AbmsExtensibleInfo:
      type: object
      properties:
        disclaimerInfo:
          type: array
          items:
            $ref: '#/components/schemas/AbmsDisclaimerInfo'
          nullable: true
      additionalProperties: false
    AbmsMemberId:
      type: object
      properties:
        id:
          type: string
          nullable: true
        domain:
          type: string
          nullable: true
      additionalProperties: false
    AbmsNameRecord:
      type: object
      properties:
        givenName:
          type: array
          items:
            type: string
          nullable: true
        familyName:
          type: string
          nullable: true
        generationIdentifier:
          type: string
          nullable: true
      additionalProperties: false
    AbmsOccupationInfo:
      type: object
      properties:
        restrictions:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        startDateAccuracy:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
      additionalProperties: false
    AbmsPersonalInfo:
      type: object
      properties:
        restrictions:
          type: string
          nullable: true
        physicalStatus:
          type: string
          nullable: true
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        dateOfBirthAccuracy:
          type: string
          nullable: true
        dateOfBirthRestriction:
          type: string
          nullable: true
        deceasedDate:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    AccessTokenModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the access token.
          format: uuid
        lastUserAgent:
          type: string
          description: The user agent of the remote user that last used this access token.
        lastIpAddress:
          type: string
          description: The IP address of the remote user that last used this access token.
        lastUsed:
          type: string
          description: The timestamp when this access token was last used.
          format: date-time
        isCurrent:
          type: boolean
          description: Set to true if this access token was used in the current request.
        expiresAt:
          type: string
          format: date-time
      additionalProperties: false
    AccessTokenPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/AccessTokenModel'
          description: The audit log entries in the current page.
        sortedBy:
          enum:
            - Id
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            lastUserAgent: string
            lastIpAddress: string
            lastUsed: '2019-08-24T14:15:22.0000000Z'
            isCurrent: true
            expiresAt: '2019-08-24T14:15:22.0000000Z'
        sortedBy: Id
        sortDirection: Asc
        sort:
          Id: Asc
    AddressModel:
      required:
        - addressLine1
        - city
        - state
        - zipCode
      type: object
      properties:
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
        zipCode:
          minLength: 1
          type: string
        city:
          minLength: 1
          type: string
        addressLine1:
          minLength: 1
          type: string
        addressLine2:
          type: string
          nullable: true
      additionalProperties: false
    AlertAggregationsModel:
      type: object
      properties:
        active:
          type: integer
          description: The total number of active alerts.
          format: int32
        dismissed:
          type: integer
          description: The total number of dismissed alerts.
          format: int32
        licenseChanged:
          type: integer
          description: The total number of active `License Changed` alerts.
          format: int32
        licenseExpiresSoon:
          type: integer
          description: The total number of active `License Expires Soon` alerts.
          format: int32
        licenseExpired:
          type: integer
          description: The total number of active `License Expired` alerts.
          format: int32
        profileImportCompleted:
          type: integer
          description: The total number of active `Profile Import Completed` alerts.
          format: int32
      additionalProperties: false
    AlertData:
      type: object
      properties:
        messageTemplate:
          type: string
          description: >-
            An informative human readable message describing the action in the
            audit log entry.
        messageParams:
          type: object
          additionalProperties:
            type: string
            nullable: true
          description: >-
            Collection of key/value pairs containing parameters to be replaced
            in `messageTemplate`.
        data:
          type: object
          additionalProperties:
            type: string
            nullable: true
      additionalProperties: false
    AlertModel:
      type: object
      properties:
        type:
          enum:
            - LicenseChanged
            - LicenseExpiresSoon
            - LicenseExpired
            - ProfileImportCompleted
          type: string
          description: The type of event that led to this alert.
        providerId:
          type: string
          description: Identifier of the provider related to this alert.
          format: uuid
        provider:
          $ref: '#/components/schemas/ProviderModel'
        entityType:
          enum:
            - License
            - Verification
            - Alert
            - NpiRecord
            - Note
            - BoardCertification
            - BoardCertificationVerification
            - DeaVerification
            - DatasetScan
            - DatasetRecord
            - File
            - ProfileImport
            - NpdbVerificationRequest
          type: string
          description: If set, the type of the entity that `EntityId` refers to.
        entityId:
          type: string
          description: Identifier of the related entity that's relevant to this alert type.
          format: uuid
        data:
          $ref: '#/components/schemas/AlertData'
        timestamp:
          type: string
          description: The date and time when this alert was triggered.
          format: date-time
        dismissalTimestamp:
          type: string
          description: The date and time when this alert was dismissed, if at all.
          format: date-time
        dismissalNote:
          type: string
          description: >-
            The note supplied as reason for dismissal, if and when this alert
            was dismissed.
        id:
          type: string
          description: Unique identifier for this alert.
          format: uuid
      additionalProperties: false
    AlertPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Timestamp
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/AlertModel'
          description: The audit log entries in the current page.
        sortedBy:
          enum:
            - Timestamp
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - type: LicenseChanged
            providerId: 4834bcdc-4a64-444d-966b-1a6fe381da24
            entityType: License
            entityId: 156e622c-6cdf-4c27-9bc9-2f2db69919f5
            data:
              messageTemplate: string
              messageParams:
                property1: string
                property2: string
              data:
                property1: string
                property2: string
            timestamp: '2019-08-24T14:15:22.0000000Z'
            dismissalTimestamp: '2019-08-24T14:15:22.0000000Z'
            dismissalNote: string
            id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
        sortedBy: Timestamp
        sortDirection: Asc
        sort:
          Timestamp: Asc
    AliasModel:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
      additionalProperties: false
    AmaEducation:
      type: object
      properties:
        school:
          type: string
          nullable: true
        degreeAwarded:
          type: string
          nullable: true
        degreeType:
          type: string
          nullable: true
        enrollmentDate:
          type: string
          format: date
          nullable: true
        degreeDate:
          type: string
          format: date
          nullable: true
      additionalProperties: false
    AmaTraining:
      type: object
      properties:
        sponsoringInstitution:
          type: string
          nullable: true
        sponsoringState:
          type: string
          nullable: true
        programName:
          type: string
          nullable: true
        specialty:
          type: string
          nullable: true
        trainingType:
          type: string
          nullable: true
        startDate:
          type: string
          format: date
          nullable: true
        endDate:
          type: string
          format: date
          nullable: true
        status:
          type: string
          nullable: true
      additionalProperties: false
    AmericanMedicalAssociationPhysicianAssistantProviderProfileModel:
      type: object
      properties:
        name:
          type: string
          nullable: true
        npi:
          type: string
          nullable: true
        nccpa:
          type: string
          nullable: true
        educationRecords:
          type: array
          items:
            $ref: '#/components/schemas/AmaEducation'
          nullable: true
        trainingRecords:
          type: array
          items:
            $ref: '#/components/schemas/AmaTraining'
          nullable: true
        profileDocumentFilePath:
          type: string
          nullable: true
        type:
          enum:
            - Npi
            - CaqhPo
            - AmericanMedicalAssociationPhysician
            - AmericanMedicalAssociationPhysicianAssistant
          type: string
          readOnly: true
          example: CaqhPo
      additionalProperties: false
    AmericanMedicalAssociationPhysicianProviderProfileModel:
      type: object
      properties:
        name:
          type: string
          nullable: true
        npi:
          type: string
          nullable: true
        nccpa:
          type: string
          nullable: true
        educationRecords:
          type: array
          items:
            $ref: '#/components/schemas/AmaEducation'
          nullable: true
        trainingRecords:
          type: array
          items:
            $ref: '#/components/schemas/AmaTraining'
          nullable: true
        profileDocumentFilePath:
          type: string
          nullable: true
        type:
          enum:
            - Npi
            - CaqhPo
            - AmericanMedicalAssociationPhysician
            - AmericanMedicalAssociationPhysicianAssistant
          type: string
          readOnly: true
          example: CaqhPo
      additionalProperties: false
    AttachLicenseRequestModel:
      required:
        - licenseTypeId
        - state
      type: object
      properties:
        licenseNumber:
          type: string
          description: A license number from one of the licenses of the provider.
        licenseTypeId:
          type: string
          description: >-
            License type id for one of the license type supported. Please refer
            to [LicenseTypes](../ListSimplifiedLicenseTypes) for more
            information.
          format: uuid
        firstName:
          type: string
          description: >-
            Specify a first name that will be used during the license
            verification. If not specified, first name will be used from the
            provider basic info.
        lastName:
          type: string
          description: >-
            Specify a last name that will be used during the license
            verification. If not specified, last name will be used from the
            provider basic info.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: State for which license type needs to be attached.
        restrictionStatus:
          enum:
            - None
            - Restricted
            - Unrestricted
          type: string
          description: Restriction status for the license. `None` is a default value.
        approvedStatus:
          enum:
            - Pending
            - 'Yes'
            - 'No'
          type: string
          description: Approval status for the license. `Pending` is a default value.
        nonVerifiedInfo:
          $ref: '#/components/schemas/NonVerifiedLicenseInfoModel'
        skipVerification:
          type: boolean
          description: >-
            If the flag is set, verification wouldn't be run right after
            attaching license to the provider.
        isCurrentlyPracticing:
          type: boolean
        isPrimary:
          type: boolean
          description: >-
            If the flag is set, the license will be set as primary for the
            provider.
        prescriptiveAuthority:
          enum:
            - RequiredMet
            - RequiredNotMet
            - NotRequired
          type: string
        collaboratingProviderId:
          type: string
          format: uuid
      additionalProperties: false
      example:
        licenseNumber: '123456'
        state: AL
        licenseTypeId: 25cb4aee-c0c2-419b-b7c0-fd37169e9efb
    AuthResponseModel:
      type: object
      properties:
        tokenId:
          type: string
          description: >-
            Unique identifier for this token. This can be used to invalidate a
            token.
          format: uuid
        token:
          type: string
          description: The access token to be used in following API calls.
        email:
          type: string
          description: >-
            The e-mail address of the user. It will either be the same e-mail
            address used on the password authentication or the e-mail address of
            the Google account in the case of Google authentication.
        role:
          $ref: '#/components/schemas/UserRoleModel'
        expiresAt:
          type: string
          description: Expiration time of the access token.
          format: date-time
        persistenceHint:
          enum:
            - Persistent
            - Ephemeral
          type: string
      additionalProperties: false
      example:
        tokenId: 0847312d-19fe-49d2-9e21-5825735b511a
        token: MtetyFcIW...xgXXX-Z4yy
    BaseUserModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of this user.
          format: uuid
        email:
          type: string
          description: The email of this user.
        firstName:
          type: string
          description: The firstname of this user.
        lastName:
          type: string
          description: The lastname of this user.
      additionalProperties: false
    BoardCertification:
      type: object
      properties:
        boardName:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        isExpired:
          type: boolean
          nullable: true
        issued:
          type: string
          format: date-time
          nullable: true
        expires:
          type: string
          format: date-time
          nullable: true
        mocParticipation:
          type: boolean
          nullable: true
        additionalProperties:
          $ref: '#/components/schemas/FlexibleDataModel'
      additionalProperties: false
    BoardCertificationDatasetRecord:
      type: object
      properties:
        boardCertificationNumber:
          type: string
          nullable: true
        additionalProperties:
          $ref: '#/components/schemas/FlexibleDataModel'
        certifications:
          type: array
          items:
            $ref: '#/components/schemas/BoardCertification'
          nullable: true
        screenshots:
          type: array
          items:
            type: string
          nullable: true
        attachments:
          type: array
          items:
            type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        fullName:
          type: string
          nullable: true
      additionalProperties: false
    BoardCertificationInfoModel:
      type: object
      properties:
        lastUpdatedAt:
          type: string
          description: The date and time when the object was created or modified.
          format: date-time
        id:
          type: string
          description: Unique identifier associated with this board certification
          format: uuid
        type:
          enum:
            - AmericanBoardofMedicalSpecialties
            - NationalBoardforCertifiedCounselors
            - AmericanBoardofClinicalSocialWork
            - AmericanSpeechLanguageHearingAssociation
            - AmericanNursesCredentialingCenter
            - AmericanAcademyofNursePractitioners
            - AmericanOsteopathicAssociation
            - AmericanMedicalAssociation
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanAssociationofCriticalCareNurses
            - AmericanMidwiferyCertificationBoard
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofOralImplantology
            - AmericanBoardofOralMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofDentalPublicHealth
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofPeriodontology
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofAnesthesiology
            - AmericanBoardofColonandRectalSurgery
            - AmericanBoardofDermatology
            - AmericanBoardofEmergencyMedicine
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofGeneticsandGenomics
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofNuclearMedicine
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPathology
            - AmericanBoardofPediatrics
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofPreventiveMedicine
            - AmericanBoardofProfessionalPsychology
            - AmericanBoardofPsychiatryandNeurology
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofThoracicSurgery
            - AmericanBoardofUrology
            - AmericanOptometricAssociation
            - AssociationofSocialWorkBoards
            - AmericanBoardofFootandAnkleSurgery
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOrthodontics
            - AmericanBoardofEndodontics
            - AmericanBoardofProsthodontics
            - NationalBoardforCertificationinOccupationalTherapy
            - BehaviorAnalystCertificationBoard
            - InternationalBoardofLactationConsultantExaminers
            - CommissionOnDieteticRegistration
            - NationalCertificationCommissionforAcupunctureandOrientalMedicine
            - PediatricNursingCertification
            - NationalCertificationCorporation
            - OncologyNursingCertificationCorporation
            - AmericanBoardOfCardiovascularMedicine
            - AmericanAcademyOfHIVMedicine
            - NationalBoardOfPhysiciansAndSurgeons
            - BoardOfPharmacySpecialties
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - NationalPhlebotomyAssociation
            - NationalCenterForCompetencyTesting
            - AmericanRegistryofRadiologyTechnologists
            - DentalAssistingNationalBoard
            - AmericanMedicalCertificationAssociation
            - AmericanBoardofAddictionMedicine
            - AmericanRegistryForDiagnosticMedicalSonography
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - AmericanBoardOfObesityMedicine
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - CardiovascularCredentialingInternational
            - NationalBoardOfEchocardiography
            - AmericanAlliedHealth
            - AmericanMedicalTechnologists
            - NationalAssociationForHealthProfessionals
            - NationalHealthCareerAssociation
            - NationalPhlebotomyCertificationExamination
            - NationalAssociationOfPhlebotomyTechnicians
            - NationalHealthcareCertificationOrganization
            - NationalPerformanceSpecialists
            - NationalRegistryOfAlliedHealthProfessionals
            - BoardofCertificationforEmergencyNursing
            - CertificationBoardforMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardOfPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - ArtTherapyCredentialsBoard
            - AmericanOsteopathicBoardOfAnesthesiology
            - AmericanOsteopathicBoardOfDermatology
            - AmericanOsteopathicBoardOfEmergencyMedicine
            - AmericanOsteopathicBoardOfFamilyPhysicians
            - AmericanOsteopathicBoardOfInternalMedicine
            - AmericanOsteopathicBoardOfNeurologyAndPsychiatry
            - AmericanOsteopathicBoardOfNeuromusculoskeletalMedicine
            - AmericanOsteopathicBoardOfNuclearMedicine
            - AmericanOsteopathicBoardOfObstetricsAndGynecology
            - AmericanOsteopathicBoardOfOphthalmologyAndOtolaryngology
            - AmericanOsteopathicBoardOfOrthopedicSurgery
            - AmericanOsteopathicBoardOfPathology
            - AmericanOsteopathicBoardOfPediatrics
            - AmericanOsteopathicBoardOfPhysicalMedicineAndRehabilitation
            - AmericanOsteopathicBoardOfPreventiveMedicine
            - AmericanOsteopathicBoardOfProctology
            - AmericanOsteopathicBoardOfRadiology
            - AmericanOsteopathicBoardOfSurgery
          type: string
          description: Board certification type.
        firstName:
          type: string
          description: >-
            Provider first name mentioned on the board certification. This field
            will be used for board certification lookup.
        lastName:
          type: string
          description: >-
            Provider last name mentioned on the board certification. This field
            will be used for board certification lookup.
        boardCertificationNumber:
          type: string
          description: >-
            A unique Id provided by certification board to the provider. This
            will be used for board certification lookup.
        specialty:
          type: string
        nonVerifiedInfo:
          $ref: '#/components/schemas/NonVerifiedBoardCertificationInfoModel'
        isPrimary:
          type: boolean
          description: >-
            If the flag is set, certification will be set as primary for the
            provider.
      additionalProperties: false
    BoardCertificationInfoPatchModel:
      type: object
      properties:
        firstName:
          type: string
          description: >-
            Provider first name mentioned on the board certification. This field
            will be used for board certification lookup.
        lastName:
          type: string
          description: >-
            Provider last name mentioned on the board certification. This field
            will be used for board certification lookup.
        isPrimary:
          type: boolean
          description: >-
            If the flag is set, certification will be set as primary for the
            provider.
        boardCertificationNumber:
          type: string
          description: >-
            A unique Id provided by certification board to the provider. This
            will be used for board certification lookup.
        specialty:
          type: string
        nonVerifiedInfo:
          $ref: '#/components/schemas/NonVerifiedBoardCertificationInfoModel'
      additionalProperties: false
    BoardCertificationInfoRequestModel:
      required:
        - type
      type: object
      properties:
        type:
          enum:
            - AmericanBoardofMedicalSpecialties
            - NationalBoardforCertifiedCounselors
            - AmericanBoardofClinicalSocialWork
            - AmericanSpeechLanguageHearingAssociation
            - AmericanNursesCredentialingCenter
            - AmericanAcademyofNursePractitioners
            - AmericanOsteopathicAssociation
            - AmericanMedicalAssociation
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanAssociationofCriticalCareNurses
            - AmericanMidwiferyCertificationBoard
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofOralImplantology
            - AmericanBoardofOralMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofDentalPublicHealth
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofPeriodontology
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofAnesthesiology
            - AmericanBoardofColonandRectalSurgery
            - AmericanBoardofDermatology
            - AmericanBoardofEmergencyMedicine
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofGeneticsandGenomics
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofNuclearMedicine
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPathology
            - AmericanBoardofPediatrics
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofPreventiveMedicine
            - AmericanBoardofProfessionalPsychology
            - AmericanBoardofPsychiatryandNeurology
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofThoracicSurgery
            - AmericanBoardofUrology
            - AmericanOptometricAssociation
            - AssociationofSocialWorkBoards
            - AmericanBoardofFootandAnkleSurgery
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOrthodontics
            - AmericanBoardofEndodontics
            - AmericanBoardofProsthodontics
            - NationalBoardforCertificationinOccupationalTherapy
            - BehaviorAnalystCertificationBoard
            - InternationalBoardofLactationConsultantExaminers
            - CommissionOnDieteticRegistration
            - NationalCertificationCommissionforAcupunctureandOrientalMedicine
            - PediatricNursingCertification
            - NationalCertificationCorporation
            - OncologyNursingCertificationCorporation
            - AmericanBoardOfCardiovascularMedicine
            - AmericanAcademyOfHIVMedicine
            - NationalBoardOfPhysiciansAndSurgeons
            - BoardOfPharmacySpecialties
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - NationalPhlebotomyAssociation
            - NationalCenterForCompetencyTesting
            - AmericanRegistryofRadiologyTechnologists
            - DentalAssistingNationalBoard
            - AmericanMedicalCertificationAssociation
            - AmericanBoardofAddictionMedicine
            - AmericanRegistryForDiagnosticMedicalSonography
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - AmericanBoardOfObesityMedicine
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - CardiovascularCredentialingInternational
            - NationalBoardOfEchocardiography
            - AmericanAlliedHealth
            - AmericanMedicalTechnologists
            - NationalAssociationForHealthProfessionals
            - NationalHealthCareerAssociation
            - NationalPhlebotomyCertificationExamination
            - NationalAssociationOfPhlebotomyTechnicians
            - NationalHealthcareCertificationOrganization
            - NationalPerformanceSpecialists
            - NationalRegistryOfAlliedHealthProfessionals
            - BoardofCertificationforEmergencyNursing
            - CertificationBoardforMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardOfPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - ArtTherapyCredentialsBoard
            - AmericanOsteopathicBoardOfAnesthesiology
            - AmericanOsteopathicBoardOfDermatology
            - AmericanOsteopathicBoardOfEmergencyMedicine
            - AmericanOsteopathicBoardOfFamilyPhysicians
            - AmericanOsteopathicBoardOfInternalMedicine
            - AmericanOsteopathicBoardOfNeurologyAndPsychiatry
            - AmericanOsteopathicBoardOfNeuromusculoskeletalMedicine
            - AmericanOsteopathicBoardOfNuclearMedicine
            - AmericanOsteopathicBoardOfObstetricsAndGynecology
            - AmericanOsteopathicBoardOfOphthalmologyAndOtolaryngology
            - AmericanOsteopathicBoardOfOrthopedicSurgery
            - AmericanOsteopathicBoardOfPathology
            - AmericanOsteopathicBoardOfPediatrics
            - AmericanOsteopathicBoardOfPhysicalMedicineAndRehabilitation
            - AmericanOsteopathicBoardOfPreventiveMedicine
            - AmericanOsteopathicBoardOfProctology
            - AmericanOsteopathicBoardOfRadiology
            - AmericanOsteopathicBoardOfSurgery
          type: string
          description: Board certification type.
        firstName:
          type: string
          description: >-
            Provider first name mentioned on the board certification. This field
            will be used for board certification lookup.
        lastName:
          type: string
          description: >-
            Provider last name mentioned on the board certification. This field
            will be used for board certification lookup.
        isPrimary:
          type: boolean
          description: >-
            If the flag is set, certification will be set as primary for the
            provider.
        boardCertificationNumber:
          type: string
          description: >-
            A unique Id provided by certification board to the provider. This
            will be used for board certification lookup.
        specialty:
          type: string
        nonVerifiedInfo:
          $ref: '#/components/schemas/NonVerifiedBoardCertificationInfoModel'
      additionalProperties: false
    BoardCertificationSourceModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this board certification source.
          format: uuid
        name:
          type: string
          description: Board certification source name.
        availability:
          enum:
            - Available
            - Disabled
            - ComingSoon
          type: string
          description: >-
            Availability indicator of the source. Only sources that are
            `Available` should be used for board certification verifications.
        isDegraded:
          type: boolean
          description: >-
            The sources we use for verifications are not hosted by Verifiable.
            In some cases we detect the source to be unavailable. In that case
            `isDegraded` will be set to `true`.
        url:
          type: string
          description: The URL used to fetch the certification data for this source.
          format: uri
      additionalProperties: false
    BoardCertificationSourcePageModel:
      type: object
      properties:
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/BoardCertificationSourceModel'
          description: The providers in the current page.
        sortedBy:
          enum:
            - Id
            - Name
            - SourceId
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
        sort:
          type: object
          additionalProperties:
            enum:
              - Asc
              - Desc
            type: string
          description: The properties and directions the data is sorted by.
      additionalProperties: false
    BulkSanctionsAndExclusionsMonitorModel:
      type: object
      properties:
        monitorId:
          type: string
          format: uuid
        datasetType:
          enum:
            - Sam
            - MedicareOptOut
            - OigFugitives
            - OfacSdn
            - OfacConsolidated
            - OigExclusions
            - StateSanctionsAndExclusions
            - Npdb
            - Dmf
            - Npi
            - Nsc
            - Dea
            - CmsPreclusion
            - Tricare
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - Abms
            - NationalBoardforCertifiedCounselors
            - AmericanAcademyofNursePractitioners
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanOsteopathicAssociation
            - AmericanNursesCredentialingCenter
            - NationalBoardforCertificationinOccupationalTherapy
            - AmericanSpeechLanguageHearingAssociation
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofPsychiatryandNeurology
            - InternationalBoardofLactationConsultantExaminers
            - AmericanMidwiferyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofClinicalSocialWork
            - BoardOfPharmacySpecialties
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofOrthodontics
            - AmericanBoardofOralMedicine
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofProsthodontics
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofEndodontics
            - AmericanBoardofPeriodontology
            - AmericanBoardofOralImplantology
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofDentalPublicHealth
            - BehaviorAnalystCertificationBoard
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - AmericanBoardofAddictionMedicine
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - CommissionOnDieteticRegistration
            - AmericanBoardOfObesityMedicine
            - NationalCertificationCorporation
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - AmericanRegistryOfRadiologyTechnologists
            - AmericanBoardOfAnesthesiology
            - AmericanRegistryForDiagnosticMedicalSonography
            - NationalBoardOfPhysiciansAndSurgeons
            - CardiovascularCredentialingInternational
            - NationalCenterForCompetencyTesting
            - NationalAssociationOfPhlebotomyTechnicians
            - AmericanAlliedHealth
            - NationalRegistryOfAlliedHealthProfessionals
            - AmericanMedicalTechnologists
            - NationalHealthCareerAssociation
            - DentalAssistingNationalBoard
            - PediatricNursingCertification
            - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
            - CertificationBoardForMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardofPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPediatrics
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofUrology
            - AmericanBoardofColonandRectalSurgery
            - AmericanAssociationofCriticalCareNurses
            - AmericanBoardofFootandAnkleSurgery
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanBoardofEmergencyMedicine
            - ArtTherapyCredentialsBoard
            - AmericanHeartAssociation
            - MedicaidEnrollmentCalifornia
            - JointCommission
            - FacilityCmsCertification
          type: string
      additionalProperties: false
    BulkSanctionsAndExclusionsMonitorsModel:
      type: object
      properties:
        createdMonitors:
          type: array
          items:
            $ref: '#/components/schemas/BulkSanctionsAndExclusionsMonitorModel'
        providerIds:
          type: array
          items:
            type: string
            format: uuid
      additionalProperties: false
    BulkSanctionsAndExclusionsMonitorsRequestModel:
      required:
        - datasetInfos
        - providerIds
      type: object
      properties:
        providerIds:
          type: array
          items:
            type: string
            format: uuid
        datasetInfos:
          type: array
          items:
            $ref: '#/components/schemas/MonitorDatasetInfo'
      additionalProperties: false
    CaqhLoginInfoModel:
      type: object
      properties:
        lastUpdatedAt:
          type: string
          description: The date and time when the object was created or modified.
          format: date-time
        caqhId:
          type: string
          description: ' CAQH provider ID.'
      additionalProperties: false
    CaqhLoginInfoRequestModel:
      type: object
      properties:
        caqhId:
          type: string
          description: ' CAQH provider ID.'
      additionalProperties: false
      example:
        caqhId: string
    CaqhProfile.AbilityToPerformJob:
      type: object
      properties:
        illegalDrugUse:
          type: boolean
          nullable: true
        illegalDrugUseExplanation:
          type: string
          nullable: true
        chemicalSubstancesUse:
          type: boolean
          nullable: true
        chemicalSubstancesUseExplanation:
          type: string
          nullable: true
        poseARisk:
          type: boolean
          nullable: true
        poseARiskExplanation:
          type: string
          nullable: true
        unableToPerformFunctions:
          type: boolean
          nullable: true
        unableToPerformFunctionsExplanation:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.Alias:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        description:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.Arrangements:
      type: object
      properties:
        hospitalName:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        status:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        email:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        groupName:
          type: string
          nullable: true
        organizationNpi:
          type: integer
          format: int64
          nullable: true
        otherHospitalName:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        admittingProvider:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.BillingContactInfo:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
      additionalProperties: false
    CaqhProfile.CaqhAddress:
      type: object
      properties:
        streetLine1:
          type: string
          nullable: true
        streetLine2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        province:
          type: string
          nullable: true
        county:
          type: string
          nullable: true
        zipCode:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.CaqhDisclosureInfo:
      type: object
      properties:
        licensure:
          $ref: '#/components/schemas/CaqhProfile.Licensure'
        hospitalPrivilegesAndOtherAffiliations:
          $ref: >-
            #/components/schemas/CaqhProfile.HospitalPrivilegesAndOtherAffiliations
        education:
          $ref: '#/components/schemas/CaqhProfile.DisclosureEducation'
        deaCds:
          $ref: '#/components/schemas/CaqhProfile.DeaCds'
        medicareMedicaid:
          $ref: '#/components/schemas/CaqhProfile.MedicareMedicaid'
        otherSanctions:
          $ref: '#/components/schemas/CaqhProfile.OtherSanctions'
        liabilityInsurance:
          $ref: '#/components/schemas/CaqhProfile.LiabilityInsurance'
        malpracticeHistory:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Malpractice'
          nullable: true
        criminalHistory:
          $ref: '#/components/schemas/CaqhProfile.CriminalHistory'
        abilityToPerformJob:
          $ref: '#/components/schemas/CaqhProfile.AbilityToPerformJob'
      additionalProperties: false
    CaqhProfile.CaqhHeaders:
      type: object
      properties:
        caqhDataSummaryDate:
          type: string
          format: date-time
          nullable: true
        caqhProviderId:
          type: string
          nullable: true
        lastReattestationDate:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    CaqhProfile.CaqhProviderProfileModel:
      type: object
      properties:
        type:
          enum:
            - Npi
            - CaqhPo
            - AmericanMedicalAssociationPhysician
            - AmericanMedicalAssociationPhysicianAssistant
          type: string
          readOnly: true
          example: CaqhPo
        reportPath:
          type: string
          nullable: true
        headers:
          $ref: '#/components/schemas/CaqhProfile.CaqhHeaders'
        prepare:
          $ref: '#/components/schemas/CaqhProfile.PrepareInfo'
        personalInformation:
          $ref: '#/components/schemas/CaqhProfile.PersonalInfo'
        professionalIdentificationNumbers:
          $ref: '#/components/schemas/CaqhProfile.ProfessionalIdentificationNumbers'
        education:
          $ref: '#/components/schemas/CaqhProfile.EducationInfo'
        trainingInformation:
          $ref: '#/components/schemas/CaqhProfile.TrainingInfo'
        specialtyInformation:
          $ref: '#/components/schemas/CaqhProfile.SpecialtyInfo'
        practiceLocations:
          $ref: '#/components/schemas/CaqhProfile.PracticeLocations'
        hospitalAffiliations:
          $ref: '#/components/schemas/CaqhProfile.HospitalAffiliations'
        credentialingInformation:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.CredentialingInfo'
          nullable: true
        insuranceInformation:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.InsuranceInfo'
          nullable: true
        workHistoryInformation:
          $ref: '#/components/schemas/CaqhProfile.WorkHistoryInfo'
        referencesInformation:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.ReferencesInfo'
          nullable: true
        disclosureInformation:
          $ref: '#/components/schemas/CaqhProfile.DisclosureInfo'
        documentInformation:
          $ref: '#/components/schemas/CaqhProfile.DocumentInfo'
      additionalProperties: false
    CaqhProfile.CdsRegistration:
      type: object
      properties:
        state:
          type: string
          nullable: true
        cds:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        isUnlimited:
          type: boolean
          nullable: true
        limitationsDescription:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.Cme:
      type: object
      properties:
        hasCme:
          type: boolean
          nullable: true
      additionalProperties: false
    CaqhProfile.ContactInfo:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.CredentialingInfo:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        phone:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        isPrimaryCredentialingContact:
          type: boolean
          nullable: true
        locationType:
          type: string
          nullable: true
        location:
          type: string
          nullable: true
        contactHours:
          type: string
          nullable: true
        contactTitle:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.CriminalHistory:
      type: object
      properties:
        felony:
          type: boolean
          nullable: true
        felonyExplanation:
          type: string
          nullable: true
        misdemeanor:
          type: boolean
          nullable: true
        misdemeanorExplanation:
          type: string
          nullable: true
        courtMartialed:
          type: boolean
          nullable: true
        courtMartialedExplanation:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.CulturalCompetencyTraining:
      type: object
      properties:
        hasCompletedCulturalCompetencyTraining:
          type: boolean
          nullable: true
      additionalProperties: false
    CaqhProfile.DeaCds:
      type: object
      properties:
        limitations:
          type: boolean
          nullable: true
        limitationsExplanation:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.DeaRegistration:
      type: object
      properties:
        number:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        isLimited:
          type: boolean
          nullable: true
        alternatePrescriberName:
          type: string
          nullable: true
        dateApplicationSubmitted:
          type: string
          format: date-time
          nullable: true
        hasXWaiver:
          type: boolean
          nullable: true
        xWaiverNumber:
          type: string
          nullable: true
        isAcceptingNewMatPatients:
          type: boolean
          nullable: true
        matPanelSize:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.DemographicInfo:
      type: object
      properties:
        gender:
          type: string
          nullable: true
        race:
          type: string
          nullable: true
        birthDate:
          type: string
          format: date-time
          nullable: true
        birthCity:
          type: string
          nullable: true
        birthState:
          type: string
          nullable: true
        birthCountry:
          type: string
          nullable: true
        isUsCitizen:
          type: boolean
          nullable: true
        citizenshipCountry:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.DisclosureEducation:
      type: object
      properties:
        trainingProgramDiscipline:
          type: boolean
          nullable: true
        trainingProgramDisciplineExplanation:
          type: string
          nullable: true
        boardCertificationRevoked:
          type: boolean
          nullable: true
        boardCertificationRevokedExplanation:
          type: string
          nullable: true
        boardCertificationUnderInvestigation:
          type: boolean
          nullable: true
        boardCertificationUnderInvestigationExplanation:
          type: string
          nullable: true
        trainingProgramUnderInvestigation:
          type: boolean
          nullable: true
        trainingProgramUnderInvestigationExplanation:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.DisclosureInfo:
      type: object
      properties:
        caqh:
          $ref: '#/components/schemas/CaqhProfile.CaqhDisclosureInfo'
        stateDisclosures:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/CaqhProfile.StateDisclosureSection'
            nullable: true
          nullable: true
      additionalProperties: false
    CaqhProfile.Document:
      type: object
      properties:
        documentUrl:
          type: string
          nullable: true
        documentName:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        receivedDate:
          type: string
          format: date-time
          nullable: true
        download:
          $ref: '#/components/schemas/CaqhProfile.DocumentDownload'
        status:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.DocumentDownload:
      type: object
      properties:
        downloadStatus:
          enum:
            - Completed
            - Failed
          type: string
        fileName:
          type: string
          nullable: true
        fileId:
          type: string
          format: uuid
          nullable: true
      additionalProperties: false
    CaqhProfile.DocumentInfo:
      type: object
      properties:
        downloadFolder:
          type: string
          nullable: true
        documents:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Document'
          nullable: true
      additionalProperties: false
    CaqhProfile.Education:
      type: object
      properties:
        schoolName:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        phone:
          type: string
          nullable: true
        degree:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        areaOfTraining:
          type: string
          nullable: true
        completed:
          type: boolean
          nullable: true
        graduationDate:
          type: string
          format: date-time
          nullable: true
        disciplinaryAction:
          type: string
          nullable: true
        certificateAwarded:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.EducationInfo:
      type: object
      properties:
        graduateType:
          type: string
          nullable: true
        professionalSchoolInformation:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Education'
          nullable: true
        undergraduateEducation:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Education'
          nullable: true
      additionalProperties: false
    CaqhProfile.Emails:
      type: object
      properties:
        primaryEmail:
          type: string
          nullable: true
        personalEmail:
          type: string
          nullable: true
        ccEmail1:
          type: string
          nullable: true
        ccEmail2:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.EmploymentGap:
      type: object
      properties:
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        gapExplanation:
          type: string
          nullable: true
        reason:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.EmploymentInfo:
      type: object
      properties:
        employerName:
          type: string
          nullable: true
        department:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        phone:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        isCurrentEmployer:
          type: boolean
          nullable: true
        reasonForDeparture:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.GroupMailingAddress:
      type: object
      properties:
        streetLine1:
          type: string
          nullable: true
        streetLine2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        province:
          type: string
          nullable: true
        county:
          type: string
          nullable: true
        zipCode:
          type: string
          nullable: true
        groupMedicaidNumber:
          type: string
          nullable: true
        groupMedicareNumber:
          type: string
          nullable: true
        organizationNpi:
          type: string
          nullable: true
        typeOfPractice:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.HospitalAffiliations:
      type: object
      properties:
        hasAdmittingPrivileges:
          type: boolean
          nullable: true
        hasAdmittingArrangements:
          type: boolean
          nullable: true
        hasNonAdmittingAffiliations:
          type: boolean
          nullable: true
        explanation:
          type: string
          nullable: true
        admittingPrivileges:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Privileges'
          nullable: true
        admittingArrangements:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Arrangements'
          nullable: true
      additionalProperties: false
    CaqhProfile.HospitalPrivilegesAndOtherAffiliations:
      type: object
      properties:
        clinicalPrivilegesLimitations:
          type: boolean
          nullable: true
        clinicalPrivilegesLimitationsExplanation:
          type: string
          nullable: true
        privilegesWhileUnderInvestigation:
          type: boolean
          nullable: true
        privilegesWhileUnderInvestigationExplanation:
          type: string
          nullable: true
        terminatedForCause:
          type: boolean
          nullable: true
        terminatedForCauseExplanation:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.Identifiers:
      type: object
      properties:
        ssn:
          type: string
          nullable: true
        fnin:
          type: string
          nullable: true
        fninCountry:
          type: string
          nullable: true
        upin:
          type: string
          nullable: true
        npi:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.InsuranceInfo:
      type: object
      properties:
        policyNumber:
          type: string
          nullable: true
        originalEffectiveDate:
          type: string
          format: date-time
          nullable: true
        currentEffectiveDate:
          type: string
          format: date-time
          nullable: true
        currentExpirationDate:
          type: string
          format: date-time
          nullable: true
        carrierName:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        phone:
          type: string
          nullable: true
        phoneExtension:
          type: string
          nullable: true
        isUnlimitedCoverage:
          type: boolean
          nullable: true
        coverageType:
          type: string
          nullable: true
        occurrenceCoverageAmount:
          type: string
          nullable: true
        aggregateCoverageAmount:
          type: string
          nullable: true
        includesTailCoverage:
          type: boolean
          nullable: true
        isIndividualCoverage:
          type: boolean
          nullable: true
        isSelfInsured:
          type: boolean
          nullable: true
      additionalProperties: false
    CaqhProfile.LiabilityInsurance:
      type: object
      properties:
        liabilityCoverageLimitations:
          type: boolean
          nullable: true
        liabilityCoverageLimitationsExplanation:
          type: string
          nullable: true
        surchargeOrHighRisk:
          type: boolean
          nullable: true
        surchargeOrHighRiskExplanation:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.License:
      type: object
      properties:
        state:
          type: string
          nullable: true
        isCurrentlyPracticingInState:
          type: boolean
          nullable: true
        licenseNumber:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        isUnlimited:
          type: boolean
          nullable: true
      additionalProperties: false
    CaqhProfile.Licensure:
      type: object
      properties:
        licenseLimitations:
          type: boolean
          nullable: true
        licenseLimitationsExplanation:
          type: string
          nullable: true
        licenseChallenge:
          type: boolean
          nullable: true
        licenseChallengeExplanation:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.LocationGeneralInfo:
      type: object
      properties:
        officeType:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        isCurrentlyPracticingAtLocation:
          type: string
          nullable: true
        explanation:
          type: string
          nullable: true
        practiceName:
          type: string
          nullable: true
        departmentName:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        email:
          type: string
          nullable: true
        isCorrespondenceLocation:
          type: string
          nullable: true
        website:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.LocationInfo:
      type: object
      properties:
        generalInformation:
          $ref: '#/components/schemas/CaqhProfile.LocationGeneralInfo'
        mailingAddress:
          $ref: '#/components/schemas/CaqhProfile.GroupMailingAddress'
        phoneNumbers:
          $ref: '#/components/schemas/CaqhProfile.PhoneNumbers'
        taxInformation:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.TaxInfo'
          nullable: true
        officeHours:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.OfficeHours'
          nullable: true
        practiceLimitations:
          $ref: '#/components/schemas/CaqhProfile.PracticeLimitations'
        patients:
          $ref: '#/components/schemas/CaqhProfile.PatientsInfo'
        officeManagerContact:
          $ref: '#/components/schemas/CaqhProfile.OfficeManagerContact'
        billingContact:
          $ref: '#/components/schemas/CaqhProfile.BillingContactInfo'
        remittance:
          $ref: '#/components/schemas/CaqhProfile.RemittanceInfo'
        telehealth:
          $ref: '#/components/schemas/CaqhProfile.TelehealthInfo'
      additionalProperties: false
    CaqhProfile.MailingAddress:
      type: object
      properties:
        streetLine1:
          type: string
          nullable: true
        streetLine2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        province:
          type: string
          nullable: true
        county:
          type: string
          nullable: true
        zipCode:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.Malpractice:
      type: object
      properties:
        liabilityActions:
          type: boolean
          nullable: true
        liabilityActionsExplanation:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        claimResolutionDate:
          type: string
          format: date-time
          nullable: true
        claimStatus:
          type: string
          nullable: true
        dateClaimFiled:
          type: string
          format: date-time
          nullable: true
        dateOfOccurrence:
          type: string
          format: date-time
          nullable: true
        descriptionOfAllegations:
          type: string
          nullable: true
        descriptionOfInjury:
          type: string
          nullable: true
        resultedInDeath:
          type: string
          nullable: true
        insuranceCarrierName:
          type: string
          nullable: true
        numberOfCodefendants:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        policyNumber:
          type: string
          nullable: true
        resolutionMethod:
          type: string
          nullable: true
        settlementAmount:
          type: string
          nullable: true
        isIncludedInNpdb:
          type: boolean
          nullable: true
        primaryDefendant:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.MedicareMedicaid:
      type: object
      properties:
        limitations:
          type: boolean
          nullable: true
      additionalProperties: false
    CaqhProfile.Name:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.OfficeHours:
      type: object
      properties:
        day:
          type: string
          nullable: true
        endTime:
          type: string
          format: timespan
          nullable: true
        startTime:
          type: string
          format: timespan
          nullable: true
      additionalProperties: false
    CaqhProfile.OfficeManagerContact:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        isCredentialingContact:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.OtherSanctions:
      type: object
      properties:
        subjectOfInvestigation:
          type: boolean
          nullable: true
        subjectOfInvestigationExplanation:
          type: string
          nullable: true
        reportedToNpdb:
          type: boolean
          nullable: true
        reportedToNpdbExplanation:
          type: string
          nullable: true
        sanctions:
          type: boolean
          nullable: true
        sanctionsExplanation:
          type: string
          nullable: true
        illegalMisconduct:
          type: boolean
          nullable: true
        illegalMisconductExplanation:
          type: string
          nullable: true
        militaryAgencyLimitations:
          type: boolean
          nullable: true
        militaryAgencyLimitationsExplanation:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.PatientsInfo:
      type: object
      properties:
        isAcceptingNewPatients:
          type: boolean
          nullable: true
        isAcceptingNewMedicarePatients:
          type: boolean
          nullable: true
        isAcceptingNewMedicaidPatients:
          type: boolean
          nullable: true
      additionalProperties: false
    CaqhProfile.PersonalInfo:
      type: object
      properties:
        name:
          $ref: '#/components/schemas/CaqhProfile.Name'
        otherName:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Alias'
          nullable: true
        homeAddress:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        mailingAddress:
          $ref: '#/components/schemas/CaqhProfile.MailingAddress'
        primaryMethodOfContact:
          $ref: '#/components/schemas/CaqhProfile.Emails'
        phoneNumbers:
          $ref: '#/components/schemas/CaqhProfile.PhoneNumbers'
        personalIdentificationNumbers:
          $ref: '#/components/schemas/CaqhProfile.Identifiers'
        demographics:
          $ref: '#/components/schemas/CaqhProfile.DemographicInfo'
        emergencyContact:
          $ref: '#/components/schemas/CaqhProfile.ContactInfo'
        languages:
          type: string
          nullable: true
        otherLanguages:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.PhoneNumbers:
      type: object
      properties:
        homePhone:
          type: string
          nullable: true
        personalCellPhone:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
        appointmentPhone:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.PracticeLimitations:
      type: object
      properties:
        ageMax:
          type: string
          nullable: true
        ageMin:
          type: string
          nullable: true
        gender:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.PracticeLocations:
      type: object
      properties:
        activeLocations:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.LocationInfo'
          nullable: true
        archivedLocations:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.LocationInfo'
          nullable: true
      additionalProperties: false
    CaqhProfile.PrepareInfo:
      type: object
      properties:
        nuccGrouping:
          type: string
          nullable: true
        providerType:
          type: string
          nullable: true
        practiceSetting:
          type: string
          nullable: true
        primaryPracticeState:
          type: string
          nullable: true
        otherPracticeStates:
          type: string
          nullable: true
        applicationType:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.Privileges:
      type: object
      properties:
        hospitalName:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        isPrimaryHospital:
          type: boolean
          nullable: true
        type:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        reasonForDiscontinuance:
          type: string
          nullable: true
        annualAdmissionPercentage:
          type: string
          nullable: true
        numberOfAdmitsPerMonth:
          type: string
          nullable: true
        facilityType:
          type: string
          nullable: true
        isMilitaryHospital:
          type: boolean
          nullable: true
        isAmbulatorySurgeryCenter:
          type: boolean
          nullable: true
        isSecondaryHospital:
          type: boolean
          nullable: true
        otherHospitalName:
          type: string
          nullable: true
        department:
          type: string
          nullable: true
        contact:
          $ref: '#/components/schemas/CaqhProfile.ContactInfo'
      additionalProperties: false
    CaqhProfile.ProfessionalIdentificationNumbers:
      type: object
      properties:
        professionalLicenses:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.License'
          nullable: true
        deaRegistration:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.DeaRegistration'
          nullable: true
        cdsRegistration:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.CdsRegistration'
          nullable: true
        medicare:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.ProviderIdentifier'
          nullable: true
        medicaid:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.ProviderIdentifier'
          nullable: true
        ecfmg:
          type: string
          nullable: true
        ecfmgIssueDate:
          type: string
          format: date-time
          nullable: true
        dmap:
          type: string
          nullable: true
        flex:
          type: string
          nullable: true
        nationalBoardOfMedicalExaminers:
          type: string
          nullable: true
        prescriptiveAuthority:
          type: string
          nullable: true
        texasDps:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.ProviderIdentifier:
      type: object
      properties:
        number:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.ReferencesInfo:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
        providerType:
          type: string
          nullable: true
        associationEndDate:
          type: string
          format: date-time
          nullable: true
        associationStartDate:
          type: string
          format: date-time
          nullable: true
        cell:
          type: string
          nullable: true
        relationship:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        yearsKnown:
          type: string
          nullable: true
        ipCode:
          type: string
          nullable: true
        department:
          type: string
          nullable: true
        facilityName:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
      additionalProperties: false
    CaqhProfile.RemittanceInfo:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        billingDepartmentName:
          type: string
          nullable: true
        checkPayableTo:
          type: string
          nullable: true
        hasElectronicBillingCapabilities:
          type: boolean
          nullable: true
      additionalProperties: false
    CaqhProfile.Specialty:
      type: object
      properties:
        name:
          type: string
          nullable: true
        boardCertificationNumber:
          type: string
          nullable: true
        boardCertificationExpirationDate:
          type: string
          format: date-time
          nullable: true
        boardCertificationInitialCertificationDate:
          type: string
          format: date-time
          nullable: true
        boardCertificationLastCertificationDate:
          type: string
          format: date-time
          nullable: true
        boardCertificationName:
          type: string
          nullable: true
        subSpecialtyName:
          type: string
          nullable: true
        isBoardCertified:
          type: boolean
          nullable: true
      additionalProperties: false
    CaqhProfile.SpecialtyInfo:
      type: object
      properties:
        primarySpecialty:
          $ref: '#/components/schemas/CaqhProfile.Specialty'
        secondarySpecialty:
          $ref: '#/components/schemas/CaqhProfile.Specialty'
        additionalSpecialty:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Specialty'
          nullable: true
      additionalProperties: false
    CaqhProfile.StateDisclosureSection:
      type: object
      properties:
        sectionName:
          type: string
          nullable: true
        questions:
          type: object
          additionalProperties:
            type: string
            nullable: true
          nullable: true
      additionalProperties: false
    CaqhProfile.TaxInfo:
      type: object
      properties:
        taxId:
          type: string
          nullable: true
        taxIdType:
          type: string
          nullable: true
        isPrimaryTaxId:
          type: boolean
          nullable: true
        groupName:
          type: string
          nullable: true
        practiceNameOnW9:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.TelehealthInfo:
      type: object
      properties:
        hasTelehealthServices:
          type: boolean
          nullable: true
      additionalProperties: false
    CaqhProfile.Training:
      type: object
      properties:
        hospitalName:
          type: string
          nullable: true
        affiliatedSchoolName:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/CaqhProfile.CaqhAddress'
        phone:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        fax:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        type:
          type: string
          nullable: true
        trainingType:
          type: string
          nullable: true
        programType:
          type: string
          nullable: true
        department:
          type: string
          nullable: true
        completed:
          type: boolean
          nullable: true
        specialty:
          type: string
          nullable: true
        completionDate:
          type: string
          format: date-time
          nullable: true
        directorName:
          type: string
          nullable: true
        disciplinaryActionsExplanation:
          type: string
          nullable: true
        reasonForLeaving:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.TrainingGap:
      type: object
      properties:
        explanation:
          type: string
          nullable: true
      additionalProperties: false
    CaqhProfile.TrainingInfo:
      type: object
      properties:
        cme:
          $ref: '#/components/schemas/CaqhProfile.Cme'
        facultyPositions:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Training'
          nullable: true
        fellowship:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Training'
          nullable: true
        internship:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Training'
          nullable: true
        otherTraining:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Training'
          nullable: true
        residency:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.Training'
          nullable: true
        trainingGaps:
          $ref: '#/components/schemas/CaqhProfile.TrainingGap'
        culturalCompetencyTraining:
          $ref: '#/components/schemas/CaqhProfile.CulturalCompetencyTraining'
      additionalProperties: false
    CaqhProfile.WorkHistoryInfo:
      type: object
      properties:
        employmentInformationRecords:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.EmploymentInfo'
          nullable: true
        employmentGapRecords:
          type: array
          items:
            $ref: '#/components/schemas/CaqhProfile.EmploymentGap'
          nullable: true
      additionalProperties: false
    CertificateDatasetRecord:
      type: object
      properties:
        certificateType:
          type: string
          nullable: true
        certificateNumber:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        certifyingOrganization:
          type: string
          nullable: true
        additionalProperties:
          $ref: '#/components/schemas/FlexibleDataModel'
        attachments:
          type: array
          items:
            type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        fullName:
          type: string
          nullable: true
      additionalProperties: false
    CertificateInfoModel:
      type: object
      properties:
        lastUpdatedAt:
          type: string
          format: date-time
        id:
          type: string
          format: uuid
        type:
          enum:
            - AhaBasicLifeSupport
            - AhaAdvancedCardiacLifeSupport
            - AhaNeonatalAdvancedLifeSupport
            - AhaPediatricAdvancedLifeSupport
            - CaliforniaCertifiedWellnessCoach
            - AhaAdvancedCardiovascularLifeSupport
            - AhaAdvancedStrokeLifeSupport
            - AhaPears
            - AhaHeartsaver
          type: string
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        certificateNumber:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        certifyingOrganization:
          type: string
          nullable: true
      additionalProperties: false
    CertificateInfoPatchModel:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        certificateNumber:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        certifyingOrganization:
          type: string
          nullable: true
      additionalProperties: false
    CertificateInfoRequestModel:
      required:
        - certificateNumber
        - type
      type: object
      properties:
        type:
          enum:
            - AhaBasicLifeSupport
            - AhaAdvancedCardiacLifeSupport
            - AhaNeonatalAdvancedLifeSupport
            - AhaPediatricAdvancedLifeSupport
            - CaliforniaCertifiedWellnessCoach
            - AhaAdvancedCardiovascularLifeSupport
            - AhaAdvancedStrokeLifeSupport
            - AhaPears
            - AhaHeartsaver
          type: string
        certificateNumber:
          minLength: 1
          type: string
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        certifyingOrganization:
          type: string
          nullable: true
      additionalProperties: false
    ChecklistDetailsModel:
      type: object
      properties:
        organization:
          type: string
          description: The organization of this credentialing request checklist.
        providerType:
          type: string
          description: The type of provider of this credentialing request checklist.
        providerName:
          type: string
          description: The name of the provider of this credentialing request checklist.
        started:
          type: string
          description: >-
            The timestamp at which this credentialing request checklist was
            started at.
          format: date-time
        completed:
          type: string
          description: >-
            The timestamp at which this credentialing request checklist was
            completed at.
          format: date-time
      additionalProperties: false
    ChecklistDetailsRequestModel:
      type: object
      properties:
        organization:
          type: string
          description: The organization of this credentialing request checklist.
        providerType:
          type: string
          description: The type of provider of this credentialing request checklist.
        providerName:
          type: string
          description: The name of the provider of this credentialing request checklist.
        started:
          type: string
          description: >-
            The timestamp at which this credentialing request checklist was
            started at.
          format: date-time
        completed:
          type: string
          description: >-
            The timestamp at which this credentialing request checklist was
            completed at.
          format: date-time
      additionalProperties: false
    ClientSecretModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
        accessToken:
          type: string
          nullable: true
      additionalProperties: false
    CmsPreclusionDatasetRecord:
      type: object
      properties:
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        npiNumber:
          type: integer
          format: int64
          nullable: true
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        address:
          type: string
          nullable: true
        businessName:
          type: string
          nullable: true
        general:
          type: string
          nullable: true
        speciality:
          type: string
          nullable: true
        ein:
          type: integer
          format: int64
          nullable: true
        exclusionDate:
          type: string
          format: date-time
          nullable: true
        claimRejectionDate:
          type: string
          format: date-time
          nullable: true
        reinstatedDate:
          type: string
          format: date-time
          nullable: true
        lastUpdate:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    ConfigurableReportModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the report entity.
          format: uuid
        providerId:
          type: string
          description: The unique identifier of the provider associated with the report.
          format: uuid
        facilityId:
          type: string
          description: The unique identifier of the facility associated with the report.
          format: uuid
        type:
          enum:
            - Pdf
          type: string
          description: Format of the report file. For now only PDF is supported.
        startedAt:
          type: string
          description: Timestamp when the report was started.
          format: date-time
        completedAt:
          type: string
          description: Timestamp when the report was completed.
          format: date-time
        status:
          enum:
            - Pending
            - Working
            - Completed
            - Failed
          type: string
          description: Status of the report job.
        failureReason:
          $ref: '#/components/schemas/FailureModel'
        path:
          type: string
          description: The path where report will be stored.
        data:
          $ref: '#/components/schemas/ReportData'
        credentialingRequestId:
          type: string
          description: >-
            The id of credentialing request which check list will be used for
            report generation. Latest verification data will be used by default
            if null.
          format: uuid
      additionalProperties: false
    CountryModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this country.
          format: uuid
          readOnly: true
        name:
          type: string
          description: The name of the country.
          readOnly: true
        isoCode:
          type: string
          description: The 3-letter ISO code of the country.
          readOnly: true
        createdAt:
          type: string
          description: The timestamp of the addition of this country to Verifiable's data.
          format: date-time
          readOnly: true
      additionalProperties: false
    Course:
      type: object
      properties:
        courseName:
          type: string
          nullable: true
      additionalProperties: false
    CourseOfStudy:
      type: object
      properties:
        courseName:
          type: string
          nullable: true
        ncescipCode:
          type: string
          nullable: true
      additionalProperties: false
    CredentialingRequestAggregationModel:
      type: object
      properties:
        total:
          type: integer
          description: The total number of credentialing requests.
          format: int32
        aggregations:
          type: object
          additionalProperties:
            type: integer
            format: int32
          description: >-
            For each credentialing request event status, a count of
            credentialing requests with that status.
      additionalProperties: false
      example:
        total: 54
        aggregations:
          requestSubmitted: 8
          requestInProgress: 3
          additionalInformationRequested: 6
          additionalInformationSubmitted: 7
          cancellationRequested: 2
          cancelled: 5
          completed: 2
          completedWithConcern: 9
          unableToComplete: 4
          secondAttemptMissingInfo: 5
          thirdAttemptMissingInfo: 3
    CredentialingRequestChecklistDatasetScanReference:
      type: object
      properties:
        datasetScanId:
          type: string
          description: >-
            Unique identifier of the dataset scan id, this id must be linked to
            the provider of the credentialing request.
          format: uuid
      additionalProperties: false
    CredentialingRequestChecklistFacilityInfoReference:
      type: object
      properties:
        facilityInfoId:
          type: string
          description: >-
            Unique identifier of the facility info. This info must be linked to
            one or more specialties on the credentialing request.
          format: uuid
        facilityInfoType:
          enum:
            - Npi
            - Dea
            - LiabilityInsurance
            - License
            - Accreditation
            - CmsCertification
            - MedicareEnrollment
          type: string
          description: Type of facility info.
      additionalProperties: false
    CredentialingRequestChecklistFacilitySpecialtyReference:
      type: object
      properties:
        facilitySpecialtyId:
          type: string
          description: Unique identifier of the facility specialty.
          format: uuid
      additionalProperties: false
    CredentialingRequestChecklistFileReference:
      type: object
      properties:
        filePath:
          type: string
          description: >-
            File path to a provider file, this path must be linked to the
            provider of the credentialing request.
      additionalProperties: false
    CredentialingRequestChecklistItemModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of this credentialing request checklist item.
          format: uuid
        name:
          type: string
          description: The name of this credentialing request checklist item.
        confirmedAt:
          type: string
          description: >-
            The timestamp at which this credentialing request checklist item was
            confirmed at.
          format: date-time
        confirmedBy:
          type: string
          description: >-
            The name of the user/entity that confirmed this credentialing
            request checklist item.
        verifiedAt:
          type: string
          description: >-
            The timestamp at which this credentialing request checklist item was
            verified at.
          format: date-time
        status:
          type: string
          description: The status of this credentialing request checklist item.
        source:
          type: string
          description: The source of this credentialing request checklist item.
        references:
          $ref: '#/components/schemas/CredentialingRequestChecklistReference'
      additionalProperties: false
    CredentialingRequestChecklistItemRequestModel:
      required:
        - name
        - status
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: The name of this credentialing request checklist item.
        status:
          minLength: 1
          type: string
          description: The status of this credentialing request checklist item.
        confirmedAt:
          type: string
          description: >-
            The timestamp at which this credentialing request checklist item was
            confirmed at.
          format: date-time
        confirmedBy:
          type: string
          description: >-
            The name of the user/entity that confirmed this credentialing
            request checklist item.
        verifiedAt:
          type: string
          description: >-
            The timestamp at which this credentialing request checklist item was
            verified at.
          format: date-time
        source:
          type: string
          description: The source of this credentialing request checklist item.
        references:
          $ref: '#/components/schemas/CredentialingRequestChecklistReference'
      additionalProperties: false
    CredentialingRequestChecklistLicenseVerificationReference:
      type: object
      properties:
        licenseId:
          type: string
          description: >-
            Unique identifier of the license id, this id must be linked to the
            provider of the credentialing request.
          format: uuid
        licenseVerificationId:
          type: string
          description: >-
            Unique identifier of the license verification id, this id must be
            linked to the license id.
          format: uuid
      additionalProperties: false
    CredentialingRequestChecklistModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of this credentialing request checklist.
          format: uuid
        requestId:
          type: string
          description: >-
            The credentialing request unique identifier to which this checklist
            is bound.
          format: uuid
        notes:
          type: string
          description: The notes if any of this credentialing request checklist.
        items:
          type: array
          items:
            $ref: '#/components/schemas/CredentialingRequestChecklistItemModel'
          description: >-
            An array of the items with references and details of this
            credentialing request checklist.
        details:
          $ref: '#/components/schemas/ChecklistDetailsModel'
      additionalProperties: false
    CredentialingRequestChecklistProfileReference:
      type: object
      properties:
        profileId:
          type: string
          description: >-
            Unique identifier of the provider profile id, this id must be linked
            to the provider of the credentialing request.
          format: uuid
      additionalProperties: false
    CredentialingRequestChecklistProviderInfoReference:
      type: object
      properties:
        providerInfoId:
          type: string
          description: >-
            Unique identifier of the provider info, this id must be linked to
            the provider of the credentialing request.
          format: uuid
        providerInfoType:
          enum:
            - BasicInfo
            - Caqh
            - LiabilityInsurance
            - Education
            - Training
            - WorkHistory
            - DeaRegistrations
            - Licenses
            - BoardCertifications
            - Certificates
            - MedicaidEnrollment
          type: string
          description: Types of provider info supported.
      additionalProperties: false
    CredentialingRequestChecklistReference:
      type: object
      properties:
        providerInfo:
          type: array
          items:
            $ref: >-
              #/components/schemas/CredentialingRequestChecklistProviderInfoReference
          description: >-
            If set, array with pairs of provider information ids and provider
            information types linked to the provider of the credentialing
            request.
        facilityInfo:
          type: array
          items:
            $ref: >-
              #/components/schemas/CredentialingRequestChecklistFacilityInfoReference
          description: >-
            If set, array with sets of facility info ids and facility info types
            that are linked to the credentialing request.
        licenseVerifications:
          type: array
          items:
            $ref: >-
              #/components/schemas/CredentialingRequestChecklistLicenseVerificationReference
          description: >-
            If set, array with pairs of license ids and license verifications
            ids linked to the provider of the credentialing request.
        datasetScans:
          type: array
          items:
            $ref: >-
              #/components/schemas/CredentialingRequestChecklistDatasetScanReference
          description: >-
            If set, array with dataset scan ids linked to the provider of the
            credentialing request.
        files:
          type: array
          items:
            $ref: '#/components/schemas/CredentialingRequestChecklistFileReference'
          description: >-
            If set, array with file paths linked to the provider of the
            credentialing request.
        profiles:
          type: array
          items:
            $ref: '#/components/schemas/CredentialingRequestChecklistProfileReference'
          description: >-
            If set, array with profiles linked to the provider of the
            credentialing request.
        facilitySpecialties:
          type: array
          items:
            $ref: >-
              #/components/schemas/CredentialingRequestChecklistFacilitySpecialtyReference
          description: >-
            If set, array with facility specialty ids that this credentialing
            request item applies to.
      additionalProperties: false
    CredentialingRequestChecklistRequestModel:
      type: object
      properties:
        notes:
          type: string
          description: The notes of this credentialing request checklist if any.
        items:
          type: array
          items:
            $ref: '#/components/schemas/CredentialingRequestChecklistItemRequestModel'
          description: The items of this credentialing request checklist if any.
        details:
          $ref: '#/components/schemas/ChecklistDetailsRequestModel'
      additionalProperties: false
    CredentialingRequestEventFileModel:
      type: object
      properties:
        path:
          type: string
          description: The path to the file.
        type:
          enum:
            - CredentialingPacket
          type: string
          description: The type of the attachment.
      additionalProperties: false
    CredentialingRequestEventModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of this credentialing request event.
          format: uuid
        description:
          type: string
          description: The description of this credentialing request event.
        note:
          type: string
          description: The note of this credentialing request event.
        timestamp:
          type: string
          description: The timestamp when this credentialing request event was created.
          format: date-time
        status:
          enum:
            - RequestSubmitted
            - RequestInProgress
            - AdditionalInformationRequested
            - AdditionalInformationSubmitted
            - CancellationRequested
            - Cancelled
            - Completed
            - CompletedWithConcern
            - UnableToComplete
            - SecondAttemptMissingInfo
            - ThirdAttemptMissingInfo
          type: string
          description: >-
            The status of this credentialing request event. Only the following
            statuses are available for self-managed requests:
            `"RequestInProgress"`, `"Cancelled"` and `"Completed"`.
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/CredentialingRequestEventFileModel'
          description: Files attached to this credentialing request event.
        user:
          $ref: '#/components/schemas/CredentialingRequestEventUserModel'
      additionalProperties: false
    CredentialingRequestEventRequestModel:
      required:
        - status
      type: object
      properties:
        note:
          type: string
          description: The note of this credentialing request event.
        status:
          enum:
            - RequestSubmitted
            - RequestInProgress
            - AdditionalInformationRequested
            - AdditionalInformationSubmitted
            - CancellationRequested
            - Cancelled
            - Completed
            - CompletedWithConcern
            - UnableToComplete
            - SecondAttemptMissingInfo
            - ThirdAttemptMissingInfo
          type: string
          description: >-
            The status of this credentialing request event. Only the following
            statuses are available for self-managed requests:
            `"RequestInProgress"`, `"Cancelled"` and `"Completed"`.
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/CredentialingRequestEventFileModel'
        nextCredentialingDate:
          type: string
          description: >-
            The date that the provider should be re-credentialed. Can only be
            set when completing a credentialing request. Only applies to
            providers, not facilities.
          format: date
      additionalProperties: false
    CredentialingRequestEventUserModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of this user.
          format: uuid
        email:
          type: string
          description: The email of this user.
      additionalProperties: false
    CredentialingRequestFacilityRequestModel:
      required:
        - facilityId
        - facilitySpecialtyIds
      type: object
      properties:
        facilityId:
          type: string
          description: >-
            The unique identifier of the facility associated with this
            credentialing request.
          format: uuid
        facilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            List of facility specialties. Required for facility credentialing
            request.
        type:
          enum:
            - Initial
            - ReCredentialing
            - OffCycle
          type: string
          description: >-
            The type of credentialing request. If not specified, this will
            default to `Initial`.
        priority:
          enum:
            - Low
            - Medium
            - High
            - Urgent
          type: string
          description: >-
            The priority of credentialing request. If not specified, this will
            default to `Medium`.
        isSelfManaged:
          type: boolean
          description: >-
            If the flag is set, self-managed credentialing request will be
            created.
      additionalProperties: false
      example:
        facilityId: d7244f5b-52c1-4d27-b4f5-43b1113fc304
        facilitySpecialtyIds:
          - 497f6eca-6276-4993-bfeb-53cbbbba6f08
        type: Initial
        priority: Low
        isSelfManaged: true
    CredentialingRequestModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the credentialing request.
          format: uuid
        provider:
          $ref: '#/components/schemas/ProviderModel'
        facility:
          $ref: '#/components/schemas/FacilityModel'
        type:
          enum:
            - Initial
            - ReCredentialing
            - OffCycle
          type: string
          description: The type of credentialing request.
        createdAt:
          type: string
          description: The timestamp when this credentialing request was created.
          format: date-time
        currentEvent:
          $ref: '#/components/schemas/CredentialingRequestEventModel'
        allEvents:
          type: array
          items:
            $ref: '#/components/schemas/CredentialingRequestEventModel'
          description: All events associated with this credentialing request.
        priority:
          enum:
            - Low
            - Medium
            - High
            - Urgent
          type: string
          description: The priority of credentialing request.
        isSelfManaged:
          type: boolean
          description: If the flag is set, this is a self-managed credentialing request.
        checklist:
          $ref: '#/components/schemas/CredentialingRequestChecklistModel'
        owner:
          $ref: '#/components/schemas/BaseUserModel'
        facilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
          description: Facility specialties associated with this credentialing request.
          deprecated: true
        facilitySpecialties:
          type: array
          items:
            $ref: '#/components/schemas/FacilitySpecialtyModel'
          description: >-
            Facility specialties with taxonomies associated with this
            credentialing request.
      additionalProperties: false
      example:
        id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
        provider:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          firstName: string
          lastName: string
          dateOfBirth: '2019-08-24T14:15:22.0000000Z'
          ssn: '***'
          credentialingStatus: string
          credentialedDate: '2019-08-24T14:15:22.0000000Z'
          npi: 0
          deactivated: true
        type: Initial
        createdAt: '2019-08-24T14:15:22.0000000Z'
        currentEvent:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          description: string
          note: string
          timestamp: '2019-08-24T14:15:22.0000000Z'
          status: RequestSubmitted
          attachments: []
          user: {}
        allEvents:
          - {}
        priority: Low
        isSelfManaged: true
        checklist:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          requestId: d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6
          notes: string
          items: []
          details: {}
        owner:
          id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
          email: string
          firstName: string
          lastName: string
        facilitySpecialties:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            facilityId: 1cbb0c1f-62a0-4181-a6d1-b7fbd4caf705
            taxonomyId: 47df2c82-a3a8-4cb4-8009-22a827579066
        facilitySpecialtyIds:
          - 497f6eca-6276-4993-bfeb-53cbbbba6f08
    CredentialingRequestPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - CreatedAt
                - Priority
                - CurrentEventStatus
                - CurrentEventDate
                - ProviderId
                - ProviderFirstName
                - ProviderLastName
                - ProviderCredentialingStatus
                - FacilityId
                - FacilityName
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/CredentialingRequestModel'
          description: The entries in the current page.
        sortedBy:
          enum:
            - Id
            - CreatedAt
            - Priority
            - CurrentEventStatus
            - CurrentEventDate
            - ProviderId
            - ProviderFirstName
            - ProviderLastName
            - ProviderCredentialingStatus
            - FacilityId
            - FacilityName
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            provider:
              id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
              firstName: string
              lastName: string
              dateOfBirth: '2019-08-24T14:15:22.0000000Z'
              ssn: '***'
              credentialingStatus: string
              credentialedDate: '2019-08-24T14:15:22.0000000Z'
              npi: 0
            type: Initial
            createdAt: '2019-08-24T14:15:22.0000000Z'
            currentEvent:
              id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
              description: string
              note: string
              timestamp: '2019-08-24T14:15:22.0000000Z'
              status: RequestSubmitted
              attachments:
                - path: string
                  type: CredentialingPacket
              user:
                id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                email: string
            allEvents:
              - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                description: string
                note: string
                timestamp: '2019-08-24T14:15:22.0000000Z'
                status: RequestSubmitted
                attachments:
                  - path: string
                    type: CredentialingPacket
                user:
                  id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                  email: string
            priority: Low
            isSelfManaged: true
        sortedBy: Id
        sortDirection: Asc
        sort:
          Id: Asc
          CreatedAt: Desc
          Priority: Asc
    CredentialingRequestPatchModel:
      type: object
      properties:
        priority:
          enum:
            - Low
            - Medium
            - High
            - Urgent
          type: string
          description: If set, changes the priority of this credentialing request.
        ownerId:
          type: string
          description: >-
            If set, changes the assigned owner of this credentialing request.
            The owner needs to be a user with appropriate permissions to the
            organization.
          format: uuid
      additionalProperties: false
    CredentialingRequestProviderRequestModel:
      required:
        - providerId
      type: object
      properties:
        providerId:
          type: string
          description: >-
            The unique identifier of the provider associated with this
            credentialing request.
          format: uuid
        type:
          enum:
            - Initial
            - ReCredentialing
            - OffCycle
          type: string
          description: >-
            The type of credentialing request. If not specified, this will
            default to `Initial`.
        priority:
          enum:
            - Low
            - Medium
            - High
            - Urgent
          type: string
          description: >-
            The priority of credentialing request. If not specified, this will
            default to `Medium`.
        isSelfManaged:
          type: boolean
          description: >-
            If the flag is set, self-managed credentialing request will be
            created.
      additionalProperties: false
      example:
        providerId: 4834bcdc-4a64-444d-966b-1a6fe381da24
        type: Initial
        priority: Low
        isSelfManaged: true
    CredentialingRequestRequestModel:
      type: object
      properties:
        providerId:
          type: string
          format: uuid
          nullable: true
        facilityId:
          type: string
          format: uuid
          nullable: true
        type:
          enum:
            - Initial
            - ReCredentialing
            - OffCycle
          type: string
        priority:
          enum:
            - Low
            - Medium
            - High
            - Urgent
          type: string
          nullable: true
        isSelfManaged:
          type: boolean
        facilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    DatasetMatchData:
      type: object
      properties:
        positiveParameters:
          type: array
          items:
            $ref: '#/components/schemas/IProviderParameter'
          description: >-
            Array of parameters used in the scan which have an explicit positive
            hit on this record.
        negativeParameters:
          type: array
          items:
            $ref: '#/components/schemas/IProviderParameter'
          description: >-
            Array of parameters used in the scan which have an explicit negative
            hit on this record.
        record:
          description: >-
            The matched data. This model is different for each dataset. Refer to
            [Dataset Records](/reference/tag/Dataset-Records) for an overview of
            models for each dataset. The models are also returned in JSON schema
            in the [GetDataset](/reference/operation/GetDataset) operation.
      additionalProperties: false
    DatasetMatchModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        datasetTimestamp:
          type: string
          description: >-
            The timestamp when the dataset was last updated in our system at the
            time of this scan.
          format: date-time
        recordTimestamp:
          type: string
          description: >-
            The timestamp when this record was last updated in our system at the
            time of this scan.
          format: date-time
        data:
          $ref: '#/components/schemas/DatasetMatchData'
        scanId:
          type: string
          description: >-
            The identifier of the scan to which this match belongs. Not set if
            `scan` is populated.
          format: uuid
        scan:
          $ref: '#/components/schemas/DatasetScanModel'
        userActionNeeded:
          type: boolean
          description: Boolean indicating if action is needed for this match.
        isIgnored:
          type: boolean
          description: Set to true if this match was ignored for the associated provider.
        matchScore:
          $ref: '#/components/schemas/MatchScore'
        userActionResolution:
          enum:
            - Accept
            - Reject
          type: string
        userActionResolutionNote:
          type: string
        matchRelevance:
          enum:
            - Low
            - Medium
            - High
          type: string
        createdTimestamp:
          type: string
          description: >-
            Indicates the time that the match was added to the scan. Only
            populated for matches on or after January 25th 2024.
          format: date-time
        obsoleteTimestamp:
          type: string
          description: >-
            Indicates the time that the match became obsolete. This only occurs
            when a scan with a `status` of `Active` determines that the match is
            now obsolete due to changes in primary source data.
          format: date-time
      additionalProperties: false
    DatasetMatchPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - MatchRelevance
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/DatasetMatchModel'
          description: The entries in the current page.
        sortedBy:
          enum:
            - Id
            - MatchRelevance
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - datasetTimestamp: '2019-08-24T14:15:22.0000000Z'
            recordTimestamp: '2019-08-24T14:15:22.0000000Z'
            data:
              positiveParameters:
                - addressType: Unspecified
                  addressLine: string
                  city: string
                  state: AL
                  zipCode: string
                  type: Name
              negativeParameters:
                - addressType: Unspecified
                  addressLine: string
                  city: string
                  state: AL
                  zipCode: string
                  type: Name
            scanId: 83d71394-faa2-4b6c-b13b-6d3118de459e
            scan:
              id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
              started: '2019-08-24T14:15:22.0000000Z'
              completed: '2019-08-24T14:15:22.0000000Z'
              type: Sam
              status: Pending
              providerId: 4834bcdc-4a64-444d-966b-1a6fe381da24
              trigger: Manual
              options:
                parameterSetId: 4da0bbf1-9705-456b-b2bc-910c426536c6
                referenceId: 8502eb05-558d-4480-8511-c1011710b340
              failureReason:
                messageTemplate: string
                messageParams:
                  property1: string
                  property2: string
              parameters:
                - addressType: Unspecified
                  addressLine: string
                  city: string
                  state: AL
                  zipCode: string
                  type: Name
              matches:
                - {}
            userActionNeeded: true
            isIgnored: true
            matchScore:
              score: 0
              recommendation: Mismatch
        sortedBy: Id
        sortDirection: Asc
        sort:
          Id: Asc
    DatasetMatchPatchModel:
      type: object
      properties:
        userActionResolutionNote:
          type: string
          description: An optional reason on why this record is accepted or rejected.
        userActionResolution:
          enum:
            - Accept
            - Reject
          type: string
          description: >-
            User resolution for the match. To revert previous resolution, it
            should be set to `null`
      additionalProperties: false
    DatasetMatchesAggregationModel:
      type: object
      properties:
        total:
          type: integer
          description: The total number of dataset matches.
          format: int32
        aggregations:
          type: object
          additionalProperties:
            type: integer
            format: int32
          description: For each dataset tag, a count of dataset matches with that tag.
      additionalProperties: false
      example:
        total: 140
        aggregations:
          sanctionsAndExclusions: 30
          nsc: 15
          npi: 20
          npdb: 10
          dea: 25
          certificates: 35
          boardCertifications: 5
    DatasetMatchesAggregationsModel:
      type: object
      properties:
        userActionNeeded:
          $ref: '#/components/schemas/DatasetMatchesAggregationModel'
        accepted:
          $ref: '#/components/schemas/DatasetMatchesAggregationModel'
      additionalProperties: false
      example:
        userActionNeeded:
          total: 140
          aggregations:
            sanctionsAndExclusions: 30
            nsc: 15
            npi: 20
            npdb: 10
            dea: 25
            certificates: 35
            boardCertifications: 5
        accepted:
          total: 140
          aggregations:
            sanctionsAndExclusions: 30
            nsc: 15
            npi: 20
            npdb: 10
            dea: 25
            certificates: 35
            boardCertifications: 5
    DatasetMetadata:
      type: object
      properties:
        importDate:
          type: string
          description: >-
            The date of the import file that the dataset scan was compared
            against.
          format: date
        importFileName:
          type: string
          description: The original file name of the dataset source.
      additionalProperties: false
    DatasetModel:
      type: object
      properties:
        name:
          type: string
          description: Non-technical, display friendly, name for this dataset.
          readOnly: true
        type:
          enum:
            - Sam
            - MedicareOptOut
            - OigFugitives
            - OfacSdn
            - OfacConsolidated
            - OigExclusions
            - StateSanctionsAndExclusions
            - Npdb
            - Dmf
            - Npi
            - Nsc
            - Dea
            - CmsPreclusion
            - Tricare
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - Abms
            - NationalBoardforCertifiedCounselors
            - AmericanAcademyofNursePractitioners
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanOsteopathicAssociation
            - AmericanNursesCredentialingCenter
            - NationalBoardforCertificationinOccupationalTherapy
            - AmericanSpeechLanguageHearingAssociation
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofPsychiatryandNeurology
            - InternationalBoardofLactationConsultantExaminers
            - AmericanMidwiferyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofClinicalSocialWork
            - BoardOfPharmacySpecialties
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofOrthodontics
            - AmericanBoardofOralMedicine
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofProsthodontics
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofEndodontics
            - AmericanBoardofPeriodontology
            - AmericanBoardofOralImplantology
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofDentalPublicHealth
            - BehaviorAnalystCertificationBoard
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - AmericanBoardofAddictionMedicine
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - CommissionOnDieteticRegistration
            - AmericanBoardOfObesityMedicine
            - NationalCertificationCorporation
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - AmericanRegistryOfRadiologyTechnologists
            - AmericanBoardOfAnesthesiology
            - AmericanRegistryForDiagnosticMedicalSonography
            - NationalBoardOfPhysiciansAndSurgeons
            - CardiovascularCredentialingInternational
            - NationalCenterForCompetencyTesting
            - NationalAssociationOfPhlebotomyTechnicians
            - AmericanAlliedHealth
            - NationalRegistryOfAlliedHealthProfessionals
            - AmericanMedicalTechnologists
            - NationalHealthCareerAssociation
            - DentalAssistingNationalBoard
            - PediatricNursingCertification
            - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
            - CertificationBoardForMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardofPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPediatrics
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofUrology
            - AmericanBoardofColonandRectalSurgery
            - AmericanAssociationofCriticalCareNurses
            - AmericanBoardofFootandAnkleSurgery
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanBoardofEmergencyMedicine
            - ArtTherapyCredentialsBoard
            - AmericanHeartAssociation
            - MedicaidEnrollmentCalifornia
            - JointCommission
            - FacilityCmsCertification
          type: string
          description: The dataset type to which this metadata applies.
          readOnly: true
        tags:
          type: array
          items:
            type: string
          description: >-
            Tags associated to this dataset. Tags are used to group or identity
            the similar datasets. Currently supported tags are: "Sanctions and
            Exclusions", "Board Certifications", "NPI"
          readOnly: true
        parameterSets:
          type: array
          items:
            $ref: '#/components/schemas/ParameterSet'
          description: Array of parameter sets that are supported by this dataset
        supportedEntityTypes:
          type: array
          items:
            enum:
              - Practitioner
              - Facility
            type: string
          description: Array of healthcare entity types that are supported by this dataset.
          readOnly: true
        status:
          $ref: '#/components/schemas/DatasetStatus'
        monitoringIntervals:
          type: array
          items:
            enum:
              - Continuous
              - Daily
              - Weekly
              - Monthly
              - Yearly
            type: string
            example: Monthly
          description: The intervals at which the dataset is being monitored.
          readOnly: true
        lastUpdated:
          type: string
          description: Timestamp on when the dataset was last updated.
          format: date-time
          readOnly: true
        schema:
          description: >-
            The JSON schema of the records in this dataset. The models can also
            be found [here](/reference/tag/Dataset-Records).
          readOnly: true
        properties:
          type: object
          additionalProperties: {}
          description: >-
            Any additional properties associated with this dataset. For example,
            `StateSanctionsAndExclusions` provides the list of primary source(s)
            this dataset encapsulates via the `Sources` property.
          readOnly: true
        capabilities:
          type: object
          properties:
            Keys:
              enum:
                - SupportsMultipleMonitors
                - SupportsReferences
                - SupportsAliases
                - SupportsMatchRelevance
                - SupportsContinuousMonitoring
                - SupportsOnDemandScanning
                - SupportsMonitoring
              type: string
              description: >-
                * `SupportsMultipleMonitors` - Indicates whether the dataset
                supports multiple monitoring configurations.

                * `SupportsReferences` - Indicates if the Dataset uses a
                referenceId as a trigger for the scan.

                * `SupportsAliases` - Indicates if the dataset can utilize
                provider aliases to identify matches.

                * `SupportsMatchRelevance` - Indicates if the dataset supports
                the MatchRelevancePreference to adjust match accuracy.

                * `SupportsContinuousMonitoring` - Currently unique to the NPDB
                dataset, indicates if continuous monitoring is available.

                * `SupportsOnDemandScanning` - Indicates whether the dataset
                allows scans to be triggered on demand and in multiple
                instances.

                * `SupportsMonitoring` - Indicates if a monitor can be created.
            Values:
              type: boolean
          description: >-
            Indicates the capabilities for this dataset. Currently the only
            capability that can differ per dataset is if records can be ignored
            or not.
          readOnly: true
        maintenanceWindows:
          type: array
          items:
            $ref: '#/components/schemas/MaintenanceDowntimeCronDescription'
          description: >-
            Array with the CRON descriptions that explain when this dataset type
            will be in maintenance window. When a dataset is in a maintenance
            window the requests sent to it will be delayed until it is over.
        hasPassThroughFee:
          type: boolean
          description: >-
            Indicates whether the dataset source charges a pass-through fee for
            a verification.
          readOnly: true
      additionalProperties: false
    DatasetMonitorModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          enum:
            - Dataset
            - License
          type: string
          description: >-
            Monitoring type for this monitor object. The license identifier and
            dataset type will be set based on this type.
        monitoringInterval:
          enum:
            - Continuous
            - Daily
            - Weekly
            - Monthly
            - Yearly
          type: string
          description: >-
            The interval at which the data is being monitored.<br/><i>NOTE:
            Continuous interval is only supported by the `NPDB` dataset at this
            time.</i>
          example: Monthly
        nextMonitoringDate:
          type: string
          description: The next date on which this data is scheduled to be monitored.
          format: date-time
        lastMonitoringDate:
          type: string
          description: The date on which this data was monitored last time.
          format: date-time
        providerId:
          type: string
          description: The identifier of the provider that is associated with this monitor.
          format: uuid
        facilityId:
          type: string
          description: The identifier of the facility that is associated with this monitor.
          format: uuid
        datasetType:
          enum:
            - Sam
            - MedicareOptOut
            - OigFugitives
            - OfacSdn
            - OfacConsolidated
            - OigExclusions
            - StateSanctionsAndExclusions
            - Npdb
            - Dmf
            - Npi
            - Nsc
            - Dea
            - CmsPreclusion
            - Tricare
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - Abms
            - NationalBoardforCertifiedCounselors
            - AmericanAcademyofNursePractitioners
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanOsteopathicAssociation
            - AmericanNursesCredentialingCenter
            - NationalBoardforCertificationinOccupationalTherapy
            - AmericanSpeechLanguageHearingAssociation
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofPsychiatryandNeurology
            - InternationalBoardofLactationConsultantExaminers
            - AmericanMidwiferyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofClinicalSocialWork
            - BoardOfPharmacySpecialties
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofOrthodontics
            - AmericanBoardofOralMedicine
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofProsthodontics
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofEndodontics
            - AmericanBoardofPeriodontology
            - AmericanBoardofOralImplantology
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofDentalPublicHealth
            - BehaviorAnalystCertificationBoard
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - AmericanBoardofAddictionMedicine
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - CommissionOnDieteticRegistration
            - AmericanBoardOfObesityMedicine
            - NationalCertificationCorporation
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - AmericanRegistryOfRadiologyTechnologists
            - AmericanBoardOfAnesthesiology
            - AmericanRegistryForDiagnosticMedicalSonography
            - NationalBoardOfPhysiciansAndSurgeons
            - CardiovascularCredentialingInternational
            - NationalCenterForCompetencyTesting
            - NationalAssociationOfPhlebotomyTechnicians
            - AmericanAlliedHealth
            - NationalRegistryOfAlliedHealthProfessionals
            - AmericanMedicalTechnologists
            - NationalHealthCareerAssociation
            - DentalAssistingNationalBoard
            - PediatricNursingCertification
            - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
            - CertificationBoardForMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardofPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPediatrics
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofUrology
            - AmericanBoardofColonandRectalSurgery
            - AmericanAssociationofCriticalCareNurses
            - AmericanBoardofFootandAnkleSurgery
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanBoardofEmergencyMedicine
            - ArtTherapyCredentialsBoard
            - AmericanHeartAssociation
            - MedicaidEnrollmentCalifornia
            - JointCommission
            - FacilityCmsCertification
          type: string
          description: The dataset type that is associated with this monitor, if any.
        options:
          $ref: '#/components/schemas/DatasetScanOptions'
        lastVerification:
          $ref: '#/components/schemas/DatasetScanModel'
      additionalProperties: false
    DatasetPageModel:
      type: object
      properties:
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/DatasetModel'
          description: The event log entries in the current page.
        sortedBy:
          enum:
            - Name
            - Type
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Name
                - Type
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - name: string
            type: Sam
            tags:
              - string
            parameterSets:
              - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                supportedParameterTypes:
                  - Name
                requiredParameterTypes:
                  - Name
                isPreferred: true
            status:
              expectedProcessingTime: 0
            monitoringIntervals:
              - Daily
            lastUpdated: '2019-08-24T14:15:22.0000000Z'
            properties: {}
            capabilities:
              property1: true
              property2: true
            maintenanceWindows:
              - expression: string
                description: string
            hasPassThroughFee: false
        sortedBy: Name
        sortDirection: Asc
        sort:
          Name: Asc
          Type: Desc
    DatasetScanModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for this dataset scan.
          format: uuid
        started:
          type: string
          description: Timestamp when this scan was started.
          format: date-time
        completed:
          type: string
          description: >-
            Timestamp at which the scan was completed or failed. If empty the
            scan is still running.
          format: date-time
        type:
          enum:
            - Sam
            - MedicareOptOut
            - OigFugitives
            - OfacSdn
            - OfacConsolidated
            - OigExclusions
            - StateSanctionsAndExclusions
            - Npdb
            - Dmf
            - Npi
            - Nsc
            - Dea
            - CmsPreclusion
            - Tricare
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - Abms
            - NationalBoardforCertifiedCounselors
            - AmericanAcademyofNursePractitioners
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanOsteopathicAssociation
            - AmericanNursesCredentialingCenter
            - NationalBoardforCertificationinOccupationalTherapy
            - AmericanSpeechLanguageHearingAssociation
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofPsychiatryandNeurology
            - InternationalBoardofLactationConsultantExaminers
            - AmericanMidwiferyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofClinicalSocialWork
            - BoardOfPharmacySpecialties
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofOrthodontics
            - AmericanBoardofOralMedicine
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofProsthodontics
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofEndodontics
            - AmericanBoardofPeriodontology
            - AmericanBoardofOralImplantology
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofDentalPublicHealth
            - BehaviorAnalystCertificationBoard
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - AmericanBoardofAddictionMedicine
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - CommissionOnDieteticRegistration
            - AmericanBoardOfObesityMedicine
            - NationalCertificationCorporation
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - AmericanRegistryOfRadiologyTechnologists
            - AmericanBoardOfAnesthesiology
            - AmericanRegistryForDiagnosticMedicalSonography
            - NationalBoardOfPhysiciansAndSurgeons
            - CardiovascularCredentialingInternational
            - NationalCenterForCompetencyTesting
            - NationalAssociationOfPhlebotomyTechnicians
            - AmericanAlliedHealth
            - NationalRegistryOfAlliedHealthProfessionals
            - AmericanMedicalTechnologists
            - NationalHealthCareerAssociation
            - DentalAssistingNationalBoard
            - PediatricNursingCertification
            - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
            - CertificationBoardForMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardofPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPediatrics
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofUrology
            - AmericanBoardofColonandRectalSurgery
            - AmericanAssociationofCriticalCareNurses
            - AmericanBoardofFootandAnkleSurgery
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanBoardofEmergencyMedicine
            - ArtTherapyCredentialsBoard
            - AmericanHeartAssociation
            - MedicaidEnrollmentCalifornia
            - JointCommission
            - FacilityCmsCertification
          type: string
          description: The type of records that are being scanned.
        status:
          enum:
            - Pending
            - Working
            - Completed
            - Failed
            - Active
          type: string
          description: >-
            The status of this scan. `Pending` and `Working` means the scan is
            still running. `Active` means the scan has completed its initial
            execution and will continue to check for any changes going forward.
            `Completed` means it completed successfully, while `Failed` means
            there was a problem while scanning and the scan should be retried.
        providerId:
          type: string
          description: >-
            The identifier of the provider that is associated with this scan, if
            any.
          format: uuid
        facilityId:
          type: string
          description: >-
            The identifier of the facility that is associated with this scan, if
            any.
          format: uuid
        provider:
          description: The provider model that is associated with this scan, if any.
          deprecated: true
        trigger:
          enum:
            - Manual
            - Monitor
          type: string
          description: >-
            Set to `Manual` if the scan is triggered by a user or `Monitor` if
            the scan was triggered by the monitoring system.
        options:
          $ref: '#/components/schemas/DatasetScanOptions'
        failureReason:
          $ref: '#/components/schemas/FailureModel'
        statusDescription: {}
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/IProviderParameter'
          description: >-
            The parameters that where used for this scan. The array of
            parameters is constructed from the provider data available at the
            time of the scan.
        matches:
          type: array
          items:
            $ref: '#/components/schemas/DatasetMatchModel'
          description: Array of records that match the input data for this scan.
        monitoringMetadata:
          $ref: '#/components/schemas/MonitoringMetadata'
        verifiedAt:
          type: string
          description: >-
            Indicates the most recent time that the verification was performed
            successfully.
          format: date-time
        datasetMetadata:
          $ref: '#/components/schemas/DatasetMetadata'
      additionalProperties: false
    DatasetScanOptions:
      type: object
      properties:
        parameterSetId:
          type: string
          description: >-
            Set this to override the default parameters that will be used for a
            dataset scan. If a parameterSetId isn’t specified, we will use the
            default/preferred parameter set.
          format: uuid
        referenceId:
          type: string
          description: >-
            Set this to a provider info that will be used during the dataset
            scan, if a reference id isn’t supplied, we will use the data from
            the entity itself, such as name.
          format: uuid
      additionalProperties: false
    DatasetScanPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - Started
                - Completed
                - Type
                - ProviderId
                - ProviderFirstName
                - ProviderLastName
                - FacilityId
                - FacilityName
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/DatasetScanModel'
          description: The entries in the current page.
        sortedBy:
          enum:
            - Id
            - Started
            - Completed
            - Type
            - ProviderId
            - ProviderFirstName
            - ProviderLastName
            - FacilityId
            - FacilityName
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - datasetTimestamp: '2019-08-24T14:15:22.0000000Z'
            recordTimestamp: '2019-08-24T14:15:22.0000000Z'
            data:
              positiveParameters:
                - addressType: Unspecified
                  addressLine: string
                  city: string
                  state: AL
                  zipCode: string
                  type: Name
              negativeParameters:
                - addressType: Unspecified
                  addressLine: string
                  city: string
                  state: AL
                  zipCode: string
                  type: Name
            scanId: 83d71394-faa2-4b6c-b13b-6d3118de459e
            scan:
              id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
              started: '2019-08-24T14:15:22.0000000Z'
              completed: '2019-08-24T14:15:22.0000000Z'
              type: Sam
              status: Pending
              providerId: 4834bcdc-4a64-444d-966b-1a6fe381da24
              trigger: Manual
              options:
                parameterSetId: 4da0bbf1-9705-456b-b2bc-910c426536c6
                referenceId: 8502eb05-558d-4480-8511-c1011710b340
              failureReason:
                messageTemplate: string
                messageParams:
                  property1: string
                  property2: string
              parameters:
                - addressType: Unspecified
                  addressLine: string
                  city: string
                  state: AL
                  zipCode: string
                  type: Name
              matches:
                - {}
              monitoringMetadata:
                monitoringInterval: Monthly
                lastMonitoringDate: '2019-08-24T14:15:22.0000000Z'
                nextMonitoringDate: '2019-08-24T14:15:22.0000000Z'
                monitorId: c26980a6-b967-4775-b2ae-fd35a2a71496
              verifiedAt: '2019-08-24T14:15:22.0000000Z'
            userActionNeeded: true
            isIgnored: true
            matchScore:
              score: 0
              recommendation: Mismatch
        sortedBy: Id
        sortDirection: Asc
        sort:
          Id: Asc
    DatasetScanRequestModel:
      type: object
      properties:
        type:
          enum:
            - Sam
            - MedicareOptOut
            - OigFugitives
            - OfacSdn
            - OfacConsolidated
            - OigExclusions
            - StateSanctionsAndExclusions
            - Npdb
            - Dmf
            - Npi
            - Nsc
            - Dea
            - CmsPreclusion
            - Tricare
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - Abms
            - NationalBoardforCertifiedCounselors
            - AmericanAcademyofNursePractitioners
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanOsteopathicAssociation
            - AmericanNursesCredentialingCenter
            - NationalBoardforCertificationinOccupationalTherapy
            - AmericanSpeechLanguageHearingAssociation
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofPsychiatryandNeurology
            - InternationalBoardofLactationConsultantExaminers
            - AmericanMidwiferyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofClinicalSocialWork
            - BoardOfPharmacySpecialties
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofOrthodontics
            - AmericanBoardofOralMedicine
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofProsthodontics
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofEndodontics
            - AmericanBoardofPeriodontology
            - AmericanBoardofOralImplantology
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofDentalPublicHealth
            - BehaviorAnalystCertificationBoard
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - AmericanBoardofAddictionMedicine
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - CommissionOnDieteticRegistration
            - AmericanBoardOfObesityMedicine
            - NationalCertificationCorporation
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - AmericanRegistryOfRadiologyTechnologists
            - AmericanBoardOfAnesthesiology
            - AmericanRegistryForDiagnosticMedicalSonography
            - NationalBoardOfPhysiciansAndSurgeons
            - CardiovascularCredentialingInternational
            - NationalCenterForCompetencyTesting
            - NationalAssociationOfPhlebotomyTechnicians
            - AmericanAlliedHealth
            - NationalRegistryOfAlliedHealthProfessionals
            - AmericanMedicalTechnologists
            - NationalHealthCareerAssociation
            - DentalAssistingNationalBoard
            - PediatricNursingCertification
            - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
            - CertificationBoardForMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardofPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPediatrics
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofUrology
            - AmericanBoardofColonandRectalSurgery
            - AmericanAssociationofCriticalCareNurses
            - AmericanBoardofFootandAnkleSurgery
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanBoardofEmergencyMedicine
            - ArtTherapyCredentialsBoard
            - AmericanHeartAssociation
            - MedicaidEnrollmentCalifornia
            - JointCommission
            - FacilityCmsCertification
          type: string
          description: The specific dataset that will be scanned.
        providerId:
          type: string
          description: >-
            Identifier of the provider containing data properties to scan for;
            mutually exclusive with `facilityId` .
          format: uuid
        facilityId:
          type: string
          description: >-
            Identifier of the facility containing data properties to scan for;
            mutually exclusive with `providerId`.
          format: uuid
        options:
          $ref: '#/components/schemas/DatasetScanOptions'
      additionalProperties: false
    DatasetStatus:
      type: object
      properties:
        expectedProcessingTime:
          type: number
          description: >-
            The duration in seconds it may take to complete a dataset scan from
            start to end.
          format: double
      additionalProperties: false
    DateOfAttendance:
      type: object
      properties:
        beginDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    DeaDatasetRecord:
      type: object
      properties:
        businessActivityCode:
          type: string
          nullable: true
        drugSchedules:
          type: string
          nullable: true
        expirationDate:
          type: string
          format: date-time
        additionalCompanyInfo:
          type: string
          nullable: true
        address1:
          type: string
          nullable: true
        address2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        zipCode:
          type: string
          nullable: true
        businessActivitySubCode:
          type: string
          nullable: true
        paymentIndicator:
          enum:
            - Paid
            - Exempt
          type: string
        active:
          type: boolean
        deax:
          $ref: '#/components/schemas/DeaxModel'
        degree:
          type: string
          nullable: true
        stateLicenseNumber:
          type: string
          nullable: true
        stateControlledSubstanceLicenseNumber:
          type: string
          nullable: true
        businessActivity:
          type: string
          nullable: true
          readOnly: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        registrationNumber:
          type: string
          nullable: true
        fullName:
          type: string
          nullable: true
      additionalProperties: false
    DeaRegistrationInfoModel:
      type: object
      properties:
        lastUpdatedAt:
          type: string
          format: date-time
        id:
          type: string
          format: uuid
        registrationNumber:
          type: string
          nullable: true
      additionalProperties: false
    DeaRegistrationInfoPatchModel:
      required:
        - registrationNumber
      type: object
      properties:
        registrationNumber:
          minLength: 1
          type: string
      additionalProperties: false
    DeaRegistrationInfoRequestModel:
      required:
        - registrationNumber
      type: object
      properties:
        registrationNumber:
          minLength: 1
          type: string
      additionalProperties: false
    DeaRegistrationModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        providerId:
          type: string
          description: Identifier of the provider associated with this DEA registration.
          format: uuid
        registrationNumber:
          type: string
          description: The DEA registration number.
        currentVerification:
          $ref: '#/components/schemas/DeaVerificationModel'
      additionalProperties: false
    DeaVerificationDiffModel:
      type: object
      properties:
        old:
          $ref: '#/components/schemas/DeaVerificationModel'
        new:
          $ref: '#/components/schemas/DeaVerificationModel'
        diff:
          description: >-
            Diff in [jsondiffpatch](https://github.com/benjamine/jsondiffpatch)
            format.
      additionalProperties: false
    DeaVerificationModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for this verification.
          format: uuid
        timestamp:
          type: string
          description: Timestamp of when the verification took place.
          format: date-time
        lastUpdated:
          type: string
          description: Timestamp of the last update for DEA records.
          format: date-time
        lastSync:
          type: string
          description: Timestamp of the last DEA data sync.
          format: date-time
        status:
          enum:
            - Found
            - Failed
            - NeedsReview
            - NotFound
            - Pending
            - Working
          type: string
          description: >-
            The current status for this verification. If you patch the
            verification status (in case the status is `NeedsReview`) this
            property will be updated, but `originalStatus` will remain the same.
        originalStatus:
          enum:
            - Found
            - Failed
            - NeedsReview
            - NotFound
            - Pending
            - Working
          type: string
          description: >-
            The original status as our verification process determined. Unlike
            `status` the `originalStatus` can never change.
        results:
          $ref: '#/components/schemas/DeaVerificationResult'
        deaxResults:
          $ref: '#/components/schemas/DeaxVerificationResult'
      additionalProperties: false
    DeaVerificationResolutionModel:
      type: object
      properties:
        status:
          enum:
            - Found
            - Failed
            - NeedsReview
            - NotFound
            - Pending
            - Working
          type: string
          description: The correct status for this verification.
      additionalProperties: false
    DeaVerificationResult:
      type: object
      properties:
        businessActivityCode:
          type: string
          description: The business activity code from the DEA registration.
        drugSchedules:
          type: array
          items:
            type: string
          description: The drug schedules from the DEA registration.
        expirationDate:
          type: string
          description: The date at which this DEA registration expires.
          format: date-time
        name:
          type: string
          description: The name of the DEA registration holder.
        additionalCompanyInfo:
          type: string
          description: Additional information about the DEA registration holder.
        address1:
          type: string
          description: The address of the DEA registration holder.
        address2:
          type: string
          description: If applicable, an extra address line of the DEA registration holder.
        city:
          type: string
          description: The city of the DEA registration holder.
        state:
          type: string
          description: The state of the DEA registration holder.
        zipCode:
          type: string
          description: The zip code of the DEA registration holder
        businessActivitySubCode:
          type: string
          description: The business activity sub-code from the DEA registration.
        paymentIndicator:
          enum:
            - Paid
            - Exempt
          type: string
          description: The payment indicator from the DEA registration.
        active:
          type: boolean
          description: Set to true if this DEA registration is active.
        problems:
          type: array
          items:
            enum:
              - NameMismatch
            type: string
          description: >-
            Array of problems that resulted in a `NeedsReview` status for the
            verification.
        businessActivity:
          type: string
          description: Textual description of the bussiness code and sub-code.
          readOnly: true
      additionalProperties: false
    DeaxModel:
      type: object
      properties:
        number:
          type: string
          nullable: true
        certifiedPatientLimit:
          type: integer
          format: int32
      additionalProperties: false
    DeaxVerificationResult:
      type: object
      properties:
        number:
          type: string
          description: DEA-X number.
        certifiedPatientLimit:
          type: integer
          description: Certified Patient Limit.
          format: int32
      additionalProperties: false
    Degree:
      type: object
      properties:
        nameOnSchoolRecord:
          $ref: '#/components/schemas/NameOnSchoolRecord'
        officialNameOfSchool:
          type: string
          nullable: true
        schoolType:
          type: string
          nullable: true
        schoolCode:
          type: string
          nullable: true
        schoolDivision:
          type: string
          nullable: true
        branchCode:
          type: string
          nullable: true
        jointInstitution:
          type: string
          nullable: true
        degreeTitle:
          type: string
          nullable: true
        awardDate:
          type: string
          format: date-time
          nullable: true
        majorCoursesOfStudy:
          type: array
          items:
            $ref: '#/components/schemas/CourseOfStudy'
          nullable: true
        minorCoursesOfStudy:
          type: array
          items:
            $ref: '#/components/schemas/CourseOfStudy'
          nullable: true
        majorOptions:
          type: array
          items:
            $ref: '#/components/schemas/Course'
          nullable: true
        majorConcentrations:
          type: array
          items:
            $ref: '#/components/schemas/Course'
          nullable: true
        academicHonors:
          type: string
          nullable: true
        honorsProgram:
          type: string
          nullable: true
        otherHonors:
          type: string
          nullable: true
        dateOfAttendance:
          $ref: '#/components/schemas/DateOfAttendance'
        graduated:
          type: boolean
          nullable: true
      additionalProperties: false
    DismissRequestModel:
      type: object
      properties:
        dismissalNote:
          type: string
          description: A note that explains why this alert was dismissed.
      additionalProperties: false
    DmfDatasetRecord:
      type: object
      properties:
        fullName:
          type: string
          nullable: true
        deceased:
          type: boolean
        deceasedStateOnRecord:
          type: string
          nullable: true
        dateOfDeath:
          type: string
          format: date-time
          nullable: true
        lastKnowState:
          type: string
          nullable: true
        lastKnowZipCode:
          type: string
          nullable: true
        lastKnowCountry:
          type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
      additionalProperties: false
    EducationModel:
      type: object
      properties:
        lastUpdatedAt:
          type: string
          description: The date and time when the object was created or modified.
          format: date-time
        id:
          type: string
          description: Unique identifier associated with this education
          format: uuid
        ecfmgNumber:
          type: string
          description: Educational Commission for Foreign Medical Graduates number
        ecfmgIssueDate:
          type: string
          description: Timestamp when the certificate was issued
          format: date-time
        graduateType:
          enum:
            - Undergraduate
            - Professional
            - FifthPathway
          type: string
          description: Degree program type
        schoolName:
          type: string
          description: Name of school
        schoolCode:
          type: string
          description: >-
            School code as defined by the [National Student
            Clearinghouse](https://docs.studentclearinghouse.org/vs/v/json-field-descriptions/appendix-school-codes)
        branchCode:
          type: string
          description: >-
            Branch code as defined by the [National Student
            Clearinghouse](https://docs.studentclearinghouse.org/vs/v/json-field-descriptions/appendix-branch-code-values)
        startDate:
          type: string
          description: Timestamp when this provider started their degree program
          format: date-time
        endDate:
          type: string
          description: Timestamp when this provider finished their degree program
          format: date-time
        completed:
          type: boolean
          description: >-
            Identifies if this provider completed their graduate education at
            this school
        degree:
          type: string
          description: Degree awarded
      additionalProperties: false
    EducationPatchModel:
      type: object
      properties:
        ecfmgNumber:
          type: string
          description: Educational Commission for Foreign Medical Graduates number
        ecfmgIssueDate:
          type: string
          description: Timestamp when the certificate was issued
          format: date-time
        graduateType:
          enum:
            - Undergraduate
            - Professional
            - FifthPathway
          type: string
          description: Degree program type
        schoolName:
          type: string
          description: Name of school
        schoolCode:
          type: string
          description: >-
            School code as defined by the [National Student
            Clearinghouse](https://docs.studentclearinghouse.org/vs/v/json-field-descriptions/appendix-school-codes)
        branchCode:
          type: string
          description: >-
            Branch code as defined by the [National Student
            Clearinghouse](https://docs.studentclearinghouse.org/vs/v/json-field-descriptions/appendix-branch-code-values)
        startDate:
          type: string
          description: Timestamp when this provider started their degree program
          format: date-time
        endDate:
          type: string
          description: Timestamp when this provider finished their degree program
          format: date-time
        completed:
          type: boolean
          description: >-
            Identifies if this provider completed their graduate education at
            this school
        degree:
          type: string
          description: Degree awarded
      additionalProperties: false
    EducationRequestModel:
      type: object
      properties:
        ecfmgNumber:
          type: string
          description: Educational Commission for Foreign Medical Graduates number
        ecfmgIssueDate:
          type: string
          description: Timestamp when the certificate was issued
          format: date-time
        graduateType:
          enum:
            - Undergraduate
            - Professional
            - FifthPathway
          type: string
          description: Degree program type
        schoolName:
          type: string
          description: Name of school
        schoolCode:
          type: string
          description: >-
            School code as defined by the [National Student
            Clearinghouse](https://docs.studentclearinghouse.org/vs/v/json-field-descriptions/appendix-school-codes)
        branchCode:
          type: string
          description: >-
            Branch code as defined by the [National Student
            Clearinghouse](https://docs.studentclearinghouse.org/vs/v/json-field-descriptions/appendix-branch-code-values)
        startDate:
          type: string
          description: Timestamp when this provider started their degree program
          format: date-time
        endDate:
          type: string
          description: Timestamp when this provider finished their degree program
          format: date-time
        completed:
          type: boolean
          description: >-
            Identifies if this provider completed their graduate education at
            this school
        degree:
          type: string
          description: Degree awarded
      additionalProperties: false
    EmailModel:
      type: object
      properties:
        email:
          type: string
          nullable: true
        type:
          enum:
            - Unspecified
            - Personal
            - Work
          type: string
      additionalProperties: false
    Enrollment:
      type: object
      properties:
        enrollments:
          type: array
          items:
            $ref: '#/components/schemas/EnrollmentInfo'
          nullable: true
        studentAddress:
          $ref: '#/components/schemas/NscAddress'
      additionalProperties: false
    EnrollmentInfo:
      type: object
      properties:
        enrollmentStatus:
          type: string
          nullable: true
        termBeginDate:
          type: string
          format: date-time
          nullable: true
        termEndDate:
          type: string
          format: date-time
          nullable: true
        schoolCertifiedOn:
          type: string
          format: date-time
          nullable: true
        anticipatedGraduationDate:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    EnrollmentsReportInfoModel:
      type: object
      properties:
        date:
          type: string
          description: The time when the report was created.
          format: date-time
        path:
          type: string
          description: Path to the report.
      additionalProperties: false
    EventLogModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the event.
          format: uuid
        timestamp:
          type: string
          description: The date & time of the event.
          format: date-time
        type:
          enum:
            - System
            - Request
            - Legacy
          type: string
          description: The type of the event indicating if it was system or user initiated.
        messageTemplate:
          type: string
          description: >-
            Human readable description of the event that occurred. To be used in
            conjunction with `messageParameters`.
        messageParameters:
          description: >-
            If the `messageTemplate` contains parameters, this object will
            contain the values to be used to replace those parameters.
        correlationId:
          type: string
          description: >-
            The correlation identifier associated with the request. Verifiable
            staff can use this for further troubleshooting.
          format: uuid
        context:
          description: >-
            Any relevant contextual data for the event. For events of type
            `Request` this will contain `request` and `user` data. In addition
            most events will include  an array of `relatedEntities` with
            identifiers of objects that are related to this specific event.
      additionalProperties: false
    EventLogPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Timestamp
                - Type
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/EventLogModel'
          description: The event log entries in the current page.
        sortedBy:
          enum:
            - Timestamp
            - Type
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 20
        count: 1
        totalCount: 1
        items:
          - id: 50587ba5-ed48-4430-b9fd-6b4518979a84
            timestamp: '2021-10-04T14:21:45.6433130Z'
            type: Request
            messageTemplate: Viewed event log
            context:
              user:
                id: 40b87c94-e279-4412-933b-6dc87980bc31
                role: admin
                email: john.doe@verifiable.com
              request:
                route: log/events
                method: GET
                operation: ListEventLogEntries
                timeTaken: 6
                userAgent: PostmanRuntime/7.28.4
                queryString: includeReadEvents=true
                userTokenId: defbffb0-861e-4b4b-b899-b9452ef0089b
                responseType: application/json; charset=utf-8
                routeTemplate: log/events
                userIpAddress: 0.0.0.1
                responseStatusCode: 200
              relatedEntities: []
        sortedBy: Timestamp
        sortDirection: Desc
        sort:
          Timestamp: Desc
    ExpirableCredentialsReportInfoModel:
      type: object
      properties:
        date:
          type: string
          description: The time when the report was created.
          format: date-time
        path:
          type: string
          description: Path to the report.
      additionalProperties: false
    FacilityAccreditationAgencyModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        agencyName:
          type: string
          nullable: true
        programs:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAccreditationProgramModel'
          nullable: true
      additionalProperties: false
    FacilityAccreditationAgencyPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - AgencyName
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAccreditationAgencyModel'
          description: The facility accreditations in the current page.
        sortedBy:
          enum:
            - Id
            - AgencyName
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            agencyName: string
            programs:
              - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
                programName: string
        sort:
          Id: Asc
    FacilityAccreditationInfoParameter:
      type: object
      properties:
        accreditationNumber:
          type: string
          nullable: true
        accreditationProgram:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    FacilityAccreditationModel:
      type: object
      properties:
        id:
          type: string
          description: The identifier of this Accreditation.
          format: uuid
        lastUpdatedAt:
          type: string
          description: The date and time when the Accreditation was created or modified.
          format: date-time
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        accreditationAgencyId:
          type: string
          description: The identifier of the agency for this Accreditation.
          format: uuid
        accreditationProgramId:
          type: string
          description: The identifier of the agency's program for this Accreditation.
          format: uuid
        accreditationNumber:
          type: string
          description: The Accreditation number.
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityAccreditationNonVerifiedInfoModel'
      additionalProperties: false
    FacilityAccreditationNonVerifiedInfoModel:
      type: object
      properties:
        decision:
          type: string
          description: The decision for this Accreditation.
        effectiveDate:
          type: string
          description: The effective date of this Accreditation.
          format: date
        expirationDate:
          type: string
          description: The expiration date of this Accreditation.
          format: date
      additionalProperties: false
    FacilityAccreditationNonVerifiedInfoPatchModel:
      type: object
      properties:
        decision:
          type: string
          description: >-
            If set, the `decision` of the Accreditation will be updated with
            this value.
        effectiveDate:
          type: string
          description: >-
            If set, the `effective date` of the Accreditation will be updated
            with this value.
          format: date
        expirationDate:
          type: string
          description: >-
            If set, the `expiration date` of the Accreditation will be updated
            with this value.
          format: date
      additionalProperties: false
    FacilityAccreditationNonVerifiedInfoRequestModel:
      type: object
      properties:
        decision:
          type: string
          description: The decision for this Accreditation.
        effectiveDate:
          type: string
          description: The effective date of this Accreditation.
          format: date
        expirationDate:
          type: string
          description: The expiration date of this Accreditation.
          format: date
      additionalProperties: false
    FacilityAccreditationPatchModel:
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        accreditationNumber:
          type: string
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityAccreditationNonVerifiedInfoPatchModel'
      additionalProperties: false
    FacilityAccreditationProgramModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        programName:
          type: string
          nullable: true
      additionalProperties: false
    FacilityAccreditationRequestModel:
      required:
        - accreditationAgencyId
        - accreditationProgramId
        - appliesTo
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        accreditationAgencyId:
          type: string
          description: The identifier of the agency for this Accreditation.
          format: uuid
        accreditationProgramId:
          type: string
          description: The identifier of the agency's program for this Accreditation.
          format: uuid
        accreditationNumber:
          type: string
          description: The Accreditation number.
        nonVerifiedInfo:
          $ref: >-
            #/components/schemas/FacilityAccreditationNonVerifiedInfoRequestModel
      additionalProperties: false
    FacilityCmsCertificationDatasetRecord:
      type: object
      properties:
        certificationType:
          type: string
          nullable: true
        certificationNumber:
          type: string
          nullable: true
        certificationDate:
          type: string
          format: date-time
          nullable: true
        facilityName:
          type: string
          nullable: true
        address:
          type: string
          nullable: true
        additionalProperties:
          $ref: '#/components/schemas/FlexibleDataModel'
        attachments:
          type: array
          items:
            type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
      additionalProperties: false
    FacilityCmsCertificationInfoParameter:
      type: object
      properties:
        certificateNumber:
          type: string
          nullable: true
        certificateType:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    FacilityCmsCertificationModel:
      type: object
      properties:
        id:
          type: string
          description: The identifier of this CMS Certification.
          format: uuid
        lastUpdatedAt:
          type: string
          description: >-
            The date and time when the CMS Certification was created or
            modified.
          format: date-time
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        certificationNumber:
          type: string
          description: The number for this CMS Certification.
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityCmsCertificationNonVerifiedInfoModel'
      additionalProperties: false
    FacilityCmsCertificationNonVerifiedInfoModel:
      type: object
      properties:
        certificationDate:
          type: string
          description: The date of this CMS Certification.
          format: date
      additionalProperties: false
    FacilityCmsCertificationNonVerifiedInfoPatchModel:
      type: object
      properties:
        certificationDate:
          type: string
          description: >-
            If set, the `certification date` of the CMS Certification will be
            updated with this value.
          format: date
      additionalProperties: false
    FacilityCmsCertificationNonVerifiedInfoRequestModel:
      type: object
      properties:
        certificationDate:
          type: string
          description: The date of this CMS Certification.
          format: date
      additionalProperties: false
    FacilityCmsCertificationPatchModel:
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        nonVerifiedInfo:
          $ref: >-
            #/components/schemas/FacilityCmsCertificationNonVerifiedInfoPatchModel
      additionalProperties: false
    FacilityCmsCertificationRequestModel:
      required:
        - appliesTo
        - certificationNumber
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        certificationNumber:
          minLength: 1
          type: string
          description: The Certification number.
        nonVerifiedInfo:
          $ref: >-
            #/components/schemas/FacilityCmsCertificationNonVerifiedInfoRequestModel
      additionalProperties: false
    FacilityCredentialingDataModel:
      type: object
      properties:
        facility:
          $ref: '#/components/schemas/FacilityModel'
        facilitySpecialties:
          type: array
          items:
            $ref: '#/components/schemas/FacilitySpecialtyModel'
          description: >-
            All the facility specialties associated with the specified
            credentialing request.
        facilityInfo:
          type: object
          additionalProperties:
            type: array
            items: {}
          description: >-
            Facility information collection associated with the specified
            credentialing request.
        childFacilities:
          type: array
          items:
            $ref: '#/components/schemas/FacilityModel'
          description: Facility children.
        datasetScans:
          type: array
          items:
            $ref: '#/components/schemas/DatasetScanModel'
        files:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
      additionalProperties: false
    FacilityDeaModel:
      type: object
      properties:
        id:
          type: string
          description: The identifier of this DEA.
          format: uuid
        lastUpdatedAt:
          type: string
          description: The date and time when the DEA was created or modified.
          format: date-time
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        deaNumber:
          type: string
          description: The 9 digit DEA number.
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityDeaNonVerifiedInfoModel'
      additionalProperties: false
    FacilityDeaNonVerifiedInfoModel:
      type: object
      properties:
        drugSchedules:
          type: string
          description: The drug schedules for the DEA registration.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: The state of the DEA registration holder.
        expirationDate:
          type: string
          description: The date at which this DEA registration expires.
          format: date
        businessActivityCode:
          type: string
          description: The business activity code for the DEA registration.
        paymentIndicator:
          enum:
            - Paid
            - Exempt
          type: string
          description: The payment indicator for the DEA registration.
        isActive:
          type: boolean
          description: Indicates if the DEA registration is active or not.
      additionalProperties: false
    FacilityDeaNonVerifiedInfoPatchModel:
      type: object
      properties:
        drugSchedules:
          type: string
          description: >-
            If set, the `drug schedules` of the DEA registration will be updated
            with this value.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: >-
            If set, the `state` of the DEA registration will be updated with
            this value.
        expirationDate:
          type: string
          description: >-
            If set, the `expiration date` of the DEA registration will be
            updated with this value.
          format: date
        businessActivityCode:
          type: string
          description: >-
            If set, the `business activity code` of the DEA registration will be
            updated with this value.
        paymentIndicator:
          enum:
            - Paid
            - Exempt
          type: string
          description: >-
            If set, the `payment indicator` of the DEA registration will be
            updated with this value.
        isActive:
          type: boolean
          description: >-
            If set, the `is active` of the DEA registration will be updated with
            this value.
      additionalProperties: false
    FacilityDeaNonVerifiedInfoRequestModel:
      type: object
      properties:
        drugSchedules:
          type: string
          description: The drug schedules for the DEA registration.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: The state of the DEA registration holder.
        expirationDate:
          type: string
          description: The date at which this DEA registration expires.
          format: date
        businessActivityCode:
          type: string
          description: The business activity code for the DEA registration.
        paymentIndicator:
          enum:
            - Paid
            - Exempt
          type: string
          description: The payment indicator for the DEA registration.
        isActive:
          type: boolean
          description: Indicates if the DEA registration is active or not.
      additionalProperties: false
    FacilityDeaPatchModel:
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityDeaNonVerifiedInfoPatchModel'
      additionalProperties: false
    FacilityDeaRequestModel:
      required:
        - appliesTo
        - deaNumber
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        deaNumber:
          minLength: 1
          type: string
          description: The 9 digit DEA number.
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityDeaNonVerifiedInfoRequestModel'
      additionalProperties: false
    FacilityLiabilityInsuranceModel:
      type: object
      properties:
        id:
          type: string
          description: The identifier of this Liability Insurance.
          format: uuid
        lastUpdatedAt:
          type: string
          description: >-
            The date and time when the Liability Insurance was created or
            modified.
          format: date-time
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        liabilityInsurer:
          type: string
          description: The name of the liability insurer.
        policyNumber:
          type: string
          description: Policy number for this Liability Insurance.
        effectiveDate:
          type: string
          description: Effective date associated with this Liability Insurance.
          format: date
        expirationDate:
          type: string
          description: Expiration date associated with this Liability Insurance.
          format: date
        coverageType:
          type: string
          description: Coverage type for this Liability Insurance.
        primaryLimitPerClaim:
          type: number
          description: Primary limit per claim for this Liability Insurance.
          format: double
        excessLimitPerClaim:
          type: number
          description: Excess limit per claim for this Liability Insurance.
          format: double
        primaryLimitAggregate:
          type: number
          description: Primary limit aggregate for this Liability Insurance.
          format: double
        excessLimitAggregate:
          type: number
          description: Excess limit aggregate for this Liability Insurance.
          format: double
      additionalProperties: false
    FacilityLiabilityInsurancePatchModel:
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        liabilityInsurer:
          type: string
          description: >-
            If set, the `liability insurer` of the Liability Insurance will be
            updated with this value.
        policyNumber:
          type: string
          description: >-
            If set, the `policy number` of the Liability Insurance will be
            updated with this value.
        effectiveDate:
          type: string
          description: >-
            If set, the `effective date` of the Liability Insurance will be
            updated with this value.
          format: date
        expirationDate:
          type: string
          description: >-
            If set, the `expiration date` of the Liability Insurance will be
            updated with this value.
          format: date
        coverageType:
          type: string
          description: >-
            If set, the `coverage type` of the Liability Insurance will be
            updated with this value.
        primaryLimitPerClaim:
          type: number
          description: >-
            If set, the `primary limit per claim` of the Liability Insurance
            will be updated with this value.
          format: double
        excessLimitPerClaim:
          type: number
          description: >-
            If set, the `excess limit per claim` of the Liability Insurance will
            be updated with this value.
          format: double
        primaryLimitAggregate:
          type: number
          description: >-
            If set, the `primary limit aggregate` of the Liability Insurance
            will be updated with this value.
          format: double
        excessLimitAggregate:
          type: number
          description: >-
            If set, the `excess limit aggregate` of the Liability Insurance will
            be updated with this value.
          format: double
      additionalProperties: false
    FacilityLiabilityInsuranceRequestModel:
      required:
        - appliesTo
        - liabilityInsurer
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        liabilityInsurer:
          minLength: 1
          type: string
          description: The name of the liability insurer.
        policyNumber:
          type: string
          description: Policy number for this Liability Insurance.
        effectiveDate:
          type: string
          description: Effective date associated with this Liability Insurance.
          format: date
        expirationDate:
          type: string
          description: Expiration date associated with this Liability Insurance.
          format: date
        coverageType:
          type: string
          description: Coverage type for this Liability Insurance.
        primaryLimitPerClaim:
          type: number
          description: Primary limit per claim for this Liability Insurance.
          format: double
        excessLimitPerClaim:
          type: number
          description: Excess limit per claim for this Liability Insurance.
          format: double
        primaryLimitAggregate:
          type: number
          description: Primary limit aggregate for this Liability Insurance.
          format: double
        excessLimitAggregate:
          type: number
          description: Excess limit aggregate for this Liability Insurance.
          format: double
      additionalProperties: false
    FacilityLicenseModel:
      type: object
      properties:
        id:
          type: string
          description: The identifier of this License.
          format: uuid
        lastUpdatedAt:
          type: string
          description: The date and time when the License was created or modified.
          format: date-time
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        licenseTypeId:
          type: string
          description: License type unique identifier of the license.
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: State of the license.
        licenseNumber:
          type: string
          description: License number of the license.
        isPrimary:
          type: boolean
          description: Flag to indicate if the license will be set as primary.
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityLicenseNonVerifiedInfoModel'
      additionalProperties: false
    FacilityLicenseNonVerifiedInfoModel:
      type: object
      properties:
        issueDate:
          type: string
          description: The date at which this Licence was issued.
          format: date
        expirationDate:
          type: string
          description: The date at which this Licence expires.
          format: date
        licenseStatus:
          type: string
          description: The status of this license.
      additionalProperties: false
    FacilityLicenseNonVerifiedInfoPatchModel:
      type: object
      properties:
        issueDate:
          type: string
          description: >-
            If set, the `issue date` of the License will be updated with this
            value.
          format: date
        expirationDate:
          type: string
          description: >-
            If set, the `expiration date` of the License will be updated with
            this value.
          format: date
        licenseStatus:
          type: string
          description: >-
            If set, the `license status` of the License will be updated with
            this value.
      additionalProperties: false
    FacilityLicenseNonVerifiedInfoRequestModel:
      type: object
      properties:
        issueDate:
          type: string
          description: The date at which this Licence was issued.
          format: date
        expirationDate:
          type: string
          description: The date at which this Licence expires.
          format: date
        licenseStatus:
          type: string
          description: The status of this license.
      additionalProperties: false
    FacilityLicensePatchModel:
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        isPrimary:
          type: boolean
          description: >-
            If set, the `is primary` of the License will be updated with this
            value.
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityLicenseNonVerifiedInfoPatchModel'
      additionalProperties: false
    FacilityLicenseRequestModel:
      required:
        - appliesTo
        - isPrimary
        - licenseNumber
        - licenseTypeId
        - state
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        licenseTypeId:
          type: string
          description: License type unique identifier of the license.
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: State of the license.
        licenseNumber:
          minLength: 1
          type: string
          description: License number of the license.
        isPrimary:
          type: boolean
          description: Flag to indicate if the license will be set as primary.
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityLicenseNonVerifiedInfoRequestModel'
      additionalProperties: false
    FacilityLicenseTypeModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          nullable: true
      additionalProperties: false
    FacilityLicenseTypePageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - Name
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/FacilityLicenseTypeModel'
          description: The facility license types in the current page.
        sortedBy:
          enum:
            - Id
            - Name
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            name: string
        sort:
          Id: Asc
    FacilityMedicareEnrollmentModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        lastUpdatedAt:
          type: string
          format: date-time
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        pecosPacIdentifier:
          type: string
          description: The unique identifier of the Pecos Pac.
        enrollmentTypeId:
          type: string
          description: Medicare Enrollment Type unique identifier of the enrollment.
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: State of the Medicare Enrollment.
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityMedicareEnrollmentNonVerifiedInfoModel'
      additionalProperties: false
    FacilityMedicareEnrollmentNonVerifiedInfoModel:
      type: object
      properties:
        pecosEnrollmentIdentifier:
          type: string
      additionalProperties: false
    FacilityMedicareEnrollmentNonVerifiedInfoPatchModel:
      type: object
      properties:
        pecosEnrollmentIdentifier:
          type: string
      additionalProperties: false
    FacilityMedicareEnrollmentNonVerifiedInfoRequestModel:
      type: object
      properties:
        pecosEnrollmentIdentifier:
          type: string
      additionalProperties: false
    FacilityMedicareEnrollmentPatchModel:
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        nonVerifiedInfo:
          $ref: >-
            #/components/schemas/FacilityMedicareEnrollmentNonVerifiedInfoPatchModel
      additionalProperties: false
    FacilityMedicareEnrollmentRequestModel:
      required:
        - appliesTo
        - enrollmentTypeId
        - pecosPacIdentifier
        - state
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        pecosPacIdentifier:
          minLength: 1
          type: string
          description: The unique identifier of the Pecos Pac.
        enrollmentTypeId:
          type: string
          description: Medicare Enrollment Type unique identifier of the enrollment.
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: State of the Medicare Enrollment.
        nonVerifiedInfo:
          $ref: >-
            #/components/schemas/FacilityMedicareEnrollmentNonVerifiedInfoRequestModel
      additionalProperties: false
    FacilityModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          description: The name of this facility.
        createdAt:
          type: string
          description: Timestamp when this facility was created.
          format: date-time
        deactivated:
          type: boolean
          description: If set, the facility is deactivated.
        parentFacilityId:
          type: string
          format: uuid
        dba:
          type: string
          description: The DBA of this facility.
        addressLine1:
          type: string
          description: The street address of this facility.
        addressLine2:
          type: string
          description: The secondary address information of this facility.
        city:
          type: string
          description: The city in which the facility address is located.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: The state in which the facility address is located.
        zipCode:
          type: string
          description: The postal code associated with the facility address.
        phoneNumber:
          type: string
          description: Phone number associated with the facility.
        faxNumber:
          type: string
          description: Fax number associated with the facility.
        groupTaxId:
          type: string
          description: The group tax id associated with the facility.
        facilityTaxId:
          type: string
          description: The tax id associated with the facility.
        contactName:
          type: string
          description: The contact name associated with the facility.
        contactEmail:
          type: string
          description: The contact email associated with the facility.
        medicarePartANumber:
          type: string
        medicarePartBNumber:
          type: string
        medicaidNumber:
          type: string
      additionalProperties: false
    FacilityNameParameter:
      type: object
      properties:
        name:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    FacilityNpiModel:
      type: object
      properties:
        id:
          type: string
          description: The identifier of this NPI.
          format: uuid
        lastUpdatedAt:
          type: string
          description: The date and time when the NPI was created or modified.
          format: date-time
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        npi:
          type: integer
          description: The 10 digit NPI number.
          format: int64
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityNpiNonVerifiedInfoModel'
      additionalProperties: false
    FacilityNpiNonVerifiedInfoModel:
      type: object
      properties:
        isActive:
          type: boolean
          description: Indicates if the NPI is active or not.
      additionalProperties: false
    FacilityNpiNonVerifiedInfoPatchModel:
      type: object
      properties:
        isActive:
          type: boolean
          description: If set, the `is active` of the NPI will be updated with this value.
      additionalProperties: false
    FacilityNpiNonVerifiedInfoRequestModel:
      type: object
      properties:
        isActive:
          type: boolean
          description: Indicates if the NPI is active or not.
      additionalProperties: false
    FacilityNpiPatchModel:
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityNpiNonVerifiedInfoPatchModel'
      additionalProperties: false
    FacilityNpiRequestModel:
      required:
        - appliesTo
        - npi
      type: object
      properties:
        appliesTo:
          enum:
            - SelfOnly
            - SelfAndAllChildren
            - Custom
          type: string
          example: Custom
        associatedFacilitySpecialtyIds:
          type: array
          items:
            type: string
            format: uuid
        npi:
          type: integer
          description: The 10 digit NPI number.
          format: int64
        nonVerifiedInfo:
          $ref: '#/components/schemas/FacilityNpiNonVerifiedInfoRequestModel'
      additionalProperties: false
    FacilityPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - Name
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/FacilityModel'
          description: The facilities in the current page.
        sortedBy:
          enum:
            - Id
            - Name
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            name: string
            deactivated: bool
            dba: string
            addressLine1: string
            addressLine2: string
            city: string
            state: enum
            zipCode: string
            phoneNumber: string
            faxNumber: string
            groupTaxId: string
            facilityTaxId: string
            contactName: string
            contactEmail: string
        sortedBy: Id
        sortDirection: Asc
        sort:
          Id: Asc
    FacilityPatchModel:
      type: object
      properties:
        name:
          type: string
          description: If set, the facility's `name` will be updated with this value.
        deactivated:
          type: boolean
          description: >-
            If set to true, the facility will be deactivated. If set to false,
            the facility will be activated.
        parentFacilityId:
          type: string
          format: uuid
        dba:
          type: string
          description: If set, the facility's `DBA` will be updated with this value.
        addressLine1:
          type: string
          description: >-
            If set, the facility's `street address` will be updated with this
            value.
        addressLine2:
          type: string
          description: >-
            If set, the facility's `secondary address` will be updated with this
            value.
        city:
          type: string
          description: If set, the facility's `city` will be updated with this value.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: If set, the facility's `state` will be updated with this value.
        zipCode:
          type: string
          description: If set, the facility's `zip code` will be updated with this value.
        phoneNumber:
          type: string
          description: >-
            If set, the facility's `phone number` will be updated with this
            value.
        faxNumber:
          type: string
          description: If set, the facility's `fax number` will be updated with this value.
        groupTaxId:
          type: string
          description: >-
            If set, the facility's `group tax id` will be updated with this
            value.
        facilityTaxId:
          type: string
          description: >-
            If set, the facility's `facility tax id` will be updated with this
            value.
        contactName:
          type: string
          description: >-
            If set, the facility's `contact name` will be updated with this
            value.
        contactEmail:
          type: string
          description: >-
            If set, the facility's `contact email` will be updated with this
            value.
        medicarePartANumber:
          type: string
        medicarePartBNumber:
          type: string
        medicaidNumber:
          type: string
      additionalProperties: false
    FacilityRequestModel:
      type: object
      properties:
        name:
          type: string
          description: The name of this facility.
        parentFacilityId:
          type: string
          format: uuid
        dba:
          type: string
          description: The DBA of this facility.
        addressLine1:
          type: string
          description: The street address of this facility.
        addressLine2:
          type: string
          description: The secondary address information of this facility.
        city:
          type: string
          description: The city in which the facility address is located.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: The state in which the facility address is located.
        zipCode:
          type: string
          description: The postal code associated with the facility address.
        phoneNumber:
          type: string
          description: Phone number associated with the facility.
        faxNumber:
          type: string
          description: Fax number associated with the facility.
        groupTaxId:
          type: string
          description: The group tax id associated with the facility.
        facilityTaxId:
          type: string
          description: The tax id associated with the facility.
        contactName:
          type: string
          description: The contact name associated with the facility.
        contactEmail:
          type: string
          description: The contact email associated with the facility.
        medicarePartANumber:
          type: string
        medicarePartBNumber:
          type: string
        medicaidNumber:
          type: string
      additionalProperties: false
    FacilitySpecialtyModel:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of this specialty.
          format: uuid
        facilityId:
          type: string
          description: The facility unique identifier related to this specialty.
          format: uuid
        taxonomyId:
          type: string
          description: The taxonomy unique identifier related to this specialty.
          format: uuid
        credentialedDate:
          type: string
          format: date
        nextCredentialingDate:
          type: string
          format: date
        recredentialedDates:
          type: array
          items:
            type: string
            format: date
      additionalProperties: false
    FacilitySpecialtyPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - TaxonomyId
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/FacilitySpecialtyModel'
          description: The facility specialties in the current page.
        sortedBy:
          enum:
            - TaxonomyId
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            facilityId: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            taxonomyId: 497f6eca-6276-4993-bfeb-53cbbbba6f08
        sort:
          TaxonomyId: Asc
    FacilitySpecialtyRequestModel:
      required:
        - taxonomyId
      type: object
      properties:
        taxonomyId:
          type: string
          description: The taxonomy unique identifier related to this specialty.
          format: uuid
        credentialedDate:
          type: string
          format: date
        recredentialedDates:
          type: array
          items:
            type: string
            format: date
        nextCredentialingDate:
          type: string
          format: date
      additionalProperties: false
    FacilityTaxonomyModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        code:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
      additionalProperties: false
    FacilityTaxonomyPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - Code
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/FacilityTaxonomyModel'
          description: The facility taxonomies in the current page.
        sortedBy:
          enum:
            - Id
            - Code
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            code: string
            name: string
        sort:
          Code: Asc
    FailureModel:
      type: object
      properties:
        messageTemplate:
          type: string
          description: >-
            An informative human readable message describing the verification
            failure.
        messageParams:
          type: object
          additionalProperties:
            type: string
            nullable: true
          description: >-
            Collection of key/value pairs containing parameters to be replaced
            in `messageTemplate`.
      additionalProperties: false
      description: >-
        An object with a reason message template and an array of params. Can be
        used to construct a meaningful description of the error. Not set when no
        errors happened.
    FileModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for this file.
          format: uuid
        providerId:
          type: string
          description: If set, the provider to which this file is associated.
          format: uuid
        facilityId:
          type: string
          description: If set, the facility to which this file is associated.
          format: uuid
        createdAt:
          type: string
          description: The time when the file was created.
          format: date-time
        createdByUserId:
          type: string
          description: The identifier of the user who created the file.
          format: uuid
        createdByUserEmail:
          type: string
          description: The e-mail of the user who created the file.
        path:
          type: string
          description: Path to the file.
        size:
          type: integer
          description: The size of the file.
          format: int32
      additionalProperties: false
    FilePageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Path
                - CreatedAt
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          nullable: true
        previousCursor:
          type: string
          nullable: true
        nextCursor:
          type: string
          nullable: true
        nextOffset:
          type: integer
          format: int32
          nullable: true
        pageSize:
          type: integer
          format: int32
        count:
          type: integer
          format: int32
        totalCount:
          type: integer
          format: int32
          nullable: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
          nullable: true
        sortedBy:
          enum:
            - Path
            - CreatedAt
          type: string
          nullable: true
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          nullable: true
      additionalProperties: false
    FlexibleDataModel:
      type: object
      properties:
        type:
          enum:
            - Form
            - Table
            - Section
          type: string
          description: The schema type for `data`.
        data:
          description: >-
            The actual data for this property. The schema can change depending
            on `type`. See the [Flexible Data
            Model](/reference/overview/#section/Common-Concepts/flexible-data-model)
            for more information.
      additionalProperties: false
    FountainApplicantModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        email:
          type: string
          nullable: true
        first_name:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        date_of_birth:
          type: string
          format: date-time
          nullable: true
        data:
          type: object
          additionalProperties: {}
          nullable: true
        stage:
          $ref: '#/components/schemas/FountainStage'
        funnel:
          $ref: '#/components/schemas/FountainFunnel'
        secure_data:
          type: object
          additionalProperties: {}
          nullable: true
      additionalProperties: false
    FountainFunnel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        title:
          type: string
          nullable: true
      additionalProperties: false
    FountainStage:
      type: object
      properties:
        title:
          type: string
          nullable: true
        id:
          type: string
          format: uuid
      additionalProperties: false
    FountainWebhookRequestModel:
      type: object
      properties:
        applicant:
          $ref: '#/components/schemas/FountainApplicantModel'
      additionalProperties: false
    FountainWebhookResponseModel:
      type: object
      properties:
        requestId:
          type: string
          format: uuid
      additionalProperties: false
    GoogleAuthModel:
      type: object
      properties:
        code:
          type: string
          description: >-
            The authorization code returned by the Google Sign-In authentication
            flow.
        timeToLive:
          type: string
          description: >-
            If set, the created token will expire after the duration specified
            by this parameter. Note that the token will still be expired after 4
            weeks of no use, regardless of the time to live. Additionally there
            might be a limit set for your organization. If the requested
            time-to-live exceeds this limit the token will be capped to that
            limit.
          format: timespan
        token:
          type: string
          description: The JWT token returned by Google Sign-In authentication flow.
      additionalProperties: false
      example:
        code: 4/yU4cQZT...4z7U4UmAI
        timeToLive: '00:30:00'
    GroupModel:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this group.
          format: uuid
        name:
          minLength: 1
          type: string
          description: The name associated with this group.
        npi:
          type: integer
          description: NPI number associated with this group.
          format: int64
        taxId:
          type: string
          description: Tax ID number associated with this group.
        remitAddress:
          $ref: '#/components/schemas/AddressModel'
      additionalProperties: false
    GroupPatchModel:
      type: object
      properties:
        name:
          type: string
          description: If set, the group's `name` will be updated with this value.
        npi:
          type: integer
          description: If set, the group's `npi` will be updated with this value.
          format: int64
        taxId:
          type: string
          description: If set, the group's `taxId` will be updated with this value.
        remitAddress:
          $ref: '#/components/schemas/AddressModel'
      additionalProperties: false
      example:
        name: string
        npi: 1234567890
    GroupPayerRelationPatchModel:
      type: object
      properties:
        add:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Collection of unique payer plan identifiers. If set, new relations
            between the group and specified payer plan in this collection will
            be created.
        remove:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Collection of unique payer plan identifiers. If set, the existing
            relations between the group and specified payer plan in this
            collection will be removed.
      additionalProperties: false
      example:
        add:
          - 5d03a731-b9b5-45b9-b67e-06bb44369102
          - ea82c3cc-9206-4d22-a501-5dd6624457d3
        remove:
          - 2b159576-92f6-453e-aaf6-822402536e02
    GroupProviderRelationPatchModel:
      type: object
      properties:
        add:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Collection of unique provider identifiers. If set, new relations
            between the group and specified provider in this collection will be
            created.
        remove:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Collection of unique provider identifiers. If set, the existing
            relations between the group and specified provider in this
            collection will be removed.
      additionalProperties: false
      example:
        add:
          - 5d03a731-b9b5-45b9-b67e-06bb44369102
          - ea82c3cc-9206-4d22-a501-5dd6624457d3
        remove:
          - 2b159576-92f6-453e-aaf6-822402536e02
    GroupRequestModel:
      required:
        - name
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: The name associated with this group.
        npi:
          type: integer
          description: NPI number associated with this group.
          format: int64
        taxId:
          type: string
          description: Tax ID number associated with this group.
        remitAddress:
          $ref: '#/components/schemas/AddressModel'
      additionalProperties: false
    IProviderParameter:
      oneOf:
        - $ref: '#/components/schemas/FacilityAccreditationInfoParameter'
        - $ref: '#/components/schemas/FacilityCmsCertificationInfoParameter'
        - $ref: '#/components/schemas/FacilityNameParameter'
        - $ref: '#/components/schemas/ProviderAddressParameter'
        - $ref: '#/components/schemas/ProviderBoardCertificationNumberParameter'
        - $ref: '#/components/schemas/ProviderCaqhIdParameter'
        - $ref: '#/components/schemas/ProviderCertificateParameter'
        - $ref: '#/components/schemas/ProviderDateOfBirthParameter'
        - $ref: '#/components/schemas/ProviderDeaParameter'
        - $ref: '#/components/schemas/ProviderEducationParameter'
        - $ref: '#/components/schemas/ProviderGenderParameter'
        - $ref: '#/components/schemas/ProviderLicenseParameter'
        - $ref: '#/components/schemas/ProviderNameParameter'
        - $ref: '#/components/schemas/ProviderNccpaBoardCertificateInfoParameter'
        - $ref: '#/components/schemas/ProviderNpiParameter'
        - $ref: '#/components/schemas/ProviderSsnParameter'
        - $ref: '#/components/schemas/ProviderTypeParameter'
      discriminator:
        propertyName: type
        mapping:
          FacilityAccreditationInfo: '#/components/schemas/FacilityAccreditationInfoParameter'
          FacilityCmsCertificationInfo: '#/components/schemas/FacilityCmsCertificationInfoParameter'
          FacilityName: '#/components/schemas/FacilityNameParameter'
          Address: '#/components/schemas/ProviderAddressParameter'
          BoardCertificationNumber: '#/components/schemas/ProviderBoardCertificationNumberParameter'
          CaqhId: '#/components/schemas/ProviderCaqhIdParameter'
          Certificate: '#/components/schemas/ProviderCertificateParameter'
          DateOfBirth: '#/components/schemas/ProviderDateOfBirthParameter'
          Dea: '#/components/schemas/ProviderDeaParameter'
          Education: '#/components/schemas/ProviderEducationParameter'
          Gender: '#/components/schemas/ProviderGenderParameter'
          License: '#/components/schemas/ProviderLicenseParameter'
          Name: '#/components/schemas/ProviderNameParameter'
          NccpaBoardCertificateInfo: '#/components/schemas/ProviderNccpaBoardCertificateInfoParameter'
          Npi: '#/components/schemas/ProviderNpiParameter'
          Ssn: '#/components/schemas/ProviderSsnParameter'
          ProviderType: '#/components/schemas/ProviderTypeParameter'
    IProviderProfileImportSource:
      type: object
      properties:
        source:
          enum:
            - Npi
            - CaqhPo
            - AmericanMedicalAssociationPhysician
            - AmericanMedicalAssociationPhysicianAssistant
          type: string
          readOnly: true
          example: CaqhPo
        name:
          type: string
          nullable: true
          readOnly: true
        requiredParameterTypes:
          uniqueItems: true
          type: array
          items:
            enum:
              - Name
              - Npi
              - DateOfBirth
              - Ssn
              - License
              - Address
              - Education
              - BoardCertificationNumber
              - Dea
              - Certificate
              - CaqhId
              - ProviderType
              - FacilityName
              - FacilityAccreditationInfo
              - FacilityCmsCertificationInfo
              - NccpaBoardCertificateInfo
              - Gender
            type: string
          nullable: true
          readOnly: true
        hasPassThroughFee:
          type: boolean
          readOnly: true
        supportsReimport:
          type: boolean
          readOnly: true
      additionalProperties: false
    IdCheckAddress:
      type: object
      properties:
        addressSource:
          type: string
          nullable: true
        countyCode:
          type: string
          nullable: true
        countyCodeDesc:
          type: string
          nullable: true
        countryCode:
          type: string
          nullable: true
        street:
          type: string
          nullable: true
        line2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        zip:
          type: string
          nullable: true
        zip4:
          type: string
          nullable: true
        firstReportedDate:
          type: string
          format: date-time
        lastReportedDate:
          type: string
          format: date-time
        totalOccurrences:
          type: integer
          format: int32
        activeOccurrences:
          type: integer
          format: int32
        grade:
          type: string
          nullable: true
        gradeDesc:
          type: string
          nullable: true
        refId:
          type: integer
          format: int32
        rank:
          type: string
          nullable: true
      additionalProperties: false
    IdCheckDatasetRecord:
      type: object
      properties:
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/IdCheckProviderAlias'
          nullable: true
        ssn:
          type: string
          nullable: true
        requestReportReferenceNumber:
          type: string
          nullable: true
        ssnIssuedFrom:
          type: string
          format: date-time
        ssnIssuedTo:
          type: string
          format: date-time
        ssnIssuedState:
          type: string
          nullable: true
        ssnIssuedState2:
          type: string
          nullable: true
        ssnIssuedState3:
          type: string
          nullable: true
        ssnSource:
          type: string
          nullable: true
        svcCode:
          type: string
          nullable: true
        svcCodeDesc:
          type: string
          nullable: true
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/IdCheckAddress'
          nullable: true
        ssnMatchCode:
          type: string
          nullable: true
        ssnMatchCodeDescription:
          type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
      additionalProperties: false
    IdCheckProviderAlias:
      type: object
      properties:
        firstReportedDate:
          type: string
          format: date-time
        totalOccurrences:
          type: integer
          format: int32
        activeOccurrences:
          type: integer
          format: int32
        lastReportedDate:
          type: string
          format: date-time
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
      additionalProperties: false
    InvalidateAllAccessTokensRequestModel:
      type: object
      properties:
        invalidateCurrent:
          type: boolean
        tokenIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      additionalProperties: false
    JointCommissionDatasetRecord:
      type: object
      properties:
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        accreditationProgramName:
          type: string
          nullable: true
        accreditationDecision:
          type: string
          nullable: true
        accreditationEffectiveDate:
          type: string
          format: date-time
          nullable: true
        facilityName:
          type: string
          nullable: true
        facilityDba:
          type: string
          nullable: true
        facilityAccreditationNumber:
          type: string
          nullable: true
        address:
          type: string
          nullable: true
        website:
          type: string
          nullable: true
        accreditationBody:
          type: string
          nullable: true
        additionalProperties:
          $ref: '#/components/schemas/FlexibleDataModel'
        attachments:
          type: array
          items:
            type: string
          nullable: true
      additionalProperties: false
    LiabilityInsuranceModel:
      type: object
      properties:
        lastUpdatedAt:
          type: string
          description: The date and time when the object was created or modified.
          format: date-time
        id:
          type: string
          description: Unique identifier associated with this insurance
          format: uuid
        name:
          type: string
          description: Name of insurance
        isSelfInsured:
          type: boolean
          description: Indicates whether the provider is self insured
        originalEffectiveDate:
          type: string
          description: Timestamp of when the initial insurance coverage became effective
          format: date-time
        currentEffectiveDate:
          type: string
          description: Timestamp of when the current insurance coverage became effective
          format: date-time
        currentExpirationDate:
          type: string
          description: Timestamp of when the current insurance expires
          format: date-time
        coverageType:
          enum:
            - Individual
            - Shared
            - Occurrence
            - ClaimsMade
          type: string
          description: 'Insurance type of coverage. Default: `Individual`'
        isUnlimitedCoverage:
          type: boolean
          description: Does this insurance have unlimited coverage?
        includesTailCoverage:
          type: boolean
          description: Indicates tail coverage status
        occurrenceCoverageAmount:
          type: number
          description: Amount of coverage provided by this insurance per occurrence
          format: double
        aggregateCoverageAmount:
          type: number
          description: Amount of aggregated coverage provided by this insurance
          format: double
        policyNumber:
          type: string
          description: Insurance policy number
      additionalProperties: false
    LiabilityInsurancePatchModel:
      type: object
      properties:
        name:
          type: string
          description: Name of insurance
        isSelfInsured:
          type: boolean
          description: Indicates whether the provider is self insured
        originalEffectiveDate:
          type: string
          description: Timestamp of when the initial insurance coverage became effective
          format: date-time
        currentEffectiveDate:
          type: string
          description: Timestamp of when the current insurance coverage became effective
          format: date-time
        currentExpirationDate:
          type: string
          description: Timestamp of when the current insurance expires
          format: date-time
        coverageType:
          enum:
            - Individual
            - Shared
            - Occurrence
            - ClaimsMade
          type: string
          description: 'Insurance type of coverage. Default: `Individual`'
        isUnlimitedCoverage:
          type: boolean
          description: Does this insurance have unlimited coverage?
        includesTailCoverage:
          type: boolean
          description: Indicates tail coverage status
        occurrenceCoverageAmount:
          type: number
          description: Amount of coverage provided by this insurance per occurrence
          format: double
        aggregateCoverageAmount:
          type: number
          description: Amount of aggregated coverage provided by this insurance
          format: double
        policyNumber:
          type: string
          description: Insurance policy number
      additionalProperties: false
    LiabilityInsuranceRequestModel:
      type: object
      properties:
        name:
          type: string
          description: Name of insurance
        isSelfInsured:
          type: boolean
          description: Indicates whether the provider is self insured
        originalEffectiveDate:
          type: string
          description: Timestamp of when the initial insurance coverage became effective
          format: date-time
        currentEffectiveDate:
          type: string
          description: Timestamp of when the current insurance coverage became effective
          format: date-time
        currentExpirationDate:
          type: string
          description: Timestamp of when the current insurance expires
          format: date-time
        coverageType:
          enum:
            - Individual
            - Shared
            - Occurrence
            - ClaimsMade
          type: string
          description: 'Insurance type of coverage. Default: `Individual`'
        isUnlimitedCoverage:
          type: boolean
          description: Does this insurance have unlimited coverage?
        includesTailCoverage:
          type: boolean
          description: Indicates tail coverage status
        occurrenceCoverageAmount:
          type: number
          description: Amount of coverage provided by this insurance per occurrence
          format: double
        aggregateCoverageAmount:
          type: number
          description: Amount of aggregated coverage provided by this insurance
          format: double
        policyNumber:
          type: string
          description: Insurance policy number
      additionalProperties: false
    LicenseModel:
      type: object
      properties:
        providerId:
          type: string
          description: Identifier of the provider associated with this license.
          format: uuid
        licenseNumber:
          type: string
          description: The license number used when attaching this license to the provider.
        firstName:
          type: string
          description: >-
            Provider first name number used when attaching this license to the
            provider.
        lastName:
          type: string
          description: Provider last name used when attaching this license to the provider.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: State associated with the license.
        jobStatus:
          enum:
            - Idle
            - Pending
            - Working
          type: string
          description: >-
            If the `jobStatus` is `Pending` or `Working` it means that we are
            busy performing the license verification. Once the status is `Idle`
            the verification is done.
        nonVerifiedInfo:
          $ref: '#/components/schemas/NonVerifiedLicenseInfoModel'
        currentVerificationStatus:
          enum:
            - Found
            - Failed
            - NeedsReview
            - NotFound
            - Pending
            - Working
          type: string
          description: Status of the last requested verification for this license.
        currentVerification:
          $ref: '#/components/schemas/LicenseVerificationModel'
        restrictionStatus:
          enum:
            - None
            - Restricted
            - Unrestricted
          type: string
          description: Restriction status for the license. `None` is a default value.
        approvedStatus:
          enum:
            - Pending
            - 'Yes'
            - 'No'
          type: string
          description: Approval status for the license. `Pending` is a default value.
        isPrimary:
          type: boolean
          description: If the flag is set, license will be set as primary for the provider.
        id:
          type: string
          description: Unique identifier for this specific license.
          format: uuid
        isCurrentlyPracticing:
          type: boolean
          description: >-
            Indicates whether the provider is currently practicing in this
            state.
        prescriptiveAuthority:
          enum:
            - RequiredMet
            - RequiredNotMet
            - NotRequired
          type: string
          description: >-
            The prescriptive authority status identifying whether the license
            requires a collaborative practice agreement or protocol, and whether
            the requirement has been met.
        collaboratingProviderId:
          type: string
          description: >-
            Identifier describing the provider who fulfills the license's
            collaborative practice agreement or protocol requirement.
          format: uuid
        licenseType:
          $ref: '#/components/schemas/SimplifiedLicenseTypeModel'
      additionalProperties: false
    LicenseMonitorModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          enum:
            - Dataset
            - License
          type: string
          description: >-
            Monitoring type for this monitor object. The license identifier and
            dataset type will be set based on this type.
        monitoringInterval:
          enum:
            - Continuous
            - Daily
            - Weekly
            - Monthly
            - Yearly
          type: string
          description: >-
            The interval at which the data is being monitored.<br/><i>NOTE:
            Continuous interval is only supported by the `NPDB` dataset at this
            time.</i>
          example: Monthly
        nextMonitoringDate:
          type: string
          description: The next date on which this data is scheduled to be monitored.
          format: date-time
        lastMonitoringDate:
          type: string
          description: The date on which this data was monitored last time.
          format: date-time
        providerId:
          type: string
          description: The identifier of the provider that is associated with this monitor.
          format: uuid
        facilityId:
          type: string
          description: The identifier of the facility that is associated with this monitor.
          format: uuid
        licenseId:
          type: string
          description: The identifier of the license that is associated with this monitor.
          format: uuid
        lastVerification:
          $ref: '#/components/schemas/LicenseVerificationModel'
      additionalProperties: false
    LicensePatchModel:
      type: object
      properties:
        restrictionStatus:
          enum:
            - None
            - Restricted
            - Unrestricted
          type: string
          description: >-
            If set, the license's restriction status will be updated with this
            value.
        approvedStatus:
          enum:
            - Pending
            - 'Yes'
            - 'No'
          type: string
          description: >-
            If set, the license's approved status will be updated with this
            value.
        nonVerifiedInfo:
          $ref: '#/components/schemas/NonVerifiedLicenseInfoModel'
        isCurrentlyPracticing:
          type: boolean
          description: >-
            If set, the license's `isCurrentlyPracticing` flag will be updated
            with this value.
        isPrimary:
          type: boolean
          description: >-
            If set, the license's `isPrimary` flag will be updated with this
            value.
        prescriptiveAuthority:
          enum:
            - RequiredMet
            - RequiredNotMet
            - NotRequired
          type: string
        collaboratingProviderId:
          type: string
          format: uuid
      additionalProperties: false
      example:
        restrictionStatus: NotRestricted
        approvedStatus: 'Yes'
    LicenseSourceStatusModel:
      type: object
      properties:
        issue:
          enum:
            - PossibleIssue
            - SourceIssue
            - AutomationIssue
            - AutomationDegraded
          type: string
          description: >-
            License source issue type. Set only if the license source is
            presenting any issue during verification.
        averageProcessingTime:
          type: number
          description: >-
            Average processing time for a license verification (based on
            verifications over last 24 hrs).
          format: double
        averageFailureRate:
          type: number
          description: >-
            Average license verification failure rate for a license verification
            (based on verifications over last 24 hrs).
          format: double
      additionalProperties: false
    LicenseVerificationAttachmentModel:
      type: object
      properties:
        file:
          $ref: '#/components/schemas/FileModel'
        type:
          enum:
            - DisciplinaryAction
            - VerificationLetter
            - AdditionalDocument
          type: string
        source:
          type: string
          description: The original url for the file, taken from the verification source.
        downloadStatus:
          enum:
            - Downloaded
            - Failed
          type: string
          description: The status of the download. ´Downloaded´ or ´Failed´
        failureReason:
          $ref: '#/components/schemas/FailureModel'
      additionalProperties: false
    LicenseVerificationDiffModel:
      type: object
      properties:
        old:
          $ref: '#/components/schemas/LicenseVerificationModel'
        new:
          $ref: '#/components/schemas/LicenseVerificationModel'
        diff:
          description: >-
            Diff in [jsondiffpatch](https://github.com/benjamine/jsondiffpatch)
            format.
      additionalProperties: false
    LicenseVerificationModel:
      type: object
      properties:
        originalStatus:
          enum:
            - Found
            - Failed
            - NeedsReview
            - NotFound
            - Pending
            - Working
          type: string
          description: >-
            The original status as our license verification process determined.
            Unlike `status` the `originalStatus` can never change.
        status:
          enum:
            - Found
            - Failed
            - NeedsReview
            - NotFound
            - Pending
            - Working
          type: string
          description: >-
            The current status for this license verification. If you patch the
            license verification status (in case the status is `NeedsReview`)
            this property will be updated, but `originalStatus` will remain the
            same.
        trigger:
          enum:
            - Manual
            - Monitor
          type: string
          description: >-
            Set to `Manual` if the verification is triggered by a user or
            `Monitor` if the verification was triggered by the monitoring
            system.
        started:
          type: string
          description: Timestamp of when the license verification started processing.
          format: date-time
        processingTime:
          type: integer
          description: >-
            The duration in milliseconds it took to process the license
            verification from start to end.
          format: int64
        results:
          type: array
          items:
            $ref: '#/components/schemas/LicenseVerificationResultModel'
          description: >-
            Array of verification records returned by the source that match the
            license number.
        additionalVerificationParameters:
          type: array
          items:
            $ref: '#/components/schemas/IProviderParameter'
          description: >-
            List of additional parameters required for a select number of
            sources. Missing data for select sources will result in a failed
            verification.
        verificationSource:
          $ref: '#/components/schemas/VerificationSourceModel'
        failureReason:
          $ref: '#/components/schemas/FailureModel'
        correctResultIndex:
          type: integer
          description: >-
            In case there is more than 1 result you can patch the verification
            and specify which of the records is the correct match by setting
            `correctResultIndex` to the appropriate index matching the index in
            the `results` array.
          format: int32
        export:
          type: string
          description: >-
            Once a license verification is in an 'end state' a PDF export will
            be generated. Once the PDF is generated this property will contain
            the path to that export. That path can be used to [download the
            file](/reference/operation/DownloadFile). Please note that the
            process to generate an export is asynchronous and it can take
            several seconds after a verification is completed before the export
            is ready.
        id:
          type: string
          description: Unique identifier for this license verification.
          format: uuid
        monitoringMetadata:
          $ref: '#/components/schemas/MonitoringMetadata'
      additionalProperties: false
    LicenseVerificationParameters:
      type: object
      properties:
        requiredParameters:
          type: array
          items:
            enum:
              - LicenseNumber
              - Name
              - Ssn
            type: string
          description: >-
            List of parameters required to run a license verification. Missing
            data for a required parameter will result into a failed
            verification.
        optionalParameters:
          type: array
          items:
            enum:
              - LicenseNumber
              - Name
              - Ssn
            type: string
          description: >-
            List of optional parameters that may be used to improve the
            verification result quality by applying additional filters.
      additionalProperties: false
    LicenseVerificationResolutionModel:
      type: object
      properties:
        status:
          enum:
            - Found
            - Failed
            - NeedsReview
            - NotFound
            - Pending
            - Working
          type: string
          description: The correct status for this license verification.
        correctResultIndex:
          type: integer
          description: >-
            The correct result index for this license verification (if
            applicable).
          format: int32
      additionalProperties: false
      example:
        status: Found
        correctResultIndex: 0
    LicenseVerificationResultModel:
      type: object
      properties:
        name:
          type: string
          description: Name of the provider as indicated by the source.
        licenseType:
          type: string
          description: Textual description of the license type as indicated by the source.
        licenseStatus:
          type: string
          description: >-
            Textual description of the license status as indicated by the
            source.
        licenseNumber:
          type: string
          description: License number as indicated by the source.
        address:
          type: string
          description: Address of the license holder as indicated by the source.
        issued:
          type: string
          description: Timestamp when the license was issued as indicated by the source.
          format: date-time
        expires:
          type: string
          description: Timestamp when the license expires as indicated by the source.
          format: date-time
        screenshots:
          type: array
          items:
            type: string
          description: >-
            Array of paths to screenshots that were taken as proof of the
            license verification.
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/LicenseVerificationAttachmentModel'
          description: >-
            Array of attachments related to the verification that were taken
            from the source.
        disciplinaryActions:
          $ref: '#/components/schemas/FlexibleDataModel'
        additionalProperties:
          $ref: '#/components/schemas/FlexibleDataModel'
        problems:
          type: array
          items:
            enum:
              - NameMismatch
              - LicenseTypeMismatch
            type: string
          description: >-
            Array of problems that resulted in a `NeedsReview` status for the
            license verification.
        matchScore:
          $ref: '#/components/schemas/MatchScore'
        prescriptiveAuthority:
          type: string
          description: >-
            Indicates whether the provider is legally authorized to prescribe
            medications, as reported by the licensing authority.
        compactStatus:
          type: string
          description: >-
            Indicates whether the provider holds a multistate/interstate
            practice privilege under an applicable compact, as reported by the
            licensing authority.
      additionalProperties: false
    MaintenanceDowntimeCronDescription:
      type: object
      properties:
        expression:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        isUnderMaintenanceInTheNextHour:
          type: boolean
        trigger:
          enum:
            - Manual
            - Automated
          type: string
        expiresIn:
          type: string
          format: timespan
          nullable: true
        isExpired:
          type: boolean
          nullable: true
      additionalProperties: false
    MatchScore:
      type: object
      properties:
        score:
          type: number
          format: double
        recommendation:
          enum:
            - Mismatch
            - Match
          type: string
      additionalProperties: false
    MedicaidEnrollmentCaliforniaDatasetRecord:
      type: object
      properties:
        providerSource:
          type: string
          nullable: true
        providerNumber:
          type: string
          nullable: true
        ownerNumber:
          type: string
          nullable: true
        serviceLocationNumber:
          type: string
          nullable: true
        enrollStatusEffectiveDate:
          type: string
          format: date-time
          nullable: true
        providerTaxonomy:
          type: string
          nullable: true
        nemtNmtProviderType:
          type: string
          nullable: true
        ancProviderType:
          type: string
          nullable: true
        fiProviderTypeCd:
          type: string
          nullable: true
        fiProviderType:
          type: string
          nullable: true
        providerLicense:
          type: string
          nullable: true
        fiProviderSpecialtyCd:
          type: string
          nullable: true
        fiProviderSpecialty:
          type: string
          nullable: true
        outOfStateIndicator:
          type: string
          nullable: true
        inOutState:
          type: string
          nullable: true
        addressAttention:
          type: string
          nullable: true
        dhcsCountyCd:
          type: string
          nullable: true
        fipsCountyCd:
          type: string
          nullable: true
        countyName:
          type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        address:
          type: string
          nullable: true
        fullName:
          type: string
          nullable: true
        npiNumber:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    MedicaidEnrollmentModel:
      type: object
      properties:
        lastUpdatedAt:
          type: string
          description: The date and time when the object was created or modified.
          format: date-time
        id:
          type: string
          description: Unique identifier associated with this Medicaid enrollment.
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: State of the Medicaid enrollment.
        nonVerifiedInfo:
          $ref: '#/components/schemas/MedicaidEnrollmentNonVerifiedInfoModel'
      additionalProperties: false
    MedicaidEnrollmentNonVerifiedInfoModel:
      type: object
      properties:
        effectiveDate:
          type: string
          description: The effective date of this Medicaid enrollment.
          format: date-time
        providerType:
          type: string
          description: The type of provider of this Medicaid enrollment.
        providerSpecialty:
          type: string
          description: Provider specialty associated with the Medicaid enrollment.
        address:
          type: string
          description: Provider address.
        inState:
          type: boolean
      additionalProperties: false
    MedicaidEnrollmentPatchModel:
      type: object
      properties:
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          nullable: true
        nonVerifiedInfo:
          $ref: '#/components/schemas/MedicaidEnrollmentNonVerifiedInfoModel'
      additionalProperties: false
    MedicaidEnrollmentRequestModel:
      required:
        - state
      type: object
      properties:
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: State of the Medicaid enrollment.
        nonVerifiedInfo:
          $ref: '#/components/schemas/MedicaidEnrollmentNonVerifiedInfoModel'
      additionalProperties: false
    MedicareEnrollmentTypeModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        code:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
      additionalProperties: false
    MedicareEnrollmentTypePageModel:
      type: object
      properties:
        sort:
          type: object
          additionalProperties:
            enum:
              - Asc
              - Desc
            type: string
          nullable: true
        previousCursor:
          type: string
          nullable: true
        nextCursor:
          type: string
          nullable: true
        nextOffset:
          type: integer
          format: int32
          nullable: true
        pageSize:
          type: integer
          format: int32
        count:
          type: integer
          format: int32
        totalCount:
          type: integer
          format: int32
          nullable: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/MedicareEnrollmentTypeModel'
          nullable: true
        sortedBy:
          enum:
            - Code
            - Description
          type: string
          nullable: true
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          nullable: true
      additionalProperties: false
    MedicareOptOutDatasetRecord:
      type: object
      properties:
        speciality:
          type: string
          nullable: true
        effectiveDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        eligibleToOrderAndRefer:
          type: boolean
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        address:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        npiNumber:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    MonitorDatasetInfo:
      required:
        - datasetType
      type: object
      properties:
        datasetType:
          enum:
            - Sam
            - MedicareOptOut
            - OigFugitives
            - OfacSdn
            - OfacConsolidated
            - OigExclusions
            - StateSanctionsAndExclusions
            - Npdb
            - Dmf
            - Npi
            - Nsc
            - Dea
            - CmsPreclusion
            - Tricare
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - Abms
            - NationalBoardforCertifiedCounselors
            - AmericanAcademyofNursePractitioners
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanOsteopathicAssociation
            - AmericanNursesCredentialingCenter
            - NationalBoardforCertificationinOccupationalTherapy
            - AmericanSpeechLanguageHearingAssociation
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofPsychiatryandNeurology
            - InternationalBoardofLactationConsultantExaminers
            - AmericanMidwiferyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofClinicalSocialWork
            - BoardOfPharmacySpecialties
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofOrthodontics
            - AmericanBoardofOralMedicine
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofProsthodontics
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofEndodontics
            - AmericanBoardofPeriodontology
            - AmericanBoardofOralImplantology
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofDentalPublicHealth
            - BehaviorAnalystCertificationBoard
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - AmericanBoardofAddictionMedicine
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - CommissionOnDieteticRegistration
            - AmericanBoardOfObesityMedicine
            - NationalCertificationCorporation
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - AmericanRegistryOfRadiologyTechnologists
            - AmericanBoardOfAnesthesiology
            - AmericanRegistryForDiagnosticMedicalSonography
            - NationalBoardOfPhysiciansAndSurgeons
            - CardiovascularCredentialingInternational
            - NationalCenterForCompetencyTesting
            - NationalAssociationOfPhlebotomyTechnicians
            - AmericanAlliedHealth
            - NationalRegistryOfAlliedHealthProfessionals
            - AmericanMedicalTechnologists
            - NationalHealthCareerAssociation
            - DentalAssistingNationalBoard
            - PediatricNursingCertification
            - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
            - CertificationBoardForMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardofPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPediatrics
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofUrology
            - AmericanBoardofColonandRectalSurgery
            - AmericanAssociationofCriticalCareNurses
            - AmericanBoardofFootandAnkleSurgery
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanBoardofEmergencyMedicine
            - ArtTherapyCredentialsBoard
            - AmericanHeartAssociation
            - MedicaidEnrollmentCalifornia
            - JointCommission
            - FacilityCmsCertification
          type: string
        parameterSetId:
          type: string
          format: uuid
        monitoringInterval:
          enum:
            - Continuous
            - Daily
            - Weekly
            - Monthly
            - Yearly
          type: string
          example: Monthly
        nextMonitoringDate:
          type: string
          format: date-time
      additionalProperties: false
    MonitorModel:
      oneOf:
        - $ref: '#/components/schemas/DatasetMonitorModel'
        - $ref: '#/components/schemas/LicenseMonitorModel'
      discriminator:
        propertyName: type
        mapping:
          Dataset: '#/components/schemas/DatasetMonitorModel'
          License: '#/components/schemas/LicenseMonitorModel'
    MonitorPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Type
                - NextMonitoringDate
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          nullable: true
        previousCursor:
          type: string
          nullable: true
        nextCursor:
          type: string
          nullable: true
        nextOffset:
          type: integer
          format: int32
          nullable: true
        pageSize:
          type: integer
          format: int32
        count:
          type: integer
          format: int32
        totalCount:
          type: integer
          format: int32
          nullable: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/MonitorModel'
          nullable: true
        sortedBy:
          enum:
            - Type
            - NextMonitoringDate
          type: string
          nullable: true
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          nullable: true
      additionalProperties: false
    MonitorPatchModel:
      type: object
      properties:
        monitoringInterval:
          enum:
            - Continuous
            - Daily
            - Weekly
            - Monthly
            - Yearly
          type: string
          description: >-
            If set, this will update the monitoring interval for this
            monitor.<br/><i>NOTE: Continuous interval is only supported by the
            `NPDB` dataset at this time.</i>
          example: Monthly
        nextMonitoringDate:
          type: string
          description: >-
            If set, this will update the next date at which the data will be
            monitored.
          format: date-time
        triggerImmediateVerification:
          type: boolean
          description: If set, this will trigger an immediate verification
      additionalProperties: false
    MonitorRequestModel:
      required:
        - type
      type: object
      properties:
        type:
          enum:
            - Dataset
            - License
          type: string
          description: >-
            Specify monitoring type, will be used for validation and creating
            monitor. This will be used along with license id or dataset type
        providerId:
          type: string
          description: >-
            Provider identifier for which the monitor is to be created. A
            monitor can be created either for a provider or a facility, but not
            for both at the same time.<p
            style='color:red;font-size:10pt;'>*Required if 'facilityId' is not
            specified.</p>
          format: uuid
        facilityId:
          type: string
          description: >-
            Facility identifier for which the monitor is to be created. A
            monitor can be created either for a provider or a facility, but not
            for both at the same time.<p
            style='color:red;font-size:10pt;'>*Required if 'providerId' is not
            specified.</p>
          format: uuid
        datasetType:
          enum:
            - Sam
            - MedicareOptOut
            - OigFugitives
            - OfacSdn
            - OfacConsolidated
            - OigExclusions
            - StateSanctionsAndExclusions
            - Npdb
            - Dmf
            - Npi
            - Nsc
            - Dea
            - CmsPreclusion
            - Tricare
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - Abms
            - NationalBoardforCertifiedCounselors
            - AmericanAcademyofNursePractitioners
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanOsteopathicAssociation
            - AmericanNursesCredentialingCenter
            - NationalBoardforCertificationinOccupationalTherapy
            - AmericanSpeechLanguageHearingAssociation
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofPsychiatryandNeurology
            - InternationalBoardofLactationConsultantExaminers
            - AmericanMidwiferyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofClinicalSocialWork
            - BoardOfPharmacySpecialties
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofOrthodontics
            - AmericanBoardofOralMedicine
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofProsthodontics
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofEndodontics
            - AmericanBoardofPeriodontology
            - AmericanBoardofOralImplantology
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofDentalPublicHealth
            - BehaviorAnalystCertificationBoard
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - AmericanBoardofAddictionMedicine
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - CommissionOnDieteticRegistration
            - AmericanBoardOfObesityMedicine
            - NationalCertificationCorporation
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - AmericanRegistryOfRadiologyTechnologists
            - AmericanBoardOfAnesthesiology
            - AmericanRegistryForDiagnosticMedicalSonography
            - NationalBoardOfPhysiciansAndSurgeons
            - CardiovascularCredentialingInternational
            - NationalCenterForCompetencyTesting
            - NationalAssociationOfPhlebotomyTechnicians
            - AmericanAlliedHealth
            - NationalRegistryOfAlliedHealthProfessionals
            - AmericanMedicalTechnologists
            - NationalHealthCareerAssociation
            - DentalAssistingNationalBoard
            - PediatricNursingCertification
            - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
            - CertificationBoardForMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardofPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPediatrics
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofUrology
            - AmericanBoardofColonandRectalSurgery
            - AmericanAssociationofCriticalCareNurses
            - AmericanBoardofFootandAnkleSurgery
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanBoardofEmergencyMedicine
            - ArtTherapyCredentialsBoard
            - AmericanHeartAssociation
            - MedicaidEnrollmentCalifornia
            - JointCommission
            - FacilityCmsCertification
          type: string
          description: Specify dataset type for which the monitor is to be created.
        licenseId:
          type: string
          description: Specify license identifier for which the monitor is to be created.
          format: uuid
        monitoringInterval:
          enum:
            - Continuous
            - Daily
            - Weekly
            - Monthly
            - Yearly
          type: string
          description: >-
            If set, this will update the monitoring interval for this
            monitor.<br/><i>NOTE: Continuous interval is only supported by the
            `NPDB` dataset at this time.</i>
          example: Monthly
        nextMonitoringDate:
          type: string
          description: >-
            If set, this will update the next date at which the data will be
            monitored.
          format: date-time
        options:
          $ref: '#/components/schemas/DatasetScanOptions'
        triggerImmediateVerification:
          type: boolean
          description: >-
            If set, this will trigger an immediate verification for the monitor,
            'nextMonitoringDate' will be ignored in this case.
      additionalProperties: false
    MonitoringMetadata:
      type: object
      properties:
        monitoringInterval:
          enum:
            - Continuous
            - Daily
            - Weekly
            - Monthly
            - Yearly
          type: string
          description: >-
            The interval at which the data is being monitored.<br/><i>NOTE:
            Continuous interval is only supported by the `NPDB` dataset at this
            time.</i>
          example: Monthly
        lastMonitoringDate:
          type: string
          description: The previous date on which this data was monitored, if any.
          format: date-time
        nextMonitoringDate:
          type: string
          description: The next date on which this data is scheduled to be monitored.
          format: date-time
        monitorId:
          type: string
          description: Unique identifier of the monitor.
          format: uuid
      additionalProperties: false
    NameOnSchoolRecord:
      type: object
      properties:
        suffix:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
      additionalProperties: false
    NoContentResult:
      type: object
      properties:
        statusCode:
          type: integer
          format: int32
      additionalProperties: false
    NonVerifiedBoardCertificationInfoModel:
      type: object
      properties:
        initialCertificationDate:
          type: string
          description: Initial certification date for this board certificate.
          format: date-time
        recertificationDate:
          type: string
          description: Last recertification date for this board certificate.
          format: date-time
        expirationDate:
          type: string
          description: Expiration date for this board certificate.
          format: date-time
      additionalProperties: false
    NonVerifiedLicenseInfoModel:
      type: object
      properties:
        issueDate:
          type: string
          format: date-time
          nullable: true
        expirationDate:
          type: string
          format: date-time
          nullable: true
        status:
          type: string
          nullable: true
      additionalProperties: false
    NormalizedAddress:
      type: object
      properties:
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          nullable: true
        zipCode:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        addressLine:
          type: string
          nullable: true
      additionalProperties: false
    NpdbAffiliation:
      type: object
      properties:
        entityName:
          type: string
          nullable: true
        entityAddress:
          $ref: '#/components/schemas/NormalizedAddress'
        natureOfRelationship:
          type: string
          nullable: true
        otherNatureOfRelationship:
          type: string
          nullable: true
      additionalProperties: false
    NpdbCodeDescription:
      type: object
      properties:
        code:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        specifiedValue:
          type: string
          nullable: true
      additionalProperties: false
    NpdbDatasetRecord:
      type: object
      properties:
        subjectInformation:
          $ref: '#/components/schemas/NpdbSubjectInformation'
        queryInformation:
          $ref: '#/components/schemas/NpdbQueryInformation'
        reports:
          type: array
          items:
            $ref: '#/components/schemas/NpdbReportInformation'
          nullable: true
        reportPaths:
          type: array
          items:
            type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
      additionalProperties: false
    NpdbEnrollmentStatus:
      type: object
      properties:
        status:
          type: string
          nullable: true
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    NpdbHospitalAffiliation:
      type: object
      properties:
        hospitalName:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
      additionalProperties: false
    NpdbInformationReported:
      type: object
      properties:
        type:
          enum:
            - Aar
            - Mmpr
            - Jocr
            - LegacyMmpr
            - LegacyAar
          type: string
          readOnly: true
      additionalProperties: false
    NpdbLatestReportingEntityInformation:
      type: object
      properties:
        statusDescription:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
        additionalName:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/NormalizedAddress'
        officeOrName:
          type: string
          nullable: true
        titleOrDepartment:
          type: string
          nullable: true
        phone:
          type: string
          nullable: true
        lastUpdateDate:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    NpdbOccupationAndLicensure:
      type: object
      properties:
        type:
          type: string
          nullable: true
        number:
          type: string
          nullable: true
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          nullable: true
        noLicense:
          type: boolean
          nullable: true
        specialty:
          type: string
          nullable: true
      additionalProperties: false
    NpdbProfessionalSchoolInformation:
      type: object
      properties:
        name:
          type: string
          description: Name of the school
        yearOfGraduation:
          type: string
          description: Year subject graduated on this school.
      additionalProperties: false
      example:
        name: UC Davis
        yearOfGraduation: '2008'
    NpdbQueryInformation:
      type: object
      properties:
        statutesQueried:
          type: array
          items:
            type: string
          description: The statutes queried on the NPDB verification.
        queryType:
          enum:
            - OneTimeQuery
            - ContinuousQuery
            - CancellationQuery
            - StatusQuery
            - RenewQuery
            - UpdateQuery
            - TransferQuery
            - HealthCheckQuery
          type: string
          description: OneTimeQuery or ContinuousQuery.
        entityName:
          type: string
          description: The entity of the point of contact.
        entityDbId:
          type: string
        authorizedSubmitter:
          $ref: '#/components/schemas/NpdbSubmitterInformation'
      additionalProperties: false
      example:
        statutesQueried:
          - Title IV
          - Section 1921
          - Section 1128E
        queryType: OneTimeQuery
        entityName: Reporting Entity
        authorizedSubmitter:
          name: Jane Smith
          phone: 345-6789
          title: CEO
    NpdbReportInformation:
      type: object
      properties:
        transactionType:
          type: string
        dcn:
          type: string
        previousDcn:
          type: string
        previousDcnNote:
          type: string
        latestRelatedDcn:
          type: string
        reportingEntity:
          $ref: '#/components/schemas/NpdbReportingEntityInformation'
        latestReportingEntity:
          $ref: '#/components/schemas/NpdbLatestReportingEntityInformation'
        subject:
          $ref: '#/components/schemas/NpdbReportSubjectInformation'
        informationReported:
          type: array
          items:
            $ref: '#/components/schemas/NpdbInformationReported'
          description: Reported information, depending on the type of report.
        subjectNotificationFailure:
          $ref: '#/components/schemas/NpdbSubjectNotificationFailure'
        subjectStatement:
          type: string
          description: Subject statement.
        subjectStatementDate:
          type: string
          format: date-time
        disputeStatus:
          enum:
            - ReportDisputed
            - ReviewRequested
            - ReconsiderationRequested
            - DecisionReached
          type: string
          description: Report dispute status.
        originalSubmission:
          type: string
          description: Date of original submission.
          format: date-time
        mostRecentChange:
          type: string
          description: Date of most recent change.
          format: date-time
        notes:
          type: array
          items:
            type: string
        maintainedUnder:
          type: array
          items:
            $ref: '#/components/schemas/NpdbCodeDescription'
      additionalProperties: false
      example:
        reportingEntity:
          name: CPMC Van Ness Campus
          additionalName: Sutter Health
          address:
            state: CA
            zipCode: '94123'
            city: San Francisco
            addressLine: The avenue
          officeOrName: Silver Tower
          titleOrDepartment: HR
          phone: '5781234567'
          entityReference: '00000001'
        subject:
          name: Kelly June Washington
          dateOfBirth: 1988-11-6
          organizationName: UCSF
          organizationType: Medical Group/Practice
          organizationTypeCode: '365'
          workAddress:
            state: CA
            zipCode: '94123'
            city: San Francisco
            addressLine: The avenue
          license: Physician (MD)
          otherNames: ''
          deceased: ''
          ssn: '*****4057'
          npi: '1234567890'
          professionalSchools:
            - name: UC Davis
              yearOfGraduation: '2008'
          specialty: ''
          dea: '123456789012'
          healthCareEntities: []
          businessAddress:
            state: CA
            zipCode: '94123'
            city: San Francisco
            addressLine: The avenue
          natureOfRelationship: Subject is Owner/Partner of Affiliate or Associate
        informationReported:
          - initialAction: Revocation of Clinical Privileges
            typeOfAdverseAction: Clinical Privilege
            basisForAction:
              code: AA
              description: Failure to Comply With Corrective Action Plan
            classifications:
              - code: '1610'
                description: REVOCATION OF CLINICAL PRIVILEGES
            dateActionWasTaken: 2009-9-7
            dateActionBecameEffective: 2009-9-8
            lengthOfAction:
              type: indefinite
            descriptionOfSubjectActs: test report
        subjectStatement: >-
          If the subject identified in Section B of this report has submitted a
          statement, it appears in this section.
        disputeStatus: reviewRequested
        originalSubmission: 2020-10-2
        mostRecentChange: 2020-10-3
    NpdbReportSubjectInformation:
      type: object
      properties:
        name:
          type: string
        otherNames:
          type: array
          items:
            type: string
          description: Other names used by the subject.
        gender:
          type: string
        dateOfBirth:
          type: string
          format: date-time
        organizationName:
          type: string
        organizationTypeCode:
          type: string
        workAddress:
          $ref: '#/components/schemas/NormalizedAddress'
        homeAddress:
          $ref: '#/components/schemas/NormalizedAddress'
        license:
          type: string
        organizationType:
          type: string
        ssn:
          type: array
          items:
            type: string
          description: Social Security Number (SSN) of subject.
        npi:
          type: array
          items:
            type: string
          description: National Provider Identifiers (NPI).
        occupationAndLicensure:
          $ref: '#/components/schemas/NpdbOccupationAndLicensure'
        otherOccupationAndLicensure:
          type: array
          items:
            $ref: '#/components/schemas/NpdbOccupationAndLicensure'
        enrollmentStatuses:
          type: array
          items:
            $ref: '#/components/schemas/NpdbEnrollmentStatus'
        professionalSchools:
          type: array
          items:
            $ref: '#/components/schemas/NpdbProfessionalSchoolInformation'
          description: Professional school attended by the subject.
        deceased:
          type: boolean
          description: True or false indicating if subject is deceased.
        dea:
          type: array
          items:
            type: string
          description: Drug Enforcement Administration (DEA) Numbers.
        upin:
          type: array
          items:
            type: string
        fein:
          type: array
          items:
            type: string
        healthCareEntities:
          type: array
          items:
            type: string
          description: >-
            Name of health care entities with which subject is affiliated or
            associated.
        hospitalAffiliations:
          type: array
          items:
            $ref: '#/components/schemas/NpdbHospitalAffiliation'
        affiliations:
          type: array
          items:
            $ref: '#/components/schemas/NpdbAffiliation'
        occupationFieldOfLicensure:
          type: string
        stateLicenseNumber:
          type: string
      additionalProperties: false
      example:
        name: Kelly June Washington
        dateOfBirth: 1988-11-6
        organizationName: UCSF
        organizationType: Medical Group/Practice
        organizationTypeCode: '365'
        workAddress:
          state: CA
          zipCode: '94123'
          city: San Francisco
          addressLine: The avenue
        license: Physician (MD)
        otherNames: ''
        deceased: ''
        ssn: '*****4057'
        npi: '1234567890'
        professionalSchools:
          - name: UC Davis
            yearOfGraduation: '2008'
        specialty: ''
        dea: '123456789012'
        healthCareEntities: []
        businessAddress:
          state: CA
          zipCode: '94123'
          city: San Francisco
          addressLine: The avenue
        natureOfRelationship: Subject is Owner/Partner of Affiliate or Associate
    NpdbReportingEntityInformation:
      type: object
      properties:
        name:
          type: string
          description: Name of the reporting entity.
        additionalName:
          type: string
          description: Additional names used by the reporting entity.
        address:
          $ref: '#/components/schemas/NormalizedAddress'
        officeOrName:
          type: string
          description: >-
            The current individual or office designated as the point of contact
            for this report.
        titleOrDepartment:
          type: string
          description: Title or department of point of contact.
        phone:
          type: string
          description: Telephone number.
        entityReference:
          type: string
          description: >-
            Entity Internal Report Reference. A file number or other reference
            information established by the reporting entity to help identify
            this report in their files. This information is not used by the
            NPDB, but it will be provided on copies of the report sent to
            query(es).
      additionalProperties: false
      example:
        name: CPMC Van Ness Campus
        additionalName: Sutter Health
        address:
          state: CA
          zipCode: '94123'
          city: San Francisco
          addressLine: The avenue
        officeOrName: Silver Tower
        titleOrDepartment: HR
        phone: '5781234567'
        entityReference: '00000001'
    NpdbSubjectInformation:
      type: object
      properties:
        name:
          type: string
          description: Name of the subject / provider.
        otherNames:
          type: array
          items:
            type: string
        gender:
          type: string
        dateOfBirth:
          type: string
          description: Date of birth of the subject / provider.
          format: date-time
        organizationName:
          type: string
          description: Organization name of the subject / provider.
        organizationTypeCode:
          type: string
          description: The NPDB's organization type code.
        workAddress:
          $ref: '#/components/schemas/NormalizedAddress'
        homeAddress:
          $ref: '#/components/schemas/NormalizedAddress'
        license:
          type: string
          description: The license type as described by NPDB.
        organizationType:
          type: string
          description: Organization type as described by NPDB.
        ssn:
          type: array
          items:
            type: string
        npi:
          type: array
          items:
            type: string
        occupationAndLicensure:
          $ref: '#/components/schemas/NpdbOccupationAndLicensure'
        otherOccupationAndLicensure:
          type: array
          items:
            $ref: '#/components/schemas/NpdbOccupationAndLicensure'
        enrollmentStatuses:
          type: array
          items:
            $ref: '#/components/schemas/NpdbEnrollmentStatus'
        professionalSchools:
          type: array
          items:
            $ref: '#/components/schemas/NpdbProfessionalSchoolInformation'
      additionalProperties: false
      example:
        name: Kelly June Washington
        dateOfBirth: 1988-11-6
        organizationName: UCSF
        organizationType: Medical Group/Practice
        organizationTypeCode: '365'
        workAddress:
          state: CA
          zipCode: '94123'
          city: San Francisco
          addressLine: The avenue
        license: Physician (MD)
    NpdbSubjectNotificationFailure:
      type: object
      properties:
        notificationDate:
          type: string
          format: date-time
        address:
          $ref: '#/components/schemas/NormalizedAddress'
      additionalProperties: false
    NpdbSubmitterInformation:
      type: object
      properties:
        name:
          type: string
          description: Name of the authorized submitter.
        phone:
          type: string
          description: Phone number of the authorized submitter.
        title:
          type: string
          description: Title of the authorized submitter.
        date:
          type: string
          format: date-time
      additionalProperties: false
      example:
        name: Jane Smith
        phone: 345-6789
        title: CEO
    NpdbUpdateRequestRejectedWebhook:
      type: object
      properties:
        message:
          type: string
          description: The reason why the update request was rejected by NPDB.
        providerId:
          type: string
          description: >-
            The identifier of the provider that is associated with the NPDB
            update request.
          format: uuid
        npdbVerificationRequestId:
          type: string
          description: >-
            The identifier of the active NPDB continuous query associated with
            the NPDB update request.
          format: uuid
        rejectedParameters:
          type: array
          items:
            $ref: '#/components/schemas/IProviderParameter'
      additionalProperties: false
    NpiDatasetRecord:
      type: object
      properties:
        enumerationType:
          type: string
          nullable: true
        isDeactivated:
          type: boolean
        deactivationReason:
          type: string
          nullable: true
        basic:
          $ref: '#/components/schemas/NpiProfile.NpiBasicModel'
        otherNames:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.OtherName'
          nullable: true
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.Address'
          nullable: true
        practiceLocations:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.Address'
          nullable: true
        taxonomies:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.Taxonomy'
          nullable: true
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.Identifier'
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        npiNumber:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    NpiProfile.Address:
      type: object
      properties:
        addressLine1:
          type: string
          nullable: true
        addressLine2:
          type: string
          nullable: true
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          nullable: true
        postalCode:
          type: string
          nullable: true
        countryCode:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        telephoneNumber:
          type: string
          nullable: true
        faxNumber:
          type: string
          nullable: true
        purpose:
          enum:
            - Location
            - Mailing
            - Primary
            - Secondary
          type: string
          nullable: true
        updateDate:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    NpiProfile.Identifier:
      type: object
      properties:
        number:
          type: string
          nullable: true
        code:
          type: string
          nullable: true
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          nullable: true
        issuer:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
      additionalProperties: false
    NpiProfile.NpiBasicModel:
      type: object
      properties:
        replacementNpi:
          type: integer
          format: int64
          nullable: true
        ein:
          type: string
          nullable: true
        organizationName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        namePrefix:
          type: string
          nullable: true
        nameSuffix:
          type: string
          nullable: true
        credential:
          type: string
          nullable: true
        enumerationDate:
          type: string
          format: date-time
          nullable: true
        lastUpdateDate:
          type: string
          format: date-time
          nullable: true
        certificationDate:
          type: string
          format: date-time
          nullable: true
        isSoleProprietor:
          type: boolean
          nullable: true
        isOrganizationalSubpart:
          type: boolean
          nullable: true
        parentOrganizationLbn:
          type: string
          nullable: true
        parentOrganizationTin:
          type: string
          nullable: true
        authorizedOfficialNamePrefix:
          type: string
          nullable: true
        authorizedOfficialNameSuffix:
          type: string
          nullable: true
        authorizedOfficialCredential:
          type: string
          nullable: true
        authorizedOfficialFirstName:
          type: string
          nullable: true
        authorizedOfficialLastName:
          type: string
          nullable: true
        authorizedOfficialMiddleName:
          type: string
          nullable: true
        authorizedOfficialTelephoneNumber:
          type: string
          nullable: true
        authorizedOfficialTitleOrPosition:
          type: string
          nullable: true
        deactivationDate:
          type: string
          format: date-time
          nullable: true
        reactivationDate:
          type: string
          format: date-time
          nullable: true
        gender:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        name:
          type: string
          nullable: true
      additionalProperties: false
    NpiProfile.NpiProviderProfileModel:
      type: object
      properties:
        type:
          enum:
            - Npi
            - CaqhPo
            - AmericanMedicalAssociationPhysician
            - AmericanMedicalAssociationPhysicianAssistant
          type: string
          readOnly: true
          example: CaqhPo
        npiNumber:
          type: integer
          format: int64
        enumerationType:
          type: string
          nullable: true
        basic:
          $ref: '#/components/schemas/NpiProfile.NpiBasicModel'
        otherNames:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.OtherName'
          nullable: true
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.Address'
          nullable: true
        practiceLocations:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.Address'
          nullable: true
        taxonomies:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.Taxonomy'
          nullable: true
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/NpiProfile.Identifier'
          nullable: true
        isDeactivated:
          type: boolean
        deactivationReason:
          type: string
          nullable: true
      additionalProperties: false
    NpiProfile.OtherName:
      type: object
      properties:
        nameTypeCode:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        credential:
          type: string
          nullable: true
        type:
          type: string
          nullable: true
        organizationName:
          type: string
          nullable: true
      additionalProperties: false
    NpiProfile.Taxonomy:
      type: object
      properties:
        code:
          type: string
          nullable: true
        license:
          type: string
          nullable: true
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          nullable: true
        isPrimary:
          type: boolean
          nullable: true
        description:
          type: string
          nullable: true
        taxonomyGroup:
          type: string
          nullable: true
      additionalProperties: false
    NscAddress:
      type: object
      properties:
        address1:
          type: string
          nullable: true
        address2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        zipCode:
          type: string
          nullable: true
        province:
          type: string
          nullable: true
        postalCode:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
      additionalProperties: false
    NscDatasetRecord:
      type: object
      properties:
        degreeDetails:
          type: array
          items:
            $ref: '#/components/schemas/Degree'
          nullable: true
        enrollmentDetails:
          type: array
          items:
            $ref: '#/components/schemas/Enrollment'
          nullable: true
        transaction:
          $ref: '#/components/schemas/Transaction'
        previousNames:
          type: array
          items:
            $ref: '#/components/schemas/PersonName'
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
      additionalProperties: false
    OAuthCredentialsModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        clientSecrets:
          type: array
          items:
            $ref: '#/components/schemas/ClientSecretModel'
          nullable: true
          readOnly: true
      additionalProperties: false
    OAuthErrorResponseModel:
      type: object
      properties:
        error:
          type: string
          nullable: true
        error_description:
          type: string
          nullable: true
      additionalProperties: false
    OAuthTokenResponseModel:
      type: object
      properties:
        access_token:
          type: string
          description: The access token to use to access the Verifiable API.
        token_type:
          type: string
          description: The OAuth 2.0 token type (ex. `Bearer`).
        expires_in:
          type: integer
          description: The number of seconds in which the access token will expire.
          format: int32
      additionalProperties: false
    OfacAddressRecord:
      type: object
      properties:
        addressRemarks:
          type: string
          nullable: true
        address:
          type: string
          nullable: true
      additionalProperties: false
    OfacAlternateIdentityRecord:
      type: object
      properties:
        identityNumber:
          type: integer
          format: int64
        type:
          type: string
          nullable: true
        remarks:
          type: string
          nullable: true
        fullName:
          type: string
          nullable: true
      additionalProperties: false
    OfacDatasetRecord:
      type: object
      properties:
        identityNumber:
          type: integer
          format: int64
        type:
          enum:
            - Individual
            - Unknown
          type: string
        program:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        remarks:
          type: string
          nullable: true
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/OfacAddressRecord'
          nullable: true
        alternateIdentities:
          type: array
          items:
            $ref: '#/components/schemas/OfacAlternateIdentityRecord'
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        fullName:
          type: string
          nullable: true
      additionalProperties: false
    OigExclusionsDatasetRecord:
      type: object
      properties:
        businessName:
          type: string
          nullable: true
        general:
          type: string
          nullable: true
        specialty:
          type: string
          nullable: true
        upin:
          type: integer
          format: int32
          nullable: true
        exclusionType:
          type: string
          nullable: true
        exclusionDate:
          type: string
          format: date-time
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        address:
          type: string
          nullable: true
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        npiNumber:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    OigFugitivesDatasetRecord:
      type: object
      properties:
        status:
          type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        fullName:
          type: string
          nullable: true
      additionalProperties: false
    ParameterSet:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for this parameter set.
          format: uuid
        entityType:
          enum:
            - Practitioner
            - Facility
          type: string
          description: The healthcare entity type that this parameter set is for.
        supportedParameterTypes:
          uniqueItems: true
          type: array
          items:
            enum:
              - Name
              - Npi
              - DateOfBirth
              - Ssn
              - License
              - Address
              - Education
              - BoardCertificationNumber
              - Dea
              - Certificate
              - CaqhId
              - ProviderType
              - FacilityName
              - FacilityAccreditationInfo
              - FacilityCmsCertificationInfo
              - NccpaBoardCertificateInfo
              - Gender
            type: string
          description: >-
            Array of parameter types that are supported by the dataset during a
            scan.
        requiredParameterTypes:
          uniqueItems: true
          type: array
          items:
            enum:
              - Name
              - Npi
              - DateOfBirth
              - Ssn
              - License
              - Address
              - Education
              - BoardCertificationNumber
              - Dea
              - Certificate
              - CaqhId
              - ProviderType
              - FacilityName
              - FacilityAccreditationInfo
              - FacilityCmsCertificationInfo
              - NccpaBoardCertificateInfo
              - Gender
            type: string
          description: >-
            Array of parameter types that are required by this dataset for the
            scans to execute. If these parameters cannot be resolved, the scan
            will fail.
        isPreferred:
          type: boolean
          description: >-
            Set to true if this parameter set will be used to run a scan if no
            parameter set is specified when initiating a [dataset
            scan](/reference/operation/StartDatasetScan).
      additionalProperties: false
    PasswordAuthModel:
      required:
        - email
        - password
      type: object
      properties:
        email:
          minLength: 1
          type: string
          description: The email address of a previously registered user.
        password:
          type: string
          description: The password associated with the email address.
        newPassword:
          type: string
          description: >-
            If set, the password associated with the email address will be
            changed to this new password.
        timeToLive:
          type: string
          description: >-
            If set, the created token will expire after the duration specified
            by this parameter. Note that the token will still be expired after 4
            weeks of no use, regardless of the time to live. Additionally there
            might be a limit set for your organization. If the requested
            time-to-live exceeds this limit the token will be capped to that
            limit.
          format: timespan
      additionalProperties: false
      example:
        email: john.doe@mail.com
        password: secret
        newPassword: even-more-secret
        timeToLive: '00:30:00'
    PasswordResetRequestModel:
      required:
        - newPassword
        - token
      type: object
      properties:
        token:
          type: string
          description: The token received via e-mail.
        newPassword:
          type: string
          description: >-
            The new password that will be set to the user associated with the
            token.
      additionalProperties: false
    PasswordUpdateModel:
      required:
        - newPassword
      type: object
      properties:
        password:
          type: string
          description: The password associated with the current user.
        newPassword:
          minLength: 1
          type: string
          description: A new password to associate with the current user.
      additionalProperties: false
      example:
        password: secret
        newPassword: even-more-secret
    PayerModel:
      required:
        - name
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this payer.
          format: uuid
        name:
          minLength: 1
          type: string
          description: The name associated with this payer.
      additionalProperties: false
    PayerPatchModel:
      type: object
      properties:
        name:
          type: string
          description: If set, the payer's `name` will be updated with this value.
      additionalProperties: false
      example:
        name: string
    PayerPlanModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this payer plan.
          format: uuid
        name:
          type: string
          description: The name associated with this payer plan.
        payerId:
          type: string
          description: Id of the payer assosiated with this plan
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: US state 2-letter code associated with this payer plan.
        displayName:
          type: string
          description: >-
            Name displayed in lists in the format of {Payer name} - {Payer plan
            name}
          readOnly: true
      additionalProperties: false
    PayerPlanPatchModel:
      type: object
      properties:
        name:
          type: string
          description: If set, the payer's `name` will be updated with this value.
        payerId:
          type: string
          description: >-
            If set, the Id of the payer assosiated with this plan will be
            updated with this value.
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: >-
            If specified, US state 2-letter code will be set for this payer
            plan.
      additionalProperties: false
      example:
        name: string
    PayerPlanRequestModel:
      required:
        - payerId
      type: object
      properties:
        name:
          type: string
          description: The name associated with this payer plan.
        payerId:
          type: string
          description: Id of the payer assosiated with this plan
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: The state associated with this payer plan.
      additionalProperties: false
    PayerRequestModel:
      required:
        - name
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: The name associated with this payer.
      additionalProperties: false
    PersonName:
      type: object
      properties:
        lastName:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    ProfileMergeRecordAddressModel:
      type: object
      properties:
        countryId:
          type: string
          format: uuid
          nullable: true
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          nullable: true
        zipCode:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        addressLine1:
          type: string
          nullable: true
        addressLine2:
          type: string
          nullable: true
        type:
          enum:
            - Unspecified
            - Home
            - Work
          type: string
      additionalProperties: false
    ProfileMergeRecordBasicInfoDataModel:
      required:
        - firstName
        - lastName
      type: object
      properties:
        type:
          enum:
            - BasicInfo
            - License
            - DeaRegistration
            - Education
            - Training
            - LiabilityInsurance
            - WorkHistory
            - BoardCertification
          type: string
          readOnly: true
        emails:
          type: array
          items:
            $ref: '#/components/schemas/EmailModel'
          nullable: true
        npi:
          type: integer
          format: int64
          nullable: true
        firstName:
          minLength: 1
          type: string
        lastName:
          minLength: 1
          type: string
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/AliasModel'
          nullable: true
        dateOfBirth:
          type: string
          format: date
          nullable: true
        phone:
          type: string
          nullable: true
        providerTypeId:
          type: string
          format: uuid
          nullable: true
        caqhId:
          type: string
          nullable: true
        ssn:
          type: string
          nullable: true
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/ProfileMergeRecordAddressModel'
          nullable: true
        languages:
          type: array
          items:
            type: string
          nullable: true
        primaryPracticeState:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          nullable: true
        additionalPracticeStates:
          type: array
          items:
            enum:
              - AL
              - AK
              - AZ
              - AR
              - CA
              - CO
              - CT
              - DE
              - DC
              - FL
              - GA
              - HI
              - ID
              - IL
              - IN
              - IA
              - KS
              - KY
              - LA
              - ME
              - MD
              - MA
              - MI
              - MN
              - MS
              - MO
              - MT
              - NE
              - NV
              - NH
              - NJ
              - NM
              - NY
              - NC
              - ND
              - OH
              - OK
              - OR
              - PA
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - VT
              - VA
              - WA
              - WV
              - WI
              - WY
              - AS
              - GU
              - MP
              - PR
              - VI
            type: string
          nullable: true
        gender:
          enum:
            - Unknown
            - Male
            - Female
            - NonBinaryOrThirdGender
            - Other
            - PreferNotToSay
          type: string
          nullable: true
        ethnicity:
          type: array
          items:
            enum:
              - AmericanIndianOrAlaskaNative
              - Asian
              - BlackOrAfricanAmerican
              - HispanicOrLatino
              - NativeHawaiianOrOtherPacificIslander
              - White
              - PreferNotToSay
              - NoInformationToAnswer
            type: string
          nullable: true
      additionalProperties: false
    ProfileMergeRecordBoardCertificationDataModel:
      type: object
      properties:
        type:
          enum:
            - BasicInfo
            - License
            - DeaRegistration
            - Education
            - Training
            - LiabilityInsurance
            - WorkHistory
            - BoardCertification
          type: string
          readOnly: true
        boardCertificationType:
          enum:
            - AmericanBoardofMedicalSpecialties
            - NationalBoardforCertifiedCounselors
            - AmericanBoardofClinicalSocialWork
            - AmericanSpeechLanguageHearingAssociation
            - AmericanNursesCredentialingCenter
            - AmericanAcademyofNursePractitioners
            - AmericanOsteopathicAssociation
            - AmericanMedicalAssociation
            - NationalBoardofCertificationandRecertificationforNurseAnesthetists
            - AmericanAssociationofCriticalCareNurses
            - AmericanMidwiferyCertificationBoard
            - AmericanBoardofPodiatricMedicine
            - AmericanBoardofOralImplantology
            - AmericanBoardofOralMedicine
            - AmericanBoardofOrofacialPain
            - NuclearMedicineTechnologyCertificationBoard
            - AmericanDentalBoardofAnesthesiology
            - AmericanBoardofDentalPublicHealth
            - AmericanBoardofPediatricDentistry
            - AmericanBoardofPeriodontology
            - AmericanBoardofInternalMedicine
            - NationalCommissiononCertificationofPhysicianAssistants
            - AmericanBoardofAllergyandImmunology
            - AmericanBoardofAnesthesiology
            - AmericanBoardofColonandRectalSurgery
            - AmericanBoardofDermatology
            - AmericanBoardofEmergencyMedicine
            - AmericanBoardofFamilyMedicine
            - AmericanBoardofGeneticsandGenomics
            - AmericanBoardofNeurologicalSurgery
            - AmericanBoardofNuclearMedicine
            - AmericanBoardofObstetricsandGynecology
            - AmericanBoardofOphthalmology
            - AmericanBoardofOrthopaedicSurgery
            - AmericanBoardofOtolaryngologyHeadandNeckSurgery
            - AmericanBoardofPathology
            - AmericanBoardofPediatrics
            - AmericanBoardofPhysicalMedicineandRehabilitation
            - AmericanBoardofPlasticSurgery
            - AmericanBoardofPreventiveMedicine
            - AmericanBoardofProfessionalPsychology
            - AmericanBoardofPsychiatryandNeurology
            - AmericanBoardofRadiology
            - AmericanBoardofSurgery
            - AmericanBoardofThoracicSurgery
            - AmericanBoardofUrology
            - AmericanOptometricAssociation
            - AssociationofSocialWorkBoards
            - AmericanBoardofFootandAnkleSurgery
            - AmericanBoardofOralandMaxillofacialPathology
            - AmericanBoardofOralandMaxillofacialSurgery
            - AmericanBoardofOrthodontics
            - AmericanBoardofEndodontics
            - AmericanBoardofProsthodontics
            - NationalBoardforCertificationinOccupationalTherapy
            - BehaviorAnalystCertificationBoard
            - InternationalBoardofLactationConsultantExaminers
            - CommissionOnDieteticRegistration
            - NationalCertificationCommissionforAcupunctureandOrientalMedicine
            - PediatricNursingCertification
            - NationalCertificationCorporation
            - OncologyNursingCertificationCorporation
            - AmericanBoardOfCardiovascularMedicine
            - AmericanAcademyOfHIVMedicine
            - NationalBoardOfPhysiciansAndSurgeons
            - BoardOfPharmacySpecialties
            - AmericanBoardofOralandMaxillofacialRadiology
            - AmericanBoardofGeneralDentistry
            - NationalAssociationofSchoolPsychologists
            - NationalPhlebotomyAssociation
            - NationalCenterForCompetencyTesting
            - AmericanRegistryofRadiologyTechnologists
            - DentalAssistingNationalBoard
            - AmericanMedicalCertificationAssociation
            - AmericanBoardofAddictionMedicine
            - AmericanRegistryForDiagnosticMedicalSonography
            - AmericanBoardofMultipleSpecialtiesinPodiatry
            - AmericanBoardOfObesityMedicine
            - NationalCommissionForCertificationOfAnesthesiologistAssistants
            - CardiovascularCredentialingInternational
            - NationalBoardOfEchocardiography
            - AmericanAlliedHealth
            - AmericanMedicalTechnologists
            - NationalAssociationForHealthProfessionals
            - NationalHealthCareerAssociation
            - NationalPhlebotomyCertificationExamination
            - NationalAssociationOfPhlebotomyTechnicians
            - NationalHealthcareCertificationOrganization
            - NationalPerformanceSpecialists
            - NationalRegistryOfAlliedHealthProfessionals
            - BoardofCertificationforEmergencyNursing
            - CertificationBoardforMusicTherapists
            - AmericanBoardOfChiropracticInternists
            - AmericanBoardOfPhysicalTherapySpecialties
            - AmericanBoardofPhysicianSpecialties
            - AmericanAcademyofOptometry
            - PharmacyTechnicianCertificationBoard
            - NationalBoardofSurgicalTechnologyandSurgicalAssisting
            - AmericanBoardofPainMedicine
            - ArtTherapyCredentialsBoard
            - AmericanOsteopathicBoardOfAnesthesiology
            - AmericanOsteopathicBoardOfDermatology
            - AmericanOsteopathicBoardOfEmergencyMedicine
            - AmericanOsteopathicBoardOfFamilyPhysicians
            - AmericanOsteopathicBoardOfInternalMedicine
            - AmericanOsteopathicBoardOfNeurologyAndPsychiatry
            - AmericanOsteopathicBoardOfNeuromusculoskeletalMedicine
            - AmericanOsteopathicBoardOfNuclearMedicine
            - AmericanOsteopathicBoardOfObstetricsAndGynecology
            - AmericanOsteopathicBoardOfOphthalmologyAndOtolaryngology
            - AmericanOsteopathicBoardOfOrthopedicSurgery
            - AmericanOsteopathicBoardOfPathology
            - AmericanOsteopathicBoardOfPediatrics
            - AmericanOsteopathicBoardOfPhysicalMedicineAndRehabilitation
            - AmericanOsteopathicBoardOfPreventiveMedicine
            - AmericanOsteopathicBoardOfProctology
            - AmericanOsteopathicBoardOfRadiology
            - AmericanOsteopathicBoardOfSurgery
          type: string
          nullable: true
        boardCertificationNumber:
          type: string
          nullable: true
        isPrimary:
          type: boolean
          nullable: true
        initialCertificationDate:
          type: string
          format: date
          nullable: true
        recertificationDate:
          type: string
          format: date
          nullable: true
        expirationDate:
          type: string
          format: date
          nullable: true
      additionalProperties: false
    ProfileMergeRecordData:
      oneOf:
        - $ref: '#/components/schemas/ProfileMergeRecordBasicInfoDataModel'
        - $ref: '#/components/schemas/ProfileMergeRecordBoardCertificationDataModel'
        - $ref: '#/components/schemas/ProfileMergeRecordDeaRegistrationDataModel'
        - $ref: '#/components/schemas/ProfileMergeRecordEducationDataModel'
        - $ref: '#/components/schemas/ProfileMergeRecordLiabilityInsuranceDataModel'
        - $ref: '#/components/schemas/ProfileMergeRecordLicenseDataModel'
        - $ref: '#/components/schemas/ProfileMergeRecordTrainingDataModel'
        - $ref: '#/components/schemas/ProfileMergeRecordWorkHistoryDataModel'
      discriminator:
        propertyName: type
        mapping:
          BasicInfo: '#/components/schemas/ProfileMergeRecordBasicInfoDataModel'
          BoardCertification: '#/components/schemas/ProfileMergeRecordBoardCertificationDataModel'
          DeaRegistration: '#/components/schemas/ProfileMergeRecordDeaRegistrationDataModel'
          Education: '#/components/schemas/ProfileMergeRecordEducationDataModel'
          LiabilityInsurance: '#/components/schemas/ProfileMergeRecordLiabilityInsuranceDataModel'
          License: '#/components/schemas/ProfileMergeRecordLicenseDataModel'
          Training: '#/components/schemas/ProfileMergeRecordTrainingDataModel'
          WorkHistory: '#/components/schemas/ProfileMergeRecordWorkHistoryDataModel'
    ProfileMergeRecordDeaRegistrationDataModel:
      required:
        - registrationNumber
      type: object
      properties:
        type:
          enum:
            - BasicInfo
            - License
            - DeaRegistration
            - Education
            - Training
            - LiabilityInsurance
            - WorkHistory
            - BoardCertification
          type: string
          readOnly: true
        registrationNumber:
          minLength: 1
          type: string
      additionalProperties: false
    ProfileMergeRecordEducationDataModel:
      required:
        - completed
        - graduateType
      type: object
      properties:
        type:
          enum:
            - BasicInfo
            - License
            - DeaRegistration
            - Education
            - Training
            - LiabilityInsurance
            - WorkHistory
            - BoardCertification
          type: string
          readOnly: true
        graduateType:
          enum:
            - Undergraduate
            - Professional
            - FifthPathway
          type: string
        degree:
          type: string
          nullable: true
        completed:
          type: boolean
        startDate:
          type: string
          format: date
          nullable: true
        endDate:
          type: string
          format: date
          nullable: true
        schoolName:
          type: string
          nullable: true
        schoolCode:
          type: string
          nullable: true
        ecfmgNumber:
          type: string
          nullable: true
        ecfmgIssueDate:
          type: string
          format: date
          nullable: true
      additionalProperties: false
    ProfileMergeRecordLiabilityInsuranceDataModel:
      required:
        - coverageType
      type: object
      properties:
        type:
          enum:
            - BasicInfo
            - License
            - DeaRegistration
            - Education
            - Training
            - LiabilityInsurance
            - WorkHistory
            - BoardCertification
          type: string
          readOnly: true
        name:
          type: string
          nullable: true
        coverageType:
          enum:
            - Individual
            - Shared
            - Occurrence
            - ClaimsMade
          type: string
        policyNumber:
          type: string
          nullable: true
        isSelfInsured:
          type: boolean
        originalEffectiveDate:
          type: string
          format: date
          nullable: true
        currentEffectiveDate:
          type: string
          format: date
          nullable: true
        currentExpirationDate:
          type: string
          format: date
          nullable: true
        isUnlimitedCoverage:
          type: boolean
        includesTailCoverage:
          type: boolean
        occurenceCoverageAmount:
          type: number
          format: double
          nullable: true
        aggregateCoverageAmount:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    ProfileMergeRecordLicenseDataModel:
      required:
        - licenseNumber
        - licenseTypeId
        - state
      type: object
      properties:
        type:
          enum:
            - BasicInfo
            - License
            - DeaRegistration
            - Education
            - Training
            - LiabilityInsurance
            - WorkHistory
            - BoardCertification
          type: string
          readOnly: true
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
        licenseTypeId:
          type: string
          format: uuid
        licenseNumber:
          minLength: 1
          type: string
        isPrimary:
          type: boolean
          nullable: true
        status:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date
          nullable: true
        expirationDate:
          type: string
          format: date
          nullable: true
        isCurrentlyPracticing:
          type: boolean
          nullable: true
      additionalProperties: false
    ProfileMergeRecordTrainingDataModel:
      type: object
      properties:
        type:
          enum:
            - BasicInfo
            - License
            - DeaRegistration
            - Education
            - Training
            - LiabilityInsurance
            - WorkHistory
            - BoardCertification
          type: string
          readOnly: true
        trainingType:
          enum:
            - Internship
            - Residency
            - Fellowship
            - OtherTraining
            - FacultyPositions
            - Unspecified
          type: string
        institutionName:
          type: string
          nullable: true
        schoolName:
          type: string
          nullable: true
        schoolCode:
          type: string
          nullable: true
        completed:
          type: boolean
          nullable: true
        startDate:
          type: string
          format: date
          nullable: true
        endDate:
          type: string
          format: date
          nullable: true
        speciality:
          type: string
          nullable: true
        sponsoringState:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          nullable: true
      additionalProperties: false
    ProfileMergeRecordWorkHistoryDataModel:
      type: object
      properties:
        type:
          enum:
            - BasicInfo
            - License
            - DeaRegistration
            - Education
            - Training
            - LiabilityInsurance
            - WorkHistory
            - BoardCertification
          type: string
          readOnly: true
        workHistoryType:
          enum:
            - Employment
            - Gap
          type: string
        name:
          type: string
          nullable: true
        jobTitle:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/ProfileMergeRecordAddressModel'
        phone:
          type: string
          nullable: true
        startDate:
          type: string
          format: date
          nullable: true
        endDate:
          type: string
          format: date
          nullable: true
        isCurrentEmployer:
          type: boolean
          nullable: true
        departureReason:
          type: string
          nullable: true
        gapExplanation:
          type: string
          nullable: true
      additionalProperties: false
    ProviderAddressModel:
      required:
        - addressLine1
        - city
        - state
        - zipCode
      type: object
      properties:
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: Abbreviation of the state in which the city is located.
        zipCode:
          minLength: 1
          type: string
          description: The postal code associated with the address.
        city:
          minLength: 1
          type: string
          description: The city in which the address is located.
        addressLine1:
          minLength: 1
          type: string
          description: The street address.
        addressLine2:
          type: string
          description: The secondary address information.
        type:
          enum:
            - Unspecified
            - Home
            - Work
          type: string
          description: The type of address.
        id:
          type: string
          description: Unique identifier for this address.
          format: uuid
      additionalProperties: false
    ProviderAddressParameter:
      type: object
      properties:
        addressType:
          enum:
            - Unspecified
            - Home
            - Work
          type: string
        addressLine:
          type: string
          nullable: true
        addressLine2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
        zipCode:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderAddressRequestModel:
      required:
        - addressLine1
        - city
        - state
        - type
        - zipCode
      type: object
      properties:
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: Abbreviation of the state in which the city is located.
        zipCode:
          minLength: 1
          type: string
          description: The postal code associated with the address.
        city:
          minLength: 1
          type: string
          description: The city in which the address is located.
        addressLine1:
          minLength: 1
          type: string
          description: The street address.
        addressLine2:
          type: string
          description: The secondary address information.
        type:
          enum:
            - Unspecified
            - Home
            - Work
          type: string
          description: The type of address.
      additionalProperties: false
    ProviderAggregationsModel:
      type: object
      properties:
        total:
          type: integer
          description: The total number of providers.
          format: int32
        aggregations:
          description: >-
            For each state that a provider can have, a count of providers in
            that state.
      additionalProperties: false
      example:
        total: 100
        aggregations:
          NeedsReview: 2
          ExpiresSoon: 10
          Expired: 0
          Monitored: 100
          NotMonitored: 0
    ProviderAliasModel:
      type: object
      properties:
        firstName:
          type: string
          description: The first (given) name of this alias.
        lastName:
          type: string
          description: The last (family) name of this alias.
        id:
          type: string
          description: Unique identifier for this alias.
          format: uuid
      additionalProperties: false
    ProviderAliasRequestModel:
      required:
        - firstName
        - lastName
      type: object
      properties:
        firstName:
          minLength: 1
          type: string
          description: The first (given) name of this alias.
        lastName:
          minLength: 1
          type: string
          description: The last (family) name of this alias.
      additionalProperties: false
    ProviderBaseModel:
      required:
        - credentialingStatus
        - firstName
        - lastName
      type: object
      properties:
        id:
          type: string
          format: uuid
        firstName:
          minLength: 1
          type: string
        lastName:
          minLength: 1
          type: string
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        ssn:
          type: string
          nullable: true
        credentialingStatus:
          minLength: 1
          type: string
        credentialedDate:
          type: string
          format: date-time
          nullable: true
        nextCredentialingDate:
          type: string
          format: date
          nullable: true
        npi:
          type: integer
          format: int64
          nullable: true
        deactivated:
          type: boolean
        deactivatedAt:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
    ProviderBoardCertificationNumberParameter:
      type: object
      properties:
        boardCertificationNumber:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderCaqhIdParameter:
      type: object
      properties:
        caqhProviderId:
          type: integer
          format: int64
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderCertificateParameter:
      type: object
      properties:
        certificateType:
          enum:
            - AhaBasicLifeSupport
            - AhaAdvancedCardiacLifeSupport
            - AhaNeonatalAdvancedLifeSupport
            - AhaPediatricAdvancedLifeSupport
            - CaliforniaCertifiedWellnessCoach
            - AhaAdvancedCardiovascularLifeSupport
            - AhaAdvancedStrokeLifeSupport
            - AhaPears
            - AhaHeartsaver
          type: string
          nullable: true
        certificateNumber:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderCredentialingDataModel:
      type: object
      properties:
        providerInfo:
          type: object
          additionalProperties: {}
          description: All the provider information.
        licenseVerifications:
          type: array
          items:
            $ref: '#/components/schemas/LicenseVerificationModel'
          description: All the provider verified licenses.
        datasetScans:
          type: array
          items:
            $ref: '#/components/schemas/DatasetScanModel'
          description: All the provider verified dataset scans.
        files:
          type: array
          items:
            $ref: '#/components/schemas/FileModel'
          description: All the provider files.
        profiles:
          type: array
          items:
            $ref: '#/components/schemas/ProviderProfileImportModel'
          description: All the provider profile imports.
      additionalProperties: false
    ProviderDateOfBirthParameter:
      type: object
      properties:
        dateOfBirth:
          type: string
          format: date-time
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderDeaParameter:
      type: object
      properties:
        registrationNumber:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderDueForRecredentialingModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        ssn:
          type: string
          nullable: true
        credentialingStatus:
          type: string
          nullable: true
        credentialedDate:
          type: string
          format: date-time
          nullable: true
        nextCredentialingDate:
          type: string
          format: date
          nullable: true
        npi:
          type: integer
          format: int64
          nullable: true
        deactivated:
          type: boolean
        requestId:
          type: string
          format: uuid
          nullable: true
        requestType:
          enum:
            - Initial
            - ReCredentialing
            - OffCycle
          type: string
          nullable: true
        requestCreatedAt:
          type: string
          format: date-time
          nullable: true
        currentEvent:
          $ref: '#/components/schemas/CredentialingRequestEventModel'
        requestPriority:
          enum:
            - Low
            - Medium
            - High
            - Urgent
          type: string
          nullable: true
        isSelfManaged:
          type: boolean
          nullable: true
        currentEventStatus:
          enum:
            - RequestSubmitted
            - RequestInProgress
            - AdditionalInformationRequested
            - AdditionalInformationSubmitted
            - CancellationRequested
            - Cancelled
            - Completed
            - CompletedWithConcern
            - UnableToComplete
            - SecondAttemptMissingInfo
            - ThirdAttemptMissingInfo
          type: string
          nullable: true
        currentEventDate:
          type: string
          format: date-time
          nullable: true
        owner:
          $ref: '#/components/schemas/BaseUserModel'
      additionalProperties: false
    ProviderDueForRecredentialingPageModel:
      type: object
      properties:
        sort:
          type: object
          additionalProperties:
            enum:
              - Asc
              - Desc
            type: string
        previousCursor:
          type: string
        nextCursor:
          type: string
        nextOffset:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        count:
          type: integer
          format: int32
        totalCount:
          type: integer
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProviderDueForRecredentialingModel'
        sortedBy:
          enum:
            - ProviderFirstName
            - ProviderLastName
            - RequestCreatedAt
          type: string
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
      additionalProperties: false
    ProviderEducationParameter:
      type: object
      properties:
        graduationYear:
          type: integer
          format: int32
          nullable: true
        schoolName:
          type: string
          nullable: true
        schoolCode:
          type: string
          nullable: true
        branchCode:
          type: string
          nullable: true
        degree:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderEmailModel:
      type: object
      properties:
        email:
          type: string
          description: The email associated with the provider.
        type:
          enum:
            - Unspecified
            - Personal
            - Work
          type: string
          description: The type of the email.
        id:
          type: string
          description: Unique identifier for this specific email.
          format: uuid
      additionalProperties: false
    ProviderEmailRequestModel:
      required:
        - email
        - type
      type: object
      properties:
        email:
          minLength: 1
          type: string
          description: The email associated with the provider.
        type:
          enum:
            - Unspecified
            - Personal
            - Work
          type: string
          description: The type of the email.
      additionalProperties: false
    ProviderEnrollmentModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this provider enrollment.
          format: uuid
        payerPlanId:
          type: string
          description: Payer Plan Id associated with this provider enrollment.
          format: uuid
        groupId:
          type: string
          description: Group Id associated with this provider enrollment.
          format: uuid
        providerId:
          type: string
          description: Provider Id associated with this provider enrollment.
          format: uuid
        enrollmentStatus:
          enum:
            - NotSubmitted
            - Submitted
            - Enrolled
            - Denied
          type: string
          description: Status of the enrollment.
        submissionDate:
          type: string
          description: Submission Date associated with this provider enrollment.
          format: date-time
        closedDate:
          type: string
          description: Closed Date associated with this provider enrollment.
          format: date-time
        effectiveDate:
          type: string
          description: Effective Date associated with this provider enrollment.
          format: date-time
        networkStatus:
          enum:
            - None
            - Par
            - NonPar
          type: string
          description: Network Status associated with this provider enrollment.
        specialistType:
          enum:
            - None
            - Pcp
            - Specialist
          type: string
          description: Specialist Type associated with this provider enrollment.
        externalProviderPlanId:
          type: string
          description: '`ProviderId` in external system.'
        comments:
          type: string
        payerPlanModel:
          $ref: '#/components/schemas/PayerPlanModel'
        groupModel:
          $ref: '#/components/schemas/GroupModel'
      additionalProperties: false
    ProviderEnrollmentPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - NetworkStatus
                - EnrollmentStatus
                - SpecialistType
                - SubmissionDate
                - EffectiveDate
                - PayerPlanName
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          nullable: true
        previousCursor:
          type: string
          nullable: true
        nextCursor:
          type: string
          nullable: true
        nextOffset:
          type: integer
          format: int32
          nullable: true
        pageSize:
          type: integer
          format: int32
        count:
          type: integer
          format: int32
        totalCount:
          type: integer
          format: int32
          nullable: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProviderEnrollmentModel'
          nullable: true
        sortedBy:
          enum:
            - Id
            - NetworkStatus
            - EnrollmentStatus
            - SpecialistType
            - SubmissionDate
            - EffectiveDate
            - PayerPlanName
          type: string
          nullable: true
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          nullable: true
      additionalProperties: false
    ProviderEnrollmentPatchModel:
      type: object
      properties:
        payerPlanId:
          type: string
          description: >-
            If set, the provider enrollment's `PayerPlanId` will be updated with
            this value.
          format: uuid
        groupId:
          type: string
          description: >-
            If set, the provider enrollment's `GroupId` will be updated with
            this value.
          format: uuid
        providerId:
          type: string
          description: >-
            If set, the provider enrollment's `ProviderId` will be updated with
            this value.
          format: uuid
        enrollmentStatus:
          enum:
            - NotSubmitted
            - Submitted
            - Enrolled
            - Denied
          type: string
          description: >-
            If set, the provider enrollment's `EnrollmentStatus` will be updated
            with this value.
        submissionDate:
          type: string
          description: >-
            If set, the provider enrollment's `SubmissionDate` will be updated
            with this value.
          format: date-time
        closedDate:
          type: string
          description: >-
            If set, the provider enrollment's `ClosedDate` will be updated with
            this value.
          format: date-time
        effectiveDate:
          type: string
          description: >-
            If set, the provider enrollment's `EffectiveDate` will be updated
            with this value.
          format: date-time
        networkStatus:
          enum:
            - None
            - Par
            - NonPar
          type: string
          description: >-
            If set, the provider enrollment's `NetworkStatus` will be updated
            with this value.
        specialistType:
          enum:
            - None
            - Pcp
            - Specialist
          type: string
          description: >-
            If set, the provider enrollment's `SpecialistType` will be updated
            with this value.
        externalProviderPlanId:
          type: string
          description: >-
            If set, the provider enrollment's `ProviderId` in external system
            will be updated with this value.
        comments:
          type: string
          description: >-
            If set, the provider enrollment's `Comments` will be updated with
            this value.
      additionalProperties: false
      example:
        PayerPlanId: 1704B2EA-098D-4A70-969F-70A5F6B336DE
        EnrollmentStatus: NotSubmitted
        SubmissionDate: 2000-12-31 23:59
    ProviderEnrollmentRequestModel:
      required:
        - groupId
        - payerPlanId
        - providerId
      type: object
      properties:
        effectiveDate:
          type: string
          description: Effective Date associated with this provider enrollment.
          format: date-time
        enrollmentStatus:
          enum:
            - NotSubmitted
            - Submitted
            - Enrolled
            - Denied
          type: string
          description: Status of the enrollment.
        groupId:
          type: string
          description: Group Id associated with this provider enrollment.
          format: uuid
        providerId:
          type: string
          description: Provider Id associated with this provider enrollment.
          format: uuid
        networkStatus:
          enum:
            - None
            - Par
            - NonPar
          type: string
          description: Network Status associated with this provider enrollment.
        payerPlanId:
          type: string
          description: Payer Plan Id associated with this provider enrollment.
          format: uuid
        specialistType:
          enum:
            - None
            - Pcp
            - Specialist
          type: string
          description: Specialist Type associated with this provider enrollment.
        submissionDate:
          type: string
          description: Submission Date associated with this provider enrollment.
          format: date-time
        closedDate:
          type: string
          description: Closed Date associated with this provider enrollment.
          format: date-time
        externalProviderPlanId:
          type: string
          description: '`ProviderId` in external system.'
        comments:
          type: string
          description: Comments associated with this provider enrollment.
      additionalProperties: false
      example:
        groupId: 30e82ca1-59e2-4c68-a83b-58ff84e665d2
        providerId: ab9aede4-5b9c-428f-8ee1-752892801a02
        payerPlanId: 1704b2ea-098d-4a70-969f-70a5f6b336de
        enrollmentStatus: NotSubmitted
        submissionDate: 2000-12-31 23:59
    ProviderGenderParameter:
      type: object
      properties:
        gender:
          enum:
            - Unknown
            - Male
            - Female
            - NonBinaryOrThirdGender
            - Other
            - PreferNotToSay
          type: string
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderLicenseAggregationsModel:
      type: object
      properties:
        total:
          type: integer
          description: The total number of provider licenses.
          format: int32
        aggregations:
          type: object
          additionalProperties:
            type: integer
            format: int32
          description: >-
            For each state that a provider license can have, a count of provider
            licenses in that state.
      additionalProperties: false
      example:
        total: 100
        aggregations:
          Active: 2
          Expired: 10
          ExpiresSoon: 5
          DisciplinaryActions: 15
          Found: 80
          NotFound: 20
          UnableToVerify: 40
          NeedsReview: 30
    ProviderLicenseModel:
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/ProviderBaseModel'
        license:
          $ref: '#/components/schemas/SimpleLicenseBaseModel'
      additionalProperties: false
    ProviderLicensePageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - ProviderFirstName
                - ProviderLastName
                - LicenseState
                - LicenseExpirationDate
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProviderLicenseModel'
          description: The providers licenses in the current page.
        sortedBy:
          enum:
            - ProviderFirstName
            - ProviderLastName
            - LicenseState
            - LicenseExpirationDate
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - provider:
              id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
              firstName: string
              lastName: string
              dateOfBirth: '2019-08-24T14:15:22.0000000Z'
              ssn: '***'
              credentialingStatus: string
              credentialedDate: '2019-08-24T14:15:22.0000000Z'
              npi: 0
            license:
              providerId: 4834bcdc-4a64-444d-966b-1a6fe381da24
              number: string
              state: AL
              isPrimary: true
              id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
              isCurrentlyPracticing: true
              status: string
              expiryDate: '2019-08-24T14:15:22.0000000Z'
              verificationStatus: Verified
              licenseTypeId: acac9426-ab93-4f79-a277-f4ccd1b60206
              licenseTypeName: string
              approvedStatus: Pending
        sortedBy: ProviderFirstName
        sortDirection: Asc
        sort:
          ProviderFirstName: Asc
          ProviderLastName: Desc
    ProviderLicenseParameter:
      type: object
      properties:
        licenseTypeId:
          type: string
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
        number:
          type: string
          nullable: true
        isPrimary:
          type: boolean
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderModel:
      required:
        - credentialingStatus
        - firstName
        - lastName
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this provider.
          format: uuid
        firstName:
          minLength: 1
          type: string
          description: The first (given) name associated with this provider.
        lastName:
          minLength: 1
          type: string
          description: The last (family) name associated with this provider.
        dateOfBirth:
          type: string
          description: The date of birth of this provider.
          format: date-time
        ssn:
          type: string
          description: The social security number of this provider.
        credentialingStatus:
          minLength: 1
          type: string
          description: >-
            The name of credentialing status. The default value is 'Data
            Collection'.
        credentialedDate:
          type: string
          description: Date this provider was originally credentialed
          format: date-time
        nextCredentialingDate:
          type: string
          description: Date this provider should be credentialed next
          format: date
        npi:
          type: integer
          description: The 10 digit National Provider Identifiers (NPI) of this provider.
          format: int64
        deactivated:
          type: boolean
          description: >-
            If set, the provider is deactivated. Verifications and profile
            imports can't be triggered for the inactive provider.
        deactivatedAt:
          type: string
          format: date-time
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/ProviderAliasModel'
          description: A list of aliases that this provider is also known by.
        primaryPracticeState:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: The primary practice state of the provider.
        additionalPracticeStates:
          type: array
          items:
            enum:
              - AL
              - AK
              - AZ
              - AR
              - CA
              - CO
              - CT
              - DE
              - DC
              - FL
              - GA
              - HI
              - ID
              - IL
              - IN
              - IA
              - KS
              - KY
              - LA
              - ME
              - MD
              - MA
              - MI
              - MN
              - MS
              - MO
              - MT
              - NE
              - NV
              - NH
              - NJ
              - NM
              - NY
              - NC
              - ND
              - OH
              - OK
              - OR
              - PA
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - VT
              - VA
              - WA
              - WV
              - WI
              - WY
              - AS
              - GU
              - MP
              - PR
              - VI
            type: string
          description: >-
            Additional practice states of the provider. Cannot include the
            primary practice state.
        gender:
          enum:
            - Unknown
            - Male
            - Female
            - NonBinaryOrThirdGender
            - Other
            - PreferNotToSay
          type: string
          description: Provider's gender (optional).
        ethnicity:
          type: array
          items:
            enum:
              - AmericanIndianOrAlaskaNative
              - Asian
              - BlackOrAfricanAmerican
              - HispanicOrLatino
              - NativeHawaiianOrOtherPacificIslander
              - White
              - PreferNotToSay
              - NoInformationToAnswer
            type: string
          description: Provider's ethnicity (optional).
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/ProviderAddressModel'
          description: >-
            If set, the provider's `addresses` will be updated with this value.
            To remove the addresses pass an empty array.
        emails:
          type: array
          items:
            $ref: '#/components/schemas/ProviderEmailModel'
          description: >-
            If set, the provider's `emails` will be updated with this value. To
            remove the emails pass an empty array.
        phone:
          type: string
          description: Primary phone number associated with this provider
        languages:
          type: array
          items:
            type: string
          description: A list of languages, other than English, this provider speaks.
        recredentialedDates:
          type: array
          items:
            type: string
            format: date-time
          description: A list of dates when this provider was re-credentialed.
        providerType:
          $ref: '#/components/schemas/ProviderTypeModel'
        segment:
          $ref: '#/components/schemas/SegmentModel'
        createdAt:
          type: string
          description: Timestamp when this provider was created.
          format: date-time
      additionalProperties: false
    ProviderMonitoringSanctionsAndExclusionsSummaryAggregationsModel:
      type: object
      properties:
        notMonitored:
          type: integer
          description: >-
            The total number of providers, not monitored under sanctions and
            exclusions datasets.
          format: int32
        partiallyMonitored:
          type: integer
          description: >-
            The total number of providers, partially monitored under sanctions
            and exclusions datasets.
          format: int32
        fullyMonitored:
          type: integer
          description: >-
            The total number of providers, fully monitored under sanctions and
            exclusions datasets.
          format: int32
      additionalProperties: false
    ProviderMonitoringSanctionsAndExclusionsSummaryModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this provider.
          format: uuid
        firstName:
          type: string
          description: The first (given) name associated with this provider.
        lastName:
          type: string
          description: The last (family) name associated with this provider.
        npi:
          type: integer
          description: The 10 digit National Provider Identifiers (NPI) of this provider.
          format: int64
        providerType:
          $ref: '#/components/schemas/ProviderTypeModel'
        credentialingStatus:
          type: string
          description: >-
            The name of credentialing status. The default value is 'Data
            Collection'.
        credentialedDate:
          type: string
          description: Date this provider was originally credentialed
          format: date-time
        nextCredentialingDate:
          type: string
          description: Date this provider should be credentialed next
          format: date
        monitorArray:
          type: array
          items:
            enum:
              - Sam
              - MedicareOptOut
              - OigFugitives
              - OfacSdn
              - OfacConsolidated
              - OigExclusions
              - StateSanctionsAndExclusions
              - Npdb
              - Dmf
              - Npi
              - Nsc
              - Dea
              - CmsPreclusion
              - Tricare
              - AmericanBoardofInternalMedicine
              - NationalCommissiononCertificationofPhysicianAssistants
              - Abms
              - NationalBoardforCertifiedCounselors
              - AmericanAcademyofNursePractitioners
              - >-
                NationalBoardofCertificationandRecertificationforNurseAnesthetists
              - AmericanOsteopathicAssociation
              - AmericanNursesCredentialingCenter
              - NationalBoardforCertificationinOccupationalTherapy
              - AmericanSpeechLanguageHearingAssociation
              - AmericanBoardofFamilyMedicine
              - AmericanBoardofPsychiatryandNeurology
              - InternationalBoardofLactationConsultantExaminers
              - AmericanMidwiferyCertificationBoard
              - AmericanDentalBoardofAnesthesiology
              - AmericanBoardofClinicalSocialWork
              - BoardOfPharmacySpecialties
              - AmericanBoardofAllergyandImmunology
              - AmericanBoardofOrthodontics
              - AmericanBoardofOralMedicine
              - AmericanBoardofPediatricDentistry
              - AmericanBoardofOralandMaxillofacialSurgery
              - AmericanBoardofOralandMaxillofacialRadiology
              - AmericanBoardofProsthodontics
              - AmericanBoardofOralandMaxillofacialPathology
              - AmericanBoardofEndodontics
              - AmericanBoardofPeriodontology
              - AmericanBoardofOralImplantology
              - AmericanBoardofPodiatricMedicine
              - AmericanBoardofDentalPublicHealth
              - BehaviorAnalystCertificationBoard
              - AmericanBoardofGeneralDentistry
              - NationalAssociationofSchoolPsychologists
              - AmericanBoardofAddictionMedicine
              - AmericanBoardofMultipleSpecialtiesinPodiatry
              - CommissionOnDieteticRegistration
              - AmericanBoardOfObesityMedicine
              - NationalCertificationCorporation
              - NationalCommissionForCertificationOfAnesthesiologistAssistants
              - AmericanRegistryOfRadiologyTechnologists
              - AmericanBoardOfAnesthesiology
              - AmericanRegistryForDiagnosticMedicalSonography
              - NationalBoardOfPhysiciansAndSurgeons
              - CardiovascularCredentialingInternational
              - NationalCenterForCompetencyTesting
              - NationalAssociationOfPhlebotomyTechnicians
              - AmericanAlliedHealth
              - NationalRegistryOfAlliedHealthProfessionals
              - AmericanMedicalTechnologists
              - NationalHealthCareerAssociation
              - DentalAssistingNationalBoard
              - PediatricNursingCertification
              - NationalCertificationCommissionForAcupunctureAndOrientalMedicine
              - CertificationBoardForMusicTherapists
              - AmericanBoardOfChiropracticInternists
              - AmericanBoardofPhysicalTherapySpecialties
              - AmericanBoardofPhysicianSpecialties
              - AmericanAcademyofOptometry
              - AmericanBoardofNeurologicalSurgery
              - AmericanBoardofObstetricsandGynecology
              - AmericanBoardofOphthalmology
              - AmericanBoardofOtolaryngologyHeadandNeckSurgery
              - AmericanBoardofPediatrics
              - AmericanBoardofOrthopaedicSurgery
              - AmericanBoardofPhysicalMedicineandRehabilitation
              - AmericanBoardofPlasticSurgery
              - AmericanBoardofRadiology
              - AmericanBoardofSurgery
              - AmericanBoardofUrology
              - AmericanBoardofColonandRectalSurgery
              - AmericanAssociationofCriticalCareNurses
              - AmericanBoardofFootandAnkleSurgery
              - PharmacyTechnicianCertificationBoard
              - NationalBoardofSurgicalTechnologyandSurgicalAssisting
              - AmericanBoardofPainMedicine
              - AmericanBoardofOrofacialPain
              - NuclearMedicineTechnologyCertificationBoard
              - AmericanBoardofEmergencyMedicine
              - ArtTherapyCredentialsBoard
              - AmericanHeartAssociation
              - MedicaidEnrollmentCalifornia
              - JointCommission
              - FacilityCmsCertification
            type: string
          description: >-
            An array of sanctions and exclusions dataset types under which this
            provider is being monitored.
        monitoringCategory:
          enum:
            - NotMonitored
            - PartiallyMonitored
            - FullyMonitored
          type: string
          description: Category under which this provider is being monitored.
      additionalProperties: false
    ProviderMonitoringSanctionsAndExclusionsSummaryPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - FirstName
                - LastName
                - CredentialingStatus
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/ProviderMonitoringSanctionsAndExclusionsSummaryModel
          description: The providers monitoring summaries in the current page.
        sortedBy:
          enum:
            - FirstName
            - LastName
            - CredentialingStatus
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
    ProviderNameParameter:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderNccpaBoardCertificateInfoParameter:
      type: object
      properties:
        number:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderNotesModel:
      type: object
      properties:
        providerId:
          type: string
          description: Identifier of the provider related to this note.
          format: uuid
        timestamp:
          type: string
          description: The date and time when this note was created or last changed.
          format: date-time
        note:
          type: string
          description: The contents of the note.
        id:
          type: string
          description: Unique identifier for this note.
          format: uuid
        alert:
          $ref: '#/components/schemas/AlertModel'
      additionalProperties: false
    ProviderNotesRequestModel:
      required:
        - note
      type: object
      properties:
        note:
          minLength: 1
          type: string
          description: The contents of the note.
      additionalProperties: false
    ProviderNpiParameter:
      type: object
      properties:
        number:
          type: integer
          format: int64
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - LastName
                - FirstName
                - CredentialingStatus
                - CredentialedDate
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProviderModel'
          description: The providers in the current page.
        sortedBy:
          enum:
            - Id
            - LastName
            - FirstName
            - CredentialingStatus
            - CredentialedDate
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            firstName: string
            lastName: string
            dateOfBirth: '2019-08-24T14:15:22.0000000Z'
            ssn: '***'
            credentialingStatus: string
            credentialedDate: '2019-08-24T14:15:22.0000000Z'
            npi: 0
            aliases:
              - id: 9b4c12e8-02c5-4107-a524-c02416d43079
                firstName: string
                lastName: string
            addresses:
              - id: e57c9ee4-807d-456a-bf32-623280064ca5
                state: AL
                zipCode: string
                city: string
                addressLine1: string
                addressLine2: string
                type: Unspecified
            emails:
              - id: 1d46ecfe-5ce4-4b9c-aaba-3543e15d36d1
                email: string
                type: Unspecified
            phone: string
            languages:
              - string
            recredentialedDates:
              - '2019-08-24T14:15:22.0000000Z'
            providerType:
              id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
              name: string
        sortedBy: Id
        sortDirection: Asc
        sort:
          Id: Asc
          FirstName: Asc
          LastName: Asc
          CredentialingStatus: Desc
    ProviderPatchModel:
      type: object
      properties:
        firstName:
          type: string
          description: If set, the provider's `firstName` will be updated with this value.
        lastName:
          type: string
          description: If set, the provider's `lastName` will be updated with this value.
        dateOfBirth:
          type: string
          description: >-
            If set, the provider's `dateOfBirth` will be updated with this
            value.
          format: date-time
        ssn:
          type: string
          description: If set, the provider's `ssn` will be updated with this value.
        npi:
          type: integer
          description: The 10 digit National Provider Identifiers (NPI) of this provider
          format: int64
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/ProviderAliasRequestModel'
          description: >-
            If set, the provider's `aliases` will be updated with this value. To
            remove the aliases pass an empty array.
        primaryPracticeState:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: The primary practice state of the provider.
        additionalPracticeStates:
          type: array
          items:
            enum:
              - AL
              - AK
              - AZ
              - AR
              - CA
              - CO
              - CT
              - DE
              - DC
              - FL
              - GA
              - HI
              - ID
              - IL
              - IN
              - IA
              - KS
              - KY
              - LA
              - ME
              - MD
              - MA
              - MI
              - MN
              - MS
              - MO
              - MT
              - NE
              - NV
              - NH
              - NJ
              - NM
              - NY
              - NC
              - ND
              - OH
              - OK
              - OR
              - PA
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - VT
              - VA
              - WA
              - WV
              - WI
              - WY
              - AS
              - GU
              - MP
              - PR
              - VI
            type: string
          description: >-
            Additional practice states of the provider. Cannot include the
            primary practice state.
        gender:
          enum:
            - Unknown
            - Male
            - Female
            - NonBinaryOrThirdGender
            - Other
            - PreferNotToSay
          type: string
          description: Provider's gender (optional).
        ethnicity:
          type: array
          items:
            enum:
              - AmericanIndianOrAlaskaNative
              - Asian
              - BlackOrAfricanAmerican
              - HispanicOrLatino
              - NativeHawaiianOrOtherPacificIslander
              - White
              - PreferNotToSay
              - NoInformationToAnswer
            type: string
          description: Provider's ethnicity (optional).
        credentialingStatus:
          type: string
          description: >-
            If set, the provider's `credentialingStatus` will be updated with
            this value.
        emails:
          type: array
          items:
            $ref: '#/components/schemas/ProviderEmailRequestModel'
          description: >-
            If set, the provider's `emails` will be updated with this value. To
            remove the emails pass an empty array.
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/ProviderAddressRequestModel'
          description: >-
            If set, the provider's `addresses` will be updated with this value.
            To remove the addresses pass an empty array.
        phone:
          type: string
          description: Primary phone number associated with this provider
        languages:
          type: array
          items:
            type: string
          description: A list of languages, other than English, this provider speaks.
        credentialedDate:
          type: string
          description: Date this provider was originally credentialed
          format: date-time
        nextCredentialingDate:
          type: string
          description: Date this provider should be credentialed next
          format: date
        recredentialedDates:
          type: array
          items:
            type: string
            format: date-time
          description: A list of dates when this provider was re-credentialed.
        providerTypeId:
          type: string
          description: Provider type id associated with this provider.
          format: uuid
        segmentId:
          type: string
          description: >-
            If set, the provider's segment will be updated to this value. Used
            to reassign providers between segments in multi-tenant
            organizations.
          format: uuid
        deactivated:
          type: boolean
          description: >-
            If set to true, the provider will be deactivated. If set to false,
            the provider will be activated.
      additionalProperties: false
    ProviderProfileImportModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this provider profile import.
          format: uuid
        providerId:
          type: string
          description: The provider unique identifier associated with this profile import.
          format: uuid
        source:
          enum:
            - Npi
            - CaqhPo
            - AmericanMedicalAssociationPhysician
            - AmericanMedicalAssociationPhysicianAssistant
          type: string
          description: Source of the import.
          example: CaqhPo
        started:
          type: string
          description: TimeStamp of this import when started
          format: date-time
        completed:
          type: string
          description: >-
            TimeStamp of this import when completed or `null` if is still in
            progress.
          format: date-time
        status:
          enum:
            - Pending
            - Working
            - Completed
            - Failed
          type: string
          description: >-
            Status of the import. If it is `Pending` or `Working` it means that
            we are busy performing the import. Once the status is `Completed` or
            `Failed` the import is done.
        trigger:
          enum:
            - Manual
            - Automated
          type: string
          description: Type of trigger for this import.
        failureCode:
          enum:
            - DatabaseError
            - InvalidImportSourceError
            - UnknownError
            - ParseError
            - NpiSourceError
            - ImportError
            - ImportRequestError
            - SourceError
            - NoContent
            - BadRequest
            - Unauthorized
            - Forbidden
            - NotFound
            - NotAcceptable
            - RequestTimeout
            - TooManyRequests
            - InternalServerError
            - BadGateway
            - ServiceUnavailable
            - GatewayTimeout
          type: string
          description: >-
            If set it means there was an error during the import or `null` when
            no errors happened.
        failureReason:
          $ref: '#/components/schemas/FailureModel'
        profile:
          $ref: '#/components/schemas/ProviderProfileModel'
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/IProviderParameter'
      additionalProperties: false
    ProviderProfileImportPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Id
                - Source
                - Status
                - Completed
                - Started
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/ProviderProfileImportModel'
          description: The provider profile imports in the current page.
        sortedBy:
          enum:
            - Id
            - Source
            - Status
            - Completed
            - Started
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            providerId: 4834bcdc-4a64-444d-966b-1a6fe381da24
            source: Npi
            started: '2019-08-24T14:15:22.0000000Z'
            completed: '2019-08-24T14:15:22.0000000Z'
            status: Pending
            trigger: Manual
            failureCode: DatabaseError
            failureReason:
              messageTemplate: string
              messageParams:
                property1: string
                property2: string
            profile:
              type: Npi
              npiNumber: 0
              enumerationType: string
              basic:
                replacementNpi: 0
                ein: string
                organizationName: string
                lastName: string
                firstName: string
                middleName: string
                namePrefix: string
                nameSuffix: string
                credential: string
                enumerationDate: '2019-08-24T14:15:22.0000000Z'
                lastUpdateDate: '2019-08-24T14:15:22.0000000Z'
                certificationDate: '2019-08-24T14:15:22.0000000Z'
                isSoleProprietor: true
                isOrganizationalSubpart: true
                parentOrganizationLbn: string
                parentOrganizationTin: string
                authorizedOfficialNamePrefix: string
                authorizedOfficialNameSuffix: string
                authorizedOfficialCredential: string
                authorizedOfficialFirstName: string
                authorizedOfficialLastName: string
                authorizedOfficialMiddleName: string
                authorizedOfficialTelephoneNumber: string
                authorizedOfficialTitleOrPosition: string
                deactivationDate: '2019-08-24T14:15:22.0000000Z'
                reactivationDate: '2019-08-24T14:15:22.0000000Z'
                gender: string
                status: string
                name: string
              otherNames:
                - nameTypeCode: string
                  lastName: string
                  firstName: string
                  middleName: string
                  prefix: string
                  suffix: string
                  credential: string
                  type: string
                  organizationName: string
              addresses:
                - addressLine1: string
                  addressLine2: string
                  state: AL
                  postalCode: string
                  countryCode: string
                  city: string
                  telephoneNumber: string
                  faxNumber: string
                  purpose: Location
                  updateDate: '2019-08-24T14:15:22.0000000Z'
              practiceLocations:
                - addressLine1: string
                  addressLine2: string
                  state: AL
                  postalCode: string
                  countryCode: string
                  city: string
                  telephoneNumber: string
                  faxNumber: string
                  purpose: Location
                  updateDate: '2019-08-24T14:15:22.0000000Z'
              taxonomies:
                - code: string
                  license: string
                  state: AL
                  isPrimary: true
                  description: string
                  taxonomyGroup: string
              identifiers:
                - number: string
                  code: string
                  state: AL
                  issuer: string
                  description: string
              isDeactivated: true
              deactivationReason: string
            parameters:
              - addressType: Unspecified
                addressLine: string
                city: string
                state: AL
                zipCode: string
                type: Name
        sortedBy: Id
        sortDirection: Asc
        sort:
          Id: Asc
          Source: Desc
          Status: Asc
          Completed: Desc
    ProviderProfileImportRequestModel:
      required:
        - providerId
        - source
      type: object
      properties:
        providerId:
          type: string
          description: The provider unique identifier associated with this profile import.
          format: uuid
        source:
          enum:
            - Npi
            - CaqhPo
            - AmericanMedicalAssociationPhysician
            - AmericanMedicalAssociationPhysicianAssistant
          type: string
          description: Source of the import.
          example: CaqhPo
      additionalProperties: false
    ProviderProfileImportSourcePageModel:
      type: object
      properties:
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/IProviderProfileImportSource'
          description: The provider profile import sources in the current page.
        sortedBy:
          enum:
            - Name
            - Source
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Name
                - Source
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - source: Npi
            name: string
            requiredParameterTypes:
              - Name
        sortedBy: Name
        sortDirection: Asc
        sort:
          Name: Asc
          Source: Desc
    ProviderProfileModel:
      oneOf:
        - $ref: >-
            #/components/schemas/AmericanMedicalAssociationPhysicianAssistantProviderProfileModel
        - $ref: >-
            #/components/schemas/AmericanMedicalAssociationPhysicianProviderProfileModel
        - $ref: '#/components/schemas/NpiProfile.NpiProviderProfileModel'
        - $ref: '#/components/schemas/CaqhProfile.CaqhProviderProfileModel'
      discriminator:
        propertyName: type
        mapping:
          AmericanMedicalAssociationPhysicianAssistant: >-
            #/components/schemas/AmericanMedicalAssociationPhysicianAssistantProviderProfileModel
          AmericanMedicalAssociationPhysician: >-
            #/components/schemas/AmericanMedicalAssociationPhysicianProviderProfileModel
          Npi: '#/components/schemas/NpiProfile.NpiProviderProfileModel'
          Caqh: '#/components/schemas/CaqhProfile.CaqhProviderProfileModel'
    ProviderReportRequestModel:
      type: object
      properties:
        sections:
          type: array
          items:
            enum:
              - BasicInfo
              - NpiNumber
              - DeaRegistrations
              - Licenses
              - BoardCertifications
              - LiabilityInsurance
              - EducationAndTraining
              - WorkHistory
              - SanctionsAndExclusions
              - CaqhProfile
              - MedicaidEnrollment
            type: string
          description: Report sections to generate.
        datasetTypes:
          type: array
          items:
            enum:
              - Sam
              - MedicareOptOut
              - OigFugitives
              - OfacSdn
              - OfacConsolidated
              - OigExclusions
              - StateSanctionsAndExclusions
              - Npdb
              - Dmf
              - CmsPreclusion
              - Tricare
            type: string
          description: Source types for `SanctionsAndExclusions` section.
        deaRecordNumbers:
          type: array
          items:
            type: string
          description: >-
            DEA record numbers associated with the provider to include in the
            report.
        licenseIds:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Unique license identifiers associated with the provider to include
            in the report.
        boardCertificateIds:
          type: array
          items:
            type: string
            format: uuid
          description: >-
            Unique board certificate identifiers associated with the provider to
            include in the report.
      additionalProperties: false
      example:
        sections:
          - BasicInfo
          - SanctionsAndExclusions
        datasetTypes:
          - Sam
          - MedicareOptOut
          - OigFugitives
          - Tricare
        deaRecordNumbers:
          - FM12345678
          - BA7654321
        boardCertificateIds:
          - 006f84a8-939b-45ed-906b-a6eeb883a112
          - 68b7fbd5-3397-441c-b9f5-ce7d89148a7b
        licenseIds:
          - bb6a2d28-b215-4f1c-ba2c-2d4ddb352787
    ProviderRequestModel:
      required:
        - firstName
        - lastName
      type: object
      properties:
        firstName:
          minLength: 1
          type: string
          description: The first (given) name of the provider.
        lastName:
          minLength: 1
          type: string
          description: The last (family) name of the provider.
        dateOfBirth:
          type: string
          description: The date of birth of this provider.
          format: date-time
        gender:
          enum:
            - Unknown
            - Male
            - Female
            - NonBinaryOrThirdGender
            - Other
            - PreferNotToSay
          type: string
          description: Provider's gender (optional).
        ethnicity:
          type: array
          items:
            enum:
              - AmericanIndianOrAlaskaNative
              - Asian
              - BlackOrAfricanAmerican
              - HispanicOrLatino
              - NativeHawaiianOrOtherPacificIslander
              - White
              - PreferNotToSay
              - NoInformationToAnswer
            type: string
          description: Provider's ethnicity (optional).
        ssn:
          type: string
          description: The social security number of this provider.
        npi:
          type: integer
          description: The 10 digit National Provider Identifiers (NPI) of this provider
          format: int64
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/ProviderAliasRequestModel'
          description: A list of aliases that this provider is also known by.
        primaryPracticeState:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: The primary practice state of the provider.
        additionalPracticeStates:
          type: array
          items:
            enum:
              - AL
              - AK
              - AZ
              - AR
              - CA
              - CO
              - CT
              - DE
              - DC
              - FL
              - GA
              - HI
              - ID
              - IL
              - IN
              - IA
              - KS
              - KY
              - LA
              - ME
              - MD
              - MA
              - MI
              - MN
              - MS
              - MO
              - MT
              - NE
              - NV
              - NH
              - NJ
              - NM
              - NY
              - NC
              - ND
              - OH
              - OK
              - OR
              - PA
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - VT
              - VA
              - WA
              - WV
              - WI
              - WY
              - AS
              - GU
              - MP
              - PR
              - VI
            type: string
          description: >-
            Additional practice states of the provider. Cannot include the
            primary practice state.
        credentialingStatus:
          type: string
          description: >-
            The name of credentialing status. The default value is 'Data
            Collection'.
        emails:
          type: array
          items:
            $ref: '#/components/schemas/ProviderEmailRequestModel'
          description: A list with provider emails.
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/ProviderAddressRequestModel'
          description: A list with provider addresses.
        phone:
          type: string
          description: Primary phone number associated with this provider
        languages:
          type: array
          items:
            type: string
          description: A list of languages, other than English, this provider speaks.
        credentialedDate:
          type: string
          description: Date this provider was originally credentialed
          format: date-time
        recredentialedDates:
          type: array
          items:
            type: string
            format: date-time
          description: A list of dates when this provider was re-credentialed.
        nextCredentialingDate:
          type: string
          description: Date this provider should be credentialed next
          format: date
        providerTypeId:
          type: string
          description: Provider type id associated with this provider.
          format: uuid
        segmentId:
          type: string
          description: >-
            The segment identifier to assign this provider to. If not specified,
            the default segment will be used.
          format: uuid
        deactivated:
          type: boolean
          description: >-
            If set to true, the provider will be deactivated. If set to false,
            the provider will be activated.
      additionalProperties: false
      example:
        firstName: string
        lastName: string
        dateOfBirth: '2000-08-24'
        ssn: '123456789'
    ProviderSsnParameter:
      type: object
      properties:
        ssn:
          type: string
          nullable: true
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ProviderTypeModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this provider type.
          format: uuid
        name:
          type: string
          description: Associated provider type name.
      additionalProperties: false
    ProviderTypeParameter:
      type: object
      properties:
        name:
          type: string
          nullable: true
        typeId:
          type: string
          format: uuid
        type:
          enum:
            - Name
            - Npi
            - DateOfBirth
            - Ssn
            - License
            - Address
            - Education
            - BoardCertificationNumber
            - Dea
            - Certificate
            - CaqhId
            - ProviderType
            - FacilityName
            - FacilityAccreditationInfo
            - FacilityCmsCertificationInfo
            - NccpaBoardCertificateInfo
            - Gender
          type: string
          readOnly: true
      additionalProperties: false
    ReportData:
      type: object
      properties:
        state:
          description: Context state for the report.
      additionalProperties: false
    RequestPasswordResetRequestModel:
      required:
        - email
      type: object
      properties:
        email:
          minLength: 1
          type: string
          description: >-
            The e-mail address from the account which should have the password
            reset.
          format: email
      additionalProperties: false
    RosterReportInfoModel:
      type: object
      properties:
        date:
          type: string
          description: The time when the report was created.
          format: date-time
        path:
          type: string
          description: Path to the report.
      additionalProperties: false
    SalesforceDocumentRequestRequestModel:
      required:
        - document
        - relatedIds
      type: object
      properties:
        document:
          minLength: 1
          type: string
          description: >-
            Path to the document (stored in this organization) to be uploaded to
            Salesforce.
        pathOnClient:
          type: string
        relatedIds:
          type: array
          items:
            type: string
          description: >-
            Array of Salesforce identifiers to which the uploaded content
            document will be linked.
      additionalProperties: false
    SamDatasetRecord:
      type: object
      properties:
        classification:
          enum:
            - Unknown
            - Firm
            - Individual
            - SpecialEntityDesignation
            - Vessel
          type: string
        openDataFlag:
          type: boolean
        duns:
          type: string
          nullable: true
        uei:
          type: string
          nullable: true
        exclusionProgram:
          enum:
            - Unknown
            - Reciprocal
            - Nonreciprocal
            - Procurement
            - NonProcurement
          type: string
        excludingAgency:
          type: string
          nullable: true
        ctCode:
          type: string
          nullable: true
        exclusionType:
          type: string
          nullable: true
        additionalComments:
          type: string
          nullable: true
        activeDate:
          type: string
          format: date-time
          nullable: true
        terminationDate:
          type: string
          format: date-time
          nullable: true
        recordStatus:
          enum:
            - Active
            - Inactive
          type: string
        crossReference:
          type: string
          nullable: true
        samNumber:
          type: string
          nullable: true
        cage:
          type: string
          nullable: true
        creationDate:
          type: string
          format: date-time
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        address:
          type: string
          nullable: true
        fullName:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        npiNumber:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    SanctionsAndExclusionsReportInfoModel:
      type: object
      properties:
        date:
          type: string
          description: The time when the report was created.
          format: date-time
        path:
          type: string
          description: Path to the report.
      additionalProperties: false
    SchoolCodeModel:
      type: object
      properties:
        code:
          type: string
          description: Education Federal School Code associated with the school.
        branchCode:
          type: string
          description: 2 digit number that identified the specific area of the school.
        name:
          type: string
          description: Name of the school.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: State associated with the school.
        city:
          type: string
          description: City associated with the school.
      additionalProperties: false
    SchoolCodePageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Name
                - Code
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/SchoolCodeModel'
          description: The schools in the current page.
        sortedBy:
          enum:
            - Name
            - Code
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
      additionalProperties: false
    SegmentModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the segment.
          format: uuid
        name:
          type: string
          description: >-
            Name of the segment. Used for multi-tenant organizations for
            billing, configuration, and tracking purposes.
      additionalProperties: false
      example:
        id: 3516a6ba-c998-4bfb-9017-322f8cf63674
        name: acme-corp
    SensitiveString:
      type: object
      additionalProperties: false
      description: >-
        If `includeSensitiveInfo` query parameter set to true the value will be
        shown in the response, otherwise it will be masked with *.
      example: '***'
    SimpleLicenseBaseModel:
      type: object
      properties:
        providerId:
          type: string
          format: uuid
        number:
          type: string
          nullable: true
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
        isPrimary:
          type: boolean
        id:
          type: string
          format: uuid
        isCurrentlyPracticing:
          type: boolean
        status:
          type: string
          nullable: true
        issueDate:
          type: string
          format: date-time
          nullable: true
        expiryDate:
          type: string
          format: date-time
          nullable: true
        verificationStatus:
          enum:
            - Verified
            - Unverified
          type: string
          nullable: true
        licenseTypeId:
          type: string
          format: uuid
        licenseTypeName:
          type: string
          nullable: true
        approvedStatus:
          enum:
            - Pending
            - 'Yes'
            - 'No'
          type: string
        restrictionStatus:
          enum:
            - None
            - Restricted
            - Unrestricted
          type: string
        nonVerifiedInfoIssueDate:
          type: string
          format: date-time
          nullable: true
        nonVerifiedInfoExpirationDate:
          type: string
          format: date-time
          nullable: true
        nonVerifiedInfoStatus:
          type: string
          nullable: true
      additionalProperties: false
    SimplifiedLicenseTypeModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this license type.
          format: uuid
        taxonomy:
          type: string
          description: Unique taxonomy code associated with this license type.
        name:
          type: string
          description: Descriptive name for this license type.
        aliases:
          type: array
          items:
            type: string
          description: Aliases used by different sources.
        abbreviations:
          type: array
          items:
            type: string
          description: License type name abbreviations.
        states:
          type: array
          items:
            enum:
              - AL
              - AK
              - AZ
              - AR
              - CA
              - CO
              - CT
              - DE
              - DC
              - FL
              - GA
              - HI
              - ID
              - IL
              - IN
              - IA
              - KS
              - KY
              - LA
              - ME
              - MD
              - MA
              - MI
              - MN
              - MS
              - MO
              - MT
              - NE
              - NV
              - NH
              - NJ
              - NM
              - NY
              - NC
              - ND
              - OH
              - OK
              - OR
              - PA
              - RI
              - SC
              - SD
              - TN
              - TX
              - UT
              - VT
              - VA
              - WA
              - WV
              - WI
              - WY
              - AS
              - GU
              - MP
              - PR
              - VI
            type: string
          description: List of states for which license verification is supported.
          deprecated: true
        verificationParameters:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/LicenseVerificationParameters'
          description: Description of parameters required to run verifications.
          deprecated: true
        sources:
          type: array
          items:
            $ref: '#/components/schemas/SimplifiedLicenseTypeSourceModel'
          description: >-
            A list of parameters and other verification-related information per
            state.
      additionalProperties: false
    SimplifiedLicenseTypePageModel:
      type: object
      properties:
        previousCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the previous paginated page.
            `null` will be returned if it's the first page.
        nextCursor:
          type: string
          description: >-
            The value to use for `cursor` to get to the next paginated page.
            `null` will be returned if it's the last page.
        nextOffset:
          type: integer
          description: >-
            The value to use for `offset` to get the next page following the
            current page or `null` if this page is the last.
          format: int32
          deprecated: true
        pageSize:
          type: integer
          description: The maximum number of items included in this page.
          format: int32
        count:
          type: integer
          description: The number of items in this page.
          format: int32
        totalCount:
          type: integer
          description: The total number of items in all pages combined.
          format: int32
        items:
          type: array
          items:
            $ref: '#/components/schemas/SimplifiedLicenseTypeModel'
          description: The providers in the current page.
        sortedBy:
          enum:
            - Taxonomy
            - Name
          type: string
          description: The property by which the data is sorted.
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          description: The direction in which the data is sorted.
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Taxonomy
                - Name
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          description: The properties and directions the data is sorted by.
      additionalProperties: false
      example:
        previousCursor: string
        nextCursor: string
        nextOffset: 0
        pageSize: 0
        count: 0
        totalCount: 0
        items:
          - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08
            taxonomy: string
            name: string
            aliases:
              - string
            abbreviations:
              - string
            states:
              - AL
            verificationParameters:
              AL:
                requiredParameters:
                  - LicenseNumber
                optionalParameters: []
            sources:
              - state: AL
                requiredParameters:
                  - LicenseNumber
                optionalParameters: []
                hasPassThroughFee: true
        sortedBy: Taxonomy
        sortDirection: Asc
        sort:
          Taxonomy: Asc
          Name: Desc
    SimplifiedLicenseTypeSourceModel:
      type: object
      properties:
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: >-
            The state the verification information relates to for the given
            license type.
        requiredParameters:
          type: array
          items:
            enum:
              - LicenseNumber
              - Name
              - Ssn
            type: string
          description: >-
            List of parameters required to run a license verification. Missing
            data for a required parameter will result in a failed verification.
        optionalParameters:
          type: array
          items:
            enum:
              - LicenseNumber
              - Name
              - Ssn
            type: string
          description: >-
            List of optional parameters that may be used to improve the
            verification result quality by applying additional filters.
        hasPassThroughFee:
          type: boolean
          description: >-
            Indicates whether the source for this state + license type
            combination charges a pass-through fee for a verification.
      additionalProperties: false
    SimplifiedLicenseTypeStatusModel:
      type: object
      properties:
        licenseTypeName:
          type: string
        sourceName:
          type: string
        licenseTypeId:
          type: string
          format: uuid
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
        status:
          $ref: '#/components/schemas/LicenseSourceStatusModel'
        maintenanceWindows:
          type: array
          items:
            $ref: '#/components/schemas/MaintenanceDowntimeCronDescription'
          description: >-
            Array with the CRON descriptions that explain when this license type
            will be in maintenance window. When a license type is in a
            maintenance window the requests sent to it will be delayed until it
            is over.
      additionalProperties: false
    SimplifiedLicenseTypeStatusPageModel:
      type: object
      properties:
        previousCursor:
          type: string
          nullable: true
        nextCursor:
          type: string
          nullable: true
        nextOffset:
          type: integer
          format: int32
          nullable: true
        pageSize:
          type: integer
          format: int32
        count:
          type: integer
          format: int32
        totalCount:
          type: integer
          format: int32
          nullable: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/SimplifiedLicenseTypeStatusModel'
          nullable: true
        sortedBy:
          enum:
            - State
          type: string
          nullable: true
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          nullable: true
        sort:
          type: object
          properties:
            Keys:
              enum:
                - State
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          nullable: true
      additionalProperties: false
    SsoAdminPortalLinkResponseModel:
      type: object
      properties:
        adminPortalLink:
          type: string
          nullable: true
      additionalProperties: false
    SsoAuthModel:
      required:
        - accessToken
      type: object
      properties:
        accessToken:
          $ref: '#/components/schemas/SensitiveString'
      additionalProperties: false
    StateSanctionsAndExclusionsExclusionDetails:
      type: object
      properties:
        startDate:
          type: string
          format: date-time
          nullable: true
        endDate:
          type: string
          format: date-time
          nullable: true
        period:
          type: string
          nullable: true
        reason:
          type: string
          nullable: true
        authority:
          type: string
          nullable: true
        providerId:
          type: string
          nullable: true
      additionalProperties: false
    StateSanctionsAndExclusionsProviderAlias:
      type: object
      properties:
        fullName:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
      additionalProperties: false
    StateSanctionsAndExclusionsRecord:
      type: object
      properties:
        source:
          $ref: '#/components/schemas/StateSanctionsAndExclusionsSource'
        providerType:
          type: string
          nullable: true
        aliases:
          type: array
          items:
            $ref: '#/components/schemas/StateSanctionsAndExclusionsProviderAlias'
          nullable: true
        exclusionDetails:
          $ref: '#/components/schemas/StateSanctionsAndExclusionsExclusionDetails'
        additionalInfo:
          type: object
          additionalProperties:
            type: string
            nullable: true
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        address:
          type: string
          nullable: true
        dateOfBirth:
          type: string
          format: date-time
          nullable: true
        fullName:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        middleName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        prefix:
          type: string
          nullable: true
        suffix:
          type: string
          nullable: true
        npiNumber:
          type: integer
          format: int64
          nullable: true
      additionalProperties: false
    StateSanctionsAndExclusionsSource:
      type: object
      properties:
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
        name:
          type: string
          nullable: true
      additionalProperties: false
    TrainingModel:
      type: object
      properties:
        lastUpdatedAt:
          type: string
          description: The date and time when the object was created or modified.
          format: date-time
        id:
          type: string
          description: Unique identifier associated with this training
          format: uuid
        trainingType:
          enum:
            - Internship
            - Residency
            - Fellowship
            - OtherTraining
            - FacultyPositions
            - Unspecified
          type: string
          description: The type of training pursued
        institutionName:
          type: string
          description: Name of the institution where training occurred
        schoolCode:
          type: string
          description: >-
            School code as defined by the National Student Clearinghouse
            Participation List
        schoolName:
          type: string
          description: Affiliated Medical School Name
        startDate:
          type: string
          description: Timestamp when this provider started the training program
          format: date-time
        endDate:
          type: string
          description: Timestamp when this provider finished the training program
          format: date-time
        completed:
          type: boolean
          description: >-
            Identifies if this provider completed the training program at this
            institution
        speciality:
          type: string
          description: Designated Speciality of the training record
        sponsoringState:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: Sponsoring State of the training record
      additionalProperties: false
    TrainingPatchModel:
      type: object
      properties:
        trainingType:
          enum:
            - Internship
            - Residency
            - Fellowship
            - OtherTraining
            - FacultyPositions
            - Unspecified
          type: string
          description: The type of training pursued
        institutionName:
          type: string
          description: Name of the institution where training occurred
        schoolCode:
          type: string
          description: >-
            School code as defined by the National Student Clearinghouse
            Participation List
        schoolName:
          type: string
          description: Affiliated Medical School Name
        startDate:
          type: string
          description: Timestamp when this provider started the training program
          format: date-time
        endDate:
          type: string
          description: Timestamp when this provider finished the training program
          format: date-time
        completed:
          type: boolean
          description: >-
            Identifies if this provider completed the training program at this
            institution
        speciality:
          type: string
          description: Designated Speciality of the training record
        sponsoringState:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: Sponsoring State of the training record
      additionalProperties: false
    TrainingRequestModel:
      type: object
      properties:
        trainingType:
          enum:
            - Internship
            - Residency
            - Fellowship
            - OtherTraining
            - FacultyPositions
            - Unspecified
          type: string
          description: The type of training pursued
        institutionName:
          type: string
          description: Name of the institution where training occurred
        schoolCode:
          type: string
          description: >-
            School code as defined by the National Student Clearinghouse
            Participation List
        schoolName:
          type: string
          description: Affiliated Medical School Name
        startDate:
          type: string
          description: Timestamp when this provider started the training program
          format: date-time
        endDate:
          type: string
          description: Timestamp when this provider finished the training program
          format: date-time
        completed:
          type: boolean
          description: >-
            Identifies if this provider completed the training program at this
            institution
        speciality:
          type: string
          description: Designated Speciality of the training record
        sponsoringState:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: Sponsoring State of the training record
      additionalProperties: false
    Transaction:
      type: object
      properties:
        orderId:
          type: string
          nullable: true
        transactionId:
          type: string
          nullable: true
        transactionStatus:
          type: string
          nullable: true
        transactionDescription:
          type: string
          nullable: true
        dateRequested:
          type: string
          format: date-time
          nullable: true
        dateNotified:
          type: string
          format: date-time
          nullable: true
        requestedBy:
          type: string
          nullable: true
      additionalProperties: false
    TransferNpdbRequestModel:
      type: object
      properties:
        databankSubjectId:
          type: string
          description: >-
            The Databank Subject ID that identifies the existing NPDB enrollment
            to transfer, must be 15 digits
        parameterSetId:
          type: string
          description: >-
            Indicates which NPDB parameter set should be used for the monitor.
            If a parameterSetId isn’t specified, we will use the
            default/preferred parameter set.
          format: uuid
      additionalProperties: false
    TransferNpdbResponseModel:
      type: object
      properties:
        monitor:
          $ref: '#/components/schemas/DatasetMonitorModel'
      additionalProperties: false
    TricareDatasetRecord:
      type: object
      properties:
        addresses:
          type: string
          nullable: true
        companies:
          type: string
          nullable: true
        excludeDate:
          type: string
          format: date-time
          nullable: true
        summary:
          type: string
          nullable: true
        term:
          type: string
          nullable: true
        id:
          type: string
          format: uuid
        hash:
          type: string
          format: uuid
        fullName:
          type: string
          nullable: true
      additionalProperties: false
    UserRoleModel:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          enum:
            - Admin
            - LimitedAdmin
            - Credentialing
            - LimitedCredentialing
            - Reader
            - LimitedReader
          type: string
        permissions:
          type: object
          additionalProperties:
            enum:
              - None
              - Read
              - Write
              - Allowed
            type: string
          nullable: true
      additionalProperties: false
    VerificationSourceModel:
      type: object
      properties:
        name:
          type: string
          description: Name of the licensing organization.
        url:
          type: string
          description: The URL used to fetch the license data for this source.
        hasPassThroughFee:
          type: boolean
          description: >-
            Indicates whether the source charges a pass-through fee for a
            verification.
      additionalProperties: false
    WebhookLogModel:
      type: object
      properties:
        type:
          enum:
            - VerificationCompleted
            - ExportCompleted
            - LicenseExpiresSoon
            - LicenseExpired
            - LicenseChanged
            - DatasetScanCompleted
            - LicenseStatusChanged
            - ProviderStatusChanged
            - ProviderProfileImportCompleted
            - CredentialingRequestChanged
            - GenerateReport
            - DatasetScanMatchesChanged
            - NpdbUpdateRequestRejected
          type: string
          description: The event type that should trigger this webhook.
        url:
          type: string
          description: >-
            The URL we will make an HTTP POST request to when an event of `type`
            occurs.
          format: uri
        timestamp:
          type: string
          description: The timestamp when this webhook was created.
          format: date-time
        status:
          enum:
            - Triggered
            - Completed
            - Failed
          type: string
          description: >-
            The status of this webhook. Could be one of the following:
            Triggered, Completed, or Failed
        attempt:
          type: integer
          description: >-
            The current attempt to call this webhook could be in the range from
            one to ten. Where ten is the max and last attempt.
          format: int32
        failureReason:
          type: string
          description: >-
            If set, the failure reason explaining why we could not call this
            webhook.
        payload:
          type: string
          description: >-
            If set, the payload of this webhook. Which is a serialized object as
            JSON.
        responseStatus:
          type: integer
          description: >-
            If set, the response HTTP status code of this webhook. e.g: 2xx,
            4xx, 5xx
          format: int32
        responseTime:
          type: integer
          description: If set, the response time it took to complete this webhook.
          format: int32
        responsePayload:
          type: string
          description: If set, the response HTTP payload of this webhook. As a string
        responseHeaders:
          description: If set, the response HTTP headers associated with this webhook.
        id:
          type: string
          description: Unique identifier associated with this webhook.
          format: uuid
        traceId:
          type: string
          description: >-
            Trace identifier associated with this webhook. This identifier is
            unique per webhook we trigger, but each attempt to call the webhook
            shares the same identifier.
          format: uuid
        webhookId:
          type: string
          format: uuid
      additionalProperties: false
    WebhookModel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier associated with this webhook.
          format: uuid
        type:
          enum:
            - VerificationCompleted
            - ExportCompleted
            - LicenseExpiresSoon
            - LicenseExpired
            - LicenseChanged
            - DatasetScanCompleted
            - LicenseStatusChanged
            - ProviderStatusChanged
            - ProviderProfileImportCompleted
            - CredentialingRequestChanged
            - GenerateReport
            - DatasetScanMatchesChanged
            - NpdbUpdateRequestRejected
          type: string
          description: The event type that should trigger this webhook.
        url:
          type: string
          description: >-
            The URL we will make an HTTP POST request to when an event of `type`
            occurs.
          format: uri
        allowInsecureUrl:
          type: boolean
          description: >-
            Set to true if the webhook was created to allow insecure URLs that
            use no SSL or self signed certificates.
        includeSensitiveInfo:
          type: boolean
          description: >-
            If set to false, the sensitive info will be masked in the webhook
            payload. The default value is true.
      additionalProperties: false
    WebhookPatchModel:
      type: object
      properties:
        url:
          type: string
          description: >-
            The URL we will make an HTTP POST request to when an event of `type`
            occurs.
          format: uri
        secret:
          type: string
          description: >-
            An optional secret which will be passed in the `X-Secret` header to
            the webhook callback URL.
        allowInsecureUrl:
          type: boolean
          description: >-
            Set to true to allow insecure callback URLs such as URLs without SSL
            or URLs with self signed certificates.
        includeSensitiveInfo:
          type: boolean
          description: >-
            If set to false, the sensitive info will be masked in the webhook
            payload. The default value is true.
      additionalProperties: false
    WebhookRequestModel:
      required:
        - type
        - url
      type: object
      properties:
        type:
          enum:
            - VerificationCompleted
            - ExportCompleted
            - LicenseExpiresSoon
            - LicenseExpired
            - LicenseChanged
            - DatasetScanCompleted
            - LicenseStatusChanged
            - ProviderStatusChanged
            - ProviderProfileImportCompleted
            - CredentialingRequestChanged
            - GenerateReport
            - DatasetScanMatchesChanged
            - NpdbUpdateRequestRejected
          type: string
          description: The event type that should trigger this webhook.
        url:
          type: string
          description: >-
            The URL we will make an HTTP POST request to when an event of `type`
            occurs.
          format: uri
        secret:
          type: string
          description: >-
            An optional secret which will be passed in the `X-Secret` header to
            the webhook callback URL.
        allowInsecureUrl:
          type: boolean
          description: >-
            Set to true to allow insecure callback URLs such as URLs without SSL
            or URLs with self signed certificates.
        includeSensitiveInfo:
          type: boolean
          description: >-
            If set to false, the sensitive info will be masked in the webhook
            payload. The default value is true.
      additionalProperties: false
    WebhookResponse:
      oneOf:
        - $ref: '#/components/schemas/NpdbUpdateRequestRejectedWebhook'
        - $ref: '#/components/schemas/ConfigurableReportModel'
        - $ref: '#/components/schemas/ProviderModel'
        - $ref: '#/components/schemas/ProviderProfileImportModel'
        - $ref: '#/components/schemas/LicenseModel'
        - $ref: '#/components/schemas/DatasetScanModel'
        - $ref: '#/components/schemas/CredentialingRequestModel'
      discriminator:
        propertyName: type
        mapping:
          NpdbUpdateRequestRejectedWebhook: '#/components/schemas/NpdbUpdateRequestRejectedWebhook'
          ConfigurableReportModel: '#/components/schemas/ConfigurableReportModel'
          ProviderModel: '#/components/schemas/ProviderModel'
          ProviderProfileImportModel: '#/components/schemas/ProviderProfileImportModel'
          LicenseModel: '#/components/schemas/LicenseModel'
          DatasetScanModel: '#/components/schemas/DatasetScanModel'
          CredentialingRequestModel: '#/components/schemas/CredentialingRequestModel'
    WebhooksLogPageModel:
      type: object
      properties:
        sort:
          type: object
          properties:
            Keys:
              enum:
                - Timestamp
              type: string
            Values:
              enum:
                - Asc
                - Desc
              type: string
          nullable: true
        previousCursor:
          type: string
          nullable: true
        nextCursor:
          type: string
          nullable: true
        nextOffset:
          type: integer
          format: int32
          nullable: true
        pageSize:
          type: integer
          format: int32
        count:
          type: integer
          format: int32
        totalCount:
          type: integer
          format: int32
          nullable: true
        items:
          type: array
          items:
            $ref: '#/components/schemas/WebhookLogModel'
          nullable: true
        sortedBy:
          enum:
            - Timestamp
          type: string
          nullable: true
        sortDirection:
          enum:
            - Asc
            - Desc
          type: string
          nullable: true
      additionalProperties: false
    WorkHistoryAddressModel:
      required:
        - addressLine1
        - city
      type: object
      properties:
        type:
          enum:
            - Unspecified
            - Home
            - Work
          type: string
          description: The type of address.
        state:
          enum:
            - AL
            - AK
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FL
            - GA
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - OH
            - OK
            - OR
            - PA
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VA
            - WA
            - WV
            - WI
            - WY
            - AS
            - GU
            - MP
            - PR
            - VI
          type: string
          description: >-
            Abbreviation of the state in which the city is located. This
            property is required when the country field is set to US.
        zipCode:
          type: string
          description: >-
            The postal code associated with the address. This property is
            required when the country field is set to US.
        city:
          minLength: 1
          type: string
          description: The city in which the address is located.
        addressLine1:
          minLength: 1
          type: string
          description: The street address.
        addressLine2:
          type: string
          description: The secondary address information.
        countryId:
          type: string
          description: The ID of the country from the countries list.
          format: uuid
      additionalProperties: false
    WorkHistoryModel:
      type: object
      properties:
        lastUpdatedAt:
          type: string
          description: The date and time when the object was created or modified.
          format: date-time
        id:
          type: string
          description: Unique identifier associated with this work history entry
          format: uuid
        workHistoryType:
          enum:
            - Employment
            - Gap
          type: string
          description: '`Gap` identifies a time period when this provider was not employed'
        name:
          type: string
          description: Name or employer
        jobTitle:
          type: string
          description: Job title while working for this employer
        address:
          $ref: '#/components/schemas/WorkHistoryAddressModel'
        phone:
          type: string
          description: Employer phone number
        startDate:
          type: string
          description: Timestamp when this provider started working for the employer
          format: date-time
        endDate:
          type: string
          description: Timestamp when this provider finished working for the employer
          format: date-time
        isCurrentEmployer:
          type: boolean
          description: Identifies if the provider is currently employed by the employer
        departureReason:
          type: string
          description: Reason provider left this employer
        gapExplanation:
          type: string
          description: >-
            If work history type is set to Gap provider must explain reason for
            the gap in employment
      additionalProperties: false
    WorkHistoryPatchModel:
      type: object
      properties:
        workHistoryType:
          enum:
            - Employment
            - Gap
          type: string
          description: '`Gap` identifies a time period when this provider was not employed'
        name:
          type: string
          description: Name or employer
        jobTitle:
          type: string
          description: Job title while working for this employer
        address:
          $ref: '#/components/schemas/WorkHistoryAddressModel'
        phone:
          type: string
          description: Employer phone number
        startDate:
          type: string
          description: Timestamp when this provider started working for the employer
          format: date-time
        endDate:
          type: string
          description: Timestamp when this provider finished working for the employer
          format: date-time
        isCurrentEmployer:
          type: boolean
          description: Identifies if the provider is currently employed by the employer
        departureReason:
          type: string
          description: Reason provider left this employer
        gapExplanation:
          type: string
          description: >-
            If work history type is set to Gap provider must explain reason for
            the gap in employment
      additionalProperties: false
    WorkHistoryRequestModel:
      type: object
      properties:
        workHistoryType:
          enum:
            - Employment
            - Gap
          type: string
          description: '`Gap` identifies a time period when this provider was not employed'
        name:
          type: string
          description: Name or employer
        jobTitle:
          type: string
          description: Job title while working for this employer
        address:
          $ref: '#/components/schemas/WorkHistoryAddressModel'
        phone:
          type: string
          description: Employer phone number
        startDate:
          type: string
          description: Timestamp when this provider started working for the employer
          format: date-time
        endDate:
          type: string
          description: Timestamp when this provider finished working for the employer
          format: date-time
        isCurrentEmployer:
          type: boolean
          description: Identifies if the provider is currently employed by the employer
        departureReason:
          type: string
          description: Reason provider left this employer
        gapExplanation:
          type: string
          description: >-
            If work history type is set to Gap provider must explain reason for
            the gap in employment
      additionalProperties: false
tags:
  - name: Authentication
    description: >
      These endpoint allow you to create and manage access tokens to be used in
      API calls. Unlike most other endpoints, when creating an access token,
      these do not require an access token to be used. Instead you authenticate
      via another secure mechanism and in exchange you retrieve an access token.
  - name: Definitions
    description: |
      Definitions for static data
  - name: Providers
    description: >
      Endpoints related to managing and listing providers. A provider must be
      created and associated with license numbers, NPI numbers or other
      identifiers that can be used to perform lookups to fetch associated data
      for this provider. The data registered on the provider will be matched
      against the data returned by these lookups and used to detect
      inconsistencies or problems in the data or licenses.
  - name: ProvidersInfo
    description: >
      Endpoints related to managing and listing providers' info. Education,
      insurance, training and CAQH login info can be added to providers.
      Education, liability insurance, and training can have multiple entries.
      They can be created via POST, modified by PATCH, and removed by DELETE
      methods. CAQH login info is a single entry per provider and can be created
      or replaced by PUT, removed by DELETE and modified by PATCH method.
  - name: Facilities
    description: >
      Endpoints related to managing and retrieving Facility data. These APIs
      allow you to create, update, and retrieve facilities and their associated
      metadata. Each facility record includes key identifiers such as address,
      group tax ID, contact information, Medicaid number, and Medicare number.
      This data can be used for lookups, verification, and detecting
      inconsistencies in facility records or affiliations. In addition to core
      facility management, these endpoints support retrieving reference data
      related to facilities, such as license types, accreditations, Medicare
      enrollment types, and taxonomies.
  - name: FacilitiesInfo
    description: >
      Endpoints related to managing and retrieving detailed Facility Info. These
      APIs allow you to manage key information associated with a facility,
      including NPI numbers, DEA registrations, liability insurance policies,
      licenses, accreditations, CMS certifications, and Medicare enrollments.
      Most Facility Info types can have multiple entries per facility and
      support full CRUD operations via standard HTTP methods (POST, PATCH,
      DELETE, and GET).
  - name: FacilitiesSpecialties
    description: >
      Endpoints related to managing and retrieving Facility Specialties. These
      APIs allow you to associate specialties with a specific facility, retrieve
      a list of assigned specialties, view details for an individual specialty,
      and remove specialties as needed. Each specialty is linked to a facility
      using unique identifiers in the API path. In addition to specialty
      management, the APIs support retrieving detailed information linked to
      each facility specialty. This includes endpoints for listing all
      associated info items, with optional filtering by type to support more
      targeted queries.
  - name: ProviderProfiles
    description: >
      These endpoints let you import a provider’s profile data from different
      sources (such as a provider’s National Provider Identifier (NPI) record).
      This allows you to build a more complete picture of a provider within
      Verifiable and gives you easy access to the latest provider profile data
      across multiple sources. 


      In order to import an external profile, each source has its own list of
      required parameters. A provider must first have the required data in their
      Verifiable profile before you can run an import.


      Once a request is created, fetching a profile is fast and typically takes
      seconds to return. You can check the status of an import request using the
      "Get an existing provider profile import" endpoint.
  - name: Notes
    description: |
      These endpoints allow you to create and manage provider notes.
  - name: Files
    description: >
      Endpoints for binary file access. When any of the other APIs return file
      paths, these file paths are referring to the `path` parameter in the
      following API's. File paths are unique per organization, but the same path
      can exist in multiple organizations.
  - name: DEA
    description: >
      These endpoints allow you to add DEA registration numbers to a provider
      and perform DEA registration lookups. Unlike license verifications a DEA
      registration lookup is done immediately.
  - name: DEA
    description: >
      These endpoints allow you to add DEA registration numbers to a provider
      and perform DEA registration lookups. Unlike license verifications a DEA
      registration lookup is done immediately.
  - name: Licenses
    description: >
      These endpoints allow you to add licenses to a provider and perform
      license lookups. Please note that a license lookup may take some time
      depending on the load and performance of the external data source. It is
      generally recommended to wait at least 2 seconds before polling for an
      update or use one of the notification mechanisms we provide (TBD).


      License verification result will have the basic information about the
      license such as license number, licenseType,

      status, issued date, expiry date, etc. In addition, the disciplinary
      actions and other additional information that is

      captured from the source site is represented through the
      disciplinaryActions and additionalProperties fields. The

      disciplinary actions and additional properties fields describe the type of
      data that is getting represented and are

      using the [Flexible Data
      Model](/reference/overview/#section/Common-Concepts/Flexible-data-model).
  - name: BoardCertifications
    description: >
      These endpoints allow you to add board certifications to a provider and
      perform certification lookups. Please note that a lookup may take some
      time depending on the load and performance of the external data source. It
      is generally recommended to wait at least 2 seconds before polling for an
      update or use one of the notification mechanisms we provide (TBD).


      Board certification verification result will have the basic information
      about the certification such as name, issued date, expiry date, etc. In
      addition, other additional information that is captured from the source
      site is represented through the additionalProperties fields. The
      additional properties fields describe the type of data that is getting
      represented and are using the [Flexible Data
      Model](/reference/overview/#section/Common-Concepts/flexible-data-model).
  - name: BoardCertifications
    description: >
      These endpoints allow you to add board certifications to a provider and
      perform certification lookups. Please note that a lookup may take some
      time depending on the load and performance of the external data source. It
      is generally recommended to wait at least 2 seconds before polling for an
      update or use one of the notification mechanisms we provide (TBD).


      Board certification verification result will have the basic information
      about the certification such as name, issued date, expiry date, etc. In
      addition, other additional information that is captured from the source
      site is represented through the additionalProperties fields. The
      additional properties fields describe the type of data that is getting
      represented and are using the [Flexible Data
      Model](/reference/overview/#section/Common-Concepts/flexible-data-model).
  - name: Datasets
    description: >
      Endpoints related to scanning datasets and reading resulting matches. The
      supported datasets will grow over time and can be discovered via the
      [ListDatasets](/reference/operation/ListDatasets) endpoint. A dataset scan
      is asynchronous, but most scans will result in near immediate completion.
      A webhook of type
      [DatasetScanCompleted](/reference/tag/Webhook-Callbacks/#tag/Webhook-Callbacks/section/DatasetScanCompleted)
      is triggered upon completion, but you can also check the completion status
      by querying the [GetDatasetScan](#operation/GetDatasetScan) operation.
  - name: Monitoring
    description: >
      Endpoints to allow you to enable/disable monitoring or update monitoring
      settings for monitorable data.


      ## License Expiration Monitoring

      License Expiration Monitoring is a process that automatically performs
      verifications of licenses as they approach their expiration date. This
      process operates independently of a license's configured monitoring
      interval (e.g., Monthly, Yearly). Its purpose is to ensure timely updates
      and proactive management of expiring licenses.


      ### License Expiration Monitoring for Free Sources

      For licenses verified via free sources (those without pass-through fees),
      the Verifiable Platform follows a more frequent and proactive monitoring
      to ensure timely updates. This increased frequency applies regardless of
      the license's general monitoring interval. Verifications are performed at
      the following intervals, relative to the license expiration date:

      - Before license expiration: 90, 60, 28, 14, 7, 3, and 0 days

      - After license expiration: 3 days


      This means the Verifiable Platform will check the license 90 days before
      it expires, then 60 days before, and so on, until the day of expiration (0
      days). A final check is performed 3 days after the expiration date.


      ### License Expiration Monitoring for Paid Sources

      For licenses verified via paid sources (those with pass-through fees), the
      Verifiable Platform follows a more streamlined monitoring for efficient
      management to minimize costs incurred to users.

      - After license expiration: 1 day


      As with free verification sources, these licenses will also continue to be
      monitored at their scheduled cadence regardless of this expiration check.
  - name: Alerts
    description: >
      Endpoints to list and dismiss active alerts. Alerts are triggered when an
      important event occurs that warrants user involvement. An alert can be
      considered dismissed if it has a dismissal timestamp and note.
  - name: Groups
    description: >
      Endpoints related to managing and listing groups. Providers and payers can
      be associated with groups.
  - name: Payers
    description: >
      Endpoints related to managing and listing payers. Each payer can have zero
      or more payer plans.
  - name: PayerPlans
    description: |
      Endpoints related to managing and listing payer plans.
  - name: ProviderEnrollments
    description: >
      Endpoints related to managing and listing provider enrollments. Providers
      in a group can be associated to payer plans via provider enrollments.
  - name: Integrations
    description: >
      These endpoints are used for our integrations with 3rd party services.
      They are not intended to be consumed directly by most clients. Please
      contact us for more information on our integration possibilities.
  - name: Webhooks
    description: >
      Endpoints to allow you to create and manage webhooks that will be called
      when a special event occurs. On this special event Verifiable will attempt
      to make an HTTP POST to the URL specified in the webhook. The payload of
      this request can vary, depending on the `type`. The `type` is included in
      the `X-WebhookType` header. This allows you to register multiple webhooks
      on the same endpoint and still be able to distinguish the webhook types.
      The webhook dispatcher expects the remote server to return an HTTP success
      status code. If it cannot be delivered, it will retry the callback a
      maximum of 3 times.


      By default, we do not allow you to use insecure URLs for callbacks. You
      can optionally create a webhook that allows insecure URLs for testing
      purposes. We recommend you to use an HTTPS callback with a valid SSL
      certificate so that the integrity of the callback is ensured. For added
      security we will pass the webhook id (which is only known to the creator)
      in the `X-WebhookId` header, and we will pass an optional secret in the
      `X-Secret` header.


      To be able to uniquely track webhook messages we also include the
      `X-TraceId` header. This will contain a unique value that doesn't change
      for every attempt we make to send a specific message. You can use this to
      keep a log of all messages that you have successfully processed.


      You can refer to [Webhook Callbacks](/reference/tag/Webhook-Callbacks/) to
      find the model that is included in the payload of the HTTP request to the
      callback URL.
  - name: Audit
    description: >
      Each API call that results in data being created, updated or deleted will
      result in one or more entries in the audit log. Using the endpoints
      provided in this section it is possible to list entries in this log.
  - name: Users
    description: |
      Endpoints related to managing and listing users.
  - name: Beta
    description: >
      These endpoints are currently in beta and subject to change. Access to
      these endpoints is restricted and can be granted on request.
  - name: Console
    description: >
      These endpoints allow you to create and manage organizations, console and
      organization users.
  - name: CredentialingRequests
    description: >
      These endpoints allow you to create and get credentialing requests. A
      credentialing request is a workflow that supports

      the creation of a credentialing packet. You can create a request for
      Verifiable's NCQA-certified CVO services to process

      or you can choose to self manage the workflow. By default, a CVO
      credentialing request will be created unless self

      managed is specified. Once a request has been created you cannot change
      between self managed and CVO. Multiple

      credentialing events can be created and managed for a provider.


      When a CVO credentialing request is created, the request will be sent
      directly to the Verifiable CVO team to begin

      processing. You can check the status of the request by querying

      the [GetCredentialingRequest](#operation/GetCredentialingRequest)

      or [ListCredentialingRequests](#operation/ListCredentialingRequests)
      operations.


      To keep track of the request, events are created to manage each stage of
      the credentialing request process using

      the
      [CreateCredentialingRequestEvent](#operation/CreateCredentialingRequestEvent)
      operation. You can also fetch specific

      events using the
      [GetCredentialingRequestEvent](#operation/GetCredentialingRequestEvent)
      operation.
  - name: Dataset Records
    description: >
      This section contains an overview of the models used by the different
      dataset types. These models can also be discovered via the
      [ListDatasets](/reference/operation/ListDatasets) operation.


      ## MedicareOptOut

      Model used for the `MedicareOptOut` dataset type.

      <SchemaDefinition
      schemaRef="#/components/schemas/MedicareOptOutDatasetRecord" />


      ## SAM

      Model used for the `SAM` dataset type.

      <SchemaDefinition schemaRef="#/components/schemas/SamDatasetRecord" />


      ## OFAC

      Model used for the `OFAC` dataset type.

      <SchemaDefinition schemaRef="#/components/schemas/OfacDatasetRecord" />


      ## OigFugitives

      Model used for the `OigFugitives` dataset type.

      <SchemaDefinition
      schemaRef="#/components/schemas/OigFugitivesDatasetRecord" />


      ## Tricare

      Model used for the `Tricare` dataset type.

      <SchemaDefinition schemaRef="#/components/schemas/TricareDatasetRecord" />


      ## OigExclusions

      Model used for the `OigExclusions` dataset type.

      <SchemaDefinition
      schemaRef="#/components/schemas/OigExclusionsDatasetRecord" />


      ## StateSanctionsAndExclusions

      Model used for the `StateSanctionsAndExclusions` dataset type

      <SchemaDefinition
      schemaRef="#/components/schemas/StateSanctionsAndExclusionsRecord" />


      ## NPDB

      Model used for the `NPDB` dataset type

      <SchemaDefinition schemaRef="#/components/schemas/NpdbDatasetRecord" />


      ## DMF

      Model used for the `Death Master File` dataset type

      <SchemaDefinition schemaRef="#/components/schemas/DmfDatasetRecord" />


      ## NPI

      Model used for the `NPI` dataset type

      <SchemaDefinition schemaRef="#/components/schemas/NpiDatasetRecord" />


      ## NSC

      Model used for the `NSC` dataset type

      <SchemaDefinition schemaRef="#/components/schemas/NscDatasetRecord" />


      ## DEA

      Model used for the `DEA` dataset type.

      <SchemaDefinition schemaRef="#/components/schemas/DeaDatasetRecord" />


      ## MedicaidEnrollmentCalifornia

      Model used for the `MedicaidEnrollmentCalifornia` dataset type.

      <SchemaDefinition
      schemaRef="#/components/schemas/MedicaidEnrollmentCaliforniaDatasetRecord"
      />


      ## CmsPreclusion

      Model used for the `Cms Preclusion List` dataset type.

      <SchemaDefinition
      schemaRef="#/components/schemas/CmsPreclusionDatasetRecord" />


      ## FacilityCmsCertification

      Model used for the `Facility CMS Certification` dataset type.

      <SchemaDefinition
      schemaRef="#/components/schemas/FacilityCmsCertificationDatasetRecord" />


      ## ABMS

      Model used for the board `ABMS` dataset type.

      <SchemaDefinition schemaRef="#/components/schemas/AbmsDatasetRecord" />


      ## Board Certification

      Model used for the board certification datasets.

      <SchemaDefinition
      schemaRef="#/components/schemas/BoardCertificationDatasetRecord" />


      ## Certification

      Model used for the certification datasets.

      <SchemaDefinition
      schemaRef="#/components/schemas/CertificateDatasetRecord" />


      ## JointCommission

      Model used for the Joint Commission datasets.

      <SchemaDefinition
      schemaRef="#/components/schemas/JointCommissionDatasetRecord" />
  - name: Webhook Callbacks
    description: >
      This section contains an overview of the models that are in the HTTP POST
      payload of a webhook callback. Refer

      to [Webhooks](/reference/tag/Webhooks) for more information on how to
      register a webhook.


      ## DatasetScanCompleted


      Model used in the HTTP POST request triggered by an event of type
      `DatasetScanCompleted`. This event occurs whenever a

      dataset scan has completed. The outcome of the scan and the matches found
      are included in the model.

      <SchemaDefinition schemaRef="#/components/schemas/DatasetScanModel" />


      ## ExportCompleted


      Model used in the HTTP POST request triggered by an event of type
      `ExportCompleted`. This event occurs whenever a PDF

      export of the license has been generated. The full path to the PDF export
      can be found in the model.

      <SchemaDefinition schemaRef="#/components/schemas/LicenseModel" />


      ## LicenseChanged


      Model used in the HTTP POST request triggered by an event of type
      `LicenseChanged`. This event occurs whenever the

      primary source results from the `currentVerification` object changes for a
      monitored license. The license object

      including the verification data is included in the model.

      <SchemaDefinition schemaRef="#/components/schemas/LicenseModel" />


      ## LicenseExpired


      Model used in the HTTP POST request triggered by an event of type
      `LicenseExpired`. This event occurs once when a

      license has passed the expiry date noted in the primary source. The
      license in question is included in the model.

      <SchemaDefinition schemaRef="#/components/schemas/LicenseModel" />


      ## LicenseExpiresSoon


      Model used in the HTTP POST request triggered by an event of type
      `LicenseExpiresSoon`. This event occurs once when a

      license has an expiry date within 60 days. The license in question is
      included in the model.

      <SchemaDefinition schemaRef="#/components/schemas/LicenseModel" />


      ## VerificationCompleted


      Model used in the HTTP POST request triggered by an event of type
      `VerificationCompleted`. This event occurs whenever a

      license verification is completed, either successfully or not. Refer to
      the model to find the current state of the

      license and the verification.

      <SchemaDefinition schemaRef="#/components/schemas/LicenseModel" />


      ## LicenseStatusChanged


      Model used in the HTTP POST request triggered by an event of type
      `LicenseStatusChanged`. This event occurs whenever the

      status of the latest verification of a license is modified or when the
      approved status of a license is modified.

      <SchemaDefinition schemaRef="#/components/schemas/LicenseModel" />


      ## ProviderStatusChanged


      Model used in the HTTP POST request triggered by an event of type
      `ProviderStatusChanged`. This event occurs whenever

      the credentialing status of a provider is modified.

      <SchemaDefinition schemaRef="#/components/schemas/ProviderModel" />


      ## ProviderProfileImportCompleted


      Model used in the HTTP POST request triggered by an event of type
      `ProviderProfileImportCompleted`.

      This event occurs whenever the credentialing status of a provider is
      modified.

      <SchemaDefinition
      schemaRef="#/components/schemas/ProviderProfileImportModel" />


      ## CredentialingRequestChanged


      Model used in the HTTP POST request triggered by an event of type
      `CredentialingRequestChanged`.

      This event occurs whenever the credentialing request of a provider
      changed.

      <SchemaDefinition
      schemaRef="#/components/schemas/CredentialingRequestModel" />


      ## GenerateReport


      Model used in the HTTP POST request triggered by an event of type
      `GenerateReport`.

      This event occurs whenever a configurable report of a provider is
      completed.

      <SchemaDefinition schemaRef="#/components/schemas/ConfigurableReportModel"
      />


      ## DatasetScanMatchesChanged


      Model used in the HTTP POST request triggered when there are changes to
      the matches on a scan. 

      This event occurs when a scan moves to the `Active` status, when one or
      more matches change on a scan in the `Active` status, or when a match is
      `Accepted` or `Rejected`. The scan and all matches (old and new) are
      included in the model.

      <SchemaDefinition schemaRef="#/components/schemas/DatasetScanModel" />


      ## NpdbUpdateRequestRejected

      Model used in the HTTP POST request triggered by an event of type
      `NpdbUpdateRequestRejected`. This event occurs whenever a NPDB update
      request has been rejected. Rejected parameters and the error message are
      included in the model.

      <SchemaDefinition
      schemaRef="#/components/schemas/NpdbUpdateRequestRejectedWebhook" />
  - name: Organizations
    description: |
      Endpoints related to managing and listing organization resources.
  - name: ProfileMerges
    description: >-
      These endpoints allow you to merge previously imported profile data with a
      provider in Verifiable
x-tagGroups:
  - name: Authentication
    tags:
      - Authentication
  - name: Definitions
    tags:
      - Definitions
  - name: Providers
    tags:
      - Providers
      - ProvidersInfo
      - ProviderProfiles
      - Notes
      - Files
  - name: Facilities
    tags:
      - Facilities
      - FacilitiesInfo
      - FacilitiesSpecialties
  - name: Verifications
    tags:
      - Licenses
      - Datasets
      - NPI
      - DEA
      - BoardCertifications
  - name: Monitoring
    tags:
      - Monitoring
      - Alerts
  - name: Credentialing
    tags:
      - CredentialingRequests
  - name: Integrations
    tags:
      - Integrations
      - Webhooks
  - name: Audits
    tags:
      - Audit
  - name: Account
    tags:
      - Users
  - name: Organizations
    tags:
      - Reports
  - name: Models
    tags:
      - Dataset Records
      - Webhook Callbacks
