public ParsedData fakeparse(string f) { if (f.Contains("BS8715")) { ParsedData p = new ParsedData(); return(p); } return(default(ParsedData)); }
public IEnumerable <ParsedData> generateData(int count) { List <ParsedData> data = new List <ParsedData>(); for (int x = 0; x < count; x++) { ParsedData pd = new ParsedData(); pd.demographic = generateDemographics(); pd.hospital = generateHospital(); pd.disease = generateDisease(); pd.device = generateDevice(); pd.care = generateCare(); pd.lab = generateLab(); pd.exam = new PhysicalExam(); pd.meds = new Medications(); pd.proc = new Procedures(); if (pd.disease.DateOfPrimaryONCDiagnosis < pd.hospital.AdmissionDate) { pd.disease.DateOfPrimaryONCDiagnosis = pd.hospital.AdmissionDate; } if (pd.disease.PrimaryONCDiagnosis == "Acute Myeloid Leukemia") { pd.hospital.PICUTransfer = pd.hospital.PICUTransfer || (r.NextDouble() < 0.13); if (pd.hospital.PICUTransfer) { pd.hospital.DateOfPICUTransfer = pd.hospital.AdmissionDate.Value.AddDays(r.Next() % 5); } } //transfer probabilities if (pd.hospital.PICUTransfer) { pd.exam.Fever = r.NextDouble() < 0.9; pd.exam.OxygenRequired = r.NextDouble() < 0.9; pd.exam.AlteredMentalState = r.NextDouble() < 0.1; pd.meds.TransfusionInLast24H = r.NextDouble() < 0.5; pd.lab.BloodCultureOrdered = true; pd.lab.PositiveBloodCulture = r.NextDouble() < 0.85; if (pd.lab.PositiveBloodCulture) { pd.lab.DateOfPositiveBloodCulture = pd.hospital.DateOfPICUTransfer; pd.lab.ANCPositiveBloodCulture = 210 - Math.Round(r.NextDouble() * 80); } pd.disease.Relapse = r.NextDouble() < 0.4; pd.proc.SurgeryInLast24H = r.NextDouble() < 0.25; } else //normal population { pd.exam.Fever = r.NextDouble() < 0.5; pd.exam.OxygenRequired = r.NextDouble() < 0.1; pd.exam.AlteredMentalState = r.NextDouble() < 0.05; pd.meds.TransfusionInLast24H = r.NextDouble() < 0.8; pd.lab.BloodCultureOrdered = r.NextDouble() < 0.8; if (pd.lab.BloodCultureOrdered) { pd.lab.PositiveBloodCulture = r.NextDouble() < 0.07; if (pd.lab.PositiveBloodCulture) { pd.lab.DateOfPositiveBloodCulture = pd.hospital.DateOfPICUTransfer.HasValue? pd.hospital.DateOfPICUTransfer.Value: pd.hospital.AdmissionDate.Value.AddDays(r.Next() % 7); pd.lab.ANCPositiveBloodCulture = 230 - Math.Round(r.NextDouble() * 50); } } pd.disease.Relapse = r.NextDouble() < 0.2; pd.proc.SurgeryInLast24H = r.NextDouble() < 0.05; } /* * Diagnosis(AML most likely) - 40, 90 * Fever(yes) - 50, 90 * Oxygen requirement(yes) - 10, 90 * Altered Mental Status(yes) - 5, 10 * Received Transfusion within 24 hours - 80, 50 * Blood Culture Positive(yes) - 7, 85 * Relapse(yes) - 20, 40 * ANC(absolute neutrophil count) < 200 (yes) - 40, 80 * Surgery within last 24 hours(yes) - 5, 25 */ data.Add(pd); } return(data); }