// @generated by openehr-codegen from BMM (`ISM_TRANSITION`) — DO NOT EDIT.
//! The openEHR `ISM_TRANSITION` spec class, generated from the vendored BMM
//! meta-model.
use crate::data_types::text::dv_coded_text::DvCodedText;
use crate::data_types::text::dv_text::DvText;
/// Model of a transition in the Instruction State Machine, caused by a careflow step. The attributes document the careflow step as well as the ISM transition.
#[doc(alias = "ISM_TRANSITION")]
#[derive(Debug, Clone, PartialEq)]
pub struct IsmTransition {
/// The ISM current state. Coded by openEHR terminology group Instruction states.
pub current_state: DvCodedText,
/// The ISM transition which occurred to arrive in the current_state. Coded by openEHR terminology group Instruction transitions.
pub transition: Option<DvCodedText>,
/// The step in the careflow process which occurred as part of generating this action, e.g. dispense , start_administration.
///
/// This attribute represents the clinical label for the activity, as opposed to current_state which represents the state machine (ISM) computable form. Defined in archetype.
pub careflow_step: Option<DvCodedText>,
/// Optional possibility of adding one or more reasons for this careflow step having been taken. Multiple reasons may occur in medication management for example.
pub reason: Option<Vec<DvText>>,
}