pub struct ViewDefinitionSelect {
pub id: Option<String>,
pub extension: Option<Vec<Extension>>,
pub modifierExtension: Option<Vec<Extension>>,
pub column: Option<Vec<ViewDefinitionSelectColumn>>,
pub select: Option<Vec<ViewDefinitionSelect>>,
pub forEach: Option<Box<FHIRString>>,
pub forEachOrNull: Option<Box<FHIRString>>,
pub repeat: Option<Vec<FHIRString>>,
pub unionAll: Option<Vec<ViewDefinitionSelect>>,
}Expand description
The select structure defines the columns to be used in the resulting view. These are expressed
in the column structure below, or in nested selects for nested resources.
Fields§
§id: Option<String>Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
extension: Option<Vec<Extension>>May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
modifierExtension: Option<Vec<Extension>>May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element’s descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
column: Option<Vec<ViewDefinitionSelectColumn>>A column to be produced in the resulting table. The column is relative to the select structure that contains it.
select: Option<Vec<ViewDefinitionSelect>>Nested select relative to a parent expression. If the parent select has a forEach or forEachOrNull, this child select will apply for each item in that expression.
forEach: Option<Box<FHIRString>>A FHIRPath expression to retrieve the parent element(s) used in the containing select, relative to the root resource or parent select,
if applicable. forEach will produce a row for each element selected in the expression. For example, using forEach on address in Patient will
generate a new row for each address, with columns defined in the corresponding column structure.
forEachOrNull: Option<Box<FHIRString>>Same as forEach, but produces a single row with null values in the nested expression if the collection is empty. For example,
with a Patient resource, a forEachOrNull on address will produce a row for each patient even if there are no addresses; it will
simply set the address columns to null.
repeat: Option<Vec<FHIRString>>A list of FHIRPath expressions that define paths to recursively traverse. The view runner will recursively follow each path to any depth, collecting results from all levels. All results are combined using a union operation.
unionAll: Option<Vec<ViewDefinitionSelect>>A unionAll combines the results of multiple selection structures. Each structure under the unionAll must produce the same column names
and types. The results from each nested selection will then have their own row.
Implementations§
Trait Implementations§
Source§impl Clone for ViewDefinitionSelect
impl Clone for ViewDefinitionSelect
Source§fn clone(&self) -> ViewDefinitionSelect
fn clone(&self) -> ViewDefinitionSelect
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ViewDefinitionSelect
impl Debug for ViewDefinitionSelect
Source§impl Default for ViewDefinitionSelect
impl Default for ViewDefinitionSelect
Source§fn default() -> ViewDefinitionSelect
fn default() -> ViewDefinitionSelect
Source§impl<'de> Deserialize<'de> for ViewDefinitionSelect
impl<'de> Deserialize<'de> for ViewDefinitionSelect
Source§fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Source§impl MetaValue for ViewDefinitionSelect
impl MetaValue for ViewDefinitionSelect
fn fields(&self) -> Vec<&'static str>
fn get_field<'a>(&'a self, field: &str) -> Option<&'a dyn MetaValue>
fn get_field_mut<'a>(&'a mut self, field: &str) -> Option<&'a mut dyn MetaValue>
fn get_index_mut<'a>( &'a mut self, _index: usize, ) -> Option<&'a mut dyn MetaValue>
fn get_index<'a>(&'a self, _index: usize) -> Option<&'a dyn MetaValue>
fn fhir_type(&self) -> &'static str
fn as_any(&self) -> &dyn Any
fn flatten(&self) -> Vec<&dyn MetaValue>
fn is_many(&self) -> bool
Auto Trait Implementations§
impl Freeze for ViewDefinitionSelect
impl RefUnwindSafe for ViewDefinitionSelect
impl Send for ViewDefinitionSelect
impl Sync for ViewDefinitionSelect
impl Unpin for ViewDefinitionSelect
impl UnsafeUnpin for ViewDefinitionSelect
impl UnwindSafe for ViewDefinitionSelect
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more