Beispiel #1
0
        public void Test_GetPatientDemographic_Successful()
        {
            var caseNumber = "HN170002512";

            var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, string.Format(@"Data\PE\{0}.xml", caseNumber));

            var expetctedObject = SoapParserHelper.LoadSamplePatientDemoEnquiry(caseNumber, @"Data\PE");

            Assert.IsNotNull(expetctedObject);

            var expectedXmlStr = XmlHelper.XmlSerializeToString(expetctedObject);


            var actualObject = parser.GetPatientResult(caseNumber);

            Assert.IsNotNull(expetctedObject);

            var actualXmlStr = XmlHelper.XmlSerializeToString(actualObject);

            Assert.AreEqual(expectedXmlStr, actualXmlStr);
        }
        private void btnCallByProxy_Click(object sender, EventArgs e)
        {
            scintillaRes.Text = string.Empty;

            var caseNumber = cbxCaseNumber.Text.Trim();

            try
            {
                var res = soapWSEService.GetPatientResult(caseNumber);

                var resStr = XmlHelper.XmlSerializeToString(res);

                scintillaRes.Focus();

                scintillaRes.Text = XmlHelper.FormatXML(resStr);
                scintillaRes.FormatStyle(StyleType.Xml);
            }
            catch (Exception ex)
            {
                logger.Error(ex, ex.Message);

                MessageBox.Show(ex.Message);
            }
        }
Beispiel #3
0
        public string SearchRemotePatient(string caseNumber, ref string errorMessage)
        {
            errorMessage = string.Empty;
            var CASE_NUMBER = caseNumber.Trim().ToUpper();

            var patient = CallFuncWithRetry <PatientDemoEnquiry>(() =>
            {
                var pr = soapWSESvc.GetPatientResult(caseNumber);


                return(pr);
            });

            if (patient == null || patient.Patient == null)
            {
                return(string.Empty);
            }

            /*TODO:Storage Patient */

            var orders = CallFuncWithRetry <MedicationProfileResult>(() =>
            {
                var medicationProfile = restSvc.GetMedicationProfile(caseNumber);


                logger.Info(JsonHelper.ToJson(medicationProfile));

                return(medicationProfile);
            });

            CheckItemCodeofMedicationProfile(orders, ref errorMessage);

            var alertRequest = new Models.AlertInputParm
            {
                PatientInfo = new PatientInfo
                {
                    Hkid    = patient.Patient.HKID,
                    Name    = patient.Patient.Name,
                    Sex     = patient.Patient.Sex,
                    Dob     = patient.Patient.DOB,
                    Cccode1 = patient.Patient.CCCode1,
                    Cccode2 = patient.Patient.CCCode2,
                    Cccode3 = patient.Patient.CCCode3,
                    Cccode4 = patient.Patient.CCCode4,
                    Cccode5 = patient.Patient.CCCode5,
                    Cccode6 = patient.Patient.CCCode6
                },
                UserInfo = new UserInfo
                {
                    HospCode = HospitalCode,
                    LoginId  = "LoginId"
                },
                SysInfo = new SysInfo
                {
                    WsId         = UtilityHelper.GetLoalIPAddress(),
                    SourceSystem = "PMS"
                },
                Credentials = new Credentials
                {
                    AccessCode = AccessCode
                }
            };

            var allergys = CallFuncWithRetry <AlertProfileResult>(() =>
            {
                var apr = restSvc.GetAlertProfile(alertRequest);

                return(apr);
            });


            if (patient != null && patient.Patient != null && patient.CaseList != null)
            {
                FullCacheHK.PataientCache.Register(CASE_NUMBER, new Patient_AlertProfile
                {
                    PatientDemoEnquiry = patient
                });
            }

            if (FullCacheHK.PataientCache[CASE_NUMBER] != null)
            {
                FullCacheHK.PataientCache[CASE_NUMBER].MedicationProfileRes = orders;

                FullCacheHK.PataientCache[CASE_NUMBER].AlertProfileRes = allergys;
            }


            return(patient.Patient.HKID);
        }