DRG分组器调用源码C# POST

发布于:2022-12-09 ⋅ 阅读:(1858) ⋅ 点赞:(2)

   resultPost = this.HttpRequest("adrgget/8792837");
                    Write(new object(), resultPost);//输出参数
                    return JsonConvert.DeserializeObject<Drgs_Model.ForService.OutputDrgGroup>(resultPost);   

PostData="{\"icdlist\":[{\"ICD_CODE\":\"D69.008\",\"ICD_NAME\":\"变应性血管炎\",\"MAIN_FLAG\":\"1\",\"ADRG_CODE\":\"\"}],\"operlist\":[],\"hosinfo\":{\"CITY\":\"CHSDRG\",\"HOS_LEVEL\":\"2\",\"GET_LOCAL\":\"LOCAL\",\"HOS_NAME\":\"医院\",\"AUTHOR_CODE\":\"需要单独申请授权码\",\"HOS_NO\":\"H15257100074\",\"DRG_DIP\":\"DRG\"},\"pinfo\":{\"SEX\":\"F\",\"INPATIENR_NO\":\"\",\"PERSON_NAME\":\"21\",\"AGE\":21.0,\"PERSON_TYPE\":\"ALL\",\"AGE1\":0.0,\"USERESPIRATOR_TIME\":0.00,\"DEADFLAG\":\"0\"},\"feeinfo\":{\"TOT_COST\":0.0,\"PUB_COST\":0.0,\"PRE_PAY\":0.0}}";

 public string HttpRequest(string parameters)
        {
            var request = (HttpWebRequest)WebRequest.Create(EndPoint + parameters);

            request.Method = Method.ToString();
            request.ContentLength = 0;
            request.ContentType = ContentType;
            request.Timeout = 600000;
            //request.KeepAlive = false;
            //request.ProtocolVersion = HttpVersion.Version10;
            //ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            //request.AllowAutoRedirect = true;
            if (!string.IsNullOrEmpty(PostData) && Method == EnumHttpVerb.POST)
            {
                var bytes = Encoding.UTF8.GetBytes(PostData);
             
                request.ContentLength = bytes.Length;
                try
                {
                    using (var writeStream = request.GetRequestStream())
                    {
                        writeStream.Write(bytes, 0, bytes.Length);
                    }
                }catch(Exception ee)
                {
                    return "-1"+ee.Message;
                }
            }

            using (var response = (HttpWebResponse)request.GetResponse())
            {
                var responseValue = string.Empty;

                if (response.StatusCode != HttpStatusCode.OK)
                {
                    var message = string.Format("请求数据失败. 返回的 HTTP 状态码:{0}", response.StatusCode);
                    throw new ApplicationException(message);
                }

                using (var responseStream = response.GetResponseStream())
                {
                    if (responseStream != null)
                        using (var reader = new StreamReader(responseStream))
                        {
                            responseValue = reader.ReadToEnd();
                        }
                }
                return responseValue;
            }
        }

c# 实体:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.Serialization;
namespace Drgs_Model.ForService
{
    [System.Serializable]
    [DataContract]
    public class Drg_Local_Example
    {
        public Drg_Local_Example()
        {
            E_TECH = 0m;//                医技标杆
            E_DRUG = 0m;//                药品标杆
            E_MATE = 0m;//                卫材标杆
            E_MANA = 0m;//                管理标杆
            E_NURS = 0m;//                护理标杆
            E_TREA = 0m;//                治疗标杆
            E_NUM = 0m;//                人次
            E_AGE = 0m;//                年龄
            E_INDAYS = 0m;//                平均住院日
            PERCENT_DRUG = 0m;//                药品占比
            PERCENT_MAT = 0m;//                卫材占比
            PERCENT_CHECKLIS = 0m;//                检查化验占比
            HOS_LEVEL = string.Empty;
            HOS_CITY = string.Empty;
            DIP_ICD = string.Empty;
            DIP_OPERATION_LIST = string.Empty;
        }

        [DataMember]
        public string DRG_CODE { get; set; }
        [DataMember]
        public string DRG_NAME { get; set; }
        [DataMember]
        public decimal E_TECH { get; set; }
        [DataMember]
        public decimal E_DRUG { get; set; }
        [DataMember]
        public decimal E_MATE { get; set; }
        [DataMember]
        public decimal E_MANA { get; set; }
        [DataMember]
        public decimal E_NURS { get; set; }
        [DataMember]
        public decimal E_TREA { get; set; }
        [DataMember]
        public decimal E_NUM { get; set; }
        [DataMember]
        public decimal E_AGE { get; set; }
        [DataMember]
        public decimal E_INDAYS { get; set; }
        [DataMember]
        public decimal PERCENT_DRUG { get; set; }
        [DataMember]
        public decimal PERCENT_MAT { get; set; }
        [DataMember]
        public decimal PERCENT_CHECKLIS { get; set; }

        [DataMember]
        public string PERSON_TYPE { get; set; }

        [DataMember]
        public string HOS_LEVEL { get; set; }
        [DataMember]
        public string HOS_CITY { get; set; }
        [DataMember]
        public string DIP_ICD { get; set; }
        [DataMember]
        public string DIP_OPERATION_LIST { get; set; }
        
    }
}
 

using System.Runtime.Serialization;

namespace Drgs_Model.ForService
{
    [System.Serializable]
    [DataContract]
    public class DRG_Patient
    {
        public DRG_Patient()
        {
            TRNASFERHOSFLAG = string.Empty;
            DEADFLAG = string.Empty;
            AGE = 0m;
            AGE1 = 0m;
            WEIGHT = 0m;
            SEX = string.Empty;
            PERSON_TYPE = string.Empty;
            USERESPIRATOR_TIME = 0m;
        }
        [DataMember]
        public string TRNASFERHOSFLAG { get; set; }
        [DataMember]
        public string DEADFLAG { get; set; }
        [DataMember]
        public decimal AGE { get; set; }
        [DataMember]
        public decimal AGE1 { get; set; }

        [DataMember]
        public decimal WEIGHT { get; set; }
        [DataMember]
        public string SEX { get; set; }

        [DataMember]
        public string PERSON_NAME { get; set; }
        [DataMember]
        public string INPATIENT_NO { get; set; }
        [DataMember]
        public string PERSON_TYPE { get; set; }
        [DataMember]//respirator
        public decimal  USERESPIRATOR_TIME { get; set; }
        [DataMember]
        public string  IN_DATE { get; set; } //入院时间
        [DataMember]
        public string  OUT_DATE { get; set; } 
        [DataMember]
        public  string BALANCE_DATE { get; set; }

    }
}
 

using System.Runtime.Serialization;

namespace Drgs_Model.ForService
{
    [System.Serializable]
    [DataContract]
    public class FeeInfo
    {
        public FeeInfo()
        {
            TOT_COST = 0m;
            PUB_COST = 0m;
            PRE_PAY = 0m;
        }
        [DataMember]
        public decimal TOT_COST { get; set; }//总费用
        [DataMember]
        public decimal PUB_COST { get; set; }//统筹费用
        [DataMember]
        public decimal PRE_PAY { get; set; }//预拨付
    }
}

using System.Runtime.Serialization;

namespace Drgs_Model.ForService
{
    [System.Serializable]
    [DataContract]
    public class ICD
    {
        [DataMember]
        public string ICD_CODE { get; set; }
        [DataMember]
        public string ICD_NAME { get; set; }
        [DataMember]
        public string MAIN_FLAG { get; set; }

        [DataMember]
        public string ADRG_CODE { get; set; }

      
    }
}

using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Drgs_Model.ForService
{
    [System.Serializable]
    [DataContract]
    public class InputDrg
    {
        [DataMember]
        public List<ICD> icdlist { get; set; }
        [DataMember]
        public List<ICD9> operlist { get; set; }
        [DataMember]
        public DRG_Patient pinfo { get; set; }
        [DataMember]
        public HosInfo hosinfo { get; set; }
        [DataMember]
        public FeeInfo feeInfo { get; set; }
    }
}

本文含有隐藏内容,请 开通VIP 后查看