// @generated by openehr-codegen from BMM (`EL_SCOPED_REF`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0
//! The openEHR `EL_SCOPED_REF` spec class, generated from the vendored BMM
//! meta-model.
use crate::v1_0::bmm::core::feature::bmm_instantiable::BmmInstantiable;
use crate::v1_0::bmm::expression::el_function_agent::ElFunctionAgent;
use crate::v1_0::bmm::expression::el_function_call::ElFunctionCall;
use crate::v1_0::bmm::expression::el_instantiable_ref::ElInstantiableRef;
use crate::v1_0::bmm::expression::el_procedure_agent::ElProcedureAgent;
/// Closed subtype set of `EL_SCOPED_REF`, dispatched on each payload's `_type`.
///
/// A reference that is scoped by a containing entity and requires a context qualifier if it is not the currently scoping entity.
#[doc(alias = "EL_SCOPED_REF")]
#[derive(Debug, Clone, PartialEq)]
pub enum ElScopedRef {
/// The `EL_FUNCTION_AGENT` subtype of `EL_SCOPED_REF`.
ElFunctionAgent(ElFunctionAgent),
/// The `EL_FUNCTION_CALL` subtype of `EL_SCOPED_REF`.
ElFunctionCall(ElFunctionCall),
/// The `EL_INSTANTIABLE_REF` subtype of `EL_SCOPED_REF`.
ElInstantiableRef(ElInstantiableRef<BmmInstantiable>),
/// The `EL_PROCEDURE_AGENT` subtype of `EL_SCOPED_REF`.
ElProcedureAgent(ElProcedureAgent),
}