/// <inheritdoc/> public string ToDelimitedString() { CultureInfo culture = CultureInfo.CurrentCulture; return(string.Format( culture, StringHelper.StringFormatSequence(0, 38, Configuration.FieldSeparator), Id, CycleStartTime.HasValue ? CycleStartTime.Value.ToString(Consts.TimeFormatPrecisionSecond, culture) : null, CycleCount.HasValue ? CycleCount.Value.ToString(Consts.NumericFormat, culture) : null, TempMax?.ToDelimitedString(), TempMin?.ToDelimitedString(), LoadNumber.HasValue ? LoadNumber.Value.ToString(Consts.NumericFormat, culture) : null, ConditionTime?.ToDelimitedString(), SterilizeTime?.ToDelimitedString(), ExhaustTime?.ToDelimitedString(), TotalCycleTime?.ToDelimitedString(), DeviceStatus?.ToDelimitedString(), CycleStartDateTime.HasValue ? CycleStartDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null, DryTime?.ToDelimitedString(), LeakRate?.ToDelimitedString(), ControlTemperature?.ToDelimitedString(), SterilizerTemperature?.ToDelimitedString(), CycleCompleteTime.HasValue ? CycleCompleteTime.Value.ToString(Consts.TimeFormatPrecisionSecond, culture) : null, UnderTemperature?.ToDelimitedString(), OverTemperature?.ToDelimitedString(), AbortCycle?.ToDelimitedString(), Alarm?.ToDelimitedString(), LongInChargePhase?.ToDelimitedString(), LongInExhaustPhase?.ToDelimitedString(), LongInFastExhaustPhase?.ToDelimitedString(), Reset?.ToDelimitedString(), OperatorUnload?.ToDelimitedString(), DoorOpen?.ToDelimitedString(), ReadingFailure?.ToDelimitedString(), CycleType?.ToDelimitedString(), ThermalRinseTime?.ToDelimitedString(), WashTime?.ToDelimitedString(), InjectionRate?.ToDelimitedString(), ProcedureCode?.ToDelimitedString(), PatientIdentifierList != null ? string.Join(Configuration.FieldRepeatSeparator, PatientIdentifierList.Select(x => x.ToDelimitedString())) : null, AttendingDoctor?.ToDelimitedString(), DilutionFactor?.ToDelimitedString(), FillTime?.ToDelimitedString(), InletTemperature?.ToDelimitedString() ).TrimEnd(Configuration.FieldSeparator.ToCharArray())); }