Пример #1
0
        private string CallByWebReq(string caseNumber)
        {
            string SOAPObj = BuildRequestSoap(caseNumber);
            string url = Url;

            var request = HttpWebRequest.Create(url + "?op=searchHKPMIPatientByCaseNo") as HttpWebRequest;

            request.ContentType = "text/xml";
            request.Method = "POST";

            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                streamWriter.Write(SOAPObj);
                streamWriter.Flush();
            }

            using (var webresponse = request.GetResponse() as HttpWebResponse)
            {
                using (var reader = new StreamReader(webresponse.GetResponseStream()))
                {
                    string response = reader.ReadToEnd();

                    var patientResultXmlElement = SoapParserHelper.ParserPatientDemoEnquiryElement(response);

                    var resStr = XmlHelper.FormatXML(patientResultXmlElement);

                    return resStr;
                }
            }
        }
Пример #2
0
        private void btnVerifyAll_Click(object sender, EventArgs e)
        {
            try
            {
                var files = Directory.GetFiles(Path.Combine(BASE_DIR, @"PE\"), "*.xml");

                var caseNumbers = files.Select(o => new FileInfo(o).Name)
                                  .Select(o => o.Substring(0, o.Length - ".xml".Length))
                                  .ToList();

                foreach (var item in caseNumbers)
                {
                    var caseNumber = item.ToString();

                    if (!caseNumber.StartsWith("HN2020"))
                    {
                        continue;
                    }
                    var file = Path.Combine(BASE_DIR, string.Format(@"PE\{0}.xml", caseNumber));
                    var doc  = XElement.Load(file);

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

                    var hkId = patientOrg.Patient.HKID;

                    System.Diagnostics.Debug.WriteLine(string.Format("CASENUMBER:{0}", caseNumber));

                    System.Diagnostics.Debug.WriteLine(string.Format("HKID:{0}", hkId));

                    var medicationFile    = Path.Combine(BASE_DIR, string.Format(@"MP\{0}.json", caseNumber));
                    var medicationProfile = JsonHelper.JsonToObjectFromFile <MedicationProfileResult>(medicationFile);

                    var alertFile    = Path.Combine(BASE_DIR, string.Format(@"AP\{0}.json", hkId));
                    var alertProfile = JsonHelper.JsonToObjectFromFile <AlertProfileResult>(alertFile);

                    if (RuleMappingHelper.HKID_ItemCode_Mapping.ContainsKey(hkId))
                    {
                        var drugItemCode = RuleMappingHelper.HKID_ItemCode_Mapping[hkId];
                        var fileName     = string.Format("{0}_{1}.xml", hkId, drugItemCode);

                        var drugMasterFile = Path.Combine(BASE_DIR, string.Format(@"DM\getDrugMdsPropertyHq\{0}", fileName));
                        var drugMasterRes  = XElement.Load(drugMasterFile);

                        var paprationFile = Path.Combine(BASE_DIR, string.Format(@"DM\getPreparation\{0}", fileName));
                        var paprationRes  = XElement.Load(paprationFile);

                        var mdsFile     = Path.Combine(BASE_DIR, string.Format(@"MDS\{0}.json", hkId));
                        var mdsCheckRes = JsonHelper.JsonToObjectFromFile <MDSCheckResult>(mdsFile);
                    }
                }

                MessageBox.Show("Verify successfully......");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #3
0
        private void GeneratePatient(string casenumber, string hkId)
        {
            try
            {
                var patientOrg = SoapParserHelper.LoadSamplePatientDemoEnquiry("HN202003001", @"DEMO\PE");;

                patientOrg.Patient.HKID       = hkId;
                patientOrg.CaseList[0].Number = casenumber;

                var patientFullXmlStr = @"<S:Envelope xmlns:S=""http://schemas.xmlsoap.org/soap/envelope/"">
 <S:Header>
 <work:WorkContext xmlns:work = ""http://oracle.com/weblogic/soap/workarea/"" >rO0ABXdqADF3ZWJsb2dpYy5hcHAuUEFTX1BBU19QQVRJRU5UX0VOUVVJUllfV1NTXzJfMF8xMl82AAAA1gAAACN3ZWJsb2dpYy53b3JrYXJlYS5TdHJpbmdXb3JrQ29udGV4dAAIMi4wLjEyLjYAAA==</work:WorkContext>
 </S:Header>
    <S:Body>
        <ns2:searchHKPMIPatientByCaseNoResponse xmlns:ns2=""http://webservice.pas.ha.org.hk/"">
            {0}
        </ns2:searchHKPMIPatientByCaseNoResponse>
    </S:Body>
</S:Envelope>";

                var patientXmlStr = XmlHelper.XmlSerializeToString(patientOrg);

                patientFullXmlStr = string.Format(patientFullXmlStr, patientXmlStr.Substring(@"<?xml version=""1.0"" encoding=""utf - 8""?>".Length));

                patientFullXmlStr = XmlHelper.FormatXML(patientFullXmlStr);

                var patientTargetFileName = Path.Combine(baseDir, string.Format(@"Demo\PE\{0}.xml", casenumber));
                File.WriteAllText(patientTargetFileName, patientFullXmlStr);

                var medicationOrg = JsonHelper.JsonToObjectFromFile <MedicationProfileResult>(medicationProfileSeed);
                medicationOrg.CaseNum      = casenumber;
                medicationOrg.MedProfileId = hkId;

                var medicationTargetStr = JsonHelper.FormatJson(JsonHelper.ToJson(medicationOrg));

                var medicationTargetFileName = Path.Combine(baseDir, string.Format(@"Demo\MP\{0}.json", casenumber));
                File.WriteAllText(medicationTargetFileName, medicationTargetStr);


                var alertOrg       = JsonHelper.JsonToObjectFromFile <AlertProfileResult>(alertProfileSeed);
                var alertTargetStr = JsonHelper.FormatJson(JsonHelper.ToJson(alertOrg));

                var alertTargetFileName = Path.Combine(baseDir, string.Format(@"Demo\AP\{0}.json", hkId));
                File.WriteAllText(alertTargetFileName, alertTargetStr);
            }
            catch (Exception EX)
            {
                EX = EX;
            }
        }
        public SearchHKPMIPatientByCaseNoResponse searchHKPMIPatientByCaseNo(SearchHKPMIPatientByCaseNo searchHKPMIPatientByCaseNo)
        {
            WorkContext = new WorkContextSoapHeader();

            HttpContext.Current.Request.InputStream.Position = 0;
            var requestStr = new StreamReader(HttpContext.Current.Request.InputStream, Encoding.UTF8).ReadToEnd();

            var patHospCode = ConfigurationManager.AppSettings["patHospCode"];

            if (false == searchHKPMIPatientByCaseNo.HospitalCode.Equals(patHospCode, StringComparison.OrdinalIgnoreCase))
            {
                return(new SearchHKPMIPatientByCaseNoResponse {
                });
            }

            return(new SearchHKPMIPatientByCaseNoResponse
            {
                PatientDemoEnquiry = SoapParserHelper.LoadSamplePatientDemoEnquiry(searchHKPMIPatientByCaseNo.CaseNo)
            });
        }
Пример #5
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);
        }
Пример #6
0
        private void cbxCaseNumber_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                ClearCache();

                var caseNumber = cbxCaseNumber.SelectedItem.ToString();

                LoadPatient(caseNumber);

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

                var hkId = patientOrg.Patient.HKID;

                if (RuleMappingHelper.HKID_ItemCode_Mapping.ContainsKey(hkId))
                {
                    var drugItemCode = RuleMappingHelper.HKID_ItemCode_Mapping[hkId];

                    var fileName = string.Format("{0}_{1}.xml", hkId, drugItemCode);

                    LoadDrugMaster(fileName);

                    LoadPreparation(fileName);
                }

                LoadMedicationProfile(caseNumber);

                LoadAlertProfile(hkId);

                LoadMDSCheckResult(hkId);
            }
            catch (Exception ex)
            {
                ex = ex;
            }
        }
        public PatientDemoEnquiry GetPatientResult(string caseNumber)
        {
            var result = SoapParserHelper.LoadSamplePatientDemoEnquiry(caseNumber, RELATIVE_URL);

            return(result);
        }