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

# Supported Diagnosis Codes

> Get list of supported diagnosis codes and medical conditions

<Callout title="Updates" color="orange" icon="bell">
  **Updated:**

  * **HCC** is now included as a supported diagnosis code type for ambient structured data output.
  * Send **ICD10** or **IMO** codes in session context. Do not send [HCC](https://www.aapc.com/resources/what-is-hierarchical-condition-category?srsltid=AfmBOopcl-dIWrRrQFq58LGS72p58BakTdoWdEHv0P9z89c3XBXuJAOY) codes as input.
  * HCC categories are returned from the [Ambient Session Structured Data API](/api-reference/ambient-content/structured-data) when an ICD-10-CM diagnosis maps to a CMS-HCC model category.

  For how ICD-10 and HCC differ, refer to [Diagnosis codes FAQs](/api-reference/faqs/diagnosis-codes#what-is-the-difference-between-icd-10-and-hcc-codes).
</Callout>

Use this endpoint to get the list of supported <Tooltip tip="A clinical determination of a patient's condition or disease, often encoded using ICD10 or SNOMED for interoperability with EHR systems." cta="View in Glossary" href="/Glossary/d">diagnosis</Tooltip> code types, including **HCC** for ambient structured data output.

## Code examples

<Tabs>
  <Tab title="Python">
    ```python theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
    import requests

    url = "https://sdp.suki-stage.com/api/v1/info/diagnosis"
    headers = {
        "sdp_suki_token": "<sdp_suki_token>",
        "sdp_provider_id": "<sdp_provider_id>"
    }

    response = requests.get(url, headers=headers)

    if response.status_code == 200:
        diagnosis_data = response.json()
        print("Supported Diagnosis Code Types:")
        for code_type in diagnosis_data.get("diagnosis_code_types", []):
            print(f"  {code_type.get('code_type')}")
    else:
        print(f"Failed to get diagnosis codes: {response.status_code}")
        print(response.json())
    ```
  </Tab>

  <Tab title="TypeScript">
    ```typescript theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
    const response = await fetch('https://sdp.suki-stage.com/api/v1/info/diagnosis', {
      headers: {
        'sdp_suki_token': '<sdp_suki_token>',
        'sdp_provider_id': '<sdp_provider_id>'
      }
    });

    if (response.ok) {
      const diagnosisData = await response.json();
      console.log('Supported Diagnosis Code Types:');
      diagnosisData.diagnosis_code_types?.forEach((codeType: any) => {
        console.log(`  ${codeType.code_type}`);
      });
    } else {
      const error = await response.json();
      console.error(`Failed to get diagnosis codes: ${response.status}`, error);
    }
    ```
  </Tab>
</Tabs>


## OpenAPI

````yaml GET /api/v1/info/diagnosis
openapi: 3.0.1
info:
  title: Suki Developer Platform
  description: >-
    REST and WebSocket APIs for the Suki Developer Platform. Authenticate with
    Login or Register to obtain a Suki access token, then integrate ambient
    clinical documentation, form filling, transcription, and reference metadata
    endpoints.
  contact: {}
  version: '1.0'
servers:
  - url: https://sdp.suki.ai
    description: >-
      Production base URL for Suki Developer Platform REST APIs. WebSocket
      endpoints use the same host with `wss://`.
security:
  - SukiTokenAuth: []
paths:
  /api/v1/info/diagnosis:
    get:
      tags:
        - /api/v1/info
      summary: Get supported diagnosis code types
      description: >-
        Returns diagnosis code types Suki accepts in session context, such as
        ICD10 and IMO.
      parameters:
        - $ref: '#/components/parameters/ProviderIdHeader'
      responses:
        '200':
          description: Request succeeded.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/controllers.DiagnosisCodesResponse'
        '401':
          description: Unauthorized. The Suki access token is missing, expired, or invalid.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/controllers.AuthenticationError'
        '403':
          description: Forbidden. The authenticated user cannot access this resource.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/controllers.ForbiddenError'
      security:
        - SukiTokenAuth: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |-
            curl --request GET \
              --url https://sdp.suki.ai/api/v1/info/diagnosis \
              --header 'sdp_suki_token: <sdp_suki_token>' \
              --header 'sdp_provider_id: <sdp_provider_id>'
components:
  parameters:
    ProviderIdHeader:
      name: sdp_provider_id
      in: header
      description: >-
        **Optional** - Stable identifier for the active provider. Omit for
        standard partners whose `partner_token` identifies the user.
        **Required** for Bearer partners and Single Auth Token authentication
        where multiple providers share one `partner_token`. Use the same
        `provider_id` you sent on Login or Register.
      required: false
      schema:
        type: string
        example: provider-123
  schemas:
    controllers.DiagnosisCodesResponse:
      type: object
      properties:
        diagnosis_code_types:
          type: array
          description: Information about supported diagnosis code types
          items:
            $ref: '#/components/schemas/controllers.DiagnosisInfo'
      description: Response body for the /info/diagnosis endpoint
    controllers.AuthenticationError:
      type: object
      properties:
        code:
          type: integer
          example: 401
          description: HTTP status code for the error.
        message:
          type: string
          example: invalid token
          description: Human-readable description of the authentication failure.
      description: Error response when authentication fails.
    controllers.ForbiddenError:
      type: object
      properties:
        code:
          type: integer
          example: 403
          description: HTTP status code for the error.
        message:
          type: string
          example: forbidden
          description: Human-readable description of the authorization failure.
      description: Error response when the caller lacks permission.
    controllers.DiagnosisInfo:
      type: object
      properties:
        code_type:
          type: string
          description: Code system (for example, "ICD10", "IMO", "SNOMED", "HCC")
          example: ICD10
      description: >-
        Information about a diagnosis code type. HCC is returned in ambient
        structured data output when an ICD-10-CM diagnosis maps to a CMS-HCC
        model category.
  securitySchemes:
    SukiTokenAuth:
      type: apiKey
      in: header
      name: sdp_suki_token
      description: >-
        Suki access token for the authenticated provider. Obtain this by calling
        Login or Register with a valid `partner_token`. Pass the `suki_token`
        value from the JSON response as the `sdp_suki_token` header on REST
        requests and non-browser WebSocket upgrades. Browser WebSocket clients
        pass the token in `Sec-WebSocket-Protocol` instead. Tokens expire after
        one hour; call Login again to refresh.

````