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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
// @generated by openehr-codegen from BMM (`ACTION`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0
//! The openEHR `ACTION` spec class, generated from the vendored BMM
//! meta-model.
use crate::v1_1::common::archetyped::archetyped::Archetyped;
use crate::v1_1::common::archetyped::feeder_audit::FeederAudit;
use crate::v1_1::common::archetyped::link::Link;
use crate::v1_1::common::generic::participation::Participation;
use crate::v1_1::common::generic::party_proxy::PartyProxy;
use crate::v1_1::composition::content::entry::instruction_details::InstructionDetails;
use crate::v1_1::composition::content::entry::ism_transition::IsmTransition;
use crate::v1_1::data_structures::item_structure::item_structure::ItemStructure;
use crate::v1_1::data_types::quantity::date_time::dv_date_time::DvDateTime;
use crate::v1_1::data_types::text::code_phrase::CodePhrase;
use crate::v1_1::data_types::text::dv_text::DvText;
use openehr_base::v1_2::base_types::identification::object_ref::ObjectRef;
use openehr_base::v1_2::base_types::identification::uid_based_id::UidBasedId;
/// Used to record a clinical action that has been performed, which may have been ad hoc, or due to the execution of an Activity in an Instruction workflow.
///
/// Every Action corresponds to a careflow step of some kind or another.
#[doc(alias = "ACTION")]
#[derive(Debug, Clone, PartialEq)]
pub struct Action {
// inherited: LOCATABLE
/// Runtime name of this fragment, used to build runtime paths.
///
/// This is the term provided via a clinical application or batch process to name this EHR construct: its retention in the EHR faithfully preserves the original label by which this entry was known to end users.
pub name: DvText,
/// Design-time archetype identifier of this node taken from its generating archetype; used to build archetype paths.
///
/// Always in the form of an at-code, e.g. `at0005`. This value enables a 'standardised' name for this node to be generated, by referring to the generating archetype local terminology.
///
/// At an archetype root point, the value of this attribute is always the stringified form of the `_archetype_id_` found in the `_archetype_details_` object.
pub archetype_node_id: String,
/// Optional globally unique object identifier for root points of archetyped structures.
pub uid: Option<UidBasedId>,
/// Links to other archetyped structures (data whose root object inherits from `ARCHETYPED`, such as `ENTRY`, `SECTION` and so on). Links may be to structures in other compositions.
pub links: Option<openehr_base::containers::NonEmptyVec<Link>>,
/// Details of archetyping used on this node.
pub archetype_details: Option<Archetyped>,
/// Audit trail from non-openEHR system of original commit of information forming the content of this node, or from a conversion gateway which has synthesised this node.
pub feeder_audit: Option<FeederAudit>,
// inherited: ENTRY
/// Mandatory indicator of the localised language in which this Entry is written. Coded from openEHR Code Set languages .
pub language: CodePhrase,
/// Name of character set in which text values in this Entry are encoded. Coded from openEHR Code Set character sets.
pub encoding: CodePhrase,
/// Other participations at `ENTRY` level.
pub other_participations: Option<openehr_base::containers::NonEmptyVec<Participation>>,
/// Identifier of externally held workflow engine data for this workflow execution, for this subject of care.
pub workflow_id: Option<ObjectRef>,
/// Id of human subject of this `ENTRY`, e.g.:
///
/// * organ donor
/// * foetus
/// * a family member
/// * another clinically relevant person.
pub subject: PartyProxy,
/// Optional identification of provider of the information in this `ENTRY`, which might be:
///
/// * the patient
/// * a patient agent, e.g. parent, guardian
/// * the clinician
/// * a device or software
///
/// Generally only used when the recorder needs to make it explicit. Otherwise, Composition composer and other participants are assumed.
pub provider: Option<PartyProxy>,
// inherited: CARE_ENTRY
/// Description of the method (i.e. how) the information in this entry was arrived at.
///
/// For `OBSERVATIONs`, this is a description of the method or instrument used. For `EVALUATIONs`, how the evaluation was arrived at. For `INSTRUCTIONs`, how to execute the Instruction. This may take the form of references to guidelines, including manually followed and executable; knowledge references such as a paper in Medline; clinical reasons within a larger care process.
pub protocol: Option<ItemStructure>,
/// Optional external identifier of guideline creating this Entry if relevant.
pub guideline_id: Option<ObjectRef>,
/// Point in time at which this action completed.
pub time: DvDateTime,
/// Details of transition in the Instruction state machine caused by this Action.
pub ism_transition: IsmTransition,
/// Details of the Instruction that caused this Action to be performed, if there was one.
pub instruction_details: Option<InstructionDetails>,
/// Description of the action that has been performed, in the form of an archetyped structure.
pub description: ItemStructure,
}