> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blis.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Test Specifications

> Configure and manage laboratory test specifications

## Overview

Test specifications (test specs) define the tests your laboratory can perform. Each test spec includes configuration for result entry, validation, reporting, invoicing, and instrument integration.

## Test Spec Basics

### Core Fields

| Field        | Description                                   |
| ------------ | --------------------------------------------- |
| Name         | Full test name (e.g., "Complete Blood Count") |
| Code         | Unique identifier (e.g., "CBC", "GLU")        |
| Type         | Test category (see Test Types below)          |
| Manufacturer | Test kit or instrument manufacturer           |
| Units        | Measurement units (e.g., "mg/dL", "cells/μL") |
| Enabled      | Whether the test can be ordered               |
| Selectable   | Whether users can select this test directly   |

### Test Types

Test specs are categorized by type:

* **Panel**: Group of individual tests (e.g., CBC, BMP)
* **Quantitative**: Numeric result (e.g., Glucose)
* **Qualitative**: Text or categorical result (e.g., Positive/Negative)
* **Calculated**: Computed from other results (e.g., eGFR)
* **Narrative**: Free-text result (e.g., microscopy findings)

## Advanced Configuration

### Reference Ranges

Test specs can include reference range values for result interpretation:

```
Normal: 70-100 mg/dL
High: >100 mg/dL
Low: <70 mg/dL
```

Reference ranges help technicians and pathologists quickly identify abnormal results.

### Reflex Testing

**Reflex testing** automatically triggers additional tests based on initial results:

* **Reflex Function**: Custom logic to evaluate results
* **Reflex Options**: Configuration for the reflex behavior
* **Should Report Reflex**: Whether reflexed results appear on the report

Example: A positive strep screen automatically reflexes to a throat culture.

<Tip>
  Reflex testing reduces manual work and ensures appropriate follow-up testing happens automatically.
</Tip>

### Instrument Integration

Link test specs to instruments for automated result import:

* **Instrument ID**: The instrument that runs this test
* **Disable Test Run**: Prevent this test from appearing in test runs
* **Kit Name**: Specific reagent kit or assay name

### Reference Laboratory

For send-out tests:

* **Reference Lab ID**: External lab that performs the test
* **Reference Org ID**: Organization representing the reference lab
* **Price**: Cost for outsourced testing

## Test Spec Groups

Group related tests together for easier ordering and organization:

```
Test Spec Group: "Chemistry Panel"
├── Glucose
├── Sodium
├── Potassium
└── Chloride
```

Groups help:

* Organize test menus
* Create common panel orders
* Simplify test selection for users

## Pricing and Invoicing

### Price Configuration

Set per-test pricing for invoicing:

* **Price**: Base price in decimal format
* **Invoice Override ID**: Use alternate pricing for specific scenarios

### Label Printing

Control automatic label printing:

* **Print Labels**: Print specimen labels when test is ordered
* **Print Labels With Reflex**: Also print labels for reflexed tests
* **Preferred Tube ID**: Default specimen tube/container type

## Display and Reporting

### Report Configuration

* **Display Order**: Position in result reports
* **Disable Report**: Exclude from printed/PDF reports
* **Report Disclaimer**: Custom text for report footer
* **Always Show Header**: Display test name even without results

### Parent/Child Relationships

Tests can be nested for panel organization:

* **Parent ID**: Parent test spec (for panel members)
* Panels show child results grouped together
* Useful for comprehensive panels like CBC or CMP

<Info>
  Child tests typically have `selectable: false` so they can't be ordered individually - only through their parent panel.
</Info>

## Quality Control

### Control Testing

Mark quality control samples:

* **Is Control**: Identifies QC/calibration tests
* Control tests are tracked separately from patient samples
* Essential for instrument validation and CLIA compliance

### Tube Type Preferences

* **Preferred Tube ID**: Default specimen container
* Helps ensure correct specimen collection
* Alerts if wrong tube type is used

## Managing Test Specs

### Creating a New Test

1. Choose a unique test code
2. Select the appropriate test type
3. Configure units and reference ranges
4. Set pricing (if applicable)
5. Link to instrument (if automated)
6. Configure reflex rules (if needed)
7. Set enabled and selectable flags

### Enabling/Disabling Tests

Use the **Enabled** flag to control test availability:

* **Enabled**: Test can be ordered (if selectable)
* **Disabled**: Test is hidden from ordering menus

<Tip>
  Disable tests instead of deleting them to preserve historical data and results.
</Tip>

### Organizing Test Menus

Use these fields to organize how tests appear:

* **Display Order**: Numeric sort position
* **Selectable**: Whether users can directly order the test
* **Test Spec Group**: Category for grouping related tests

## Best Practices

### Naming and Codes

* Use industry-standard codes (LOINC) when possible
* Keep codes short and memorable
* Include full test names for clarity
* Use consistent naming conventions

### Configuration

* Always set units for quantitative tests
* Include reference ranges where applicable
* Configure reflex testing to reduce manual work
* Link automated tests to instruments

### Maintenance

* Review and update pricing regularly
* Audit disabled tests periodically
* Keep reference ranges current with guidelines
* Document reflex rules clearly

### Quality

* Mark QC tests appropriately
* Configure preferred tube types
* Enable appropriate report disclaimers
* Test reflex rules before deploying

## Troubleshooting

### Test Not Appearing in Order Menu

* Check **Enabled** flag is `true`
* Verify **Selectable** is `true` (unless it's a panel member)
* Confirm user's organization has access

### Reflex Not Triggering

* Review reflex function logic
* Check reflex options configuration
* Verify parent test completed successfully
* Examine logs for reflex evaluation errors

### Instrument Results Not Importing

* Confirm **Instrument ID** is set correctly
* Verify test code matches instrument output
* Check **Disable Test Run** is `false`
* Review instrument connection logs

### Pricing Issues

* Verify **Price** field is set
* Check for invoice overrides
* Confirm test spec is linked to line items correctly
