Skip to main content
Version: v0.1.6

Result flags and statuses

The letters a result record's abnormal flag (field 7) and result status (field 9) are read against, and the reference-range forms (field 6). Matching is exact after the surrounding whitespace is trimmed: letter case is never folded. Read a result safely shows how to use them.

Abnormal flags​

Graded against the HL7 v3 ObservationInterpretation code system, which carries the concepts kept aligned with the HL7 v2 Table 0078 interpretation codes. flag.vocabulary names the system and the version we compared against. ABNORMAL_FLAG_CODES is this list in code.

Letterflag.meaningNotes
Lbelow-normal
Habove-normal
LLcritically-below-normalthe critical (panic) low
HHcritically-above-normalthe critical (panic) high
<below-scalebelow the measurable range
>above-scaleabove the measurable range
Nnormal
Aabnormal
AAvery-abnormal
Usignificant-change-upa change since the last result, not a unit or a magnitude
Dsignificant-change-downa change since the last result, not a unit or a magnitude
Bbetter
Wworse
Ssusceptiblemicrobiology susceptibility
Rresistantmicrobiology susceptibility; not the repeat delimiter here
Iintermediatemicrobiology susceptibility
HUsignificantly-highoutside the interval by enough to want attention, not yet critical
LUsignificantly-lowoutside the interval by enough to want attention, not yet critical

Any other letter, including the deprecated H> and L< that HU and LU replace, reads meaning: "undefined" and recognized: false, keeps its raw text, and raises ASTM_RECORD_UNDEFINED_ABNORMAL_FLAG. It is never read as normal. An empty field gives no flag.

Result statuses​

No citable published source binds these letters: the normative text is purchase-gated and we have not read it. So status.vocabulary.attributed is always false, and status.vocabulary.reason says why.

Letterstatus.meaningisActiveFinalsupersedescancelled
Ffinaltruefalsefalse
Ccorrectionfalsetruefalse
Ppreliminaryfalsefalsefalse
Rpreviously-transmittedfalsefalsefalse
Spartialfalsefalsefalse
Ipendingfalsefalsefalse
Xcancelledfalsefalsetrue
absentunspecifiedfalsefalsefalse
otherundefinedfalsefalsefalse

status is always present. An absent or empty field is unspecified, never final. Any other letter is undefined, keeps its raw text, and raises ASTM_RECORD_UNDEFINED_RESULT_STATUS.

Reference ranges​

FormExamplerange.kindBounds set
low-high3.5-5.0closedlow and high
<high<5open-lowhigh
>low>10open-highlow
anything elsesee noteunparsednone; raw keeps the text

A bound is an optional minus sign, digits, and an optional fraction, and it is kept as the text it was, never converted to a number. Spaces around the -, < or > are allowed. The delimiter - and the open-ended forms come from permissively licensed reference parsers and vendor transcripts, not from the purchased text of the standard. An unparsed range raises ASTM_RECORD_UNPARSEABLE_REFERENCE_RANGE.

In the API reference​