use crate::v1_2::common::generic::attestation::Attestation;
use crate::v1_2::common::generic::audit_details::AuditDetails;
use crate::v1_2::data_types::text::dv_coded_text::DvCodedText;
use openehr_base::v1_3::base_types::identification::object_ref::ObjectRef;
use openehr_base::v1_3::base_types::identification::object_version_id::ObjectVersionId;
#[doc(alias = "ORIGINAL_VERSION")]
#[derive(Debug, Clone, PartialEq)]
pub struct OriginalVersion<T> {
pub contribution: ObjectRef,
pub signature: Option<String>,
pub commit_audit: AuditDetails,
pub uid: ObjectVersionId,
pub preceding_version_uid: Option<ObjectVersionId>,
pub other_input_version_uids: Option<openehr_base::containers::NonEmptyVec<ObjectVersionId>>,
pub lifecycle_state: DvCodedText,
pub attestations: Option<openehr_base::containers::NonEmptyVec<Attestation>>,
pub data: Option<T>,
}