---
title: "Lab Report Parsing Job Created"
method: POST
path: "lab_report.parsing_job.created"
tags: ["lab-testing"]
---

# Lab Report Parsing Job Created

`POST lab_report.parsing_job.created` (webhook)

## Payload

- ClientFacingLabReportParsingJobCreatedEvent
  - `event_type` 'lab_report.parsing_job.created', required
  - `user_id` string, uuid, required
  - `client_user_id` string, uuid, required
  - `team_id` string, uuid, required
  - `data` ParsingJob, required
    - `id` string, uuid, required
    - `status` 'upload_pending' | 'started' | 'completed' | 'failed', required — ℹ️ This enum is non-exhaustive.
    - `failure_reason` 'invalid_input' | 'low_quality' | 'not_english' | 'too_many_pages' | 'processing_error' — Machine-readable failure reasons for parsing jobs. ℹ️ This enum is non-exhaustive.
    - `data` ParsedLabReportData
      - `metadata` ResultMetadata, required
        - `patient_first_name` string, nullable
        - `patient_last_name` string, nullable
        - `dob` string, nullable
        - `gender` 'male' | 'female' | 'other' — ℹ️ This enum is non-exhaustive.
        - `lab_name` string, nullable
        - `date_reported` string, nullable
        - `date_collected` string, nullable
        - `specimen_number` string, nullable
      - `results` LabReportResult[], required
        - `test_name` string, required
        - `value` string, required
        - `sample_type` 'urine' | 'serum_plasma_blood' | 'capillary_blood' | 'stool' | 'saliva' | 'other' | 'unknown' — ℹ️ This enum is non-exhaustive.
        - `measurement_kind` 'direct' | 'calculated' | 'ratio' | 'unknown' — ℹ️ This enum is non-exhaustive.
        - `type` 'numeric' | 'range' | 'comment' | 'boolean' | 'duration' | 'percentage' | 'ratio' — ℹ️ This enum is non-exhaustive.
        - `units` string, nullable
        - `max_reference_range` number, nullable
        - `min_reference_range` number, nullable
        - `source_panel_name` string, nullable
        - `sensitivity` 'sensitive' | 'insensitive' | 'unknown' — ℹ️ This enum is non-exhaustive.
        - `loinc_matches` LoincMatch[], nullable
          - `loinc_code` string, required
          - `loinc_name` string, required
          - `display_name` string
          - `aliases` string[]
          - `confidence_score` number, required
        - `loinc_match_status` 'auto_match' | 'needs_review' | 'no_match', nullable — ℹ️ This enum is non-exhaustive.
        - `interpretation` 'normal' | 'abnormal' | 'critical' | 'unknown' — ℹ️ This enum is non-exhaustive.
        - `is_above_max_range` boolean, nullable
        - `is_below_min_range` boolean, nullable
    - `needs_human_review` boolean, required
    - `is_reviewed` boolean, required

## Acknowledgement `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/tryvital/apis/junction-api.md) · [All operations](https://skmtc.net/tryvital/apis/junction-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryvital/junction-api/revisions/034402e2bbe3/schema)
