1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// @generated by openehr-codegen from BMM (`P_BMM_CONTAINER_PROPERTY`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Vernum Projecten B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0
//! The openEHR `P_BMM_CONTAINER_PROPERTY` spec class, generated from the vendored BMM
//! meta-model.
use crate::v2_4::bmm::core::bmm_container_property::BmmContainerProperty;
use crate::v2_4::bmm_persistence::p_bmm_container_type::PBmmContainerType;
use crate::v2_4::bmm_persistence::p_bmm_indexed_container_property::PBmmIndexedContainerProperty;
use openehr_base::v1_3::foundation_types::interval::interval::Interval;
/// Persistent form of `BMM_CONTAINER_PROPERTY`.
#[doc(alias = "P_BMM_CONTAINER_PROPERTY")]
#[derive(Debug, Clone, PartialEq)]
pub struct PBmmContainerPropertyData {
// 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. Persistent attribute.
pub type_def: Option<PBmmContainerType>,
/// `BMM_PROPERTY` created by `_create_bmm_property_`.
pub bmm_property: Option<BmmContainerProperty>,
/// Cardinality of this property in its class. Persistent attribute.
pub cardinality: Option<Interval<i32>>,
}
/// Polymorphic slot of `P_BMM_CONTAINER_PROPERTY`, dispatched on each payload's `_type`.
///
/// Persistent form of `BMM_CONTAINER_PROPERTY`.
#[doc(alias = "P_BMM_CONTAINER_PROPERTY")]
#[derive(Debug, Clone, PartialEq)]
pub enum PBmmContainerProperty {
/// The `P_BMM_INDEXED_CONTAINER_PROPERTY` subtype of `P_BMM_CONTAINER_PROPERTY`.
PBmmIndexedContainerProperty(PBmmIndexedContainerProperty),
/// An instance of `P_BMM_CONTAINER_PROPERTY` itself (its own, least-rich form).
PBmmContainerProperty(PBmmContainerPropertyData),
}