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 (`PARTICIPATION`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

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

use crate::v1_1::common::generic::party_proxy::PartyProxy;
use crate::v1_1::data_types::quantity::date_time::dv_date_time::DvDateTime;
use crate::v1_1::data_types::quantity::dv_interval::DvInterval;
use crate::v1_1::data_types::text::dv_coded_text::DvCodedText;
use crate::v1_1::data_types::text::dv_text::DvText;

/// Model of a participation of a Party (any Actor or Role) in an activity.
///
/// Used to represent any participation of a Party in some activity, which is not  explicitly in the model, e.g. assisting nurse. Can be used to record past or  future participations.
///
/// Should not be used in place of more permanent relationships between demographic entities.
#[doc(alias = "PARTICIPATION")]
#[derive(Debug, Clone, PartialEq)]
pub struct Participation {
    /// The function of the Party in this participation (note that a given party might participate in more than one way in a particular activity).
    ///
    /// This attribute should be coded, but cannot be limited to the HL7v3:ParticipationFunction vocabulary, since it is too limited and hospital-oriented.
    pub function: DvText,
    /// Optional field for recording the 'mode' of the performer / activity interaction, e.g. present, by telephone, by email etc.
    pub mode: Option<DvCodedText>,
    /// The id and possibly demographic system link of the party participating in the activity.
    pub performer: PartyProxy,
    /// The time interval during which the participation took place, if it is used in an observational context (i.e. recording facts about the past); or the intended time interval of the participation when used in future contexts, such as EHR Instructions.
    pub time: Option<DvInterval<DvDateTime>>,
}