openapi: 3.0.0
info:
  title: Group Dental Provider API
  description: "# Summary \n Group Dental Provider API will give list of Provider with the basic demographics information for the Group Commerical Dental Insurance for PPO & DHMO plan types \n # Versioning  \nGroup Dental Provider API uses url path prefixing to maintain different versions of the API. The format used is a ‘v’ followed by version number. All API endpoints (except meta) should be prefixed with either /v1/ or /v2 or /v3/. \n# Status Codes \nStatus Code  | Description <br>-----------------|------------- <br>\n200          | Everything worked as expected. See response if applicable. <br>\n201          | Created successfully. <br>\n400           | Bad Request. See error response with message. <br>\n404           | Not Found. Either no API endpoint was found or there were no results for given parameters. <br>\n500           | Internal Server Error. Something blew up on our side. This shouldn't happen. We logged the error and we will try to fix it ASAP. \n # Authentication & Authorization \n Group Provider API leverages Guardian’s Apigee Gateway to provide secure access using the OAuth 2.0 client credentials grant.\n"
  contact:
    email: dentaltechteamleads@glic.com
  version: 1.0.7
servers:
- url: /
paths:
  /api/v2/ppoprovider/searchresult:
    post:
      tags:
      - Provider Search API
      summary: Search Providers using Geo codes.
      description: "This API helps to search providers demographics info based on given Geographical codes, Distance & Plan type and returns top 150 results with the distance sort order."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DentalProviderInput'
        required: true
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DentistSearchResults'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FapErrorMessage'
  /api/v2/ppoprovider/dentalprovider:
    post:
      tags:
      - Provider Search API
      summary: Search Providers using Zip codes.
      description: "This API helps to search providers demographics info based on the Zip codes, Distance & Plan type and it returns number of provider records with value given in the input parameter and the default sort order by Greater savings calculation."
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SeqProviderDetail'
        required: true
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SeqProvider'
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FapErrorMessage'
components:
  schemas:
    DentalProviderInput:
      type: object
      properties:
        lat:
          type: number
          description: "null"
          example: 40.7999209
        lng:
          type: number
          description: "null"
          example: -40.7999209
        distance:
          type: number
          description: "null"
          example: 5
        stateCode:
          type: string
          description: "null"
          example: NY
        dentistName:
          type: string
          description: "null"
          example: ""
        officeName:
          type: string
          description: "null"
          example: ABC AVENUE DENTAL ASSOCIATES
        planName:
          type: string
          description: "null"
          example: PPO
        dentistTypeCode:
          type: string
          description: "null"
          example: ""
        practiceId:
          type: string
          description: "null"
          example: "539988"
        specialties:
          type: string
          description: "null"
          example: ""
        languages:
          type: string
          description: "null"
          example: "ENG,RUS"
        acceptingNew:
          type: string
          description: "null"
          example: "Y"
        numberOfProviders:
          type: integer
          description: "null"
          example: 5
        locationType:
          type: string
          description: "null"
          example: ""
        phoneNumber:
          type: string
          description: "null"
          example: "2227997955"
        sortByName:
          type: string
          description: "null"
          example: ""
        memberType:
          type: string
          description: "null"
          example: ""
        isHCRProviderSearch:
          type: boolean
          description: "null"
          example: true
        nPIN:
          type: string
          description: "null"
          example: "1080017960"
        licenseNumber:
          type: string
          description: "null"
          example: "23456"
        lowestCost:
          type: string
          description: "null"
          example: ""
        cityNm:
          type: string
          description: "null"
          example: New York
        clientType:
          type: string
          description: "null"
          example: COOKCOUNTYMDC
        langauge:
          type: string
          description: "null"
          example: ""
        localMed:
          type: string
          description: "null"
          example: ""
    DentistSearchResults:
      type: object
      properties:
        providers:
          type: array
          items:
            $ref: '#/components/schemas/DentalProvider'
        totalResults:
          type: integer
          description: "null"
          example: 237
        allianceSelect:
          type: string
          description: "null"
          example: "N"
        hasLocalMed:
          type: string
          description: "null"
          example: "Y"
    DentalProvider:
      type: object
      properties:
        lat:
          type: number
          description: "null"
          example: 40.7999209
        lng:
          type: number
          description: "null"
          example: -40.7999209
        distance:
          type: number
          description: "null"
          example: 5
        stateCode:
          type: string
          description: "null"
          example: NY
        firstName:
          type: string
          description: "null"
          example: MARCELLE
        middleName:
          type: string
          description: "null"
          example: OLIVER
        lastName:
          type: string
          description: "null"
          example: MEER
        suffixName:
          type: string
          description: "null"
          enum:
          - Jr
          - Sr
          - III
          - Other
          - II
          - IV
          - V
          - VI
          - MD
          - DDS
          - PHD
        officeName:
          type: string
          description: "null"
          example: ABC AVENUE DENTAL ASSOCIATES
        practiceId:
          type: string
          description: "null"
          example: "539988"
        specialtyId:
          type: string
          description: "null"
          example: General Dentist
        phoneNumber:
          type: string
          description: "null"
          example: "2227997955"
        addressLine1:
          type: string
          description: "null"
          example: 814 Amsterdam Ave
        addressLine2:
          type: string
          description: "null"
          example: Park Avenue
        suiteNumber:
          type: string
          description: "null"
          example: Ste 110
        degree:
          type: string
          description: "null"
          example: DMD
        zipCd:
          type: string
          description: "null"
          example: "10025"
        cityNm:
          type: string
          description: "null"
          example: New York
        officeStatus:
          type: string
          description: "null"
          example: "Y"
        commentText:
          type: string
          description: "null"
          example: ""
        denMastId:
          type: number
          description: "null"
          example: 7210
        planName:
          type: string
          description: "null"
          example: PPO
        cardType:
          type: string
          description: "null"
          example: P
        numberOfProviders:
          type: integer
          description: "null"
          example: 5
        preferredProviderIn:
          type: string
          description: "null"
          example: "N"
        language:
          type: string
          description: "null"
          example: HE~ PL~ RS~ ES
        licenseNumber:
          type: string
          description: "null"
          example: "23456"
        nPIN:
          type: string
          description: "null"
          example: "1080017960"
        ntwrk:
          type: string
          description: "null"
          example: CSW1
        partnerNetwork:
          type: boolean
          description: "null"
          example: true
        discounted:
          type: boolean
          description: "null"
          example: true
        lowestCost:
          type: boolean
          description: "null"
          example: true
        greaterSavings:
          type: string
          description: "null"
          example: E
        sortOrder:
          type: integer
          description: "null"
          example: 1
        allianceSelect:
          type: string
          description: "null"
          example: ""
        localMedUrl:
          type: string
          description: "null"
          example: ""
    SeqProviderDetail:
      type: object
      properties:
        planNameKey:
          type: string
          description: "null"
          example: "PPO"
        zipCode:
          type: string
          description: "null"
          example: "12308"
        latitude:
          type: number
          description: "null"
          example: 42.8138571
        longitude:
          type: number
          description: "null"
          example: -73.9285554
        City:
          type: string
          description: "null"
          example: "Schenectady"
        stateCode:
          type: string
          description: "null"
          example: "NY"
        networkCode:
          type: string
          description: "null"
          example: ""
        distance:
          type: integer
          description: "null"
          example: 10
        pageNumber:
          type: integer
          description: "null"
          example: 1
        specialityId:
          type: string
          description: "null"
          example: ""
        NumberOfProviders:
          type: integer
          description: "null"
          example: 5
        rowCountPerPage:
          type: integer
          description: "null"
          example: 10
        firstName:
          type: string
          description: "null"
          example: "ALEXANDRA"
        lastName:
          type: string
          description: "null"
          example: "TARASOVA"
        languageId:
          type: string
          description: "null"
          example: "RUS"
    SeqProvider:
      type: object
      properties:
        finalDentalProviderList:
          type: array
          items:
            $ref: '#/components/schemas/sepProviders'
        rowCountPerPage:
          type: integer
          description: "null"
          example: 10
        pageNumber:
          type: integer
          description: "null"
          example: 1
        totalRowCount:
          type: integer
          description: "null"
          example: 1
    sepProviders:
      type: object
      properties:
        denMastId:
          type: integer
          description: "null"
          example: 2806857
        firstName:
          type: string
          description: "null"
          example: "ALEXANDRA"
        lastName:
          type: string
          description: "null"
          example: "TARASOVA"
        middleName:
          type: string
          description: "null"
          example: ""
        zipCode:
          type: string
          description: "null"
          example: "12308"
        address1:
          type: string
          description: "null"
          example: "833 Union St"
        address2:
          type: string
          description: "null"
          example: ""
        suiteNumber:
          type: string
          description: "null"
          example: ""
        city:
          type: string
          description: "null"
          example: "Schenectady"
        state:
          type: string
          description: "null"
          example: "NY"
        phoneNumber:
          type: string
          description: "null"
          example: "5183741935"
        language:
          type: string
          description: "null"
          example: "Russian"
        status:
          type: string
          description: "null"
          example: "null"
        distance:
          type: number
          description: "null"
          example: 0.0560
        speciality:
          type: string
          description: "null"
          example: "General Dentist"
        latitude:
          type: number
          description: "null"
          example: 42.8138571
        longitude:
          type: number
          description: "null"
          example: -73.9285554
        languages:
          $ref: '#/components/schemas/Language'
        networkName:
          type: string
          description: "null"
          example: "DentalGuard Preferred Connect/Silver"
    Language:
      type: object
      properties:
        languageId:
          type: string
          description: "null"
          example: "RUS"
        languageName:
          type: string
          description: "null"
          example: "Russian"
    FapErrorMessage:
      type: object
      properties:
        Message:
          type: string
          description: "null"
          example: Not Found
