use crate::common::generic::attestation::Attestation;
use crate::common::generic::audit_details::AuditDetails;
use crate::data_types::text::dv_coded_text::DvCodedText;
use openehr_base::prelude::ObjectRef;
use openehr_base::prelude::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>,
}