private void runPermDiagnosticForDate(string aDate) { intChart = new IntelleChartSpider(propertyFile); this.currentStatus = "Retrieving all Patients"; DateTime thisDate = DateTime.Parse(aDate); if (allChartNumbers.ContainsKey(thisDate)) { intChart.getAllPatients(aDate, (string[])allChartNumbers[thisDate]); } this.currentStatus = "Downloading Encounter Forms"; intChart.downloadEncounter(data["ENCOUNTER_FOLDER_PERM"], aDate, this.forceDownload); //the below commented section is commented out because we don't need pdf analysis. /*this.currentStatus = "Getting Diagnosis"; intChart.getDiagnosis(aDate); this.currentStatus = "Complete"; patientDiagnostics = intChart.getPatientsByChartNumber(); // Open the log file for append and write the log StreamWriter sw = new StreamWriter(data["RUN_LOG"], true); MemoryStream stream = new MemoryStream(); bool hasErrors = false; foreach (DictionaryEntry ev in patientDiagnostics) { if (!(bool)((Hashtable)ev.Value)["HasAllDiagnosis"] || (bool)((Hashtable)ev.Value)["HasErrors"]) { hasErrors = true; break; } } StringWriter tw = new StringWriter(); Hashtable diagnosticData, errors, patientInfo; sw.WriteLine("{0} {1} {2}", DateTime.Now, hasErrors ? "Has Errors" : "Has No Errors", aDate); tw.WriteLine(String.Format("{0} {1} {2}", DateTime.Now, hasErrors ? "Has Errors" : "Has No Errors", aDate)); if (hasErrors) { foreach (DictionaryEntry ev in patientDiagnostics) { patientInfo = (Hashtable)ev.Value; diagnosticData = (Hashtable)patientInfo["Diagnosis"]; errors = (Hashtable)patientInfo["Errors"]; foreach (DictionaryEntry pv in diagnosticData) { if (!(bool)pv.Value) { sw.WriteLine("{0} {1} {2} {3}", DateTime.Now, patientInfo["ChartNumber"], patientInfo["AppointmentDateTime"], pv.Key); tw.WriteLine("{0} {1} {2} {3}", DateTime.Now, patientInfo["ChartNumber"], patientInfo["AppointmentDateTime"], pv.Key); } } foreach (DictionaryEntry pv in errors) { sw.WriteLine("{0} {1} {2} {3}", DateTime.Now, patientInfo["ChartNumber"], patientInfo["AppointmentDateTime"], pv.Value); tw.WriteLine("{0} {1} {2} {3}", DateTime.Now, patientInfo["ChartNumber"], patientInfo["AppointmentDateTime"], pv.Value); } } } sw.Close(); diagnosticResults += tw.ToString() + "\n";*/ }