Skip to main content
Version: v0.0.4

Type Alias: UsageCode

UsageCode = "R" | "RE" | "C" | "CE" | "O" | "X"

The six HL7 v2 conformance usage codes (HL7 Conformance Methodology, Message Profiles; IHE ITI TF Vol.2 Appendix C). They constrain whether an element must, may, or must not appear:

  • R: Required. The element SHALL be present (with a value). Absent → FINDING_CODES.PROFILE_REQUIRED_ABSENT.
  • RE: Required but may be Empty. The element is supported and SHALL be sent when the sender has the data; its absence is never a violation (this engine cannot know whether the sender had the data).
  • C: Conditional. Presence depends on a predicate. This bounded engine ships no predicate language (a documented defer: roadmap §5), so a C element's presence is not evaluated (treated as optional); its length / value-set / cardinality rules still apply when it IS present.
  • CE: Conditional but may be Empty. Same non-evaluation as C.
  • O: Optional. No presence constraint.
  • X: Not supported / not permitted. The element SHALL NOT be present. Present → FINDING_CODES.PROFILE_NOT_PERMITTED.

Example

import type { UsageCode } from "@cosyte/hl7";
const usage: UsageCode = "R";