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

# Note Sections (LOINC Codes)

> LOINC standardized clinical note sections supported by Suki for EHR integration

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

  Added Medication orders (LOINC **`52471-0`**) as a supported note section to enable Medication orders in the note generation process for the Headed Web SDK.
</Callout>

<div className="quick-summary-wrapper">
  <div className="quick-summary-header">
    <span className="quick-summary-icon" aria-hidden="true" />

    <span className="quick-summary-title">Quick summary</span>
  </div>

  <div className="quick-summary-content">
    Note sections divide <Tooltip tip="The structured medical documentation produced for a patient encounter. In Suki, ambient note generation organizes content into LOINC-coded sections so partners can review, edit, and submit notes into an EHR-ready workflow." cta="View in Glossary" href="/Glossary/c">clinical notes</Tooltip> into standard parts such as "Chief Complaint," "Physical Exam," and "Assessment and Plan." Suki uses <Tooltip tip="Logical Observation Identifiers Names and Codes. An international healthcare coding standard that assigns unique codes to clinical content such as note sections, labs, and observations. In Suki, you pass LOINC codes when you configure ambient note sections so each part of the generated note maps cleanly into your EHR." cta="View in Glossary" href="/Glossary/l">LOINC</Tooltip> codes to identify each section, which ensures seamless integration with your EHR system.
  </div>

  <div className="quick-summary-footer">
    <span className="quick-summary-footer-icon" aria-hidden="true" />

    <span className="quick-summary-footer-text">Last updated:</span>
    <span className="quick-summary-footer-date">August 2026</span>
  </div>
</div>

<Info>
  **Note sections is supported by:** APIs, Web SDK, Mobile SDK, Headless Web SDK
</Info>

Note sections divide clinical notes into standard parts such as "Chief Complaint," "Physical Exam," and "Assessment and Plan."
This organized structure make clinical notes easier to read and ensures seamless integration with your EHR system.

Suki uses <Tooltip tip="Logical Observation Identifiers Names and Codes. An international healthcare coding standard that assigns unique codes to clinical content such as note sections, labs, and observations. In Suki, you pass LOINC codes when you configure ambient note sections so each part of the generated note maps cleanly into your EHR." cta="View in Glossary" href="/Glossary/l">LOINC</Tooltip> codes to identify each section. Because LOINC is widely adopted in healthcare, notes labeled this way map consistently across EHR systems and partner applications.

When you specify the note sections, you get the following benefits:

* **Better organization**: Content is automatically sorted into the right sections.
* **EHR ready**: Notes match the format your EHR expects.
* **Industry standard**: LOINC codes are recognized across healthcare systems.
* **Customizable**: Choose only the sections you need for your workflow.

## How note sections improve clinical documentation

Note sections help Suki produce documentation that clinicians can review and submit with less restructuring.

| What you configure                    | How the note gets better                                            |
| ------------------------------------- | ------------------------------------------------------------------- |
| The LOINC sections for the visit      | Conversation content is sorted into the sections your chart expects |
| Only the sections your workflow needs | Notes stay focused and easier to review                             |
| Standard LOINC identifiers            | Your app can map sections into EHR fields without custom renaming   |

Without note sections, generated content is harder to place in the chart. With the right LOINC set, providers spend less time moving text between sections and more time confirming clinical accuracy.

## How note sections work

When you start an <Tooltip tip="A single, time-bound instance of an ambient recording for a specific patient encounter that captures clinical conversations." cta="View in Glossary" href="/Glossary/a">ambient session</Tooltip>, you specify which sections you want in your note by providing their LOINC codes. Suki listens to the conversation and automatically organizes what's discussed into those sections.

```mermaid actions={false} theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#FFE148','primaryTextColor':'#111827','primaryBorderColor':'#FFE148','lineColor':'#FFE148','secondaryColor':'#FFF394','tertiaryColor':'#FFFADE','mainBkg':'#FFF394','secondBkg':'#FFFADE','tertiaryBorderColor':'#FFE148','border1':'#FFE148','border2':'#FFE148','arrowheadColor':'#FFE148','fontFamily':'Inter, system-ui, sans-serif','fontSize':'14px','nodeBorder':'#FFE148','edgeLabelBackground':'#FFE148','clusterBkg':'#FFFADE','clusterBorder':'#FFE148','defaultLinkColor':'#FFE148','titleColor':'#111827','nodeTextColor':'#111827'}}}%%
flowchart LR
    A[Start Session<br/>with LOINC Codes] --> B[Suki Listens<br/>to Conversation]
    B --> C[Suki Organizes Content<br/>into Specified Sections]
    C --> D[Generated Note<br/>with LOINC Codes]

    style A fill:#FFF394,stroke:#FFE148,stroke-width:2px,color:#111827
    style B fill:#FFF394,stroke:#FFE148,stroke-width:2px,color:#111827
    style C fill:#FFF394,stroke:#FFE148,stroke-width:2px,color:#111827
    style D fill:#FFF394,stroke:#FFE148,stroke-width:2px,color:#111827
```

**Example:**

If you specify "Chief Complaint" (10154-3), "History of Present Illness" (10164-2), and "Physical Exam" (29545-1), Suki will:

* Put information about why the patient is visiting into the Chief Complaint section.
* Organize the patient's story into the History of Present Illness section.
* Capture exam findings into the Physical Exam section.

The generated note includes each section with its LOINC code, making it easy to map directly to your EHR's structure.

## SOAP vs a clinical note

A **clinical note** is the document Suki generates for the visit. A **SOAP note** is one way that document can be structured.

SOAP is not a separate Suki product. When you use ambient note generation, Suki always returns a clinical note. You choose the layout by passing LOINC-coded sections from below. SOAP is a common template for that note.

<Note>
  If you are using Problem-Based Charting (PBC) instead of SOAP, the note is organized around problems instead of SOAP template headings.
</Note>

|              | Clinical note                                                                                      | SOAP note                                                                  |
| :----------- | :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------- |
| What it is   | The visit write-up: findings, assessment, and plan                                                 | A layout for that write-up: Subjective, Objective, Assessment, Plan etc.   |
| Scope        | Any documentation format: SOAP, H\&P, progress note, specialty template, or problem-based charting | Any layout for that write-up: Subjective, Objective, Assessment, Plan etc. |
| Relationship | SOAP is a kind of clinical note                                                                    | Not every clinical note is SOAP                                            |

## Supported note sections

Use this table to configure more options in your product UI for ambient note generation. Each row is a clinical section Suki supports out of the box. You request a section by its **LOINC code**, not by free-text title.

This table is for reading and first-time setup. For pickers and validation at runtime, call [GET /api/v1/info/loincs](/api-reference/info/loincs). If this table and the Info API disagree, use the Info API.

What that means in practice:

* **LOINC code** is the stable identifier you send in session context or SDK options (for example `10154-3` for Chief Complaint).
* **Section common name** is the clinical label partners and EHRs usually recognize. Suki uses the LOINC you pass to place conversation content into that section.
* You can request any combination from the list below. You do not need every section for every visit. Match the list to your note template and specialty workflow.

<Warning>
  If you pass a LOINC code that is not in the the list below, that section will not be generated in your clinical note. It is your responsibility to keep your configuration aligned with these supported codes.
</Warning>

| SR No. | LOINC CODE | Section Common Name        |
| ------ | ---------- | -------------------------- |
| 1      | 39238-1    | Anticipatory Guidance      |
| 2      | 42348-3    | Advanced Directives        |
| 3      | 48765-2    | Allergies                  |
| 4      | 51848-0    | Assessment                 |
| 5      | 51847-2    | Assessment and Plan        |
| 6      | 10154-3    | Chief Complaint            |
| 7      | 61144-2    | Diet                       |
| 8      | 55128-3    | Disposition                |
| 9      | 46239-0    | Discussion Notes           |
| 10     | 10157-6    | Family History             |
| 11     | 47420-5    | Functional Status          |
| 12     | 8648-8     | Hospital Course            |
| 13     | 10164-2    | History of Present Illness |
| 14     | 11369-6    | Immunizations              |
| 15     | 61150-9    | Interval History           |
| 16     | 10160-0    | Medications                |
| 17     | 10190-7    | Mental Status Exam         |
| 18     | 11348-0    | Past Medical History       |
| 19     | 11358-9    | Past Psychiatric History   |
| 20     | 10167-5    | Past Surgical History      |
| 21     | 69730-0    | Patient Instructions       |
| 22     | 29545-1    | Physical Exam              |
| 23     | 18776-5    | Plan                       |
| 24     | 11450-4    | Problem List               |
| 25     | 47519-4    | Procedure                  |
| 26     | 56822-0    | Response to Therapy        |
| 27     | 30954-2    | Results                    |
| 28     | 78486-8    | Risk Assessment            |
| 29     | 10187-3    | Review of Systems          |
| 30     | 29299-5    | Reason for Visit           |
| 31     | 29762-2    | Social History             |
| 32     | 75325-1    | Symptoms and Stressors     |
| 33     | 61146-7    | Therapy Goals              |
| 34     | 8716-3     | Vitals                     |
| 35     | 11334-0    | Development History        |
| 36     | 52471-0    | Medication Orders          |

<Note>
  We update this table as we add new sections to the ambient note generation process. If you do not see a section you need, please check back later.
</Note>

## Choosing your sections

Select sections that match your clinical workflow and EHR requirements. Here are some common configurations:

| Configuration           | Description                                                                                                                      |
| :---------------------- | :------------------------------------------------------------------------------------------------------------------------------- |
| **Basic SOAP Note**     | Chief Complaint (10154-3), History of Present Illness (10164-2), Physical Exam (29545-1), and Assessment and Plan (51847-2)      |
| **Comprehensive Visit** | Add Medications (10160-0), Allergies (48765-2), Problem List (11450-4), and Review of Systems (10187-3)                          |
| **Specialty-Specific**  | Choose sections relevant to your specialty (e.g., Mental Status Exam (10190-7) for psychiatry, Vitals (8716-3) for primary care) |

<Tip>
  Start with a few essential sections and add more as needed. Adjust your note section configuration anytime based on what works best for your workflow.
</Tip>

## Build note sections into your product

If your product supports note sections, understand how they fit into the Ambient workflow before you add them to your UI.

Pass LOINC-coded note sections when you create the ambient session. Suki uses these sections to structure the generated clinical note around the content your chart expects.

The workflow is:

1. Choose the note sections your product needs.
2. Pass the LOINC codes when you create the ambient session.
3. Complete the recording and end the session.
4. Retrieve the generated note and its sections.
5. Map the returned sections to the appropriate fields in your EHR.

The API and SDK implementation varies by product, but the workflow remains the same.

How you pass note sections depends on the product you use:

* **Ambient APIs:** Send `sections` as `{ "loinc": "…" }` in [Seed ambient session Context](/api-reference/ambient-sessions/context) or [Update ambient session Context](/api-reference/ambient-sessions/update-context) before End.
* **Web SDK:** Pass LOINC codes in `ambientOptions.sections` when you mount.
* **Mobile SDK:** Pass LOINC sections with `SukiAmbientConstant.kSections` in `setSessionContext` after you create the session.
* **Headless Web SDK:** Pass sections through Headless ambient / session hooks and context APIs (see the Headless tab below).

When you build note sections well, clinicians can:

* See a note layout that matches what Suki will generate.
* Review and edit by section after the visit.
* Use section-level editing on a focused section after the note is ready. You can use [Dictation APIs](/documentation/how-to/dictation/dictation-basic-usage) for final edits.

<Note>
  If you pass a LOINC code that is not supported, that section will not be generated. Use [GET /api/v1/info/loincs](/api-reference/info/loincs) to confirm which codes are valid before you send context.
</Note>

```mermaid actions={false} theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#FFF394','primaryTextColor':'#111827','primaryBorderColor':'#FFE148','lineColor':'#FFE148','secondaryColor':'#FFF394','tertiaryColor':'#FFFADE','mainBkg':'#FFF394','secondBkg':'#FFFADE','tertiaryBorderColor':'#FFE148','border1':'#FFE148','border2':'#FFE148','arrowheadColor':'#FFE148','fontFamily':'Inter, system-ui, sans-serif','fontSize':'14px','nodeBorder':'#FFE148','edgeLabelBackground':'#FFE148','clusterBkg':'#FFFADE','clusterBorder':'#FFE148','defaultLinkColor':'#FFE148','titleColor':'#111827','nodeTextColor':'#111827'}}}%%
flowchart LR
    A[Choose LOINC sections] --> B[Pass sections before End]
    B --> C[Generate Ambient note]
    C --> D[Map summary by loinc_code]

    style A fill:#FFF394,stroke:#FFE148,stroke-width:2px,color:#111827
    style B fill:#FFF394,stroke:#FFE148,stroke-width:2px,color:#111827
    style C fill:#FFF394,stroke:#FFE148,stroke-width:2px,color:#111827
    style D fill:#FFF394,stroke:#FFE148,stroke-width:2px,color:#111827
```

### Configure note sections

| Product              | Where you pass sections              | What to configure                                                                |
| :------------------- | :----------------------------------- | :------------------------------------------------------------------------------- |
| **Ambient APIs**     | Context API before End               | `sections` as `{ "loinc": "…" }`                                                 |
| **Web SDK**          | `ambientOptions.sections` on mount   | Array of `{ loinc: "…" }` (and `isPBNSection` when using Problem-Based Charting) |
| **Mobile SDK**       | `setSessionContext` with `kSections` | Array of code dictionaries (`kCode` / `kCodeType: "loinc"`)                      |
| **Headless Web SDK** | Headless ambient / session context   | Same LOINC list pattern as Ambient APIs (see Headless tab)                       |

Use these product paths to pass note sections. To populate or validate LOINC pickers from live catalogs, refer to [Use Ambient Info APIs in your product](/documentation/how-to/ambient-clinical-notes/use-ambient-info-apis) guide for recommendations.

**Recommended defaults for a first integration:** Chief Complaint (`10154-3`), History of Present Illness (`10164-2`), Physical Exam (`29545-1`), and Assessment and Plan (`51847-2`). Start small, then add specialty sections from the tables above.

### Recommended UI patterns

Build the note template and review experience in your product. Suki generates the clinical note based on the LOINC-coded sections you provide, while your app controls how those sections are presented in the chart.

Help users choose the right sections for each workflow. For example, provide guidance on when to add additional sections and avoid asking users to select sections they do not need.

<Info>
  These patterns apply when you build your own ambient experience with the **Ambient APIs** or the **Headless modalities**. The headed **Web SDK** already provides Ambient UI, so you do not recreate these patterns there.
</Info>

**Before the visit**

Let the clinician (or your specialty defaults) choose which sections this visit needs. Use a note template, section picker, provider defaults, or specialty-specific sets. Send the chosen LOINCs in session context **before** End.

**During Ambient**

Run create, context, stream, and End as usual. Do not invent section text while the visit is still in progress. Wait for generation to finish.

**After the visit**

When status is **`completed`**, load content and map each item in `summary[]` by `loinc_code`. Show your EHR section title in the UI. Keep LOINC as the stable join key for save, sign, and optional section Speak.

| What to build                    | What the clinician sees                        | How it connects to Suki                                                                     |
| :------------------------------- | :--------------------------------------------- | :------------------------------------------------------------------------------------------ |
| Note template / section picker   | Which sections this visit needs                | Send those LOINCs in context before End                                                     |
| Note review screen after Ambient | One editable block per section                 | Map content `summary[]` by `loinc_code`                                                     |
| Empty or unused sections         | Section shell if your template requires it     | Your app decides empty display. Do not invent Ambient text                                  |
| Section Speak (Dictation)        | Mic on a focused section after **`completed`** | Bind focus to a LOINC or field id in **your** UI. Dictation APIs do not take a LOINC target |
| Save / sign                      | Approve into the chart                         | Write each section into the matching EHR field using the same LOINC map                     |

<AccordionGroup>
  <Accordion title="Which Sections Does This Visit Need" icon="list">
    Start with essential sections, then add specialty-specific ones. Use the [supported note sections](#supported-note-sections) table and the common configurations above.

    You do not need every section for every visit. Match the list to your note template and specialty workflow.
  </Accordion>

  <Accordion title="Where Should the Clinician Pick Sections" icon="sliders">
    Provider defaults, specialty templates, or a per-visit picker all work.

    Send the chosen LOINCs in session context before End. You can update sections with PATCH context while the session is still open, before End.
  </Accordion>

  <Accordion title="How Do You Map Content into the EHR" icon="file-medical">
    After generation, map `summary[]` by `loinc_code`. Show your EHR title in the UI. Keep LOINC as the stable key for write-back and later Dictation focus.
  </Accordion>

  <Accordion title="What About Empty Sections" icon="file">
    If Ambient generates no content for a requested LOINC, the response depends on which content API you call.

    | API               | What you get                                         | What to show                        |
    | :---------------- | :--------------------------------------------------- | :---------------------------------- |
    | Session content   | The section is **omitted**                           | Hide it. Do not invent Ambient text |
    | Encounter content | The section is **included**, including an empty body | You can show “No content captured.” |

    <Note>
      * Session content skips empty sections. Encounter content still lists them, even when the body is blank.
      * Keep every requested LOINC in your template map either way. That lets the clinician still open that section later to type, edit, or dictate into it.
    </Note>
  </Accordion>

  <Accordion title="Is Section Speak the Same as Ambient" icon="microphone">
    No. Ambient generates the structured note for the LOINCs you configured. Section Speak is Dictation on a focused field in **your** UI after status is **`completed`**.

    Bind focus to a LOINC or field id yourself. Dictation APIs do not take a LOINC target. See [Dictation basic usage](/documentation/how-to/dictation/dictation-basic-usage).
  </Accordion>
</AccordionGroup>

### LOINC codes, display titles, and the join key

When you build note sections into your app, keep the following concepts separate. They look related, but serve different purposes.

| Concept                     | What it is                                                              | What you do in your app                                                                |
| :-------------------------- | :---------------------------------------------------------------------- | :------------------------------------------------------------------------------------- |
| **LOINC code**              | The stable identifier Suki uses for a section (for example `10154-3`)   | Send only supported codes in context or SDK options before End                         |
| **Section display title**   | The clinical label your EHR or UI shows (for example “Chief Complaint”) | Show your EHR title in the note editor. Do not rely on free-text titles as the API key |
| **Join key (`loinc_code`)** | The field returned on generated content that matches your template      | Map `summary[]` by `loinc_code` for review, save/sign, and optional section Speak      |

**What to wire in your product**

1. Build a note template / section picker (or specialty defaults) using supported LOINCs.
2. Pass those LOINCs with the ambient session **before** End, using the product path above.
3. After **`completed`**, map content by `loinc_code`, show your EHR titles, and write back with the same map. Optionally add section Speak on a focused field.

<Tip>
  Start with a small SOAP set, then add specialty sections as your workflow needs them. Adjust the configuration anytime based on what works best for your chart.
</Tip>

<Warning>
  Do not pass unsupported LOINC codes, and do not invent Ambient text for empty sections. Send `sections` before End, then join on `loinc_code`.
</Warning>

Click the tabs below to see the implementation details for your integration path.

**Tabs (agents):** same LOINC workflow for all products; humans see one product tab.

* **Ambient APIs:** Pass `sections` as `{ "loinc": "..." }` via Context API; read content APIs after generation.
* **Web SDK:** Configure sections in `ambientOptions.sections`.
* **Mobile SDK:** Pass LOINC sections in session context (`kSections`).
* **Headless Web SDK:** Pass sections through Headless ambient / session hooks and context APIs (see tab).

<Tabs>
  <Tab title="Ambient APIs">
    Pass LOINC codes in the [Context API](/api-reference/ambient-sessions/context) body, then read section content from the content APIs after generation.

    <Steps>
      <Step title="Choose LOINC Sections" icon="list">
        Pick the section codes that match your note template. Start with a small set such as Chief Complaint (`10154-3`), History of Present Illness (`10164-2`), Physical Exam (`29545-1`), and Assessment and Plan (`51847-2`).
      </Step>

      <Step title="Create the Ambient Session" icon="play">
        Create the session with the ambient sessions API. Keep the `ambient_session_id` for context and content calls.
      </Step>

      <Step title="Send Sections in Session Context" icon="sliders">
        POST (or PATCH) context and include a `sections` array of `{ "loinc": "<code>" }` objects.

        ```python Python theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
        payload = {
            "sections": [
                {"loinc": "10154-3"},  # Chief Complaint
                {"loinc": "10164-2"},  # History of Present Illness
                {"loinc": "29545-1"},  # Physical Exam
                {"loinc": "51847-2"},  # Assessment and Plan
            ],
            # Include patient, provider, and visit fields as needed
        }
        ```

        Use [Seed ambient session Context](/api-reference/ambient-sessions/context) when you have the complete context. Use [Update ambient session Context](/api-reference/ambient-sessions/update-context) to change only selected fields. Send either request before you end the session.
      </Step>

      <Step title="Stream Audio and Complete the Session" icon="waveform-lines">
        Stream visit audio, then complete the ambient session so Suki can generate the note for the sections you configured.
      </Step>

      <Step title="Read Generated Sections" icon="file-lines">
        After ending the session, poll [Ambient session status](/api-reference/ambient-content/status) until it returns `completed`. Then retrieve [Ambient session content](/api-reference/ambient-content/content) and map each item in `summary` by `loinc_code` into your EHR fields.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Web SDK">
    Configure sections in `ambientOptions.sections` when you mount the SDK. The headed UI captures audio; your app receives sectioned note content on submit.

    <Steps>
      <Step title="Choose LOINC Sections" icon="list">
        Select the LOINC codes your EHR template expects. For Problem-Based Charting, mark exactly one section with `isPBNSection: true`. Refer to [Problem-Based Charting](/api-reference/capabilities/problem-based-charting).
      </Step>

      <Step title="Pass Sections in AmbientOptions" icon="sliders">
        When you call `mount`, set `ambientOptions.sections` to the LOINC list.

        ```javascript JavaScript theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
        sdkClient.mount({
          rootElement: document.getElementById("suki-root"),
          encounter: encounterDetails,
          ambientOptions: {
            sections: [
              { loinc: "10154-3" }, // Chief Complaint
              { loinc: "10164-2" }, // History of Present Illness
              { loinc: "29545-1" }, // Physical Exam
              { loinc: "51847-2" }, // Assessment and Plan
            ],
          },
        });
        ```

        Refer to [Ambient implementation](/web-sdk/guides/ambient-implementation) for full mount options.
      </Step>

      <Step title="Complete the Ambient Visit in the SDK UI" icon="microphone">
        Providers capture and submit the session in the Web SDK. Suki generates the note using the sections you configured.
      </Step>

      <Step title="Receive Sectioned Note Content" icon="file-lines">
        Handle `onNoteSubmit` (React) or `note-submission:success` (JavaScript and React). Each section includes content and a `loinc_code` you can map into the chart. Refer to [Note management](/web-sdk/guides/note-management).
      </Step>
    </Steps>
  </Tab>

  <Tab title="Mobile SDK">
    Pass LOINC sections with `SukiAmbientConstant.kSections` in `setSessionContext` after you create the session.

    <Steps>
      <Step title="Choose LOINC Sections" icon="list">
        Select the LOINC codes that match your mobile charting workflow. You only need to provide codes; the SDK resolves section titles.
      </Step>

      <Step title="Create the Ambient Session" icon="play">
        Call `createSession(withSessionInfo:)` and store the returned `sessionId`. Refer to [Create session](/mobile-sdk/ambient-guides/create-session).
      </Step>

      <Step title="Set Sections in Session Context" icon="sliders">
        Call `setSessionContext(with:)` and include `kSections` as an array of code dictionaries.

        ```swift Swift theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
        let contextDetail: [String: AnyHashable] = [
            SukiAmbientConstant.kSections: [
                [SukiAmbientConstant.kCode: "10154-3", SukiAmbientConstant.kCodeType: "loinc"],
                [SukiAmbientConstant.kCode: "10164-2", SukiAmbientConstant.kCodeType: "loinc"],
                [SukiAmbientConstant.kCode: "29545-1", SukiAmbientConstant.kCodeType: "loinc"],
                [SukiAmbientConstant.kCode: "51847-2", SukiAmbientConstant.kCodeType: "loinc"]
            ],
            // Add patient, visit, diagnosis, or orders context as needed
        ]

        do {
            try SukiAmbientCoreManager.shared.setSessionContext(with: contextDetail) { result in
                switch result {
                case .success:
                    print("note sections updated")
                case .failure(let error):
                    print("Unable to update note sections: \(error)")
                }
            }
        } catch {
            print("Unable to set session context: \(error)")
        }
        ```

        Refer to [Provide clinical context](/mobile-sdk/ambient-guides/provide-clinical-context#additional-context-parameters) for field names and types.
      </Step>

      <Step title="Record and Complete the Session" icon="microphone">
        Start recording, capture the visit, then call `end()` to stop recording and trigger note generation.
      </Step>

      <Step title="Retrieve Note Content by Section" icon="file-lines">
        Check processing with `status(for:)`. When processing completes, call `content(for:)` with the valid `sessionId` to retrieve the generated clinical note suggestions. Refer to [Session status and content retrieval](/mobile-sdk/ambient-guides/session-status-and-content-retrieval).
      </Step>
    </Steps>
  </Tab>

  <Tab title="Headless Web SDK">
    Create the session with ambient hooks, then pass LOINC sections through `setSessionContext` on `useAmbientSession` before you submit.

    <Steps>
      <Step title="Choose LOINC Sections" icon="list">
        Pick the LOINC codes your custom UI and EHR template need. Keep the list small for pilots, then expand as workflows stabilize.
      </Step>

      <Step title="Create and Start the Ambient Session" icon="play">
        Use `useAmbient` to create the session, then `useAmbientSession` with the returned `ambientSessionId`. Call `start()` when recording begins. Refer to [Ambient session hook](/headless-web-sdk/guides/hooks/ambient-session-hook).
      </Step>

      <Step title="Pass Sections with SetSessionContext" icon="sliders">
        Call `setSessionContext` after `start()` and before `submit()`. Include `sections` as `{ loinc: string }[]`.

        ```tsx React theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
        await setSessionContext({
          sections: [
            { loinc: "10154-3" }, // Chief Complaint
            { loinc: "10164-2" }, // History of Present Illness
            { loinc: "29545-1" }, // Physical Exam
            { loinc: "51847-2" }, // Assessment and Plan
          ],
          // Optional: patient, provider, visit, diagnoses
        });
        ```

        Refer to [Session context](/headless-web-sdk/api-reference/types/session-context) for the full type.
      </Step>

      <Step title="Submit the Session" icon="check">
        Call `submit()` when capture is done. Your app owns the recording UX; the Headless Web SDK owns upload and session lifecycle.
      </Step>

      <Step title="Map Generated Sections into Your Chart" icon="file-lines">
        The Headless Web SDK hooks submit the session, but they do not return generated note content. From your backend, use the same `ambientSessionId` with [Ambient session status](/api-reference/ambient-content/status). When the status is `completed`, call [Ambient session content](/api-reference/ambient-content/content) and map items in `summary` by `loinc_code`. For pause and submit patterns, refer to [Session integration patterns](/headless-web-sdk/guides/integration-patterns).
      </Step>
    </Steps>
  </Tab>
</Tabs>

After generation, each section typically includes:

* **Section name**: Readable title (for example, "Chief Complaint").
* **Content**: Text extracted from the conversation for that section.
* **LOINC code**: Standard identifier your integration uses for EHR mapping.

Use those LOINC codes as the stable keys when you write content into your note template.
