Catalyst Form Builder - Functional Requirements

Catalyst Form Builder - Functional Requirements

Catalyst Form Builder - Order Entry Screen Designer

Functional Requirements Document

Version: 1.0
Date: November 2025
Status: Draft
Jira Story: OGC-113
Parent Epic: OGC-70 - Catalyst


1. Executive Summary

Catalyst Form Builder extends the Catalyst data assistant to include visual form design capabilities for creating custom order entry screens. This feature replaces the current approach of manually editing FHIR Questionnaire JSON with a user-friendly drag-and-drop builder, while maintaining full FHIR compliance under the hood.

1.1 Problem Statement

Currently, OpenELIS Global order entry screen customization requires:

  • Manually writing or pasting FHIR Questionnaire JSON

  • Specialized technical knowledge beyond typical admin capabilities

  • Limited layout options

  • No visual preview during development

1.2 Target Users

  • System Administrators - Full form creation and management capabilities

  • Lab Managers with "Order Entry Screen Management" permission - Form creation for their lab units

1.3 Core Capabilities

  • Visual drag-and-drop form builder with pre-built workflow blocks

  • LLM-assisted form design through natural language

  • Integration with OpenELIS data dictionary and test catalog

  • Conditional logic configuration without coding

  • Multi-column layouts, sections, tabs, and collapsible areas

  • Live preview with device toggle (desktop/tablet/mobile)

  • Draft → Review → Publish workflow with version control

  • Export/import for initializer and cross-instance sharing


2. Form Scope & Application

2.1 Supported Order Types

  • Lab test orders (routine, STAT)

  • Panel orders

  • Referral orders

  • Program-specific orders (HIV, TB, EID, etc.)

  • Environmental sample orders

  • Product testing orders

2.2 Form Assignment

Forms can be assigned at three levels:

Scope

Description

Scope

Description

All Test Units

Form available system-wide

Specific Test Unit

Form only for a particular lab section

Project/Notebook

Form only within a specific project

2.3 Multiple Forms per Context

  • User sees form selection after clicking "Order Entry"

  • "Remember my selection" checkbox (stored per user)

  • Collapsed form selector at top for switching

  • Admins set default per lab unit


3. User Interface Components

3.1 Form Builder Main Interface

Three-panel design:

Left Panel - Component Library:

  • Workflow Blocks (pre-built complex components)

  • Basic Fields

  • Selection Fields

  • Lookup Fields

  • Layout Elements

Center Panel - Form Canvas:

  • Visual form representation

  • Drag-and-drop placement

  • Click to select and configure

Right Panel - Properties Inspector:

  • Field label, help text

  • Required toggle

  • Conditional visibility rules

  • Validation rules

  • Data dictionary mapping

3.2 Preview Panel

  • Device selector: Desktop | Tablet | Mobile

  • Sample data toggle

  • Test conditional logic

  • Role preview


4. Pre-built Workflow Blocks

Block

Description

Block

Description

Patient Block

Search + create + display patient info

Provider Block

Search + validation

Sample Block

Type, collection date, container, multi-sample

Test Selection Block

Catalog search, favorites, LOINC display

Panel Selection Block

Browser, included tests, individual removal

Referral Out Block

Lab selector, reason, documentation

Program Block

Selector with conditional logic triggers

Billing Block

Payment tracking (if enabled)

Contact Tracing Block

Contact info (if enabled)

Barcode/Label Block

Generation and printing modal


5. Field Types

Text Fields

  • Text Input, Text Area, Restricted Text

Numeric Fields

  • Number, Range, Calculated

Date/Time Fields

  • Date, Time, DateTime

Selection Fields

  • Dropdown, Multi-Select, Radio, Checkbox, Toggle

Lookup Fields

  • Patient, Provider, Organization, Test, Dictionary

Special Fields

  • File Upload, Signature, Barcode Scanner


6. Layout Elements

  • Section - Groups fields with header, collapsible

  • Column Layout - 2 or 3 columns

  • Tabs - Tabbed interface grouping

  • Repeating Sections - Multiple samples, contacts


7. Conditional Logic

  • Show/hide fields based on values

  • Change required fields based on context

  • Program-specific visibility

  • Filter tests by program/sample type

  • Visual condition builder (no coding)


8. Validation Rules

Field-Level

  • Required, Format (regex), Range, Length

Cross-Field

  • Field A required if Field B has value

  • At least one of multiple fields required

Form-Level

  • At least one sample/test required

  • Patient must be selected


9. LLM Assistance

  • Generate forms from natural language descriptions

  • Suggest field types and validations

  • Configure conditional logic via prompts

  • Troubleshoot form issues

  • Convert FHIR Questionnaire JSON to visual format


10. Workflow & Versioning

State

Description

State

Description

Draft

Work in progress

In Review

Ready for review

Published

Active and available

Archived

No longer available

  • Last 5 versions retained

  • One-click rollback

  • Historical orders retain original form context

  • Version number + last edited info displayed


11. Import/Export

Export includes:

  • Form definition (FHIR Questionnaire)

  • Layout configuration

  • Conditional logic

  • Referenced dictionary entries

  • Tests/panels identified by LOINC

Initializer Integration

  • Forms placed in initializer directory

  • Loaded on new deployment

Cross-Instance Sharing

  • Export/import JSON files

  • Dependency validation on import


12. Admin UI Modernization

New section: Admin → General Configurations → Order Entry Form Management

Replaces:

  • Order Entry Configuration (toggle table)

  • Program Entry (JSON paste)

Features:

  • Form list with status, assignment, version

  • Filter by status, assignment, creator

  • Search by name/description

  • Actions: Create, Duplicate, Edit, Archive, Export


13. Phased Implementation

Phase 1 (MVP)

  • Visual builder with basic fields

  • Essential blocks (Patient, Provider, Sample, Test)

  • Draft/Publish workflow

  • Basic preview

Phase 2

  • Additional blocks (Panel, Referral, Program, Barcode)

  • Conditional logic builder

  • Preview enhancements

Phase 3

  • Remaining blocks

  • Review workflow

  • Versioning (5 versions)

  • Import/export

  • LLM integration

Phase 4

  • FHIR import/conversion

  • Repeating sections

  • Calculated fields

  • Tabs layout


14. Technical Notes

  • Carbon Design System for React

  • FHIR Questionnaire R4 compliance

  • JSON-based form storage

  • Drag-and-drop library for canvas


Document End - Full requirements available in linked document