Skip to main content
After a generation job reaches the COMPLETED status, your application can retrieve the generated Patient Summary and display it in schedule, chart, or patient views. Generation and retrieval are separate operations. A successful generation request does not return the summary. Instead, wait for the job to complete, then retrieve either the full Patient Summary or the pre-visit section your application needs. For request and response details, refer to the Patient Summaries APIs. Patient Summary supports two retrieval paths:

Full Patient Summary

Retrieve the complete summary for chart review or patient-profile display.

Pre-Visit Summary

Retrieve the pre-visit section for schedule lists and short previews.
Your application is responsible for:
  • Confirming the generation job completed successfully.
  • Choosing the full summary or the pre-visit section.
  • Mapping summary sections into your UI.
  • Handling missing appointments and limited clinical history clearly.
Before retrieving a summary:
1

Confirm Generation Completed

Poll the Summary Jobs APIs until status is COMPLETED. Do not treat job output as final before then.
2

Choose What to Display

Decide whether the clinician needs the full summary or a short pre-visit preview.
3

Choose How to Look It Up

Retrieve by patient_summary_id, or by fhir_encounter_id and fhir_practitioner_id when your workflow stores partner identifiers.
4

Handle Empty States

Design UI for no upcoming appointment and limited prior history before you render the summary.
Retrieve summaries only after status is COMPLETED. If the clinician opens a patient chart while generation is still running, show a preparing state, then retrieve the summary when the job finishes.

Decide on a retrieval path

Choose the retrieval path based on what your UI needs and which identifiers you store.
Use the full Patient Summary when a clinician needs the complete pre-visit overview.Typical scenarios include:
  • Patient chart review.
  • Appointment detail screens.
  • Deep clinical review before the visit.
Look up the summary by:
  • patient_summary_id, or
  • fhir_encounter_id and fhir_practitioner_id.
Refer to Patient Summary by ID and Patient Summary by partner identifiers.
Use the pre-visit section when your UI needs a short preview instead of the full object.Typical scenarios include:
  • Provider schedule lists.
  • Appointment cards.
  • Morning preview panels.
Look up the pre-visit section by:
  • patient_summary_id, or
  • fhir_encounter_id and fhir_practitioner_id.
Refer to Pre-visit summary by ID and Pre-visit summary by partner identifiers.

Typical retrieval workflow

1

Confirm Job Status

Check generation status with the Summary Jobs APIs using patient_summary_id, or fhir_encounter_id and fhir_practitioner_id.
2

Stop on Terminal Status

Continue only when status is COMPLETED. For FAILED or ABORTED, log identifiers and show a clear UI fallback.
3

Retrieve the Content

Call the full summary or pre-visit endpoint that matches your identifiers.
4

Render the Sections

Map the returned sections into your schedule, chart, or patient-profile UI.

Understanding summary sections

A completed Patient Summary typically contains the following sections:

Example response

The following example shows the shape of a successful retrieve response from the Patient Summaries APIs:
Each section in the response includes:
  • section_type - Section identifier, such as ABOUT_VISIT.
  • title - Display title for the section.
  • snippet_index - Index of the section snippet.
  • contents - Array of content objects that can include text, problem, and visit fields.
The sections returned depend on the clinical data available in CKG and your implementation requirements. Historical lookback and summary length can vary by configuration.

Handle empty clinical states

Not every patient profile has the same data shape. Design empty states as first-class UI.
Cause: The provider opens a patient profile, but the patient does not have an upcoming appointment for that day.Resolution: Show:No upcoming appointment. Schedule an appointment to view the summary.Do not imply that CKG ingestion failed or that generation failed when the patient is simply not on today’s schedule.
Cause: The patient has an upcoming appointment, but no previous encounter record was found in CKG.Resolution:
  • Show About this visit.
  • Show Problems when available.
  • Under Summary, show that no record was found.
  • Under Previous visits, show that no record was found.
Cause: Appointment context and prior clinical history are available in CKG.Resolution: Display all four sections. Keep the reading experience short and scannable. Emphasize About this visit and Summary first, then let clinicians move into Previous visits and Problems.
Cause: The clinician opened the patient chart before the generation job finished.Resolution: Show a preparing or loading state. Continue monitoring status, then retrieve and render the summary when status is COMPLETED.
Cause: Generation reached FAILED or ABORTED.Resolution: Do not display incomplete content as a finished summary. Log the identifiers, offer retry if applicable, and fall back to manual chart review.

Common workflows

  • Generate summaries for scheduled appointments.
  • Poll until appointments reach COMPLETED.
  • Retrieve pre-visit summaries for the schedule list.
  • Open the full summary when the clinician selects a patient.
  • Confirm an upcoming appointment exists.
  • Check whether a summary already exists.
  • Generate if needed.
  • Retrieve the full summary and render all sections.
  • Trigger scheduled generation in the morning.
  • As each job completes, retrieve and cache that appointment’s summary.
  • Show ready patients immediately while others remain in a preparing state.

Best practices

  • Retrieve content only after generation status is COMPLETED.
  • Prefer fhir_encounter_id and fhir_practitioner_id when those are already the keys in your EHR workflow.
  • Use the pre-visit section for dense schedule UIs, and the full summary for chart review.
  • Cache completed summaries for the appointment when appropriate, and avoid unnecessary regeneration.
  • Render empty states as first-class UI, not as missing components.
  • Keep the reading experience short and scannable.
  • Log the encounter, practitioner, patient_summary_id, and status that preceded retrieval failures.

Next steps

Continue with the following guides:
Last modified on August 7, 2026