Files
adas-core/adas-core.Domain/Models/PatientICCA.cs
2026-06-26 10:29:23 +02:00

29 lines
1.2 KiB
C#

namespace adas_core.Domain.Models;
/// <summary>
/// Represents a patient data model associated with the ICCA (IntelliSpace Critical Care and Anesthesia) system.
/// </summary>
public class PatientIcca
{
public PatientLocation Location { get; set; } = new(string.Empty, string.Empty);
public string? PatientNumber { get; set; }
public string? PatientId { get; set; }
public DateTime AdmitTime { get; set; }
/// <summary>
/// Creates a deep copy of the current <see cref="PatientIcca"/> instance, duplicating the <see cref="Location"/>, <see cref="PatientNumber"/>, and <see cref="PatientId"/> so that modifications to the copy do not affect the original object.
/// </summary>
/// <returns>A new <see cref="PatientIcca"/> instance with independently copied reference-typed members.</returns>
public PatientIcca DeepCopy()
{
var other = (PatientIcca)MemberwiseClone();
other.Location = new PatientLocation(Location.UnitName, Location.Bed);
other.PatientNumber = new string(PatientNumber);
other.PatientId = new string(PatientId);
other.AdmitTime = AdmitTime;
return other;
}
}