private void bgWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            string errorStr = null;

            var result = new EventResult();
            e.Result = result;

            var caseNumber = e.Argument as string;
            var AccountNumber = parser.SearchRemotePatient(caseNumber, ref errorStr);

            if (!string.IsNullOrEmpty(errorStr))
            {
                this.BeginInvoke((MethodInvoker)(() => RefreshMDSControlseState(false)));

                return;
            }

            CASE_NUMBER = caseNumber.Trim().ToUpper();
            var patientCache = FullCacheHK.PataientCache[caseNumber];

            if (patientCache == null)
            {
                MSGBox.ShowInfo("NO Patient!", "SearchPatient");

                this.BeginInvoke((MethodInvoker)(() => RefreshMDSControlseState(false)));

                return;
            }

            result.Patient = patientCache.PatientDemoEnquiry;
            result.Allergies = (patientCache.AlertProfileRes ?? new AlertProfileResult());
            result.Orders = patientCache.MedicationProfileRes;
            this.BeginInvoke((MethodInvoker)delegate
            {
                var HK_ID = result.Patient.Patient.HKID;

                RefreshMDSControlseState(true);

                if (RuleMappingHelper.HKID_ItemCode_Mapping.ContainsKey(HK_ID))
                {
                    var itemCodes = RuleMappingHelper.HKID_ItemCode_Mapping[HK_ID].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                    cbxItemCodes.DataSource = itemCodes;
                }

                scintillaPatient.Text = XmlHelper.FormatXML(XmlHelper.XmlSerializeToString(result.Patient));
                scintillaProfiles.Text = JsonHelper.FormatJson(JsonHelper.ToJson(result.Orders));
                scintillaAlerts.Text = JsonHelper.FormatJson(JsonHelper.ToJson(result.Allergies));
            });
        }
        private void btnSearchPatient_Click(object sender, EventArgs e)
        {
            if (Global.IsDirty)
            {
                Initialize();
            }
            if (cbxCaseNumber.Text.Trim() == string.Empty)
            {
                MSGBox.ShowBox("Invalid CaseNuber!", "SearchPatient", MSGLevel.Warning);
                return;
            }

            ResetPateitnReqRes();

            ResetMDSReqRes();

            ChangeSelectedTabPage(tbpPatient);
            // Start the asynchronous operation.
            bgWorker.RunWorkerAsync(cbxCaseNumber.Text.Trim());

            loadForm.ResizeView();
            loadForm.ShowDialog();
        }
        private void btnMDSCheck_Click(object sender, EventArgs e)
        {
            if (Global.IsDirty)
            {
                Initialize();
            }

            if (cbxItemCodes.Text.Trim() == string.Empty)
            {
                MSGBox.ShowBox("Invalid ItemCode!", "NDSCheck", MSGLevel.Warning);

                return;
            }

            ResetMDSReqRes();

            ChangeSelectedTabPage(tbpMDSCheck);

            bgWorkerMDSCheck.RunWorkerAsync(cbxItemCodes.Text.ToString());

            loadForm.ResizeView();
            loadForm.ShowDialog();
        }