> ## 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.

# Get Patient Summary Using Partner Identifiers

> Retrieve the comprehensive Patient Summary object using your internal FHIR identifiers

Use this endpoint to retrieve full Patient Summary object using your internal **FHIR identifiers** instead of the `patient_summary_id`.

Use this API when you do not have the `patient_summary_id` returned by Suki. Suki uses the `fhir_encounter_id` and `fhir_practitioner_id` to locate the corresponding Patient Summary.

<Note>
  **Before calling this endpoint:**

  * Ingest the required Patient, Encounter, and Practitioner resources using the [CKG Data Ingestion APIs](/patient-summary-api-reference/ckg-data-ingestion).
  * Ensure the `fhir_encounter_id` and `fhir_practitioner_id` match the identifiers in the ingested FHIR data.
</Note>

## Response object structure

The generated Patient Summary object includes the following sections:

* **About Visit** - Information about the visit, including the date, reason for visit, and provider information.
* **Patient Summary** - A summary of the patient's medical history, including their medications, allergies, and chronic conditions.
* **Previous Visit** - A summary of the patient's previous visit, including the date, reason for visit, and provider information.
* **Problems** - A list of the patient's problems, including their medications, allergies, and chronic conditions.


## OpenAPI

````yaml GET /api/v1/patient-summary/encounter/{fhir_encounter_id}/practitioner/{fhir_practitioner_id}
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/patient-summary/encounter/{fhir_encounter_id}/practitioner/{fhir_practitioner_id}:
    get:
      tags:
        - /api/v1/patient-summary
      summary: Get patient summary by encounter and practitioner
      description: >-
        Returns the patient summary associated with the given encounter and
        practitioner. Suki maps the `fhir_encounter_id` and
        `fhir_practitioner_id` you provide to data previously ingested through
        CKG.
      parameters:
        - name: fhir_encounter_id
          in: path
          description: >-
            FHIR encounter identifier. Must match the encounter identifier in
            the ingested FHIR data.
          required: true
          schema:
            type: string
        - name: fhir_practitioner_id
          in: path
          description: >-
            FHIR practitioner identifier. Must match the practitioner identifier
            in the ingested FHIR data.
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/ProviderIdHeader'
      responses:
        '200':
          description: Success Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  patient_summary:
                    type: object
                    properties:
                      sections:
                        type: array
                        items:
                          type: object
                          properties:
                            contents:
                              type: array
                              items:
                                type: object
                                properties:
                                  problem:
                                    type: object
                                    properties:
                                      description:
                                        type: string
                                  text:
                                    type: string
                                  visit:
                                    type: object
                                    properties:
                                      date:
                                        type: string
                                        format: date-time
                                      description:
                                        type: string
                            section_type:
                              type: string
                            snippet_index:
                              type: integer
                            title:
                              type: string
                      updated_at:
                        type: string
                        format: date-time
              examples:
                success:
                  value:
                    patient_summary:
                      sections:
                        - contents:
                            - problem:
                                description: Asthma
                              text: Patient presents with shortness of breath.
                              visit:
                                date: '2026-05-22T10:00:00Z'
                                description: Follow-up for asthma
                          section_type: ABOUT_VISIT
                          snippet_index: 0
                          title: About Visit
                      updated_at: '2026-05-22T10:00:00Z'
        '400':
          description: Bad request. The request parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/controllers.BadRequestError'
        '401':
          description: Unauthorized. The Suki access token is missing, expired, or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/controllers.AuthenticationError'
        '404':
          description: >-
            Not found. The encounter or practitioner does not exist, or no
            summary has been generated yet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/controllers.NotFoundError'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/controllers.InternalServerError'
      security:
        - SukiTokenAuth: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |-
            curl --request GET \
              --url https://sdp.suki.ai/api/v1/patient-summary/encounter/enc-123/practitioner/pract-456 \
              --header 'sdp_suki_token: <sdp_suki_token>' \
              --header 'sdp_provider_id: <sdp_provider_id>'
        - lang: python
          label: Python
          source: >-
            import requests

            import json


            BASE_URL = "https://sdp.suki.ai"

            sdp_token = "<sdp_suki_token>"

            encounter_id = "enc-123"

            practitioner_id = "pract-456"


            url =
            f"{BASE_URL}/api/v1/patient-summary/encounter/{encounter_id}/practitioner/{practitioner_id}"

            headers = {"sdp_suki_token": sdp_token}


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

            response.raise_for_status()


            summary = response.json()


            print(f"Patient Summary: {summary['title']}")

            print(f"Generated: {summary['generated_at']}")

            print(f"\nSections:")


            for section in summary.get("sections", []):
                print(f"\n{section['heading']}:")
                print(section['content'])
        - lang: javascript
          label: TypeScript
          source: >-
            const BASE_URL = "https://sdp.suki.ai";

            const sdpToken = "<sdp_suki_token>";

            const encounterId = "enc-123";

            const practitionerId = "pract-456";


            const url =
            `${BASE_URL}/api/v1/patient-summary/encounter/${encounterId}/practitioner/${practitionerId}`;


            const response = await fetch(url, {
              headers: { sdp_suki_token: sdpToken },
            });


            if (!response.ok) {
              throw new Error(`Failed to retrieve summary: ${response.status}`);
            }


            const summary = await response.json();


            console.log(`Patient Summary: ${summary.title}`);

            console.log(`Generated: ${summary.generated_at}`);

            console.log("\nSections:");


            summary.sections?.forEach((section: any) => {
              console.log(`\n${section.heading}:`);
              console.log(section.content);
            });
components:
  parameters:
    ProviderIdHeader:
      name: sdp_provider_id
      in: header
      description: >-
        **Optional** for standard partners.


        **Required** for:


        - **Bearer authentication.** Use the same `provider_id` returned by the
        Login or Register API.

        - **Single Auth Token authentication.** Include the same `provider_id`
        on every request as `sdp_provider_id`.
      required: false
      schema:
        type: string
        example: provider-123
  schemas:
    controllers.BadRequestError:
      description: Bad Request Response
      type: object
      properties:
        code:
          type: integer
          example: 400
        message:
          type: string
          example: invalid request
    controllers.AuthenticationError:
      description: Authentication Failure Response
      type: object
      properties:
        code:
          type: integer
          example: 401
        message:
          type: string
          example: invalid token
    controllers.NotFoundError:
      description: Not Found Response
      type: object
      properties:
        code:
          type: integer
          example: 404
        message:
          type: string
          example: not found
    controllers.InternalServerError:
      description: Internal Server Error Response
      type: object
      properties:
        code:
          type: integer
          example: 500
        message:
          type: string
          example: internal server error
  securitySchemes:
    SukiTokenAuth:
      type: apiKey
      in: header
      name: sdp_suki_token
      description: >-
        Suki access token (`suki_token`) from Login or Register. Expires after
        one hour.

````