public TaggedVitalSignArray(string tag, IList <VitalSignSet> mdos) { this.tag = tag; if (mdos == null || mdos.Count == null) { this.count = 0; return; } IList <VitalSignTO> allSigns = new List <VitalSignTO>(); foreach (VitalSignSet set in mdos) { if (set == null || set.VitalSigns == null || set.VitalSigns.Length == 0) { continue; } foreach (VitalSign sign in set.VitalSigns) { VitalSignTO newVital = new VitalSignTO(sign); if (sign.Facility != null) { newVital.facility = new TaggedText(sign.Facility.Id, sign.Facility.Name); } if (sign.Location != null) { newVital.location = new HospitalLocationTO(set.Location); } newVital.timestamp = set.Timestamp; allSigns.Add(newVital); } } this.vitals = new VitalSignTO[allSigns.Count]; allSigns.CopyTo(this.vitals, 0); this.count = allSigns.Count; }