openehr-am 0.0.128

openEHR AM Archetype Model, generated from BMM: generations v1_4 (AM 1.4.0, ADL 1.4) and v2_4 (AM 2.4.0, ADL 2; current)
Documentation
// @generated by openehr-codegen from BMM (`P_BMM_SINGLE_PROPERTY_OPEN`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

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

use crate::v2_4::bmm::core::bmm_property::BmmProperty;
use crate::v2_4::bmm_persistence::p_bmm_open_type::PBmmOpenType;
use crate::v2_4::bmm_persistence::p_bmm_type::PBmmType;

/// Persistent form of a `BMM_SINGLE_PROPERTY_OPEN`.
#[doc(alias = "P_BMM_SINGLE_PROPERTY_OPEN")]
#[derive(Debug, Clone, PartialEq)]
pub struct PBmmSinglePropertyOpen {
    // inherited: P_BMM_MODEL_ELEMENT
    /// Optional documentation of this element.
    pub documentation: Option<String>,

    // inherited: P_BMM_PROPERTY
    /// Name of this property within its class. Persisted attribute.
    pub name: String,
    /// True if this property is mandatory in its class. Persisted attribute.
    pub is_mandatory: Option<bool>,
    /// True if this property is computed rather than stored in objects of this class. Persisted Attribute.
    pub is_computed: Option<bool>,
    /// True if this property is info model 'infrastructure' rather than 'data'. Persisted attribute.
    pub is_im_infrastructure: Option<bool>,
    /// True if this property is info model 'runtime' settable property. Persisted attribute.
    pub is_im_runtime: Option<bool>,
    /// Type definition of this property, if not a simple String type reference. Persisted attribute.
    pub type_def: Option<PBmmType>,
    /// `BMM_PROPERTY` created by `_create_bmm_property_definition_`.
    pub bmm_property: Option<BmmProperty>,
    /// Type definition of this property computed from `_type_` for later use in `_bmm_property_`.
    pub type_ref: Option<PBmmOpenType>,
    /// Type definition of this property, if a simple String type reference.
    ///
    /// Really we should use `_type_def_` to be regular in the schema, but that makes the schema more wordy and less clear. So we use this persisted String value, and compute the `_type_def_` on the fly. Persisted attribute.
    pub r#type: Option<String>,
}