Safety and confidence
The validator compares Component, Property, Time, System, Scale, and Method when the observation provides the corresponding context.
Unit conflicts are hard failures. For example, a mass concentration candidate is not accepted for a molar unit, and a reviewed LDL mass-concentration alias requires mg/dL.
The reviewed registry routes LDL cholesterol aliases, including common OCR spelling variants, to 13457-7 only with mg/dL. LDLP, LDL particle, and LDL particle number route to 54434-6 only with nmol/L; they are not synonyms for LDL cholesterol.
Method tags are safety context, not decoration. Calculated LDL is validated against 13457-7, while LDL Direct is validated against the direct-assay code 18262-6. Laboratory labels such as Cholesterol, LDL, Measured and LDL meas. are interpreted as the generic Direct assay context. Concatenated and OCR-punctuated forms are normalized before this method check. A candidate with a mismatched or missing explicit method is rejected before SapBERT ranking.
This is context extraction, not a direct name-to-code override. UMLS and SapBERT may retrieve several sibling terms, but the method and unit axes decide which candidates remain safe. A laboratory-specific phrase that has not been reviewed must abstain rather than be treated as a universal synonym.
The confidence policy can return:
mapped: safe candidate passed the confidence and margin gates.abstain: evidence is ambiguous or below threshold.invalid_candidate: candidates existed but failed hard validation.no_candidate: no usable candidate was generated.
Only mapped results may be converted to an Elation payload.