/// <summary>Calculates the fema scores.</summary> /// <param name="values"> The values.</param> /// <param name="testData">Information describing the test.</param> private static void ComputeFemaDailyReportingScores( Dictionary <string, FieldValue> values, OrgTestData testData) { decimal val; val = testData.PerformedToday * 2; values.Add(DailyReporting.TestsOrderedToday, new FieldValue(val)); val = testData.Performed * 2; values.Add(DailyReporting.TestsOrderedTotal, new FieldValue(val)); val = (testData.Positive + testData.Negative) * 2; values.Add(DailyReporting.TestsWithResultsToday, new FieldValue(val)); values.Add(DailyReporting.SpecimensRejectedTotal, new FieldValue(testData.Rejected)); val = (testData.Performed * 2) - testData.Rejected - testData.Pending; values.Add(DailyReporting.TestsCompletedTotal, new FieldValue(val)); values.Add(DailyReporting.PositiveC19Today, new FieldValue(testData.PositiveToday)); values.Add(DailyReporting.PositiveC19Total, new FieldValue(testData.Positive)); values.Add( DailyReporting.PercentC19PositiveToday, new FieldValue(testData.PositiveToday, testData.PositiveToday * 2)); values.Add( DailyReporting.PercentC19PositiveTotal, new FieldValue(testData.Positive, testData.Positive * 2)); }
/// <summary>Builds field dictionary.</summary> /// <exception cref="ArgumentNullException">Thrown when one or more required arguments are null.</exception> /// <param name="deviceData"> Information describing the device.</param> /// <param name="patientData">Information describing the patient.</param> /// <param name="testData"> Information describing the test.</param> /// <param name="workerData"> Information describing the worker.</param> /// <returns>A Dictionary<string,FieldValue></returns> public static Dictionary <string, FieldValue> BuildFieldDict( OrgDeviceData deviceData, OrgPatientData patientData, OrgTestData testData, OrgWorkerData workerData) { if (deviceData == null) { throw new ArgumentNullException(nameof(deviceData)); } if (patientData == null) { throw new ArgumentNullException(nameof(patientData)); } if (testData == null) { throw new ArgumentNullException(nameof(testData)); } if (workerData == null) { throw new ArgumentNullException(nameof(workerData)); } Dictionary <string, FieldValue> fieldDict = new Dictionary <string, FieldValue>(); ComputeCdcPatientImpactScores( fieldDict, deviceData, patientData); ComputeCdcWorkerScores( fieldDict, workerData); ComputeFemaDailyReportingScores( fieldDict, testData); return(fieldDict); }