openehr-rm 0.0.128

openEHR RM Reference Model, generated from BMM: generations v1_1 (RM 1.1.0) and v1_2 (RM 1.2.0, current)
Documentation
// @generated by openehr-codegen from BMM (`EXTRACT_UPDATE_SPEC`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

//! The openEHR `EXTRACT_UPDATE_SPEC` spec class, generated from the vendored BMM
//! meta-model.

use crate::v1_2::data_types::quantity::date_time::dv_duration::DvDuration;
use crate::v1_2::data_types::text::code_phrase::CodePhrase;
use crate::v1_2::data_types::text::dv_coded_text::DvCodedText;

/// Specification of the how the request should be processed by server.
///
/// The request can be persisted in the server, meaning that a) it can be re-activated by the requesting system simply by indicating Request id, and b) that a changes-only pattern of Extract updates can be set up. To achieve this, the server has to remember what was sent in the previous response.
///
/// The update mode may be event-driven and periodic update or a mixture of both. The candidate items to be sent each time are the result of re-evaluating the content and versioning parts of the specification; what is actually sent is determined by the `_send_changes_only_` flag.
#[doc(alias = "EXTRACT_UPDATE_SPEC")]
#[derive(Debug, Clone, PartialEq)]
pub struct ExtractUpdateSpec {
    /// If True, this Request is persisted in the server until further notice.
    pub persist_in_server: bool,
    /// Period for resending update Extracts in response to original Request.
    pub repeat_period: Option<DvDuration>,
    /// Set of Event names that will cause sending of update Extracts. Event types include:
    ///
    /// * `|any_change|` - any change in content items matched by content specification, e.g. new versions of persistent compositions. If the content list allows matching of any, or a wide range of archetypes, this event type will match any additions to the record.
    /// * `|correction|` - match error corrections only, including deletions.
    /// * `|update|` - match updates (i.e. new versions) of included content items.
    ///
    /// Coded by openEHR Terminology group 'extract update trigger event type'.
    pub trigger_events: Option<openehr_base::containers::NonEmptyVec<DvCodedText>>,
    /// Indicate mode of update. Can be: send only items that are changed (including logical deletions) or new since last send. For `_persist_in_server_` Requests only.
    pub update_method: CodePhrase,
}