public PatientMedicalRecordTO(IndexedHashtable ihs) { initCollections(); if (ihs == null || ihs.Count == 0) { return; } for (int i = 0; i < ihs.Count; i++) { object key = ihs.GetKey(i); if (!(key is string)) { continue; } string sitecode = key as string; if (!(ihs.GetValue(i) is Hashtable)) { continue; } Hashtable domains = ihs.GetValue(i) as Hashtable; Meds.add(sitecode, domains["meds"] as IList <Medication>); Patient = new PatientTO(domains["demographics"] as Patient); Allergies.add(sitecode, domains["reactions"] as IList <Allergy>); Notes.add(sitecode, domains["documents"] as IList <Note>); Problems.add(sitecode, domains["problems"] as IList <Problem>); Appointments.add(sitecode, domains["appointments"] as IList <Appointment>); ChemHemReports.add(sitecode, domains["labs"] as IList <LabReport>); IList <HealthSummary> healthSummaries = domains["healthFactors"] as IList <HealthSummary>; // TODO - implement the remaining hashtable keys //results.Add("healthFactors", healthSummaries); //results.Add("flags", flags); //results.Add("consults", consults); //results.Add("procedures", null); //results.Add("visits", visits); //results.Add("appointments", appointments); //results.Add("problems", problems); //results.Add("vitals", vitals); //results.Add("labs", labs); //results.Add("immunizations", null); } }