// @generated by openehr-codegen from BMM (`P_BMM_FUNCTION_PARAMETER`) — DO NOT EDIT.
// SPDX-FileCopyrightText: Cadasto B.V.
// SPDX-FileCopyrightText: openEHR Foundation
// SPDX-License-Identifier: Apache-2.0
//! The openEHR `P_BMM_FUNCTION_PARAMETER` spec class, generated from the vendored BMM
//! meta-model.
use crate::v1_1::bmm_persistence::p_bmm_container_function_parameter::PBmmContainerFunctionParameter;
use crate::v1_1::bmm_persistence::p_bmm_generic_function_parameter::PBmmGenericFunctionParameter;
use crate::v1_1::bmm_persistence::p_bmm_single_function_parameter::PBmmSingleFunctionParameter;
use crate::v1_1::bmm_persistence::p_bmm_single_function_parameter_open::PBmmSingleFunctionParameterOpen;
/// Closed subtype set of `P_BMM_FUNCTION_PARAMETER`, dispatched on each payload's `_type`.
///
/// Persistent form of a BMM function (routine) parameter; abstract parent of the concrete persisted parameter kinds.
#[doc(alias = "P_BMM_FUNCTION_PARAMETER")]
#[derive(Debug, Clone, PartialEq)]
pub enum PBmmFunctionParameter {
/// The `P_BMM_CONTAINER_FUNCTION_PARAMETER` subtype of `P_BMM_FUNCTION_PARAMETER`.
PBmmContainerFunctionParameter(PBmmContainerFunctionParameter),
/// The `P_BMM_GENERIC_FUNCTION_PARAMETER` subtype of `P_BMM_FUNCTION_PARAMETER`.
PBmmGenericFunctionParameter(PBmmGenericFunctionParameter),
/// The `P_BMM_SINGLE_FUNCTION_PARAMETER` subtype of `P_BMM_FUNCTION_PARAMETER`.
PBmmSingleFunctionParameter(PBmmSingleFunctionParameter),
/// The `P_BMM_SINGLE_FUNCTION_PARAMETER_OPEN` subtype of `P_BMM_FUNCTION_PARAMETER`.
PBmmSingleFunctionParameterOpen(PBmmSingleFunctionParameterOpen),
}