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
52
53
54
55
56
57
58
59
60
61
62
63
64
// @generated by openehr-codegen from BMM (`RESOURCE_DESCRIPTION`) — DO NOT EDIT.
//! The openEHR `RESOURCE_DESCRIPTION` spec class, generated from the vendored BMM
//! meta-model.
use crate::resource::resource_description_item::ResourceDescriptionItem;
/// Defines the descriptive meta-data of a resource.
#[doc(alias = "RESOURCE_DESCRIPTION")]
#[derive(Debug, Clone, PartialEq)]
pub struct ResourceDescription {
/// Long-form descriptive title of the resource, typically needed in templates and occasionally in specialised archetypes where the root archetype/template name is not descriptive enough to disambiguate from similar archetypes/templates.
pub title: Option<String>,
/// Original author of this resource, with all relevant details, including organisation.
pub original_author: std::collections::BTreeMap<String, String>,
/// Namespace of original author's organisation, in reverse internet form, if applicable.
pub original_namespace: Option<String>,
/// Plain text name of organisation that originally published this artefact, if any.
pub original_publisher: Option<String>,
/// Other contributors to the resource, each listed in "name \<email\>" form.
pub other_contributors: Option<Vec<String>>,
// NOTE: `parent_resource` (BMM-mandatory back-reference) omitted — BASE resource resource_description (parent_resource: Reference to owning resource). 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.
/// Lifecycle state of the resource, typically using macro-states such as: unmanaged, in_development, release_candidate, published, rejected, deprecated.
pub lifecycle_state: String,
/// Namespace in reverse internet id form, of current custodian organisation.
pub custodian_namespace: Option<String>,
/// Plain text name of current custodian organisation.
pub custodian_organisation: Option<String>,
/// Optional copyright statement for the resource as a knowledge resource.
pub copyright: Option<String>,
/// Licence of current artefact, in format "short licence name \<URL of licence\>", e.g. "Apache 2.0 License \<<http://www.apache.org/licenses/LICENSE-2.0.html>\>"
pub licence: Option<String>,
/// List of acknowledgements of other IP directly referenced in this archetype, typically terminology codes, ontology ids etc. Recommended keys are the widely known name or namespace for the IP source, as shown in the following example:
///
/// ----
/// ip_acknowledgements = \<
/// ```text
/// ["loinc"] = <"This content from LOINC® is copyright © 1995 Regenstrief Institute, Inc. and the LOINC Committee, and available at no cost under the license at http://loinc.org/terms-of-use">
/// ["snomedct"] = <"Content from SNOMED CT® is copyright © 2007 IHTSDO <ihtsdo.org>">
/// ```
/// \>
/// ----
pub ip_acknowledgements: Option<std::collections::BTreeMap<String, String>>,
/// List of references of material on which this artefact is based, as a keyed list of strings. The keys should be in a standard citation format.
pub references: Option<std::collections::BTreeMap<String, String>>,
/// URI of package to which this resource belongs.
pub resource_package_uri: Option<String>,
/// Details related to conversion process that generated this model from an original, if relevant, as a list of name/value pairs. Typical example with recommended tags:
///
/// ----
/// conversion_details = \<
/// ```text
/// ["source_model"] = <"CEM model xyz <http://location.in.clinicalelementmodels.com>">
/// ["tool"] = <"cem2adl v6.3.0">
/// ["time"] = <"2014-11-03T09:05:00">
/// ```
/// \>
/// ----
pub conversion_details: Option<std::collections::BTreeMap<String, String>>,
/// Details of all parts of resource description that are natural language-dependent, keyed by language code.
pub details: Option<std::collections::BTreeMap<String, ResourceDescriptionItem>>,
/// Additional non-language-sensitive resource meta-data, as a list of name/value pairs.
pub other_details: Option<std::collections::BTreeMap<String, String>>,
}