예제 #1
0
        /// <inheritdoc/>
        public string ToDelimitedString()
        {
            CultureInfo culture = CultureInfo.CurrentCulture;

            return(string.Format(
                       culture,
                       StringHelper.StringFormatSequence(0, 55, Configuration.FieldSeparator),
                       Id,
                       SetIdPv1.HasValue ? SetIdPv1.Value.ToString(culture) : null,
                       PatientClass?.ToDelimitedString(),
                       AssignedPatientLocation?.ToDelimitedString(),
                       AdmissionType?.ToDelimitedString(),
                       PreadmitNumber?.ToDelimitedString(),
                       PriorPatientLocation?.ToDelimitedString(),
                       AttendingDoctor != null ? string.Join(Configuration.FieldRepeatSeparator, AttendingDoctor.Select(x => x.ToDelimitedString())) : null,
                       ReferringDoctor != null ? string.Join(Configuration.FieldRepeatSeparator, ReferringDoctor.Select(x => x.ToDelimitedString())) : null,
                       ConsultingDoctor != null ? string.Join(Configuration.FieldRepeatSeparator, ConsultingDoctor.Select(x => x.ToDelimitedString())) : null,
                       HospitalService?.ToDelimitedString(),
                       TemporaryLocation?.ToDelimitedString(),
                       PreadmitTestIndicator?.ToDelimitedString(),
                       ReadmissionIndicator?.ToDelimitedString(),
                       AdmitSource?.ToDelimitedString(),
                       AmbulatoryStatus != null ? string.Join(Configuration.FieldRepeatSeparator, AmbulatoryStatus.Select(x => x.ToDelimitedString())) : null,
                       VipIndicator?.ToDelimitedString(),
                       AdmittingDoctor != null ? string.Join(Configuration.FieldRepeatSeparator, AdmittingDoctor.Select(x => x.ToDelimitedString())) : null,
                       PatientType?.ToDelimitedString(),
                       VisitNumber?.ToDelimitedString(),
                       FinancialClass != null ? string.Join(Configuration.FieldRepeatSeparator, FinancialClass.Select(x => x.ToDelimitedString())) : null,
                       ChargePriceIndicator?.ToDelimitedString(),
                       CourtesyCode?.ToDelimitedString(),
                       CreditRating?.ToDelimitedString(),
                       ContractCode != null ? string.Join(Configuration.FieldRepeatSeparator, ContractCode.Select(x => x.ToDelimitedString())) : null,
                       ContractEffectiveDate != null ? string.Join(Configuration.FieldRepeatSeparator, ContractEffectiveDate.Select(x => x.ToString(Consts.DateFormatPrecisionDay, culture))) : null,
                       ContractAmount != null ? string.Join(Configuration.FieldRepeatSeparator, ContractAmount.Select(x => x.ToString(Consts.NumericFormat, culture))) : null,
                       ContractPeriod != null ? string.Join(Configuration.FieldRepeatSeparator, ContractPeriod.Select(x => x.ToString(Consts.NumericFormat, culture))) : null,
                       InterestCode?.ToDelimitedString(),
                       TransferToBadDebtCode?.ToDelimitedString(),
                       TransferToBadDebtDate.HasValue ? TransferToBadDebtDate.Value.ToString(Consts.DateFormatPrecisionDay, culture) : null,
                       BadDebtAgencyCode?.ToDelimitedString(),
                       BadDebtTransferAmount.HasValue ? BadDebtTransferAmount.Value.ToString(Consts.NumericFormat, culture) : null,
                       BadDebtRecoveryAmount.HasValue ? BadDebtRecoveryAmount.Value.ToString(Consts.NumericFormat, culture) : null,
                       DeleteAccountIndicator?.ToDelimitedString(),
                       DeleteAccountDate.HasValue ? DeleteAccountDate.Value.ToString(Consts.DateFormatPrecisionDay, culture) : null,
                       DischargeDisposition?.ToDelimitedString(),
                       DischargedToLocation?.ToDelimitedString(),
                       DietType?.ToDelimitedString(),
                       ServicingFacility?.ToDelimitedString(),
                       BedStatus?.ToDelimitedString(),
                       AccountStatus?.ToDelimitedString(),
                       PendingLocation?.ToDelimitedString(),
                       PriorTemporaryLocation?.ToDelimitedString(),
                       AdmitDateTime.HasValue ? AdmitDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null,
                       DischargeDateTime.HasValue ? DischargeDateTime.Value.ToString(Consts.DateTimeFormatPrecisionSecond, culture) : null,
                       CurrentPatientBalance.HasValue ? CurrentPatientBalance.Value.ToString(Consts.NumericFormat, culture) : null,
                       TotalCharges.HasValue ? TotalCharges.Value.ToString(Consts.NumericFormat, culture) : null,
                       TotalAdjustments.HasValue ? TotalAdjustments.Value.ToString(Consts.NumericFormat, culture) : null,
                       TotalPayments.HasValue ? TotalPayments.Value.ToString(Consts.NumericFormat, culture) : null,
                       AlternateVisitId != null ? string.Join(Configuration.FieldRepeatSeparator, AlternateVisitId.Select(x => x.ToDelimitedString())) : null,
                       VisitIndicator?.ToDelimitedString(),
                       OtherHealthcareProvider?.ToDelimitedString(),
                       ServiceEpisodeDescription,
                       ServiceEpisodeIdentifier?.ToDelimitedString()
                       ).TrimEnd(Configuration.FieldSeparator.ToCharArray()));
        }