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

# Patient Summary Empty or Not Ready

> Poll CKG ingestion and summary generation until COMPLETED before retrieving summaries

Patient Summary generation is async. Empty or incomplete summaries usually mean you retrieved too early, CKG ingestion never reached **`COMPLETED`**, or generation ended in **`FAILED`** or **`ABORTED`**.

You need a Suki Token (`sdp_suki_token`) for upload, generate, status, and retrieve. A Partner Token alone is not enough.

## Common causes

* Retrieving the summary before generation status is **`COMPLETED`**.
* Triggering generation before CKG ingestion status is **`COMPLETED`**.
* Keeping the poll loop running after **`FAILED`** or **`ABORTED`**.
* Treating a **403** `permission_denied` as empty content.

## Fix

<Steps>
  <Step title="Finish CKG Ingestion First">
    Upload FHIR data, then poll [ingestion status](/patient-summary-api-reference/ckg-data-ingestion/ingestion-status) until **`COMPLETED`**. Stop on **`FAILED`** or **`ARCHIVED`**.
  </Step>

  <Step title="Generate, Then Poll Job Status">
    Call generate, then poll encounter or job status until **`COMPLETED`**. Status values include `READY`, `RUNNING`, `COMPLETED`, `FAILED`, and `ABORTED`. Stop on **`FAILED`** or **`ABORTED`**.
  </Step>

  <Step title="Retrieve Only After COMPLETED">
    Call full or pre-visit summary endpoints only when generation status is **`COMPLETED`**. Use `patient_summary_id` from generation, or the `fhir_encounter_id` and `fhir_practitioner_id` pair you used.
  </Step>

  <Step title="If You Get 403">
    Fix organization access. See [403 permission\_denied, insufficient\_scope, or sbac\_denied](/documentation/troubleshooting/permission-denied-403).
  </Step>
</Steps>

<Note>
  Order from the [Patient Summary quickstart](/patient-summary-api-reference/quickstart): upload and poll ingestion, Login when needed, generate, poll generation status, then retrieve.
</Note>

## Next steps

<Icon icon="file-lines" iconType="solid" /> **[Patient Summary quickstart](/patient-summary-api-reference/quickstart)** - Upload, generate, poll, and retrieve

<Icon icon="file-lines" iconType="solid" /> **[Summary jobs](/patient-summary-api-reference/summary-jobs)** - When to stop polling

<Icon icon="file-lines" iconType="solid" /> **[Patient Summary error messages](/patient-summary-api-reference/error-messages-patient-summary)** - Authorization and request error ids

<Icon icon="file-lines" iconType="solid" /> **[403 permission\_denied, insufficient\_scope, or sbac\_denied](/documentation/troubleshooting/permission-denied-403)** - Organization and scope failures

<Icon icon="file-lines" iconType="solid" /> **[Suki Token expired during a long session](/documentation/troubleshooting/suki-token-expired)** - Refresh the 1 hour Suki Token during long poll loops
