---
title: "Update Patient Vitals and Link to ABHA"
method: PATCH
path: "/trackers/api/v1/vitals/{txn_id}"
tags: ["Vitals"]
---

# Update Patient Vitals and Link to ABHA

`PATCH /trackers/api/v1/vitals/{txn_id}`

Update the vitals data for a specific patient using the transaction ID. It processes the data and links it to the ABHA (Ayushman Bharat Health Account) if requested. Request body must include valid list of vitals.

Refer to the [Table](https://developer.eka.care/api-reference/user-app/vitals/vital-information-table) for proper eka_code, LOINC code and UCUM code mappings for different vital signs.

## Path parameters

- `txn_id` string, required

## Request body

- VitalRequest
  - `vitals` Vital[], required
    - `display_name` string, required — Display name of the vital sign (e.g., "Pulse rate", "Blood Glucose").
    - `identifiers` Identifiers, required
      - `unique_id` string, required — Unique identifier for the vital measurement.
      - `eka_code` string, nullable — Eka internal code for the vital. **Note:** Refer to the [Vital Information Table](https://developer.eka.care/api-reference/user-app/vitals/vital-information-table) for correct eka_code mappings.
      - `loinc` string, nullable — LOINC code corresponding to the vital sign. **Note:** Refer to the [Vital Information Table](https://developer.eka.care/api-reference/user-app/vitals/vital-information-table) for correct LOINC code mappings.
    - `vital_value` VitalValue, required
      - `value_type` 'NUM' | 'BOOL' | 'STR', required — Type of the vital value.
      - `value` union, required — The actual value of the vital sign. Type depends on value_type.
        - number
        - boolean
        - string
    - `vital_unit` VitalUnit
      - `display_unit` string, required — Human-readable unit of measurement.
      - `ucum_code` string, nullable — UCUM code for the unit. **Note:** Refer to the [Vital Information Table](https://developer.eka.care/api-reference/user-app/vitals/vital-information-table) for correct UCUM code mappings.
    - `measured_at` MeasuredAt, required
      - `measurement_type` 'INSTANT' | 'DURATION', required — Type of measurement timing.
      - `start` string, date-time, required — Start time of measurement.
      - `end` string, date-time, nullable — End time of measurement. Required only when measurement_type is "DURATION".

## Response `202`

All vitals processed successfully with/without ABHA linking

- union
  - SuccessResponseWithABHA
    - `message` string
    - `data` object
      - `abha_linking` string
      - `abha_message` string
      - `processing_status` object
        - `processed` ProcessedItem[]
          - `resource_type` string
          - `fhir_id` string
          - `identifier` string
        - `failed` FailedItem[]
          - `resource_type` string
          - `identifier` string
          - `error` object
            - `code` string
            - `message` string
  - SuccessResponseWithoutABHA
    - `message` string
    - `data` object
      - `abha_linking` string
      - `processing_status` object
        - `processed` ProcessedItem[]
          - `resource_type` string
          - `fhir_id` string
          - `identifier` string
        - `failed` FailedItem[]
          - `resource_type` string
          - `identifier` string
          - `error` object
            - `code` string
            - `message` string

## Other responses

- `206` — Vitals partially processed successfully with/without ABHA linking
- `400` — Bad Request - Invalid data or missing parameters
- `401` — Unauthorized - Invalid authentication token
- `500` — Internal Server Error

---

[API](https://skmtc.net/eka/apis/eka-developer-apis.md) · [All operations](https://skmtc.net/eka/apis/eka-developer-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eka/eka-developer-apis/revisions/9ea23456f722/schema)
