---
title: "Create an observation"
method: POST
path: "/api/2026-01-01/medical-record/observations"
tags: ["Observations"]
---

# Create an observation

`POST /api/2026-01-01/medical-record/observations`

Create an observation

## Request body

- CreateObservationRequest
  - `data` Observation
    - `id` string, uuid — UUIDv7 identifier for the observation
    - `patient_id` string, uuid, required — Reference to the patient
    - `practitioner_id` string, uuid — Reference to the practitioner who performed/recorded the observation
    - `encounter_id` string, uuid — Reference to the encounter where the observation was made
    - `category` 'vital_signs' | 'laboratory' | 'exam', required — The classification of the type of observation
    - `created_at` string, date-time — When the observation record was created
    - `updated_at` string, date-time — When the observation record was updated
    - `issued_at` string, date-time — When the observation was issued/reported
    - `note` string — Additional notes about the observation
    - `values` ObservationValue[] — Array of observation components
      - `id` string, uuid — UUIDv7 identifier for the component
      - `code` string, required — The specific code for this component (e.g., LOINC or SNOMED CT code)
      - `system` string, required — The coding system used (e.g., 'http://loinc.org')
      - `display` string — Human-readable display name for the code
      - `value` string, required — The actual value of the component
      - `value_type` 'string' | 'boolean' | 'numeric', required — The data type of the value
      - `unit` string — The unit for the value (if applicable)
    - `document_ids` string[] — Array of document upload IDs to attach to the observation. All documents must exist and be verified.

## Response `201`

The observation was created

- Observation
  - `id` string, uuid — UUIDv7 identifier for the observation
  - `patient_id` string, uuid, required — Reference to the patient
  - `practitioner_id` string, uuid — Reference to the practitioner who performed/recorded the observation
  - `encounter_id` string, uuid — Reference to the encounter where the observation was made
  - `category` 'vital_signs' | 'laboratory' | 'exam', required — The classification of the type of observation
  - `created_at` string, date-time — When the observation record was created
  - `updated_at` string, date-time — When the observation record was updated
  - `issued_at` string, date-time — When the observation was issued/reported
  - `note` string — Additional notes about the observation
  - `values` ObservationValue[] — Array of observation components
    - `id` string, uuid — UUIDv7 identifier for the component
    - `code` string, required — The specific code for this component (e.g., LOINC or SNOMED CT code)
    - `system` string, required — The coding system used (e.g., 'http://loinc.org')
    - `display` string — Human-readable display name for the code
    - `value` string, required — The actual value of the component
    - `value_type` 'string' | 'boolean' | 'numeric', required — The data type of the value
    - `unit` string — The unit for the value (if applicable)
  - `document_ids` string[] — Array of document upload IDs to attach to the observation. All documents must exist and be verified.

## Other responses

- `400` — The observation was not created

---

[API](https://skmtc.net/jane/apis/jdp-api.md) · [All operations](https://skmtc.net/jane/apis/jdp-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/jane/jdp-api/revisions/119f3c4ad601/schema)
