Function: patient()
patient(
msg):PatientRecord|undefined
The message's patient (P) record, or undefined when the message carries none.
This is the identity a result files against, so it is answered only when the stream
determines exactly one. It refuses the two shapes where "the patient" is a guess: a
stream carrying several messages, and a single message carrying several P records. In
both, the old behaviour - the first P in the stream - is the wrong-patient path itself.
Parameters
msg
A parsed single-message stream carrying at most one patient.
Returns
PatientRecord | undefined
The patient record, or undefined when the message carries none.
Throws
AstmAmbiguousStreamError (ASTM_AMBIGUOUS_MULTI_MESSAGE) when the stream
carries more than one message, or (ASTM_AMBIGUOUS_MULTI_PATIENT) when its one message
carries more than one P. Use messages and read patients in both cases.
Example
import { parseAstmRecords, patient } from "@cosyte/astm";
const msg = parseAstmRecords("H|\\^&\rP|1|PRAC|LAB\rL|1\r");
patient(msg)?.practiceAssignedId; // "PRAC"