Orders App and Lab App Improvements 2026

Orders App and Lab App Improvements 2026

Introduction

The O3 Lab and Orders Apps are designed to streamline management of lab requests and results. The goal of this project is to provide TLC to the laboratory workflows by improving the current features.

Jira Epic: https://openmrs.atlassian.net/browse/O3-5305

1: Orders App: Used to create Lab requests

Feature/Process

User Story

Details

Feature/Process

User Story

Details

Placing Lab Orders (Order Basket)

As a Clinician, I want to search for and select lab tests for a patient so I can request diagnostic investigations.

  • Must be able to open the “Order Basket” from the patient chart and search for specific tests (e.g., CBC, ALP, HB)

  • Allow selecting multiple tests into a “draft” state before final submission

Managing Lab Orders

As a Clinician, I want to see a list of all active/pending orders for my patient so that I can track the progress.

  • Provide Orders Tab showing the orders and their details

Modify Lab Orders Action

As a Clinician i want to modify test orders (priority and instructions) for pending requests.

  • Allow modification of priority and instructions

Add Lab Results Action

As a Clinician, I want to record results immediately (for desk tests such as Blood Sugar, HB) or results brought by patients from other testing facilities.

  • Clinicians must be able to add results directly in this interface for immediate tests

  • Upon adding the result

Cancel Lab Orders Action

As a Clinician, I want to cancel lab orders that are no longer required

  • An order cancelled by the Clinician before the lab “Picks” it should immediately disappear from the “Tests Ordered” tab.

Order Status & Results Tracking

As a Clinician, I want to see the order statuses in the patient’s chart

Pending test - Blank Status

Rejected tests - Declined Status

  • For the completed tests, the results should be shown in the Results Section

  • For the Rejected tests, the order status must be updated to Declined

2: Lab App: Used to fulfill Lab requests

Feature/Process

User Story

Details

Feature/Process

User Story

Details

Tests Queue

As a Lab Technician, I want to see tests needing “Urgency.”

  • Add new Column: Add "Urgency" to Tests Ordered, In Progress, and Completed tabs.

  • Any patient with a "Stat" test moves to the top.

Picking Lab Requests

As a Lab Technician, I want to pick tests so that I can begin processing them in the lab

  • Must be able to view a list of patients with pending “Tests ordered” and expand the accordion to see specific tests like HB, ALP, etc

  • Must provide a “Pick lab request” button for individual tests

Entering Lab Results

As a Lab Technician, I want to record numerical or text results for “In progress” tests so that they can be reviewed and finalized

  • Must provide an “Enter test results” sidebar with input fields for specific data points

  • Must provide Save&Close and Discard options for results before they are moved to the “Completed” tab.

Rejecting Lab requests

As a Lab Technician, I want to decline or reject a lab request if a sample is insufficient or reagents are missing, so the clinician knows why the result is pending

  • Must provide a “Reject lab request” option for Tests ordererd and In progress tests that cannot be processed.

  • Must allow the user to enter the reason for the rejection, e.g., bad sample

  • Upon rejecting lab requests, transition these orders to a “Declined tests” tab

  • Upon rejecting lab requests, must update the status column in the Orders App for the clinician to view.

  • Hide cancelled tests older than x days to keep the UI clean and to minimize payload/performance degradation.

3: Test Results Viewer

Feature/Process

User Story

Details

Feature/Process

User Story

Details

Abnormal Value Highlighting

As a Clinician, I want high or low lab values to be visually distinct so I can quickly identify clinical issues

  • Highlight critical values in red and abnormal values in orange based on the concept/reference ranges

  • Append direction arrows next to the value, e.g., ↑↑ for a critically high value

Longitudinal Data View

As a clinician, I want to see results across multiple encounters in a single grid to track trends.

  • Provide an “Over time” view - column results by date

  • Group results by panel type, e.g., CBC, Serum Chemistry Panel

  • Allow for expanding and collapsing panels

Trend Visualization

As a clinician, I want to view a trendline of lab results over time so that I can assess patient response to treatment.

  • Provide a trendline showing values plotted against time

  • Display concept/reference ranges on the graph.