openehr-lang 0.0.128

openEHR LANG BMM/P_BMM object model, generated from BMM: generations v1_0 (LANG 1.0.0) and v1_1 (LANG 1.1.0, current; the stable BMM v2.x unit beside the paused BMM3 unit), plus hand-written ODIN/BEL/EL readers
Documentation
// @generated by openehr-codegen from BMM (`BMM_MODEL_ACCESS`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0

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

use crate::v1_1::bmm3::core::model::bmm_model::BmmModel;
use crate::v1_1::bmm3::model_access::bmm_schema_descriptor::BmmSchemaDescriptor;

/// Access to BMM models that have been loaded and validated from one or more schema sets.
#[doc(alias = "BMM_MODEL_ACCESS")]
#[derive(Debug, Clone, PartialEq)]
pub struct BmmModelAccess {
    /// List of directories where all the schemas loaded here are found.
    pub schema_directories: Option<Vec<String>>,
    /// All schemas found and loaded from `_schema_directory_`. Keyed by `_schema_id_`.
    pub all_schemas: Option<std::collections::BTreeMap<String, BmmSchemaDescriptor>>,
    /// Top-level (root) models in use, keyed by `_model_id_`.
    pub bmm_models: Option<std::collections::BTreeMap<String, BmmModel>>,
    /// Validated models, keyed by `_model_id()_` and any shorter forms of id, with some or no versioning information.
    ///
    /// For example, the keys `"openEHR_EHR_1.0.4"`, `"openEHR_EHR_1.0"`, `"openEHR_EHR_1"`, and `"openEHR_EHR"` will all match the `"openEHR_EHR_1.0.4"` model, assuming it is the most recent version available.
    pub matching_bmm_models: Option<std::collections::BTreeMap<String, BmmModel>>,
}