Certifyos Npi Validation API

NPI validation operations

OpenAPI Specification

certifyos-npivalidation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API for Certify application
  title: Certify API Layer Npi Validation API
  version: 1.0.0
servers:
- url: http://localhost:9000
  description: Local Development Server
- url: https://api-service.staging.certifyos.com
  description: Staging Server
- url: https://api-service.internal.certifyos.com
  description: Internal Server
- url: https://api-service.test.certifyos.com
  description: Test Server
- url: https://api-service.demo.certifyos.com
  description: Demo Server
- url: https://api-service.certifyos.com
  description: Production Server
tags:
- name: NpiValidation
  description: NPI validation operations
paths:
  /npi/validate:
    post:
      summary: Validate NPI
      description: Validates the NPI format (Luhn checksum), then checks the CertifyOS DAL (sourceType=nppes) using the declared entity type to route to the correct core resource API. Falls back to the live NPPES public registry if not found. 'entityType' is an optional query parameter (case-insensitive); defaults to practitioner when omitted. Status VALID_FOUND_IN_NPPES_BUT_FAILED_CROSSWALK_CREATION indicates the NPI was found in NPPES but the DAL crosswalk upsert failed.
      operationId: validateNpi
      tags:
      - NpiValidation
      parameters:
      - description: 'Entity type of the NPI: practitioner, facility, or group. Case-insensitive. Defaults to PRACTITIONER when omitted. Returns 400 if an unrecognised value is supplied.'
        example: facility
        name: entityType
        in: query
        schema:
          type: string
      - name: tenant-id
        in: header
        schema:
          type: string
      requestBody:
        description: Request object containing the NPI to validate
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NpiValidationRequest'
        required: true
      responses:
        '200':
          description: NPI is valid and found. Status is VALID_AND_FOUND (found in DAL), VALID_FOUND_IN_NPPES (found in live NPPES registry and crosswalk succeeded), or VALID_FOUND_IN_NPPES_BUT_FAILED_CROSSWALK_CREATION (found in live NPPES registry but DAL crosswalk upsert failed).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationResponse'
        '400':
          description: 'Bad Request - Malformed request body (missing or null npi field) or unrecognised entityType query parameter value (accepted: practitioner, facility, group — case-insensitive)'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationErrorResponse'
        '401':
          description: Unauthorized - Authentication required
        '403':
          description: Forbidden - Insufficient permissions
        '404':
          description: Not Found - NPI is valid but not found in the DAL or the NPPES registry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationErrorResponse'
        '422':
          description: Unprocessable Entity - NPI format is invalid (Luhn check failed), or the declared entityType does not match the enumeration type returned by NPPES (e.g. FACILITY declared but NPI is registered as a Type 1 individual provider)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationErrorResponse'
        '503':
          description: Service Unavailable - Live NPPES registry fallback is disabled by configuration (NPI_VALIDATION_NPPES_ENABLED is set to false)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NpiValidationErrorResponse'
      security:
      - jwt: []
components:
  schemas:
    CoreFacilitydataschema:
      type: object
      properties:
        lastCredentialedDate:
          $ref: '#/components/schemas/Date'
        initialCredentialingDate:
          $ref: '#/components/schemas/Date'
        nextCredentialingDate:
          $ref: '#/components/schemas/Date'
        dba:
          type: string
        name:
          type: string
        primaryEmail:
          type: string
        npi:
          type: string
        tin:
          type: string
        externalId:
          type: string
        facilityType:
          type: string
        deceasedDate:
          $ref: '#/components/schemas/Date'
        lineOfBusiness:
          type: array
          items:
            type: string
        attestationDate:
          $ref: '#/components/schemas/Date'
        effectiveDate:
          $ref: '#/components/schemas/Date'
        statesToCredential:
          type: array
          items:
            type: string
        userDefinedFields:
          type: object
          additionalProperties: {}
        delegationStatus:
          $ref: '#/components/schemas/DelegationStatusEnum1'
        jurisdictionOfInterest:
          type: string
        businessPurpose:
          $ref: '#/components/schemas/FacilityBusinessPurpose'
        emails:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaEmailsInner'
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaPhoneNumbersInner'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAddressesInner'
        licenses:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaLicensesInner'
        npdbReports:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaNpdbReportsInner'
        nppes:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaNppesInner'
        certifications:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaCertificationsInner'
        supportingDocuments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
        insurances:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaInsurancesInner'
        sanctions:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaSanctionsInner'
        specialties:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaSpecialtiesInner'
        accreditations:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaAccreditationsInner'
        siteVisits:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaSiteVisitsInner'
        medicareStarRatings:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaMedicareStarRatingsInner'
        appVerifications:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaAppVerificationsInner'
        performanceIndicators:
          type: array
          items:
            $ref: '#/components/schemas/CoreFacilitydataschemaPerformanceIndicatorsInner'
    CorePractitionerdatabaseschemaCaqhPdqsPractitionerSpecialty:
      type: object
      properties:
        otherSpecialty:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaCaqhPdqsPractitionerSpecialtyOtherSpecialty'
    CorePractitionerdatabaseschemaDeaInner:
      type: object
      properties:
        expireDate:
          $ref: '#/components/schemas/Date'
        expirationDate:
          $ref: '#/components/schemas/Date'
        affiliation:
          type: string
        deaNumber:
          type: string
        number:
          type: string
        cdsLicenseNumber:
          type: string
        state:
          type: string
        providerType:
          type: string
        verifiedBy:
          type: string
        verifiedDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        type:
          $ref: '#/components/schemas/TypeEnum'
        status:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        url:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaNpdbReportsInnerOtherNameInner:
      type: object
      required:
      - firstName
      - lastName
      properties:
        firstName:
          type: string
        lastName:
          type: string
    CorePractitionerdatabaseschemaLanguagesInner:
      type: object
      properties:
        language:
          type: string
        isPrimary:
          type: boolean
        credWorkflowRecordOrigin:
          type: string
    CoreFacilitydataschemaNppesInnerIdentifiersInner:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
        state:
          type: string
        issuer:
          type: string
    CorePractitionerdatabaseschemaProfessionalIdsInner:
      type: object
      properties:
        type:
          type: string
        number:
          type: string
        state:
          type: string
        issueDate:
          $ref: '#/components/schemas/Date'
        expirationDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    MdmProcessStatus:
      type: string
      enum:
      - SUCCESS
      - FAILED
    JsonNodeType:
      type: string
      enum:
      - ARRAY
      - BINARY
      - BOOLEAN
      - MISSING
      - 'NULL'
      - NUMBER
      - OBJECT
      - POJO
      - STRING
    NpiValidationRequest:
      description: Request to validate an NPI
      type: object
      required:
      - npi
      properties:
        npi:
          type: string
          description: The NPI to validate
          examples:
          - '1234567890'
    CorePractitionerdatabaseschemaCaqhPdqsPractitionerProfessionalIdPractitionerEcfmg:
      type: object
      properties:
        ecfmgNumber:
          type: string
        ecfmgIssueDate:
          $ref: '#/components/schemas/Date'
    JsonNode:
      type: object
      properties:
        empty:
          type: boolean
        valueNode:
          type: boolean
        containerNode:
          type: boolean
        missingNode:
          type: boolean
        array:
          type: boolean
        object:
          type: boolean
        nodeType:
          $ref: '#/components/schemas/JsonNodeType'
        pojo:
          type: boolean
        number:
          type: boolean
        integralNumber:
          type: boolean
        floatingPointNumber:
          type: boolean
        short:
          type: boolean
        int:
          type: boolean
        long:
          type: boolean
        float:
          type: boolean
        double:
          type: boolean
        bigDecimal:
          type: boolean
        bigInteger:
          type: boolean
        textual:
          type: boolean
        boolean:
          type: boolean
        'null':
          type: boolean
        binary:
          type: boolean
    CorePractitionerdatabaseschemaNpdbReportsInnerCertificationPhone:
      type: object
      properties:
        number:
          type: string
    CorePractitionerdatabaseschemaXRayLicensesInner:
      type: object
      properties:
        licenseNumber:
          type: string
        expirationDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CoreFacilitydataschemaSpecialtiesInner:
      type: object
      properties:
        type:
          type: string
        specialty:
          type: string
        subspecialty:
          type: string
        primarySpecialty:
          type: boolean
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
    CorePractitionerdatabaseschemaNpdbReportsInnerCertification:
      type: object
      properties:
        name:
          type: string
        title:
          type: string
        phone:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaNpdbReportsInnerCertificationPhone'
        date:
          $ref: '#/components/schemas/Date'
    CoreFacilitydataschemaNppesInnerTaxonomiesInner:
      type: object
      required:
      - code
      - desc
      properties:
        code:
          type: string
        desc:
          type: string
        license:
          type: string
        primary:
          type: boolean
        state:
          type: string
        taxonomyGroup:
          type: string
    CorePractitionerdatabaseschemaCaqhPdqs:
      type: object
      properties:
        practitionerProfessionalId:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaCaqhPdqsPractitionerProfessionalId'
        practitionerSpecialty:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaCaqhPdqsPractitionerSpecialty'
        attestationDate:
          $ref: '#/components/schemas/Date'
        caqhApiResponseId:
          type: string
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
    PractitionerMedicaidInner:
      type: object
      properties:
        state:
          type: string
        medicaidNumber:
          type: string
        medicaidState:
          type: string
        cdsNumber:
          type: string
        issueDate:
          $ref: '#/components/schemas/Date'
        expirationDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        url:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerResponse:
      type: object
      properties:
        certifyId:
          type: string
        crosswalkId:
          type: string
        sourceId:
          type: string
        sourceUrl:
          type: string
        sourceType:
          type: string
        sourceName:
          type: string
        sourceDescription:
          type: string
        sourceTenantId:
          type: string
        sourceTags:
          type: array
          items:
            type: string
        data:
          $ref: '#/components/schemas/CorePractitionerdataschema'
        rawSourceData:
          $ref: '#/components/schemas/JsonNode'
        survivorId:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        updatedAt:
          $ref: '#/components/schemas/Date'
        mdmProcessResult:
          $ref: '#/components/schemas/MdmProcessResponse'
      title: CorePractitionerResponse
    DelegationStatusEnum1:
      type: string
      enum:
      - Delegated
      - Direct
    CoreFacilitydataschemaPerformanceIndicatorsInner:
      type: object
      properties:
        totalComplaints:
          type: integer
          format: int32
        clinicalComplaints:
          type: integer
          format: int32
        serviceComplaints:
          type: integer
          format: int32
        benefitsComplaints:
          type: integer
          format: int32
        claimComplaints:
          type: integer
          format: int32
        accessIssueComplaints:
          type: integer
          format: int32
        reportDate:
          $ref: '#/components/schemas/Date'
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
    PractitionerAddressesInner:
      type: object
      properties:
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        state:
          type: string
        country:
          type: string
        zipcode:
          type: string
        source:
          type: string
        type:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaNpdbReportsInnerSubmitter:
      type: object
      properties:
        entityDBID:
          type: string
        agentDBID:
          type: string
        vendorID:
          type: string
    CorePractitionerdatabaseschemaMedicareInner:
      type: object
      properties:
        medicareNumber:
          type: string
        medicareState:
          type: string
        issueDate:
          $ref: '#/components/schemas/Date'
        expirationDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        url:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaEducationInner:
      type: object
      properties:
        toDate:
          $ref: '#/components/schemas/Date'
        schoolName:
          type: string
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaPracticeLocationsInnerLocationHoursInner:
      type: object
      properties:
        dayOfWeek:
          $ref: '#/components/schemas/DayOfWeekEnum'
        startHours:
          type: string
        endHours:
          type: string
    CoreFacilitydataschemaMedicareStarRatingsInner:
      type: object
      properties:
        starRating:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
    CorePractitionerdatabaseschemaPerformanceIndicatorsInner:
      type: object
      properties:
        totalComplaints:
          type: integer
          format: int32
        clinicalComplaints:
          type: integer
          format: int32
        serviceComplaints:
          type: integer
          format: int32
        benefitsComplaints:
          type: integer
          format: int32
        claimComplaints:
          type: integer
          format: int32
        accessIssueComplaints:
          type: integer
          format: int32
        reportDate:
          $ref: '#/components/schemas/Date'
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaCaqhPdqsPractitionerProfessionalId:
      type: object
      properties:
        practitionerEcfmg:
          $ref: '#/components/schemas/CorePractitionerdatabaseschemaCaqhPdqsPractitionerProfessionalIdPractitionerEcfmg'
    SanctionsLineageValue:
      type: object
      properties:
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        fileUrl:
          type: string
        sourceType:
          type: string
        sanctionType:
          type: string
        typeOfAction:
          type: string
        sourceName:
          type: string
    CoreFacilitydataschemaNpdbReportsInner:
      type: object
      properties:
        reportDate:
          $ref: '#/components/schemas/Date'
        processDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        data: {}
        verifiedDate:
          $ref: '#/components/schemas/Date'
        typeOfAction:
          type: string
        createdDate:
          $ref: '#/components/schemas/Date'
        deceased:
          type: string
        paymentAmount:
          type: string
        paymentDate:
          $ref: '#/components/schemas/Date'
        patientAge:
          type: string
        patientGender:
          type: string
        patientType:
          type: string
        medicalConditionDescription:
          type: string
        procedureDescription:
          type: string
        allegationsDescription:
          type: string
        allegationNature:
          type: string
        specificAllegation:
          type: string
        specificAllegationDate:
          $ref: '#/components/schemas/Date'
        outcome:
          type: string
        source:
          type: string
        reportType:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        middleName:
          type: string
        gender:
          type: string
        npi:
          type: string
        homeAddress:
          type: string
        homeCity:
          type: string
        homeState:
          type: string
        homeZip:
          type: string
        dcn:
          type: string
        databankSubjectId:
          $ref: '#/components/schemas/Date'
        enrollmentStatus:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
    PractitionerBusinessPurposeIsForMonitoring:
      type: object
      properties:
        value:
          type: boolean
        reason:
          type: string
    CorePractitionerdatabaseschemaResidencyInner:
      type: object
      properties:
        schoolName:
          type: string
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaSpecialtiesInner:
      type: object
      properties:
        specialty:
          type: string
        subspecialty:
          type: string
        primarySpecialty:
          type: boolean
        source:
          type: string
        type:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        taxonomyCode:
          type: string
        classificationSource:
          $ref: '#/components/schemas/ClassificationSourceEnum'
        boardName:
          type: string
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
        effectiveDate:
          $ref: '#/components/schemas/Date'
        terminationDate:
          $ref: '#/components/schemas/Date'
        tenantPractitionerSpecialtyId:
          type: string
    CoreFacilitydataschemaAppVerificationsInner:
      type: object
      properties:
        verificationType:
          type: string
        explanation:
          type: string
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/FacilityAttachment'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
    CorePractitionerdatabaseschemaNppesInnerTaxonomiesInner:
      type: object
      properties:
        code:
          type: string
        desc:
          type: string
        license:
          type: string
        primary:
          type: boolean
        state:
          type: string
        taxonomyGroup:
          type: string
    CorePractitionerdatabaseschemaCaqhPdqsPractitionerSpecialtyOtherSpecialty:
      type: object
      properties:
        listedUnderPPOFlag:
          type: boolean
    CorePractitionerdatabaseschemaSiteVisitsInner:
      type: object
      properties:
        date:
          $ref: '#/components/schemas/Date'
        grade:
          type: string
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        verifiedDate:
          $ref: '#/components/schemas/Date'
        verifiedBy:
          type: string
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaEducationTrainingInner:
      type: object
      properties:
        startDate:
          $ref: '#/components/schemas/Date'
        endDate:
          $ref: '#/components/schemas/Date'
        type:
          type: string
        degree:
          type: string
        speciality:
          type: string
        subspecialty:
          type: string
        institution:
          type: string
        licensingBoardReference:
          type: string
        verifiedBy:
          type: string
        verifiedDate:
          $ref: '#/components/schemas/Date'
        status:
          type: string
        source:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaMalpracticeInsurancesInner:
      type: object
      properties:
        carrierName:
          type: string
        expiryDate:
          $ref: '#/components/schemas/Date'
        effectiveDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        status:
          type: string
        policyNumber:
          type: string
        aggregateCoverageAmount:
          type: string
        occuranceCoverageAmount:
          type: string
        verifiedBy:
          type: string
        verifiedDate:
          $ref: '#/components/schemas/Date'
        type:
          type: string
        unlimitedCoverage:
          type: boolean
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaCdsInner:
      type: object
      properties:
        expireDate:
          $ref: '#/components/schemas/Date'
        expirationDate:
          $ref: '#/components/schemas/Date'
        number:
          type: string
        state:
          type: string
        providerType:
          type: string
        verifiedBy:
          type: string
        verifiedDate:
          $ref: '#/components/schemas/Date'
        source:
          type: string
        status:
          type: string
        reportDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/schemas/Date'
        url:
          type: string
        createdAt:
          $ref: '#/components/schemas/Date'
        createdBy:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Date'
        updatedBy:
          type: string
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/Attachment1'
        dataAcquireDate:
          $ref: '#/components/schemas/Date'
        sourceUpdateDate:
          $ref: '#/components/schemas/Date'
        credWorkflowRecordOrigin:
          type: string
    CorePractitionerdatabaseschemaMalpracticeInsuranceInner:
      type: object
      properties:
        carrierName:
          type: string
        expiryDate:
          $ref: '#/components/schemas/Date'
        effectiveDate:
          $ref: '#/components/schemas/Date'
        flaggedDate:
          $ref: '#/components/sc

# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/certifyos/refs/heads/main/openapi/certifyos-npivalidation-api-openapi.yml