Test Reports (Lab)

complete guide to the Test Reports module — managing lab reports, tests, methodologies, sample types, turnaround times, and lab vendors.

Written By Dev010

Last updated 19 days ago

The Test Reports module manages everything related to laboratory testing — from defining test types and methodologies to recording patient lab results and managing external lab vendors. It is organized into six sub-sections covering both configuration and day-to-day lab report management.

Accessing the Module

Sidebar → Test Reports

Direct URL:

https://yourdomain.com/dashboard/test-reports

Who can access:

Action

Admin

Doctor

Receptionist

Nurse

View test reports

Create test reports

Edit test reports

Delete test reports

Manage lab config

Module Structure

The Test Reports module is divided into six sub-sections:

Section

Purpose

Test Reports

Patient lab result entries

Tests

Laboratory test definitions

Categories

Test grouping by specialty

Methodologies

Testing methods and procedures

Sample Types

Sample collection specifications

Turnaround Times

SLA definitions for lab results

The first section handles patient-facing lab results. The remaining five sections are configuration — they define the building blocks used when creating reports.

Lab Vendors — external lab suppliers — are managed in a separate module. See the Lab Vendors guide. Vendors can be linked to test reports when a sample is sent to an external lab.


Test Reports

Accessing Test Reports

Sidebar → Test Reports (main page)

https://yourdomain.com/dashboard/test-reports

What a Test Report Records

Each test report entry captures a complete lab result for a patient:

Field

Description

Patient

Linked patient

Doctor

Requesting or reviewing doctor

Appointment

Optional — linked appointment

Lab Vendor

Optional — external lab that processed the sample

Test

Linked laboratory test definition

Test Type

Free text description of the test type

Results

Full results text

Reference Values

Normal range for comparison

Clinical Interpretation

Doctor's interpretation of results

Abnormal Findings

Flagged abnormal values

Recommendations

Suggested next steps

Notes

Additional notes

Report Date

Date the report was produced

Quality Control

QC notes from the lab

Status

Current report status

Attachments

JSON array of linked file URLs

Test Report Statuses

Status

Description

pending

Sample received, results not yet available

recorded

Results entered into the system

verified

Results reviewed and verified by doctor

delivered

Report delivered to patient

Creating a Test Report

Click Add Test Report on the test reports page.

Direct URL:

https://yourdomain.com/dashboard/test-reports/new

Fill in the required fields — patient, doctor, test type, results, and report date — then optionally link to an appointment, lab vendor, and specific test definition. Set the initial status and save.

Test Reports List

The main list shows all test reports across all patients with the most recent first. Each row displays:

  • Patient name

  • Test type

  • Lab vendor (if linked)

  • Report date

  • Status badge

  • Action buttons (edit, delete)


Tests (Laboratory Test Definitions)

Accessing Tests

Sidebar → Test Reports → Tests

https://yourdomain.com/dashboard/test-reports/tests

What Tests Define

Laboratory tests are reusable definitions that can be linked to test reports. Defining tests once means they can be selected consistently when creating reports:

Field

Description

Name

Test name (e.g. Complete Blood Count)

Test Code

Short identifier (e.g. CBC)

Description

What the test measures

Category

Linked test category

Sample Type

Required sample (e.g. venous blood)

Methodology

Testing method used

Turnaround Time

Expected result delivery time

Normal Range

Reference range for results

Units

Measurement units (e.g. mg/dL)

Price

Cost of the test

Active

Whether the test is currently offered

Adding a Test

Click Add Test on the tests page.

Fill in the test name and code, link it to a category, sample type, methodology, and turnaround time, and set the normal range and price. Save to make the test available for selection when creating test reports.

Tests can only be linked to categories, sample types, methodologies, and turnaround times that already exist. Configure those sub-sections first before adding tests.


Categories

Accessing Categories

Sidebar → Test Reports → Categories

https://yourdomain.com/dashboard/test-reports/categories

What Categories Do

Categories group related laboratory tests together for organization and filtering. Examples:

  • Hematology

  • Biochemistry

  • Microbiology

  • Immunology

  • Endocrinology

  • Urology

  • Serology

  • Pathology

Field

Description

Name

Category name

Department

Optional — linked clinic department

Icon

Optional — display icon

Active

Whether category is active

Adding a Category

Click Add Category on the categories page. Enter the name, optionally link to a department, and save.

Create categories before adding tests — tests require a linked category.


Methodologies

Accessing Methodologies

Sidebar → Test Reports → Methodologies

https://yourdomain.com/dashboard/test-reports/methodologies

What Methodologies Define

Methodologies describe the testing procedure used to produce a result. Having standardized methodologies ensures consistency across reports:

Field

Description

Name

Methodology name (e.g. PCR, ELISA)

Code

Short identifier

Category

Linked test category

Description

General description

Principles

Scientific principles behind the method

Equipment

Equipment required

Applications

What conditions or analytes it detects

Advantages

Strengths of this method

Limitations

Known limitations or constraints

Sample Volume

Required sample volume

Active

Whether methodology is active

Adding a Methodology

Click Add Methodology on the methodologies page. Fill in the name and code, optionally link to a category, add descriptive details, and save.


Sample Types

Accessing Sample Types

Sidebar → Test Reports → Sample Types

https://yourdomain.com/dashboard/test-reports/sample-types

What Sample Types Define

Sample types describe the biological specimens used in testing — how they are collected, stored, and handled:

Field

Description

Name

Sample name (e.g. Venous Blood)

Code

Short identifier (e.g. VB)

Category

Linked test category

Description

General description

Collection Method

How the sample is collected

Volume Required

Amount needed

Container Type

Collection tube or container

Preservative / Anticoagulant

Any additives required

Special Collection Instructions

Patient prep or timing requirements

Storage Temperature

Required storage conditions

Storage Time / Stability

How long sample remains viable

Processing Time

Time from collection to processing

Transport Conditions

How sample must be transported

Handling Requirements

Lab handling notes

Rejection Criteria

Conditions that make sample invalid

Safety Precautions

Biohazard or handling safety notes

Common Tests

Tests commonly run on this sample

Active

Whether sample type is active

Adding a Sample Type

Click Add Sample Type on the sample types page. Fill in the name and collection details, then save.


Turnaround Times

Accessing Turnaround Times

Sidebar → Test Reports → Turnaround Times

https://yourdomain.com/dashboard/test-reports/turnaround-times

What Turnaround Times Define

Turnaround time definitions set SLA expectations for how quickly lab results should be delivered:

Field

Description

Name

Name (e.g. STAT, Routine, Urgent)

Code

Short identifier

Priority

Priority level

Category

Linked test category

Description

What this SLA covers

Duration

Duration value (e.g. 2)

Duration Display

Human-readable (e.g. 2 hours)

Duration Minutes

Numeric minutes for calculations

SLA Commitment

Formal commitment statement

Reporting Hours

Hours within which report is due

Test Examples

Example tests that use this TAT

Business Rules

Rules governing this SLA

Critical Notes

Notes for critical or emergency results

Escalation Procedure

Steps if SLA is missed

Active

Whether this TAT is active

Common Turnaround Time Examples

Name

Typical Duration

STAT

1–2 hours

Urgent

4–6 hours

Routine

24 hours

Extended

48–72 hours

Send-Out

5–7 days

Adding a Turnaround Time

Click Add Turnaround Time on the turnaround times page. Fill in the name, code, priority, and duration details, then save.


Recommended Setup Order

If you are configuring the Test Reports module for the first time, set up the sub-sections in this order to avoid dependency errors:

1. Categories
      ↓
2. Methodologies
      ↓
3. Sample Types
      ↓
4. Turnaround Times
      ↓
5. Tests
      ↓
6. Lab Vendors (separate module)7. Test Reports (patient results)

Each step depends on the previous ones being configured first.


Database Schema Reference

test_reports

Column

Type

Description

id

uuid

Unique report ID

patient_id

uuid

FK → patients

doctor_id

uuid

FK → users

appointment_id

uuid

FK → appointments

lab_vendor_id

uuid

FK → lab_vendors

test_id

uuid

FK → laboratory_tests

test_type

text

Test type description

results

text

Full results text

reference_values

text

Normal range

clinical_interpretation

text

Doctor interpretation

abnormal_findings

text

Flagged values

recommendations

text

Next steps

notes

text

Additional notes

report_date

date

Report production date

quality_control

text

QC notes

status

text

pending/recorded/verified/delivered

attachments

jsonb

Array of file URLs

laboratory_tests

Column

TypeDescription

id

uuid

Unique test ID

name

text

Test name

test_code

text

Short code

category_id

uuid

FK → test_categories

sample_type_id

uuid

FK → sample_types

methodology_id

uuid

FK → test_methodologies

turnaround_time_id

uuid

FK → turnaround_times

normal_range

text

Reference range

units

text

Measurement units

price

numeric

Test price

is_active

integer

1 = active


Workflow Examples

Complete lab test workflow:

  1. Doctor orders a test during a visit — note it in a clinical note

  2. Nurse collects sample per sample type instructions

  3. Sample sent to lab vendor if external

  4. Results received — doctor creates Test Report → status: recorded

  5. Doctor reviews and interprets — status: verified

  6. Report shared with patient — status: delivered

Setting up a new test for the first time:

  1. Test Reports → Categories → Add Category (e.g. Hematology)

  2. Test Reports → Methodologies → Add Methodology (e.g. Flow Cytometry)

  3. Test Reports → Sample Types → Add Sample Type (e.g. EDTA Blood)

  4. Test Reports → Turnaround Times → Add Turnaround Time (e.g. Routine - 24h)

  5. Test Reports → Tests → Add Test → link all of the above


Troubleshooting

Test dropdown empty when creating a report:

  • No active laboratory tests exist

  • Go to Test Reports → Tests and create at least one test

  • Confirm the test has is_active = 1

Cannot link a test to a category:

  • Categories must be created before tests — go to Test Reports → Categories first

Lab vendor not appearing in dropdown:

  • Lab vendors are managed in a separate module — go to Sidebar → Lab Vendors and confirm vendors exist and are active

  • See the Lab Vendors guide

Test report status not updating:

  • Confirm your role has test_reports.edit permission in Dashboard → Permissions

  • Nurses can view but not edit test reports by default

Attachments not uploading to report:

  • Attachments on test reports are stored as a JSON array of URLs

  • Confirm the medical-attachments storage bucket exists and is set to Public in Supabase

Next Step

Continue to the Odontograms module guide to learn how dental charting works in CareNova.