# EHC_Demo **Repository Path**: monyuan/EHC_Demo ## Basic Information - **Project Name**: EHC_Demo - **Description**: 临沂市电子健康卡沂水试点经验分享 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-17 - **Last Updated**: 2021-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 临沂市电子健康平台对接指南 ___ ### 项目简介 临沂市沂水县电子健康卡对接试点经验分享项目旨在为电子健康卡在全市顺利推进,减少各区县重复劳动,帮助大家弯道取直,用最快的时间完成开发,将对接过程中的技术经验整理分享。 医疗信息化,路远山高,欢迎同行们积极参与,分享您的经验。 经验、能力所限,项目中的问题欢迎大家批评指正。 ### 准备工作 ###### 扫码墩 ###### 一码付分屏显示器 * 区分XP和Win7以上系统,安装不同的驱动 * 制作医院的一码付界面 ##### 二维码打印机安装 ###### 得实DL-218 1.驱动安装 2.打印机设置 2.1新建纸张 ![1571922183829](README.assets/1571922183829.png) ![1571922234479](README.assets/1571922234479.png) 调整垂直和水平边距 ![1571922278449](README.assets/1571922278449.png) ### 接口解释 #### 注册建卡[VirtualCardChk.dll] ##### 环境配置 ~~~json http://www.mstpay.com:1811/ehcService/gateway.do app_id=1BQA48ETK000A718A8C000001FFAA482 app_key=1BQA48ETK001A718A8C00000FE996B9B term_id=35020010001 ~~~ ##### 建卡操作 ~~~json >入参 {"app_id": "1BQA48ETK000A718A8C000001FFAA482","enc_type": "AES","biz_content": {"out_trade_no": "2018012332171202","out_trade_time": "20171113092820","certificate_mode": "01","id_type": "01","id_no": "510321197511109076","user_name": "李强","nation":"汉","user_sex": "1","mobile_phone": "13988888888","birthday": "19860827","telephone": "05918888888","address": "福州仓山区","work_unit": "海峡银行","card_list": [{"card_type":"01","card_no":"D635128"},{"card_type":"02","card_no":"D635128"}],"QRprint":"Y","pub_flag":"","apply_method":"3"},"sign": "","sign_type": "MD5","timestamp": "20171113092820","method": "ehc.ehealthcard.querywithreg","term_id": "35020010001","version": "X.M.0.1","key": "1BQA48ETK001A718A8C00000FE996B9B"} >出参 00 {"birthday":"19860827","ehealth_card_id":"BCF11E7680B88515AC93052D1EEA8E7D9D6367358E28C83A8B93A49AC9331212","address":"福州仓山区","pub_qrcode":"","user_name":"李强","telephone":"05918888888","card_type":"05","mindex_id":"29F4653ED7C914C3FB6BAB322A83260E1D0048732F6DCDBFF7AEA8E238A13543","xman_id":"","user_sex":"1","ehealth_code":"BCF11E7680B88515AC93052D1EEA8E7D9D6367358E28C83A8B93A49AC9331212:1::3502A0001:","work_unit":"海峡银行","id_no":"510321197511109076","card_no":"1D00080592","mobile_phone":"13988888888","extra":"","id_type":"01"} ~~~ #### 验证二维码接口 ~~~json >入参值 BCF11E7680B88515AC93052D1EEA8E7D9D6367358E28C83A8B93A49AC9331212:1::3502A0001: >出参 { "address": "福州仓山区", "address_detail": "", "birth_place": "", "birthday": "20190419", "card_list": [ { "card_no": "1D00080592", "card_type": "05", "is_default": "1" }, { "card_no": "D635128", "card_type": "02", "is_default": "1" } ], "card_no": "1D00080592", "card_type": "05", "career": "", "citizen": "", "community": "", "community_detail": "", "contact_address": "", "contact_address_detail": "", "contact_name": "", "contact_phone": "", "contact_relation": "", "detail_address": "", "detail_community": "", "detail_contact_address": "", "ehealth_card_id": "BCF11E7680B88515AC93052D1EEA8E7D9D6367358E28C83A8B93A49AC9331212", "email": "", "extra": "", "id_no": "510321197511109076", "id_type": "01", "marital_status": "", "mindex_id": "29F4653ED7C914C3FB6BAB322A83260E1D0048732F6DCDBFF7AEA8E238A13543", "mobile_phone": "13988888888", "nation": "", "photo_path": "", "smk_id": "", "status": "normal", "telephone": "05918888888", "unit_phone": "", "user_native": "", "user_sex": "1", "work_unit": "海峡银行", "xman_id": "" } ~~~ > BCF11E7680B88515AC93052D1EEA8E7D9D6367358E28C83A8B93A49AC9331212:1::3502A0001: > > ![1571725302672](README.assets/1571725302672.png) #### 消息推送[onepush.dll] ~~~json >入参 { "appId": "1CH0AVNRI02B296A4E0A0000E59BB824", "transType": "sms.send.drug", "key": "1CH0AVLBD01F2A6A4E0A0000A14FB431", "param": { "content": { "first": "您在西药房处方已配置完成", "keyword1": "A90219438", "keyword2": "李涛", "keyword3": { "value": "请持就诊卡到2号楼1号窗口取药", "color": "#FF0000" }, "extra1": "费别:药品费", "remark": "若已领药,请忽略,请按照医嘱服药,祝您健康", "extra2": "费别:检查费" }, "redirectUrl": "", "cardNo": "1A96733222", "cardType": "11", "reqNo": "123456" } } > ~~~ #### 支付[payclient.dll] ##### payclinet.ini配置说明 ~~~ 展示图片 支付是否用分屏显示 ~~~ 展示图片 支付是否用分屏显示 ##### 配置测试环境 ```json {"transType":"hop.trade.setinfo","param":{"serveraddr":"http://120.42.37.94:1301/onepay-web/oneweb/oneapi","appid":"1B7519FJR01R7B2CA8C00000F0D49FA5","appsecret":"1B7519D5Q0006E0A0A0A00009F6A8052"}} ``` ##### 充值交易 ```json >支付入参 {"transType":"hop.trade.recharge","param":{"operatorId":"001","termNo":"001","operatorName":"张三","cardType":"01","hisCustId":"","userName":"李四","amount":"0.01","outChargeNo":"ceshi0060211","depositType":"all_bar","PosNo":"","HZJDFlag":"","ShowMsg":"","extra":{"hopname":"","hopid":"","deskflak":"1"},"cardNo":"1A95490805","accountType":"01","idNo":"340121199301154617","notes":""}} >支付出参 000000 {"encryptType":"PLAIN","extra":{"resNote":"处理成功"},"param":{"balance":"0","channel":"ONE_QR","chargeNo":"201910211700198247","extra":{"resNote":"处理成功"},"outChargeNo":"ceshi0060211","qrcode":"0","traceNo":"201910211700198244","traceTime":"20191021170340","tradeMode":"WX_PUB"},"respCode":"000000","respMsg":"支付成功交易成功","traceTime":"20191021170340","tradeMode":"WX_PUB"} ``` > 充值交易用于院内卡预付费和费用结算的资金入口 ##### 退费交易 ~~~json >退费入参 {"transType":"hop.trade.refund","param":{ "operatorId":"9527","termNo":"termNo002","operatorName":"操作员9257","cardType":"02","cardNo":"1A95490805","accountType":"01","idNo":"612525199202011957","amount":"0.01","withdrawMode":"1","refundType":"hisDecide","traceNo":"","outChargeNo":"ceshi0060211","outRefundNo":"ceshi0003ceshi004","hisCustId":"21788","channelType":"","PosNo":"","notes":"","extra":{"hopname":"测试机构","hopid":"10001","deskflak":"1"} }} >退费出参 000000 {"encryptType":"PLAIN","param":{"extra":{},"outRefundNo":"ceshi0003ceshi004","refundNo":"201910211707198278","traceNo":"201910211707198276","traceTime":"20191021171055"},"respCode":"000000","respMsg":"处理成功"} ~~~ ##### 3.3交易状态查询 ###### 3.3.1充值查询 ```json >入参 {"transType":"hop.trade.query","param":{"operatorId":"001","termNo":"001","operatorName":"张三","cardType":"01","cardNo":"D12345678","accountType":"01","tradeType":"hop.trade.recharge","outTradeNo":"ceshi0060211","notes":""}} >交易成功出参 000000 {"encryptType":"PLAIN","externalParam":{"resNote":"处理成功"},"param":{"amount":"0.01","cardNo":"D12345678","cardType":"01","extra":{"resNote":"处理成功"},"origTraceNo":"201910211700198244","origTraceTime":"20191021170340","outTradeNo":"ceshi0060211","result":"succ","resultDesc":"支付成功交易成功","traceNo":"201910211700198244","tradeMode":"WX_PUB"},"respCode":"000000","respMsg":"处理成功"} >交易失败出参 000000 {"encryptType":"PLAIN","externalParam":{"callSn":"","posTrans":"","resNote":""},"param":{"extra":{"callSn":"","posTrans":"","resNote":""},"result":"notfound","resultDesc":"原交易记录不存在"},"respCode":"000000","respMsg":"处理成功"} ``` ###### 3.3.2退费查询 ```json >入参 {"transType":"hop.trade.query","param":{"operatorId":"001","termNo":"001","operatorName":"张三","cardType":"01","cardNo":"D12345678","accountType":"01","tradeType":"hop.trade.refund","outTradeNo":"ceshi0003ceshi004","notes":""}} >交易成功出参 000000 {"encryptType":"PLAIN","externalParam":{"posTrans":"","resNote":"处理成功"},"param":{"amount":"0.01","cardNo":"D12345678","cardType":"01","extra":{"posTrans":"","resNote":"处理成功"},"origTraceNo":"201910211707198276","origTraceTime":"20191021171055","outTradeNo":"ceshi0003ceshi004","result":"succ","resultDesc":"退费成功交易成功","traceNo":"201910211707198276"},"respCode":"000000","respMsg":"处理成功"} >交易失败出参 000000 {"encryptType":"PLAIN","externalParam":{"callSn":"","posTrans":"","resNote":""},"param":{"extra":{"callSn":"","posTrans":"","resNote":""},"result":"notfound","resultDesc":"原交易记录不存在"},"respCode":"000000","respMsg":"处理成功"} ``` > "tradeType":"hop.trade.recharge":充值函数 > > "transType":"hop.trade.refund":退款函数 > > "transType":"hop.trade.query":查询 > > "outTradeNo":"ceshi0003ceshi004": > outTradeNo > 在查询【充值】的时候用充值入参传的outChargeNo > 在查询【退费】的时候,用退费入参的outRefundNo ### 软件发布 * 电子健康卡运行环境 * 标准部署文件 * 部署的时候考虑到分屏 * 部署文件清单 xianshiqi.dll ### 注意事项 ### 已知问题 * 支付宝退款没有推送消息 ### 特别感谢 朱孟国、刘闯 ### 维护人员 李涛、刘闯、徐建鑫、宋永琪 ### Todo * 整理Helper类,封装通用功能 * 支付宝退款后提示到病人手机端.