Reference ranges
Configure age, gender, numeric, text, panic, and abnormal rules that drive result interpretation.
What reference ranges do
Reference ranges drive automatic interpretation during result entry and review. They help Kashef decide whether a numeric result is normal, high, low, or critical for the patient's age and gender.
Ranges are clinical setup. Treat them as lab policy, not as simple display text. A wrong range can make a correct value look abnormal or a dangerous value look normal.
Open the reference-range editor
Go to Catalog > Tests, open the test, and choose the Reference ranges tab. Select the result unit first; that unit is used by every reference block on the test.
Each block represents one patient group. Its header summarizes the gender and age rule. Use Add Reference Block to add a new group, the up and down controls to change the matching order, and Duplicate block when a nearby group needs similar values, then adjust the copy's gender or ages. To remove a block, click Delete block, then click it again to confirm. Dragging remains available on desktop.
While you edit, a block whose ages overlap another block for the same gender, or whose minimum age is greater than its maximum age, is outlined in red with a short note explaining what to change.
Build a patient group
Choose the gender, then enter the minimum and maximum age in days, months, or years. Enable No Min Age or No Max Age for an open-ended group. The block header changes to a plain summary such as “All ages,” “Up to 12 years,” or “18 years and older.”
Months and years line up: 12 months is the same age as 1 year, so a block ending at 12 months and one starting at 1 year leave no gap. When one block ends at an age and the next starts at the same age (for example 0–12 years and 12 years and older), a patient who is exactly that age uses the older block.
Patients registered with an estimated age instead of an exact date of birth only match blocks that cover all ages. Give each test an All ages block if those patients should still see a range.
Choose a result format for each block. The format also decides how staff enter the result:
- Numeric Range sets the normal condition (Between, Greater Than, or Less Than), the normal limits, and optional panic limits. Staff type a number. Values below or above the normal limits are flagged Low or High; values beyond the panic limits are flagged Critical.
- List of Ranges creates named numeric bands, such as Deficient, Sufficient, and Toxic. Give each band a Flag (Normal, Low, High, Abnormal, Critical Low, or Critical High); the flag of the band the result falls into is printed. Staff type a number. A result exactly on a Less Than or Greater Than limit that no other band covers belongs to that band. When every band is Normal (for example cycle phases) and the result is above or below all of them, it is flagged High or Low.
- List of Values creates the exact text choices staff pick from a list during result entry. Switch on Normal for the expected value(s), for example Negative. Any other value is flagged Abnormal. If no value is marked Normal, every listed value is accepted without a flag.
- Free Text gives staff a text area for a written result. Optionally enter Reference text printed on the report, such as “< 1/160”; it is printed as the reference. No unit or flag is printed. Use Numeric Range instead whenever the reference is a number, such as “Up to 35”, so results are flagged.
A List of Values block has two extra options:
- Accept Multiple Values lets staff tick more than one value for the same result, for example several findings in a urine microscopy. The picked values are saved and printed together, separated by commas, so values in such a list cannot contain a comma. The result is Normal only when every picked value is marked Normal; otherwise it is flagged Abnormal.
- Conditional on a value offers that value only when another test or a parameter of the same test has a matching result. Choose the test or parameter it depends on, then a condition: is between, is greater than, is less than or equals for a numeric result, or is one of the listed values for a result picked from a list. During result entry the value appears only after the related result is entered and matches, and it disappears (and is cleared) if that result changes. A value without a condition is always offered. The printed report shows only the values that were offered for that result.
Numeric Range and List of Values blocks also have an optional Printed reference. Fill it in when the report should show the lab's own wording instead of the automatic reference, for example Negligible trace for urine protein, 4.5 - 6.5 pH for urine reaction, or Negative less than 1/80 for Widal. Results are still flagged by the limits or the Normal values of the block. Leave it empty to print the reference automatically.
Older tests that stored only Negative or Positive as the normal text offer both outcomes during result entry. The stored normal value keeps its Normal marker. Other older text values are preserved in the editor; add any additional allowed results and save the test before using them.
Checks when you save
Kashef will not save ranges that would confuse interpretation. You will see a message listing what to fix when:
- two blocks for the same gender cover overlapping ages (a block that ends at 1 year and another that starts at 1 year is fine);
- a block's minimum age is greater than its maximum age;
- a normal lower limit is greater than the upper limit, or a required limit is missing;
- a panic limit sits inside the normal range;
- a List of Values or List of Ranges block has no rows;
- the same value is listed more than once in a List of Values block;
- a List of Values block that accepts multiple values has a value containing a comma;
- a conditional value has an incomplete condition (no test or parameter chosen, or a missing limit or value).
A Numeric Range block with no limits at all is ignored, so a test without a range simply shows no interval.
A test with no reference blocks shows No reference blocks yet in the editor. During result entry it gets a plain text field, so results such as blood groups (A, B, AB, O) can be typed freely; a number typed there is still saved as a number. If the test has blocks but none fits the patient's gender or age, result entry keeps the number field.
Gender and age rules
Use All gender when the same range applies to everyone. Use male or female only when the lab's validated reference material differs. Use age limits when pediatric, adult, or elderly ranges differ.
Do not create two blocks with the same gender and overlapping ages. If a value depends on a different patient group, create a separate block and make its age boundary explicit.
Units
The unit should match the unit used in test setup and result entry. If a test is reported in mg/dL, do not create a reference range in mmol/L unless the result entry and report clearly convert values.
When changing a unit, review existing ranges and report templates. Unit changes can affect calculations and clinical interpretation.
How ranges appear during result entry
During result entry, Kashef resolves a reference range for the test or parameter and can apply status flags. The row can then display the interval, flag, and interpretation guidance. Reviewers see these values when deciding whether to approve, reject, or release results.
If the reference range is missing, result entry may still be possible, but the reviewer loses automated context. Add ranges for commonly interpreted numeric tests before using them in production.
Changing ranges after results exist
Each saved result keeps a copy of the range that was applied when it was entered. You can edit or delete ranges at any time; the change applies to results entered or re-saved afterwards.
To use different values for one sample only, for example a test run at a partner lab, do not edit the catalog range. Use Override range on that sample's result row instead; see Samples and barcodes.
Maintenance workflow
When updating ranges, document the lab-approved source: analyzer insert, method validation, medical director decision, or partner reference. Review old values before changing them. If the change is significant, inform reviewers so they understand why future results may flag differently.