微信支付全流程对接文档

143 阅读30分钟

微信支付全流程对接文档

    1. 第一部分:诊中支付

1.1.1患者信息查询

请求地址 
注意1. 诊疗卡类型必须支持身份证和院内诊疗卡两种(patCardType = 1或5);
  1. 当诊疗卡类型为身份证时(patCardType = 5),患者姓名不能为空,HIS根据患者姓名跟身份证号码查询患者信息,当匹配到多条患者信息时,返回最近的;
  2. 当诊疗卡类型为院内诊疗卡时(patCardType = 1),患者姓名为空,HIS根据查询患者信息;  | | | | | 接口名称 | getMZPatient | | | | | 示例代码 | 请求报文:<request><params>   <patName></patName>   …</params></request> 响应报文:<response>   …   <result>      <patType></patType>      …   </result></response> | | | | | 参数类型 | 参数名称 | 参数代码 | 必输 | 说明 | | 输入 | 医院代码 | branchCode | Y | 医院没有分院则返回空字符串;医院存在分院时不允许为空 | | 患者姓名 | patName | Y |   | | | 诊疗卡号码 | patCardNo | Y | 没有诊疗卡的,就是门诊号 | | | 输出 | 交易结果代码 | resultCode | Y | -1:失败0:成功1:成功但没有查询到数据 | | 错误消息 | resultMessage | Y | 当交易结果代码成功时,该字段返回空字符串 | | | 患者类型 | patType | Y | 1:成人2:儿童 | | | 姓名 | patName | Y |   | | | 性别 | patSex | Y | M:男,F:女 | | | 出生日期 | patBirth | Y |   | | | 地址 | patAddress | Y |   | | | 电话 | patMobile | y |   | | | 证件类型 | patIdType | Y | 见2.3.4证件类型 | | | 证件号码 | patIdNo | Y |   | | | 诊疗卡类型 | patCardType | Y | 见 2.3.1 绑卡类型 | | | 诊疗卡号码 | patCardNo | Y |   | | | 是否绑定医保 | hasMedicare | Y | true:绑定;false:不绑定 | |

1.1.2首诊患者建档

请求地址 
接口名称createACard
示例代码请求报文:<request><params>   <patType></patType>      …   </params></request> 响应报文:<response>   …<result>      <patCardType></patCardType>      …   </result></response>
参数类型参数名称参数代码必输说明
输入医院代码branchCodeY医院没有分院则传入空字符串;医院不存在分院时不允许为空;
患者类型patTypeY1:成人2:儿童
姓名patNameY 
性别patSexYM:男,F:女
年龄patAgeY 
出生日期patBirthY 
地址patAddressY 
电话patMobileY 
证件类型patIdTypeY见2.3.4证件类型患者类型为“2”儿童时,该项允许为空
证件号码patIdNoY患者类型为“2”儿童时,该项允许为空
监护人姓名guardNameY患者类型为“2”儿童时,该项必输
监护人证件类型guardIdTypeY
监护人证件号码guardIdNoY
输出交易结果代码resultCodeY-1:失败0:成功1:已建档(输出按建档成功的返回值返回)
错误消息resultMessagey当交易结果代码成功时,该字段返回空字符串
诊疗卡号码patCardNoY门诊号

1.1.3门诊待缴费记录查询

请求地址 
接口名称getMZFeeList
示例代码请求报文:<request>   <params>      …   </params></request> 响应报文:<response>   …   <result>      <item>         …      </item>      <item>         …      </item>   </result></response>
参数类型参数名称参数代码必输说明
输入医院代码branchCodeY医院没有分院则传空;医院存在分院则不能为空
诊疗卡类型patCardTypeN见 2.3.1 绑卡类型
诊疗卡号(门诊号)patCardNoY 
输出输出参数中去除了分院代码及分院名称交易结果代码resultCodeY-1:失败0:成功1:成功但没有查询到数据
错误消息resultMessageY当交易结果代码成功时,该字段返回空字符串
缴费项集合集合内容包括以下item
缴费项唯一标识mzFeeIdY用来唯一标识一笔缴费(包含1..n个处方或1..n个检查单,n个处方是一笔缴费,n个检查单是另一笔缴费)
生成时间timeY格式:YYYY-MM-DD 24HH:MI:SS
医生代码doctorCodeY 
医生姓名doctorNameY 
缴费科室deptNameY 
应付金额payAmoutY应付金额 = 总金额 - 医保金额若不支持医保结算,则返回总金额
医保金额MedicareAmoutY医保金额 = 总金额 - 应付金额
总金额totalAmoutY总金额 = 应付金额 + 医保金额

 

1.1.4门诊待缴费记录明细查询

请求地址 
接口名称getMZFeeDetail
示例代码请求报文:<request>   <params>      …   </params></request> 响应报文:<response>   …   <result>      <item>         …      </item>      <item>         …      </item>   </result></response>
参数类型参数名称参数代码必输说明
输入医院代码branchCodeY医院没有分院则传空;医院存在分院则不能为空
缴费项唯一标识mzFeeIdY用来唯一标识一笔缴费
输出交易结果代码resultCodeY-1:失败0:成功1:成功但没有查询到数据
错误消息resultMessageY当交易结果代码成功时,该字段返回空字符串
缴费项明细集合集合内容包括以下item
项目日期itemTimeY格式:YYYY-MM-DD 24HH:MI:SS
项目名称itemNameY 
项目类别/费别itemTypeY如:药费、检查费、材料费
单位itemUnitY 
项目编号itemIdY项目的标识符,没有则空
单价itemPriceY单位:分
规格itemSpecY 
数量itemNumberY 
项目价格合计itemTotalFeeY单位:分,等于:单价*数量
开出科室deptNameY 
开药医生代码doctorCodeY 
开药医生姓名doctorNameY 

 

1.1.5门诊缴费订单支付

请求地址 
注意1. 可以对多个缴费项一并缴费,一个交易流水号对应多个缴费项。
  1. 需要考虑发生网络延时或网络故障时的处理机制。若HIS系统已成功记录支付信息,但我方未收到HIS返回的结果,我方会再次尝试调用门诊缴费订单支付接口多次。对同一笔门诊缴费订单进行多次支付时,HIS系统应当作为一次门诊缴费订单支付处理,照样返回成功信息,而不是重复支付。在网络延时情况下,接口处理失败或接口处理成功,调用方可能接收不到结果,需要支持重复提交1. 对于处理失败的调用,第二次调用接口方继续按本接口定义返回
  2. 对于处理成功的调用,第二次调用“交易结果代码=1”,其他输出继续按本接口定义返回1. 医院对门诊缴费订单支付有自己的限定,由接口按医院实际情况做限定,并将限定信息通过“错误消息”返回。  | | | | | 接口名称 | ackPayOrder | | | | | 示例代码 | 请求报文:<request>   <params>      …</params></request> 响应报文:<response>         …         <result >        …     </result></response> | | | | | 参数类型 | 参数名称 | 参数代码 | 必输 | 说明 | | 输入 | 医院代码 | branchCode | Y | 医院没有分院则传空;医院存在分院则不能为空 | | 缴费项列表 | mzFeeIdList | Y | 可以是1..n个缴费项,中间用逗号隔开 | | | 付款金额 | payAmout | Y |   | | | 总金额 | totalAmout | Y |   | | | 公众服务平台订单号 | psOrdNum | Y | 公众服务平台(微信公众号、支付宝服务窗)用于唯一标识一笔交易的流水号 | | | 收单机构流水号 | agtOrdNum | Y | 对应收单机构(如财付通、支付宝、银联等机构)用于标识一笔支付交易的流水号 | | | 收单机构代码 | agtCode | Y | 财付通账号、银行卡账号等 | | | 付款方式 | payMode | Y | 1:微信2:支付宝 | | | 付款时间 | payTime | Y | 格式:YYYY-MM-DD 24HH:MI:SS | | | 输出 | 交易结果代码 | resultCode | Y | -1:失败0:成功1:已支付(输出按支付成功的返回值返回)2:不符合医院限定,无法支付(超过支付截止时间等) | | 错误消息 | resultMessage | Y | 当交易结果代码成功时,该字段返回空字符串 | | | 医院交易流水号 | hisOrdNum | Y | 用来唯一标识一笔门诊缴费交易 | | | 收据号 | receiptNum | N |   | | | 条形码 | barCode | N |   | | | 医院返回的信息 | hisMessage | Y |   | |

1.1.6查询支付状态

请求地址 
注意 
接口名称getPayStatus
示例代码请求报文:<request>   <params>      …</params></request> 响应报文:<response>         …         <result >        …     </result></response>
参数类型参数名称参数代码必输说明
输入医院代码branchCodeY医院没有分院则传空;医院存在分院则不能为空
TransactionID微信支付订单号Y 
PayTime支付时间N 
ChargeTotal支付金额N 
输出交易结果代码resultCodeY-1:失败0:成功 
错误消息resultMessageY当交易结果代码成功时,该字段返回空字符串
ReceiptSn发票流水号Y 
Guid指引信息Y 

 

1.1.7支付单据提醒(HIS调用宁远接口)

        1. 服务说明

当医生开出新的处方单,检查单,检验单等时,通知患者有新的支付单据。

        1. 输入
入参名称示例
data<request><head><key>hisRemind_common_payOrder</key><hospcode>组织机构编码</hospcode><token>权限验证</token><time>时间如20130901150401</time></head><body> <cardNo>诊疗卡号</cardNo><hisPayNo>支付单据号</hisPayNo><phone>手机号码</phone><patientName>患者姓名</patientName><payAmt>支付金额</payAmt><payType>检验费/</payType><docName>医生姓名</docName><depName>科室姓名</depName></body></request>
  
        1. 入参data节点说明
入参入参说明类型可空
patientName患者姓名Varchar(20)N
hisPayNo支付单据号VARCHAR2(40)N
phone电话号码VARCHAR2(40)Y
cardNo健康卡号/诊疗卡号VARCHAR2(40)Y
payAmt支付金额Varchar(10,2)N
payType费用类型说明,检验费,检查费,药费Varchar(20)N
docName开单医生Varchar(20)N
depName开单科室Varchar(100)Y

 

        1. 返回
入参名称示例
data<response><head><result>1</result><desc>推送成功</desc></head></response>
  

 

        1. 返回节点说明
入参入参说明类型可空
result返回值标志 1-成功 0-失败Varchar(1)N
desc返回值说明Varchar(100)Y

 

1.1.8诊间退费(his调用宁远接口)

          1. 服务说明(pay_refundFromOffline)

HIS在收费窗口直接调用退费接口,退费接口调用线上服务器实行退费申请.

注: 退费接口只是退费申请,费用的到帐并非实时到帐.如果是到钱包则在10分钟以内,如果原路返还到银行则需要2-5个工作日.不排除退费申请之后失败的情况发生(如卡已被锁或注销等情况).

          1. 输入
入参名称示例
data<request>    <head>        <key>pay_Comm_RefundFee(住院退费用      pay_Comm_inHospitalRefundFromOffline)</key>        <hospcode>组织机构编码</hospcode>        <token>权限验证</token>        <time>时间如20130901150401</time>    </head>    <body>        <refundType>退费类型(1-诊中退费,2-挂号费退费)</refundType><invoiceNo>发票号</invoiceNo>        <payTradeNo>支付流水号</payTradeNo>        <payMethod>weixin</payMethod>        <refundAmt>退费金额</refundAmt>        <refundTime>退费时间</refundTime>        <refundMan>退费人</refundMan>    </body></request>
JSON参照示例
          1. 入参data节点说明
入参入参说明类型可空
invoiceNo发票号VARCHAR2(40)NO
payTradeNo支付流水号VARCHAR2(40)NO
payMethod支付方式NUMBER(16,2)NO
refundAmt支付金额VARCHAR2(4)NO
refundTime退费时间VARCHAR2(64)NO
refundMan退费人VARCHAR2(20)NO

 

          1. 返回
入参名称示例
data成功:<response>    <head>        <result>1</result>        <desc>退费申请成功</desc>    </head>    <body>        <invoiceNo>发票号</<invoiceNo>        <refundState>退费状态</<refundState>        <refundTradeNo>退费流水号</refundTradeNo>        <refundTime>退费成功时间</refundTime>    </body></response> 失败:<response>    <head>        <result>0</result>        <desc>调用退费接口出错,请重试</desc>    </head></response> 
  

 

          1. 返回节点说明
入参入参说明类型可空
invoiceNo发票号VARCHAR2(40)NO 
refundState退费状态VARCHAR2(1)NO
refundTradeNo支付交易流水号VARCHAR2(64)NO
refundTime退费成功时间VARCHAR2(20)NO

1.1.9门诊缴费对账接口

1 .数据交互流程

2. 参数说明:

【函数定义】getMzPayList

【服务说明】门诊缴费对账接口

【参数示例】传入参数的具体的格式参照WeChat_GetOrganization

【参数说明】XmlParams:字符串XML参数。

【参数列表】

公用参数:

字段名中文意思数据类型强制标志注释
AccessKey访问授权码varchar(255)TRUE请咨询平台供应商
MethodName方法名 TRUE参考接口文档

参数列表:

字段名中文意思数据类型强制标志注释
Organization机构编码varchar(50)TRUE 
BeginDate开始时间datetimeTRUE必填
EndDate结束时间datetimeTRUE必填
patCardNo门诊号(就诊卡号)varchar(12)FALSE 

注:时间为空则返回该患者本年所有的缴费记录

3. 、返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
PatientName姓名varchar(50) 
PatientID病人IDvarchar(12) 
VisitTime住院时间datetime 
HisPayNo单据号varchar(20)病人ID^门诊流水号
ReceiptSn发票流水号varchar(20) 
PayStatus支付状态varchar(2)1已支付;-1已退费
PayType支付方式varchar(10)w微信支付
ChargeDate支付时间datetime 
ChargeTotal支付金额Decimal(18,0)单位:分
TransactionID支付订单号varchar(50) 
BusinessType类别varchar(1)1:门诊2:住院
RefundMan退费人varchar(50) 
RefundTime退费时间datetime 
RefundAmt退费金额Decimal(18,0) 
RefundNo退费流水号varchar(50) 

1.1.10  候诊查询(就诊队列)

1 .数据交互流程

2. 参数说明:

【函数定义】getDistInfo

【服务说明】候诊查询

【参数示例】

【参数说明】XmlParams:字符串XML参数。

【参数列表】:

参数列表:

字段名中文意思数据类型强制标志注释
patCardNo门诊号,或就诊卡号varchar(12)TRUE 

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功 -1:失败
Error返回消息varchar(32) 

 

 

【值列表】

返回值中文意思数据类型注释
VisitDate就诊时间datetime 
VisitDeptName就诊科室名称varchar(50) 
VisitDoctName就诊医生姓名varchar(50) 
Shift班次Int 
PatWaitCount等待就诊人数Int 
QueueSN就诊序号Int 
PatientName姓名varchar(50) 
BookTime预约时间Datetime 
Status队列状态varchar(2)1   已预约3   已分诊5   已就诊7   取消就诊8   取消预约9   取消分诊10  已通知11  正在就诊
BookType预约类型  

 

 

 

1.1.11检查结果列表查询

请求地址 
接口名称getExamineList
  
示例代码请求报文:<request>   <params>      …   </params></request> 响应报文:<response>   …   <result>      <item>         …      </item>      <item>         …      </item>   </result></response>
参数类型参数名称参数代码必输说明
输入医院代码branchCodeN医院没有分院则传入空字符串;医院不存在分院时不允许为空
诊疗卡类型patCardTypeN见 2.3.1 绑卡类型
诊疗卡号patCardNoN 
开始日期beginDateY格式:YYYY-MM-DD
结束日期endDateY格式:YYYY-MM-DD
输出 交易结果代码resultCodeY-1:失败0:成功1:成功但没有查询到数据
错误消息resultMessageY当交易结果代码成功时,该字段返回空字符串
检查结果集合以下是集合的内容item
患者姓名patNameY 
检查IDcheckIdY唯一标识某次检查
检查名称checkNameY 
报告类型checkTypeY 
报告类型名称checkTypeNameY 
检查科室deptNameY 
检查医生doctorNameY 
检查时间checkTimeY格式:YYYY-MM-DD 24HH:MI:SS
开单医生姓名orderDoctorY 
开单医生编码orderDoctorCodeY 
开单医生工号orderDoctorNoN 
开单科室orderDeptY 
报告时间ReportTimeY格式:YYYY-MM-DD 24HH:MI:SS
文件地址fileAddressN报告图片url地址

 

1.1.12检查结果详情查询

请求地址 
接口名称getExamineDetail
示例代码请求报文:<request>   <params>      …   </params></request> 响应报文:<response>   …   <result>      …   </reault></response>
参数类型参数名称参数代码必输说明
输入医院代码branchCodeY医院没有分院则传空;医院存在分院则不能为空
检查IDcheckIdY唯一标识某次检查
输出交易结果代码resultCodeY-1:失败0:成功1:成功但没有查询到数据
错误消息resultMessageY当交易结果代码成功时,该字段返回空字符串
患者姓名patNameY 
患者性别patSexYM:男,F:女
患者年龄patAgeY 
申请科室名称deptNameY 
报告医生姓名reportDocNameY 
临床诊断diagnosisN 
检查医生(技师)姓名checkDocNameY 
检查日期checkTimeY格式:YYYY-MM-DD HH:MM:SS
检查部位checkPartY 
检查方法checkMethodY 
检查所见checkSituationY 
诊断意见checkOptionY 
医嘱项adviceY 

 

1.1.13检验报告列表查询

请求地址 
接口名称getInspectList
示例代码请求报文:<request>   <params>      …   </params></request> 响应报文:<response>   …   <result>      <item>         …      </item>      <item>         …      </item>   </result></response>
参数类型参数名称参数代码必输说明
输入医院代码branchCodeN医院没有分院则传入空字符串;医院不存在分院时不允许为空
诊疗卡类型patCardTypeN见 2.3.1 绑卡类型
诊疗卡号patCardNoN 
开始日期beginDateY格式:YYYY-MM-DD
结束日期endDateY格式:YYYY-MM-DD
输出交易结果代码resultCodeY-1:失败0:成功1:成功但没有查询到数据
错误消息resultMessageY当交易结果代码成功时,该字段返回空字符串
检验报告集合以下是集合的内容item
患者姓名patNameY 
患者性别patSexYM:男,F:女
患者年龄patAgeY 
临床诊断diagnosisN 
检验IDinspectIdY 
检验名称inspectNameY 
送检科室deptNameY 
送检医生doctorNameY 
送检医生编码doctorCodeY 
送检医生工号doctorNoY 
送检时间inspectTimeY格式:YYYY-MM-DD 24HH:MI:SS
审核医生verifyDoctorY 
审核时间verifyTimeY格式:YYYY-MM-DD 24HH:MI:SS
检验医生inspectDoctorY 
检验时间provingTimeY格式:YYYY-MM-DD 24HH:MI:SS
报告时间reportTimeY格式:YYYY-MM-DD 24HH:MI:SS
文件地址fileAddressN图片或文件url地址

 

1.1.14检验报告详情查询

请求地址 
接口名称getInspectDetail
示例代码请求报文:<request>   <params>      …   </params></request> 响应报文:<response>   …   <result>      <item>         …      </item>      <item>         …      </item>   </ressult></response>
参数类型参数名称参数代码必输说明
输入 医院代码branchCodey医院没有分院则传空;医院存在分院则不能为空
检验IDinspectIdY 
输出交易结果代码resultCodeY-1:失败0:成功1:成功但没有查询到数据
错误消息resultMessagey当交易结果代码成功时,该字段返回空字符串
报告详情集合以下是集合的内容item
项目名称itemNameY 
结果resultY 
单位unitY 
参考范围refRangeY 
结果异常提示abnormalY0:正常1:偏高2:偏低

 

1.1.15扫码支付

本文档是宁远前置机扫码支付接口文档,his方调用该接口,获得对应的url地址,生成二维码打印到处方单上供患者扫码进行支付

          1. 调用方式

双方通过WebService(Soap Web Service,TCP 通讯)进行调用。

          1. 调用地址

双方在协调测试和部署时,告知对方的接口调用地址,地址采用同一个URL。业务在POST的XML字符串中进行封装

调用方法:requestWS

 

 

          1. 消息结构说明

1,请求消息结构:

<request>

<head>

<key>业务唯一标识</key>

<hospcode>组织机构编码</hospcode>

<token>权限验证</token>

<time>时间如20130901150401</time>

</head>

<body>业务参数</body>

</request>

 

应答消息结构:

<response>

<head>

<result>请求状态,0-失败 1-成功</result>

<desc>成功或失败原因</desc>

</head>

<body><表名>业务数据</表名></body>

</response>

          1. 宁远提供接口
          2. 服务说明

HIS调用此接口,传入金额,单据号,卡号等信息,宁远返回支付的url,his根据此url生成二维码,打印到处方单上。

          1. 输入
入参名称示例
data<request>    <head>        <key>scanpay_comm_qrCode</key>        <hospcode>138</hospcode>        <token></token>        <time></time>    </head>    <body>     <card_no>8888888</card_no>     <health_no>patientId^就诊次数</health_no>     <unit_branch_id>分院id</unit_branch_id>     <name>姓名</name>    </body></request>
  
          1. 入参data节点说明
入参入参说明类型长度可空
hospcode医院IDvarchar(32)N
card_no患者卡号或登记号或病人id,跟诊中绑卡一致varchar(64)N
Health_no就诊记录号或门诊流水号Varchar(64)Y
unit_branch_id分院idvarchar(32)n
name患者姓名varchar(32)Y

 

          1. 返回
入参名称示例
data成功:<response><head><result>1</result><desc>SUCCESS</desc></head><body>    <url> wxistest.91160.com/wxis/anaCod…
  

 

 

1.1.16在线取号

请求地址 
接口名称getOrderReg
示例代码请求报文:<request>   <params>      …   </params></request> 响应报文:<response>   …   <result>      <item>         …      </item>      <item>         …      </item>   </result></response>
参数类型参数名称参数代码必输说明
输入医院编码hospitalcodeY医院没有分院则传空;医院存在分院则不能为空
身份证号SFZHY无时传0
预约订单号ORDERNOY 
输出 病人门诊号码bahY 
门诊流水号MzlshN 
社保流水号SblshY 
订单号ORDERNOY 
身份证号SfzhY 
科室名称DepartmentNameY 
科室地址DepartmentPlaceY 
科室代码DepartmentCodeY 
级别名称DoctorTypeY 
医生姓名DoctorNameY 
医生工号DoctorCodeY 
 预约日期RegistDateY 
 预约开始时间BeginTimeY时间段格式:小时:分钟
 预约结束时间EndTimeY时间段格式:小时:分钟
 支付标志PayStateY-1未支付,0已支付
 自费金额ZfjeY 
 社保金额SbjeY 
 挂号费GhfY 

 

 

1.1.17 体检报告清单查询

1 .数据交互流程

2. 参数说明:

【函数定义】getExaminationList

【服务说明】体检报告清单查询

【参数示例】

【参数说明】XmlParams:字符串XML参数。

【参数列表】

参数列表:

字段名中文意思数据类型强制标志注释
patCardNo就诊卡号varchar(12)FALSE 
empCheckNo体检号varchar(20)FALSE 
beginDate开始时间datetimeTRUE 
endDate结束时间datetimeTRUE 

 

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
PHY_ID体检单IDvarchar(32) 
PatientId病人IDvarchar(12) 
MOBILE手机号码varchar(32) 
NAME用户姓名varchar(32) 
SEX性别varchar(64) 
PNO体检编号varchar(128) 
AGE年龄varchar(128) 
HOS_ID医院IDvarchar(50) 
EXAM_DESC检查综述varchar(50) 
DOC_PROPOSAL医生建议varchar(40) 
REMARK说明varchar(128) 
DOCTOR_NAME总检医生varchar(32) 
TEL咨询电话varchar(32) 
PHY_DATE总检日期datetime 
REG_DATE登记日期datetime 

1.1.18 体检报告明细查询

1. 数据交互流程

2. 参数说明:

【函数定义】getExaminationDetail

【服务说明】体检报告明细查询

【参数说明】XmlParams:字符串XML参数。

【参数列表】

参数列表:

字段名中文意思数据类型强制标志注释
PHY_ID体检单IDvarchar(40)TRUE 

 

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
PHY_ID体检单IDvarchar(32) 
RES_TYPE检查类型varchar(32)1检查,2检验,3其他
ITEM_NAME项目名称varchar(40) 
ITEM_CODE项目编号varchar(20) 
EXAM_DATE检查日期varchar(40) 
DOCTOR_NAME1检查医生varchar(40) 
RAMARK1备注varchar(40) 
ASSAY_NAME项目名称varchar(40) 
ASSAY_VALUE检查结果varchar(40) 
UNIT单位varchar(40) 
PROMPT提示varchar(40) 
REFER参考值varchar(40) 
Summary小结varchar(40) 

 

 

 

 

 

    1. 第二部分:住院

2.1.1WeChat_GetZyPatientInfo:获取住院患者资料

1 .数据交互流程

2. 参数说明:

【函数定义】WeChat_GetZyPatientInfo

【服务说明】获取住院患者资料

【参数示例】传入参数的具体的格式参照WeChat_GetOrganization

【参数说明】XmlParams:字符串XML参数。

【参数列表】

入参参数列表:

字段名中文意思数据类型强制标志注释
PatientName病人姓名varchar(50)TRUE 
InpatientNo住院号varchar(12)TRUEID号、住院号、身份证号三者不能同时为空
PatientID病人IDvarchar(12)TRUEID号、住院号、身份证号三者不能同时为空
IDCard身份证号varchar(18)TRUEID号、住院号、身份证号三者不能同时为空

 

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
PatientID病人IDvarchar(12) 
PatientName病人姓名varchar(100) 
InpatientNo住院号varchar(12) 
AdmissTimes住院次数int 
ReferPhysician管床医生工号varchar(10) 
ReferPhysicianName主管医生姓名vharchar(50) 
Dept当前科室varchar(10) 
BedNo病床号varchar(8) 
Status住院状态varchar(10)in  住院;out 出院
AdmissDate入院日期datetime格式:YYYY-MM-DD
DisDate出院日期datetime格式:YYYY-MM-DD,本次入院还未出院,则返回空字符串

2.1.2WeChat_GetZyInfos:查询住院信息(列表)详情

1 .数据交互流程

2. 参数说明:

【函数定义】WeChat_GetZyInfos

【服务说明】获取患者住院信息列表及详情。患者在手机上通过绑定一个住院号可以查询当次和历次的住院记录信息,当住院状态不为空时,可以根据住院状态查询。
【参数示例】传入参数的具体的格式参照WeChat_GetZyInfos

【参数说明】XmlParams:字符串XML参数。

【参数列表】

入参,参数列表:

字段名中文意思数据类型强制标志注释
CheckinNo每次住院流水varchar(50)TRUE住院流水及住院号两者不能同时为空
InpatientNo住院号varchar(12)TRUE住院流水及住院号两者不能同时为空
BeginDate开始时间varchar(20)FALSE开始时间
EndDate结束时间Varchar(20)FALSE结束时间
ZYstate住院状态Varchar(2)FALSEin  在院out 出院不传代表全部
Type查询列表标志Varchar(2)TRUE查询列表的时候传1,查询明细的时候传2,当传2的时候,CheckinNo节点不能为空,其他节点为空。

备注:当begin_date和end_date 为空时默认查询一年的住院记录。

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
CheckinNo住院流水号varchar(12) 
PatientName病人姓名varchar(100) 
InpatientNo住院号varchar(12) 
DepId住院科室IDint 
DeptName住院科室名称varchar(10) 
BedNo床号vharchar(50) 
Diagnose临床诊断varchar(10) 
Status住院状态varchar(10)in  在院out 出院
AdmissDate入院日期datetime格式:YYYY-MM-DD
DisDate出院日期datetime格式:YYYY-MM-DD,本次入院还未出院,则返回空字符串
DisDiag出院诊断varchar(200) 
FeeTotal费用总额Dec(18,0)单位:元
DepositfeeTotal押金总额Dec(18,0)单位:元
DepositfeeBalance押金可用余额Dec(18,0)单位:元

 

 

2.1.3WeChat_GetDailyLedgerList查询每日清单列表

1 .数据交互流程

2. 参数说明:

【函数定义】WeChat_GetDailyLedgerList

【服务说明】患者在通过住院号流水号可以查询关联的住院周期内费用清单(每日汇总).当开始时间结束时间为空时,默认传当次住院的所有费用单据。【参数示例】传入参数的具体的格式参照WeChat_GetDailyLedgerList

【参数说明】XmlParams:字符串XML参数。

【参数列表】

入参,参数列表:

字段名中文意思数据类型强制标志注释
CheckinNo住院流水号varchar(50)TRUE当次住院流水号 
BeginDate开始时间varchar(20) 开始时间 YYYY-MM-DD
EndDate结束时间Varchar(20) 结束时间YYYY-MM-DD

备注:若时间为空,则返回当年1.1号到昨天的费用清单

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
CheckinNo住院流水号varchar(12) 
LedgerId记账Idvarchar(100) 
LedgerDate记账日期datetime格式:yyyy-mm-dd
FeeTotal费用总额dec(18,2)单位:元

 

 

2.1.4WeChat_GetDailyLedger查询每日清单明细

1 .数据交互流程

2. 参数说明:

【函数定义】WeChat_GetDailyLedger

【服务说明】患者在通过住院号流水号+帐单id查询每日费用清单(详单),当账单id=all时,查询当前流水号的所有账单的明细。参数的具体的格式参照WeChat_GetDailyLedger

【参数说明】XmlParams:字符串XML参数。

【参数列表】

入参,参数列表:

字段名中文意思数据类型强制标志注释
CheckinNo住院流水号varchar(50)TRUE当次住院流水号
LedgerId记账IDvarchar(100)TRUE每天的帐单id

 

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
CheckinNo住院流水号varchar(12) 
LedgerId记账Idvarchar(30) 
LedgerDate记账日期datetime格式:YYYY-MM-DD
FeeItem费用项目Varchar(20) 
FeeItemCode费用项目代码Varchar(20)非空
ChargePrice单价Dec(18,2)单位:元
Amt数量Varchar(20) 
Unit单位Varchar(20) 
Std规格Varchar(20) 
FeeType费用项目类别Varchar(20)如手术费、西药费、材料费
ItemTime费用执行时间Varchar(20)格式:yyyy-mm-dd hh:mm:ss
FeeTime费用产生时间Varchar(20)格式:yyyy-mm-dd hh:mm:ss
FeeItemTotal单项项目总额Dec(18,0)单位:元
FeeTotal费用总额Dec(18,0)单位:元

 

 

2.1.5WeChat_PayDepositFee住院押金缴入

1 .数据交互流程

2. 参数说明:

【函数定义】WeChat_PayDepositFee

【服务说明】住院押金缴入

【参数说明】XmlParams:字符串XML参数。

【参数列表】

入参,参数列表:

字段名中文意思数据类型强制标志注释
CheckinNo住院流水号varchar(50)TRUE当次住院流水号
OprId收费员varchar(20)TRUEHis是否需要 NY05
PayMethod支付方式varchar(20)TRUEHis是否需要  14
InpatientNo住院号varchar(20)FALSE患者在院内信息系统的唯一号码
TradeNo支付交易流水号varchar(20)TRUE使用网上支付的流水号
TradeTime支付交易时间varchar(20)TRUE网上支付的时间
PayAmt支付金额numberic(20)TRUE单位:元

 

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
Rs结果varchar(2)0:成功 -1:失败
Msg结果消息varchar(5000) 
ReceiptNo押金回执单varchar(12)His的发票号

 

2.1.6WeChat_GetDepositFee押金缴费记录查询

1 .数据交互流程

2. 参数说明:

【函数定义】WeChat_GetDepositFee

【服务说明】查询患者住院押金缴费记录.

【参数说明】XmlParams:字符串XML参数。

【参数列表】

入参,参数列表:

字段名中文意思数据类型强制标志注释
CheckinNo住院流水号varchar(50)TRUE 
InpatientNo住院号varchar(20)FALSE患者在院内信息系统的唯一号码

 

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
PayTime缴费时间varchar(12) 
ChannelId支付渠道varchar(30)支付的渠道,比如 91160/银行/窗口
PayMethodName支付方式varchar(30)患者缴费的渠道,现金/weixin/alipay
PayAmt缴费金额Dec(18,0)缴纳的押金金额,单位元

 

2.1.7WeChat_QueryPayState押金缴入状态查询

1 .数据交互流程

2. 参数说明:

【函数定义】WeChat_QueryPayState

【服务说明】查询患者住院押金缴费记录.

【参数说明】XmlParams:字符串XML参数。

【参数列表】

入参,参数列表:

字段名中文意思数据类型强制标志注释
CheckinNo住院流水号varchar(50)TRUE 
TradeNo支付交易流水号varchar(20)FALSE 

 

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
ReceiptNo押金回执单varchar(12)也就是发票号

 

 

2.1.8WeChat_CheckInfoCount查看当次住院费用

1 .数据交互流程

2. 参数说明:

【函数定义】WeChat_CheckInfoCount

【服务说明】患者在通过住院号流水号,查询当前流水号的所有账单的统计。

【参数说明】XmlParams:字符串XML参数。

【参数列表】

入参,参数列表:

字段名中文意思数据类型强制标志注释
CheckinNo住院流水号varchar(50)TRUE当次住院流水号

 

3. 返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
CheckinNo住院流水号varchar(12) 
FeeType项目类别varchar(30) 
FeeTypeTotal该类别费用总和Dec(18,2)单位:元
FeeTotal总费用Dec(18,2)单位:元

 

2.1.9WeChat_GetZyPayList:住院押金对账接口

1 .数据交互流程

2. 参数说明:

【函数定义】WeChat_GetZyPayList

【服务说明】住院押金对账接口

【参数示例】传入参数的具体的格式参照WeChat_GetOrganization

【参数说明】XmlParams:字符串XML参数。

【参数列表】

参数列表:

字段名中文意思数据类型强制标志注释
Organization机构编码varchar(50)TRUE 
BeginDate开始时间datetimeTRUE 
EndDate结束时间datetimeTRUE 
PatientID病人IDvarchar(12)False 

注:时间为空则返回该患者本年所有的缴费记录

3. 、返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
Result返回结果varchar(30)0:成功-1:失败
Error返回消息varchar(32) 

 

【值列表】

返回值中文意思数据类型注释
PatientName姓名varchar(50) 
PatientID病人IDvarchar(12) 
VisitTime住院时间datetime 
HisPayNo住院单据号varchar(20)病人ID^住院次数
ReceiptSn发票流水号varchar(20) 
PayStatus支付状态varchar(2)1已支付;-1已退费
PayType支付方式varchar(10)w微信支付
AccountSn支付次数int 
ChargeDate支付时间datetime 
ChargeTotal支付金额Decimal(18,0)单位:元
TransactionID支付订单号varchar(50) 
BusinessType类别varchar(1)1:门诊2:住院
RefundMan退费人varchar(50)住院不做微信退费,退费全为空
RefundTime退费时间datetime住院不做微信退费,退费全为空
RefundAmt退费金额Decimal(18,0)住院不做微信退费,退费全为空
RefundNo退费流水号varchar(50)住院不做微信退费,退费全为空

 

 

 

 

2.1.10inHos_warnDeposit:住院押金提醒接口

1 .数据交互流程

2. 参数说明:

【函数定义】inHos_warnDeposit

【服务说明】住院押金提醒接口

【参数示例】传入参数的具体的格式参照inHos_warnDeposit

【参数说明】XmlParams:字符串XML参数。

【参数列表】

入参,参数列表:

字段名中文意思数据类型强制标志注释
unit_id医院编码varchar(50)TRUE深圳儿童医院为111
checkin_no住院流水号datetimeTRUE 
patient_no住院号datetimeTRUE 
phone手机号varchar(12)TRUE 
warn_msg提醒内容varchar(20)TRUE您的住院押金余额较低(999.00),请及时充值

3. 、返回信息:

返回值为XML参数字符串。

【参数列表】

返回值中文意思数据类型注释
result返回结果varchar(30)1-推动成功 0-推送失败
desc返回消息varchar(32) 

 

4. 押金提醒接口示例:

入参名称示例
data<request><head><key>inHos_warnDeposit</key><hospcode>111/hospcode><token></token><time></time></head><body><checkin_no>住院流水号</checkin_no><patient_no>住院号</patient_no><phone>手机号码</phone><warn_msg>您的住院押金余额较低(999.00),请及时充值额</warn_msg></body></request>
  

出参:

 

入参名称示例
data<response><head><result>1</result><desc>推送成功</desc></head></response>