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

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

use crate::v1_2::common::resource::resource_description_item::ResourceDescriptionItem;

/// Defines the descriptive meta-data of a resource.
#[doc(alias = "RESOURCE_DESCRIPTION")]
#[derive(Debug, Clone, PartialEq)]
pub struct ResourceDescription {
    /// Original author of this resource, with all relevant details, including organisation.
    pub original_author: std::collections::BTreeMap<String, String>,
    /// Other contributors to the resource, probably listed in  `'name <email>'`  form.
    pub other_contributors: Option<Vec<String>>,
    /// Lifecycle state of the resource, typically including states such as: `initial | submitted | experimental | awaiting_approval | approved | superseded | obsolete`.
    pub lifecycle_state: String,
    /// URI of package to which this resource belongs.
    pub resource_package_uri: Option<String>,
    /// Additional non language-sensitive resource meta-data, as a list of name/value pairs.
    pub other_details: Option<std::collections::BTreeMap<String, String>>,
    // NOTE: `parent_resource` (BMM-mandatory back-reference) omitted — BASE resource + RM common.resource resource_description (parent_resource: Reference to owning resource; the class name occurs in both components with the same back-reference). A back-reference is not forward-owned data and never appears on the canonical wire; emitting it as an owning field would make this type non-constructible.
    /// Details of all parts of resource description that are natural language-dependent, keyed by language code.
    pub details: std::collections::BTreeMap<String, ResourceDescriptionItem>,
}