Interface: ResultRecord
The R (result) record: the value itself.
The raw safety-critical fields (value, units, referenceRange,
abnormalFlags, resultStatus) are always surfaced exactly as received.
The modeled, fail-safe semantics sit alongside them: flag
(Table 0078, undefined never coerced to normal), status (a C/X never
reads as active-final; an absent status is unspecified, never final), and
range (open/closed bounds surfaced verbatim, never fabricated). The raw
strings and the modeled views coexist: nothing is collapsed or reconciled.
Extends
RecordBase
Properties
abnormalFlags?
readonlyoptionalabnormalFlags?:string
Field 7: abnormal flags, surfaced raw (HL7 Table 0078 values).
completedAt?
readonlyoptionalcompletedAt?:AstmDate
Field 13: test completed timestamp.
fields
readonlyfields: readonlyAstmField[]
The record's fields. fields[0] is the type-letter field; data fields are 1-indexed after it.
Inherited from
RecordBase.fields
flag?
readonlyoptionalflag?:AbnormalFlag
Field 7: the abnormal flag interpreted against HL7 Table 0078, present only when the field
carried a value. An unrecognized flag is { recognized: false, meaning: "undefined" }, surfaced,
never dropped, and never coerced to normal.
instrument?
readonlyoptionalinstrument?:string
Field 14: instrument identifier.
operator?
readonlyoptionaloperator?:string
Field 11: operator.
range?
readonlyoptionalrange?:ReferenceRange
Field 6: the reference range parsed into low/high (or open-ended) bounds, present only when the
field carried a value. An unparseable range is kind: "unparsed" with the raw text preserved and
no bound fabricated. Bounds are verbatim numeric text, never coerced to floats.
recordIndex
readonlyrecordIndex:number
0-based ordinal of the record within the message.
Inherited from
RecordBase.recordIndex
referenceRange?
readonlyoptionalreferenceRange?:string
Field 6: reference range, surfaced raw.
resultStatus?
readonlyoptionalresultStatus?:string
Field 9: result status, surfaced raw (F/C/X/…).
seq?
readonlyoptionalseq?:string
Field 2: sequence number.
startedAt?
readonlyoptionalstartedAt?:AstmDate
Field 12: test started timestamp.
status
readonlystatus:ResultStatus
Field 9: the modeled result status. Always present (an absent field yields a typed
unspecified, never assumed final), so status.isActiveFinal is always a reliable boolean: it
is true only for a plain F, and false for a correction (C), a cancellation (X), a
partial/preliminary/pending, an absent, or an unrecognized status.
type
readonlytype:"R"
The record's raw type letter.
Overrides
RecordBase.type
units?
readonlyoptionalunits?:string
Field 5: units (vendor free text; a missing unit is not defaulted).
universalTestId?
readonlyoptionaluniversalTestId?:UniversalTestId
Field 3: Universal Test ID (local code in component 4 is the primary identifier).
value?
readonlyoptionalvalue?:string
Field 4: the measured value. In the ordinary single-component case this is the decoded scalar.
When the value field carried an unescaped component delimiter (an ambiguity), this is the
full raw field text, never a truncated component, and ResultRecord.valueComponents
plus an ASTM_RECORD_AMBIGUOUS_VALUE_SPLIT warning are also present.
valueComponents?
readonlyoptionalvalueComponents?: readonlystring[]
Field 4 split into components, present only when the value field carried an unescaped component delimiter: i.e. it read as more than one component. Surfaced alongside the full raw value (and a warning) so an ambiguous split is visible, never resolved silently.