// @generated by openehr-codegen from BMM (`P_BMM_SCHEMA_DESCRIPTOR`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0
//! The openEHR `P_BMM_SCHEMA_DESCRIPTOR` spec class, generated from the vendored BMM
//! meta-model.
use crate::v1_1::bmm::core::bmm_model::BmmModel;
use crate::v1_1::bmm_persistence::p_bmm_schema::PBmmSchema;
/// Concrete descendant of `BMM_SCHEMA_DESCRIPTOR` that provides a way to read an ODIN or other similarly encoded P_BMM schema file.
#[doc(alias = "P_BMM_SCHEMA_DESCRIPTOR")]
#[derive(Debug, Clone, PartialEq)]
pub struct PBmmSchemaDescriptor {
// inherited: SCHEMA_DESCRIPTOR
/// Persistent form of model.
pub p_schema: Option<PBmmSchema>,
/// Computable form of model.
pub schema: Option<BmmModel>,
/// Schema id, formed from meta_data model_publisher '_' schema_name '_' model_release, e.g. openehr_rm_1.0.3.
pub schema_id: String,
/// Table of {key, value} pairs of schema meta-data (bmm_version, model_publisher, schema_name, model_release, schema_revision, schema_lifecycle_state, schema_description, schema_path).
pub meta_data: std::collections::BTreeMap<String, String>,
/// Schema_ids of schemas included by this schema.
pub includes: Option<Vec<String>>,
/// Persistent form of model.
pub bmm_schema: Option<PBmmSchema>,
}