Struct.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. /******************************************************************************
  2. * 文件名称: Structs.cs
  3. * 文件说明: 结构体的封装
  4. * 当前版本: V1.0
  5. * 创建日期: 2022-04-12
  6. *
  7. * 2020-04-12: 增加 businessDLLInvoke 方法
  8. ******************************************************************************/
  9. using Newtonsoft.Json.Linq;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Linq;
  13. using System.Text;
  14. using System.Threading.Tasks;
  15. namespace PTMedicalInsurance.Variables
  16. {
  17. //配置信息
  18. public struct IrisConfigue{
  19. public string ip;
  20. public string url;
  21. public string authorization;
  22. }
  23. //自助机
  24. public struct SelfServiceMachineParam
  25. {
  26. public bool isNeedRedirect; //是否需要重定向
  27. public string cardType;
  28. }
  29. //接口固定信息
  30. public struct InterfaceInfo
  31. {
  32. public int interfaceDr;
  33. public int interfaceDr_TY;
  34. public string interfaceID;
  35. public string interfaceName;
  36. public int hisHospitalDr;
  37. public int hospitalDr;
  38. public string hospCode;
  39. public string hospitalName;
  40. public string hospitalNO;
  41. public string centerURL;
  42. public string centerURL2;
  43. public string uploadURL;
  44. public string downURL;
  45. public string cardURL;
  46. public string mobilePayURL;
  47. public string ecURL;
  48. public string ecPrescURL;
  49. public string areaCode;
  50. public string orginalAreaCode;
  51. public string dllName;
  52. public string version;
  53. public string signatureType;
  54. public string recivedSystem;
  55. public string AK;
  56. public string SK;
  57. public string dev_no;
  58. public string dev_safe_info;
  59. public string cainfo;
  60. public string BusinessID;
  61. public string CreditID;
  62. public string operatoType;
  63. public string fileName;
  64. public string appId;
  65. public string privateKey;
  66. public string publicKey;
  67. public string Secret;
  68. public string presCenterURL;
  69. public string MBkey;
  70. public OneCodePayInfo oneCodePay; //一码付
  71. public CreditPayInfo creditPay; //信用付(医保信用就医)
  72. }
  73. public struct OneCodePayInfo
  74. {
  75. public string url;
  76. public string businessSystemNO; //业务系统编号
  77. public string businessSystemKey; //业务系统密钥
  78. }
  79. /// <summary>
  80. /// 信用付(医保信用就医)配置
  81. /// 对应《SDK对接模式-医保信用就医服务接口规范-医院v2.1》3.2.1 公共参数
  82. /// </summary>
  83. public struct CreditPayInfo
  84. {
  85. public string url; //服务地址(HTTPS)
  86. public string appId; //chs_fjs_appid 渠道id(医保分配固定值)
  87. public string appSecret; //chs_fjs_appsecret 渠道私钥(医保分配固定值)
  88. public string token; //chs_fjs_token 渠道token(授权码模式动态令牌,无则留空)
  89. public string encKey; //SM4 加解密密钥,未配置时回退使用 appSecret
  90. public string signKey; //SM3 签名密钥,未配置时回退使用 appSecret
  91. public bool sendAppSecret; //请求报文是否携带 chs_fjs_appsecret(规范为 N,默认 false)
  92. public bool enableVerifySign; //是否校验返回报文签名(签名规则确认后再开启,默认 false)
  93. }
  94. //分支业务
  95. public struct BranchBusinessInfo
  96. {
  97. public string url;
  98. public string apiSecretKey;
  99. public string appid; //APPID 或 密钥id
  100. public string secretKey; //密钥id 密钥KEY
  101. public string privateKey; //私钥 渠道私钥
  102. public string channelPublicKey;// 渠道公钥
  103. public string publicKey; //平台公钥
  104. }
  105. /// <summary>
  106. /// 移动支付配置
  107. /// </summary>
  108. public struct MobilePayConfig
  109. {
  110. public string type;
  111. public string appId;
  112. public string appSecret;
  113. public string privateKey;
  114. public string publicKey;
  115. }
  116. //用户信息
  117. public struct User
  118. {
  119. public string ID;
  120. public string name;
  121. public string type;
  122. public string officeID;
  123. public string officeName;
  124. public string deptID;
  125. public string deptName;
  126. }
  127. //患者信息
  128. public struct Patients
  129. {
  130. public int adm_Dr;
  131. public string admID;
  132. public string mdtrtID;
  133. public string name;
  134. public string gend;
  135. public string naty;
  136. public string age;
  137. public string brdy;
  138. public string psn_no;
  139. public string insuType;
  140. public string medType;
  141. public string IDNO;//身份证号码
  142. public string IDType;
  143. public string certNO;
  144. public string certType;
  145. public string mdtrtcertNO;
  146. public string mdtrtcertType;
  147. public string admDiagCode; //Admission Diagnosis
  148. public string admDiagName;
  149. public string discDiagCode; //Discharge Diagnosis
  150. public string discDiagName;
  151. public string insuplc_admdvs;
  152. public string insuplc_name; //参保机构名称
  153. public string mdtrtarea_admvs; //就医地区划
  154. public string ecToken; //电子凭证令牌
  155. public string ecCardNo; //电子医保卡号
  156. public string ecBusinessType;//电子凭证业务类型
  157. public Card card;
  158. public string settlID;
  159. public string billID;
  160. public string recordID;
  161. public string psn_insu_date;
  162. public string cvlserv_flag;
  163. public string balc;
  164. public string emp_name;
  165. public string psn_type;
  166. public string psn_insu_stas;
  167. public string paus_insu_date;
  168. public int OtherProv;
  169. public string disCode;
  170. public string disName;
  171. public string DiseasecCode; //病种编码
  172. public string DiseasecName; //病种名称
  173. public string DiseasecType;
  174. public string operCode; //手术编码
  175. public string operName; //手术名称
  176. public string SettID_HISJSB;
  177. public string SettID_YBJSB;
  178. public string RYorCY; //1入院 2出院
  179. public string hisDischargeTime; //出院时间
  180. public int admType;
  181. public string ExpContent; //扩展字段
  182. public object ExpContentObj;
  183. public int unifPayStdType; //包干类型
  184. public string token;
  185. public string payAuthNo;
  186. public string uldLatlnt;
  187. public string payOrdId;
  188. public string payToken;
  189. public string AdmInDepCode;
  190. public string admAttendDoctorNO;
  191. public Boolean bPresCirul;
  192. public PreAndInProcessAnalysises preAndInPro;
  193. public string oneCodePaySignupStatus; //一码付签约状态
  194. public bool isOneCodePayEnabled;//启用一码付
  195. }
  196. public struct PreAndInProcessAnalysises
  197. {
  198. //1.门诊挂号 2.门诊收费登记 3.住院登记 4.住院收费登记 5.住院执行医嘱 6.门诊结算 7.门诊预结算 8.住院结算 9.住院预结算 10.购药划卡
  199. /// <summary>
  200. /// 通过下列场景的值来判断是否调用3101或3102,当前的情况是很多地方已经取消了3102,因为3101和3102入参基本一致。可根据各地实际情况,来决定是调用3101和3102.
  201. /// 当下列场景的值为0时,表示不调用。不为空且大于0则表示调用。入参里的场景传对应的值。
  202. /// </summary>
  203. public string OPRegTrigScen; //门诊挂号场景 挂号时调用3101
  204. public string OPChargeRegistrationTrigScen;//门诊收费登记 门诊登记后调用3101
  205. public string IPRegTrigScen; //住院登记 住院登记后调用3101
  206. public string IPChargeRegistrationTrigScen;//住院收费登记 费用上传后调用3101
  207. public string IPOrderTrigScen; //住院医嘱 住院医嘱保存时调用3102
  208. public string OPSetTrigScen; //门诊结算 门诊结算前调用3102
  209. public string OPPreSetTrigScen; //门诊预结算 门诊预结算前
  210. public string IPSetTrigScen; //住院结算 住院结算前调用
  211. public string IPPreSetTrigScen; //住院预结算 住院预结算调用
  212. public string OPOrderTrigScen; //门诊医嘱场景
  213. public string MedInsType;
  214. public string MedInsLevel;
  215. public string OPMedType;
  216. public string IPMedType;
  217. public string MedinsAdmdvs;
  218. }
  219. public struct Card
  220. {
  221. public string type;
  222. public string SN;
  223. public string password;
  224. public string level;
  225. public string NO;
  226. public string Cardtoken;
  227. public string SearchAdmKey;
  228. public string SearchAdmCode;
  229. public string SearchAdmName;
  230. public string pKey;
  231. public string ecBizType;
  232. public string transType;
  233. }
  234. //费用信息
  235. public struct Fees
  236. {
  237. public int adm_Dr;
  238. public string mdtrtID;
  239. public string feeDetlSn;
  240. public string orderNO;
  241. public string hisCode;
  242. public string hisName;
  243. public string insuCode;
  244. public string insuName;
  245. public string sumamt;
  246. public string count;
  247. public string price;
  248. public string billDeptCode;
  249. public string billDeptName;
  250. public string billDrCode;
  251. public string billDrName;
  252. public string acceptDeptCode;
  253. public string acceptDeptName;
  254. public string orderDrCode;
  255. public string orderDrName;
  256. public string limitUseFlag;
  257. DateTime occurTime;
  258. public string insuplc_admdvs;
  259. }
  260. //结算信息
  261. public struct Settlements
  262. {
  263. public int adm_Dr;
  264. public string mdtrtID;
  265. public string settlID;
  266. public string billID;
  267. public string payOrdId;
  268. public string recordID;
  269. public string clearingType;
  270. public string clearingWay;
  271. public string clearingOrgan;
  272. DateTime occurTime;
  273. public DateTime settlTime;//结算时间
  274. public int hospitalizationsTimes;
  275. public int hospitalizationsDays;
  276. public string hisAdmTime;
  277. public string hisDischargeTime;
  278. public string ordStas;
  279. public decimal sumamt;
  280. public decimal ownPayAmount; //超限价自费费用
  281. public decimal overLimitAmountmt; //超限价自费费用
  282. public decimal preSelfPayAmount;//先行自付金额
  283. public decimal inPolicyRangeAmount;//符合政策范围金额
  284. public decimal actualPayDeductible;//实际支付起付线
  285. public decimal healthInsurancePay;//基本医疗保险统筹基金支出
  286. public decimal healthInsuranceRatio;//基本医疗保险统筹基金支付比例
  287. public decimal civilserviceAllowancePay;//公务员医疗补助资金支出
  288. public decimal enterpriseSupplementPay;//企业补充医疗保险基金支出
  289. public decimal seriousIllnessPay;//居民大病保险资金支出
  290. public decimal largeExpensesSupplementPay;//职工大额医疗费用补助基金支出
  291. public decimal medicalAssistPay;//医疗救助基金支出
  292. public decimal hospitalPartAmount;//医院负担金额
  293. public decimal otherPay;//其他支出
  294. public decimal fundPaySumamt;//基金支付总额
  295. public decimal personPaySumamt;//个人负担总金额
  296. public decimal accountPaySumamt;//个人账户支出
  297. public string acctPay;
  298. public decimal personCashPay;//个人现金支出
  299. public decimal balance; //余额
  300. public decimal accountMutualAidAmount;//个人账户共济支付金额
  301. public decimal deposit;//住院押金
  302. public int confirmFlag; //确认标志
  303. public string onlineYBFlag;
  304. public string dspoWay; //1继续执行 2修改医嘱
  305. public string dspoWayRea;
  306. public string minpacunt_drug_trac_cnt; //本次结算应上传最小包装追溯码数量
  307. public string mcs_trac_cnt; //本次结算应上传耗材追溯码数量
  308. public OperationType operationType;
  309. public decimal ybAmt;//返给HIS的医保总的金额,符合his基本公式
  310. public decimal psnAcctAmt;//返给HIS的个人支付的账户的总的的金额,符合his基本公式
  311. public decimal psnCashAmt;//返给HIS的个人支付的总的金额,符合his基本公式
  312. public decimal hospAmt;//返给HIS的医院承担金额,符合his基本公式
  313. }
  314. //当前环境实时信息
  315. public struct currentEnvironment
  316. {
  317. public string path;
  318. public string mac;
  319. public string ip;
  320. public string signno;
  321. public string msgid;
  322. public string URL;
  323. public JArray jaSession;
  324. /// <summary>
  325. /// 调试模式
  326. /// </summary>
  327. public bool enabledDebug;
  328. public CurEvtExtend ext;
  329. public bool testMode;
  330. }
  331. }