Overview


Introduction

Flow overview

Requirements

Versioning


Authentication

Server authentication


Incoming APIs

Overview

Provision user

Create encounter

Refresh encounter URL

Manage user status


Outgoing APIs

Overview

Callback authentication

Response protocol

Callback types


Reference

Changelog

NOTE_EXPORT

Triggered when the provider clicks Export Note in the Nabla app.

{
  "request_uuid": string,
  "type": "NOTE_EXPORT",
  "data": {
    "external_patient_id": string,
    "external_encounter_id": string,
    "external_provider_id": string,
    "note": {
      "sections": [
        {
          "title": string,
          "category": string | null,
          "structured_content": TextContent | SubsectionsContent,
          ~~"content": string~~ // deprecated
        }
      ],
      "free_text": string
    },
    "visit_diagnoses": [
      {
        "system": string,
        "code": string,
        "display": string,
        "is_hcc": boolean,
        "is_mcc": boolean
      }
    ]
  }
}

// TextContent
{
  "type": "TEXT",
  "text": string
}

// SubsectionsContent
{
  "type": "SUBSECTIONS",
  "subsections": [
    {
      "title": string | null,
      "text": string,
      "icd10_codes": [
        { "system": string, "code": string, "display": string, "is_hcc": boolean, "is_mcc": boolean }
      ],
      "snomed_codes": [
        { "system": string, "code": string, "display": string }
      ]
    }
  ]
}

Every section carries a structured_content object, discriminated by type. Read type to know which shape you got. In practice only the Assessment & Plan section uses SUBSECTIONS, with one subsection per problem, in the order they appear in the note.

icd10_codes and snomed_codes are empty when no codes are available at export time — for example when code extraction is disabled for the organization. A subsection's title may be null (e.g. content inserted from a dot phrase).

Optional visit_diagnoses may be included when ICD-10 suggestions are available; each item has system, code, display, is_hcc, and is_mcc.

<aside> 💡

content is deprecated: it is the same content flattened to text. Replace your usage of it with structured_content.

</aside>

The note export can also contain the transcript of the conversation when the setting is enabled.

image.png

{
  "request_uuid": string,
  "type": "NOTE_EXPORT",
  "data": {
    "external_patient_id": string,
    "external_encounter_id": string,
    "external_provider_id": string,
    "note": {...},
    "transcript": [
      {
        "text": "Also, I'm allergic to peanuts.",
        "speaker_type": "PATIENT",
        "locale": "ENGLISH_US",
        "start_offset_ms": 65100,
        "end_offset_ms": 69300
      }
    ],
    "visit_diagnoses": [...]
  }
}

Section categories

CHIEF_COMPLAINT, HISTORY_OF_PRESENT_ILLNESS, PAST_HISTORY, CURRENT_MEDICATIONS, VITALS, IMMUNIZATIONS, ASSESSMENT_AND_PLAN, EXAMINATION, RESULTS, PRESCRIPTIONS, APPOINTMENTS

ℹ️ Multiple sections can share the same category (e.g. separate "Assessment" and "Plan" sections both return "category": "ASSESSMENT_AND_PLAN"). A section with category: null means it doesn't fit any existing category.

PATIENT_INSTRUCTIONS_EXPORT

Triggered when the provider clicks Export patient instructions in the Nabla app.

{
  "request_uuid": string,
  "type": "PATIENT_INSTRUCTIONS_EXPORT",
  "data": {
    "external_patient_id": string,
    "external_encounter_id": string,
    "external_provider_id": string,
    "patient_instructions": {
      "instructions": string
    }
  }
}