pub struct Field {
pub components: Vec<Component>,
pub repetitions: Vec<Field>,
pub is_componentized: bool,
pub has_repetitions: bool,
pub is_delimiters_field: bool,
/* private fields */
}Expand description
A field of an HL7 segment. A field is either componentized (a list of
Components separated by the component delimiter) or has repetitions
(a list of sub-fields separated by the repetition delimiter).
Fields§
§components: Vec<Component>The parsed components (empty for a field that has repetitions).
repetitions: Vec<Field>The repetitions of this field (empty unless has_repetitions).
is_componentized: booltrue when the field is split into more than one component.
has_repetitions: booltrue when the field contains repetitions.
is_delimiters_field: booltrue for the MSH delimiter-defining fields, whose value is never decoded.
Implementations§
Source§impl Field
impl Field
Sourcepub fn parse(raw: &str, enc: &HL7Encoding) -> Self
pub fn parse(raw: &str, enc: &HL7Encoding) -> Self
Parses a field from its raw value, handling repetitions and components.
Sourcepub fn raw(&self, enc: &HL7Encoding) -> Option<&str>
pub fn raw(&self, enc: &HL7Encoding) -> Option<&str>
The raw value, or None when “present but null”.
Sourcepub fn value(&self, enc: &HL7Encoding) -> Option<String>
pub fn value(&self, enc: &HL7Encoding) -> Option<String>
The decoded value, or None when “present but null”.
Sourcepub fn set_value(&mut self, value: &str, enc: &HL7Encoding)
pub fn set_value(&mut self, value: &str, enc: &HL7Encoding)
Re-parses the field from a new raw value (preserving the delimiters flag).
Sourcepub fn component(&self, position: usize) -> Result<&Component, Hl7Error>
pub fn component(&self, position: usize) -> Result<&Component, Hl7Error>
Returns the component at the given 1-based position.
Sourcepub fn repetition(&self, repetition_number: usize) -> Option<&Field>
pub fn repetition(&self, repetition_number: usize) -> Option<&Field>
Returns a specific 1-based repetition, if this field has repetitions.
Sourcepub fn add_component(&mut self, component: Component)
pub fn add_component(&mut self, component: Component)
Appends a component to the end of the field.
Sourcepub fn add_component_at(
&mut self,
component: Component,
position: usize,
enc: &HL7Encoding,
)
pub fn add_component_at( &mut self, component: Component, position: usize, enc: &HL7Encoding, )
Inserts a component at a 1-based position, padding with blank components when the position is beyond the current length.
Sourcepub fn add_repeating_field(&mut self, field: Field) -> Result<(), Hl7Error>
pub fn add_repeating_field(&mut self, field: Field) -> Result<(), Hl7Error>
Adds a field as a repetition. Requires has_repetitions to be set.
Sourcepub fn remove_empty_trailing_components(&mut self, enc: &HL7Encoding)
pub fn remove_empty_trailing_components(&mut self, enc: &HL7Encoding)
Removes any trailing components whose decoded value is the empty string.
Sourcepub fn serialize(&self, out: &mut String, enc: &HL7Encoding)
pub fn serialize(&self, out: &mut String, enc: &HL7Encoding)
Serializes the field (including any repetitions) into out.