public void DbConnectionTest()
        {
            List <MSH> msh;

            using (ExportQueueTable exp = new ExportQueueTable(GeneralHelper.ConnectionString, 0, ProcessStageFilterEnum.Lookup, ProcessStateFilterEnum.Failed, "ResolveHealthConditions"))
            {
                msh = BatchHelper.LoadBatches(exp.Items_ExportQueue);
            }
        }
        public override List <MSH> GetMSH()
        {
            const int NO_OF_RECORDS = 25;

            using (ExportQueueTable exp = new ExportQueueTable(GeneralHelper.ConnectionString, 0, ProcessStageFilterEnum.Lookup, ProcessStateFilterEnum.Failed, "ResolveHealthConditions"))
            {
                // Return 25 for now
                return(BatchHelper.LoadBatches(exp.Items_ExportQueue.Take(NO_OF_RECORDS).ToList()));
            }
        }
Beispiel #3
0
        public void SaveHealthCondition()
        {
            String _CodingSystem = "Anthrax";
            String Key           = "Anthrax";
            String Name          = "Anthrax";


            using (ExportQueueTable exp = new ExportQueueTable(GeneralHelper.ConnectionString, 0, ProcessStageFilterEnum.Lookup, ProcessStateFilterEnum.Failed, "ResolveHealthConditions"))
            {
                var update_msh_id   = 100;
                var exportQueueItem = exp.Items_ExportQueue.Where(eq => eq.MSH_ID == update_msh_id).FirstOrDefault();
                var batchItem       = HL7.Reportable.Common.Common.DeserializeXmlToObject <HL7.Reportable.Common.Business.HL7.ExportBatch>(exportQueueItem.Process_Message);
                var labReport       = batchItem.LabReports.Where(lr => lr.MSH_ID == update_msh_id.ToString()).FirstOrDefault();

                labReport.PHRED_Variables.PHRED_AssignmentNote = "The Note";


                string obr_id = "108";
                string obx_id = "110";

                var obr = labReport.TestRequests.Where(tRequest => tRequest.OBR_ID == obr_id).FirstOrDefault();
                var obx = obr.TestResults.Where(tResult => tResult.OBX_ID == obx_id).FirstOrDefault();

                CodedElement ceHCC = new CodedElement()
                {
                    Code = Key, Description = Name, CodingSystem = _CodingSystem
                };

                CodedElement ceHC = new CodedElement()
                {
                    Code = Key, Description = Name, CodingSystem = _CodingSystem
                };

                obx.PHRED_AssignedHCManually = true;
                obx.PHRED_AssignerUserKey    = "Active Directory Username";
                obx.PHRED_AssignmentNote     = "Another Note";
                obx.PHRED_AssignedDtTm       = DateTime.Now.ToString();
                obx.PHRED_AssignedHCC        = ceHCC;
                obx.PHRED_AssignedHC         = ceHC;


                // Update the Status
                exportQueueItem.Process_State = ProcessStateEnum.Pending;
                exportQueueItem.Save();



                // Revert it back
                //exportQueueItem.Process_Stage = ProcessStageEnum.Lookup;
                //exportQueueItem.Process_State = ProcessStateEnum.Failed;
                //exportQueueItem.Save();
            }
        }
        public void FirstSetupTest()
        {
            String dbConnection = ConfigurationManager.AppSettings["HL7ReportableDB"];

            List <MSH> msh;

            using (ExportQueueTable exp = new ExportQueueTable(dbConnection, 0, ProcessStageFilterEnum.Lookup, ProcessStateFilterEnum.Failed, "ResolveHealthConditions"))
            {
                msh = BatchHelper.LoadBatches(exp.Items_ExportQueue);
            }

            var result = TreeViewHelper.Transform(msh);

            TreeViewData td = new TreeViewData()
            {
                MSHData = msh, TreeData = result
            };
        }
        public override bool Save(string Username, long MSH_ID, String Note, List <ChangeSetData> changeSet, out string errorMessage)
        {
            errorMessage = "";
            try
            {
                using (ExportQueueTable exp = new ExportQueueTable(GeneralHelper.ConnectionString, 0, ProcessStageFilterEnum.Lookup, ProcessStateFilterEnum.Failed, "ResolveHealthConditions"))
                {
                    var update_msh_id   = MSH_ID;
                    var exportQueueItem = exp.Items_ExportQueue.Where(eq => eq.MSH_ID == update_msh_id).FirstOrDefault();

                    if (exportQueueItem == null)
                    { // Record was already saved by another user . So lets just ignore these changes
                        errorMessage = " Already saved by another user";
                        return(true);
                    }

                    var batchItem = HL7.Reportable.Common.Common.DeserializeXmlToObject <HL7.Reportable.Common.Business.HL7.ExportBatch>(exportQueueItem.Process_Message);
                    var labReport = batchItem.LabReports.Where(lr => lr.MSH_ID == update_msh_id.ToString()).FirstOrDefault();

                    labReport.PHRED_Variables.PHRED_AssignmentNote = Note;

                    foreach (var item in changeSet)
                    {
                        UpdateReport(Username, labReport, item);
                    }
                    // Update the Status
                    exportQueueItem.Process_State = ProcessStateEnum.Pending;
                    exportQueueItem.Save();
                }
                return(true);
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                return(false);
            }
        }