珠海社保系统_第1页
珠海社保系统_第2页
珠海社保系统_第3页
珠海社保系统_第4页
珠海社保系统_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、珠海社保系统珠海社保系统医院医院 POS 功能接口功能接口修订记录:版本时间修订人修订内容目 录1 系统目标系统目标.21.1 背景情况.21.2 系统目标.2功能目标.2性能目标.22 系统结构系统结构.22.1 概述.22.2 网络结构.32.3 系统划分.3端动态链接库.3端演示程序.33 数据链路层和传输层通讯协议数据链路层和传输层通讯协议.33.1 数据链路层协议.33.2 传输层协议.34 交易描述交易描述.54.1 脱机消费.5交易流程.5数据流程.6应用层数据包.64.2 黑名单管理(暂未启用).9数据流程.9应用层数据包.101 系统目标系统目标1.1 背景情况背景情况珠海市

2、社会保障卡系统建设目标为五保合一,并作为广东省社保系统的试点系统。个人医疗保障账户要求专款专用,个人医疗保障账户和社会保障卡上的医疗保障电子钱包上的金额专用于支付指定的医疗和购药费用。目前,交易中心的结构未定(单中心或无中心) ,本子系统要求充分考虑了两种中心的情况。1.2 系统目标系统目标本子系统要求采用珠海社保指定的 IC 卡、PSAM 卡,在 P70-S POS 终端上完成脱机消费以及与医院收费 PC 之间的数据交换,向珠海社保局及相关部门证明系统结构的可行性和设备的可用性。同时,要求本子系统在结构上允许采用不同的 IC 卡交易终端设备(包括 POS 终端和IC 卡读卡器) ,无论采用何

3、种终端设备,通讯接口不变。实现社保卡的脱机消费实现黑名单管理实现与 PC 之间的串口通讯预留圈存交易接口,但本次不要求实现不计入用户输入密码的时间,脱机消费交易在 3 秒内完成终端至少有 160k 字节的存储空间,可用于存储约 20000 条黑名单,该存储空间要求掉电保持终端至少有 100k 字节的存储空间,可用于存储约 2000 条交易明细,该存储空间要求掉电保持2 系统结构系统结构2.1 概述概述POS 终端与 PC 通过 RS232 串口连接,每次消费交易由 PC 触发,POS 终端取得 PC 给出的交易金额和其他有关信息后,完成脱机消费交易,并将交易结果和批上送时需要的数据回传给 PC

4、。POS 上应同时保留交易信息,根据 PC 的通知清除。黑名单更新时,由 PC 发送黑名单更新通知给 POS,POS 发出更新请求,逐批从 PC取得黑名单信息,直至完成,黑名单更新要求在 5 分钟内完成,不需要支持断点续传。2.2 网络结构网络结构2.3 系统划分系统划分本演示子系统软件分为三个部分:PC 端程序PC 端动态链接库POS 端程序端程序端程序使用 Power Builder 编写。C 语言编写,由 Power Builder 程序动态调用,可运行平台包括:Windows 95 / 98 / NT / 2000 / XP。C 语言编写,在 P70-S 上运行。3 数据链路层和传输层

5、通讯协议数据链路层和传输层通讯协议3.1 数据链路层协议数据链路层协议通过 RS232 串口传输数据。缺省参数:9600Bps,8 位数据位,1 位停止位,无校验位。3.2 传输层协议传输层协议数据包以 STX(0 x02)起始,后跟 2 字节 BCD 码长度(序号和实际传输内容的长度) ,1 字节 seq 标示信息包序号,中间为实际传输内容,以 ETX(0 x03)结束,最后为 1 字节的LRC 校验。实际传输内容要求为 ASCII 可见字符(0-9, a-z, A-Z)形式的信息。如下:STX(1 字节)长度(2 字节,BCD码,高位在前)Seq(1 字节)实际传输内容(可变长,最大不超过

6、 1000 字节)ETX(1 字节)LRC(1 字节,从长度开始至 ETX)字符间超时时间为 0.5 秒。Seq 的有效值为0 9,通讯双方必须维护自己的 Seq, 每一新的数据包,Seq 值循环PCPOSRS232LANDLL动态调用递增。连续两个数据包,若 seq 相同,则视为重发的数据包。接收方收到发送方的数据包后,LRC 校验成功的,发送一字节 ACK(0 x06)字符表示确认,否则发送 NAK(0 x15)表示数据包出错。接收超时的,也发送 NAK。如果收到 Seq值重复的数据包,也发 ACK 予以确认。发送方收到接收方的 NAK 或是发送数据包 3 秒后未收到 ACK,视为本次发送

7、失败,进行重发,重发最多进行两次。三次发送均未成功的,放弃发送,向应用层报告失败。4 交易描述交易描述4.1 脱机消费脱机消费接收PC信息,启动脱机消费交易获取用户密码提示插卡并检测验证IC卡合法性,检查黑名单读取卡片余额进行扣费消费金额大于卡片余额?屏幕提示:交易成功发送交易结果和有关数据给PC结束在POS上保存交易记录开始屏幕提示:余额不足,请先圈存NYPOSPC(1)脱机消费请求(2)脱机消费结响应脱机交易请求包脱机交易请求包 1(查询卡基本信息)(查询卡基本信息)为空,传入的长度参数为 0脱机交易响格式(查询卡基本信息)脱机交易响格式(查询卡基本信息)交易类型(1 字节,查询为0 x3

8、1)(1 字节,交易结果标志交易数据(交易成功 426 定长字节,内容见下,交易失败时,为中文提示信息)交易结果标志:交易结果标志:1 字节,0 x00-成功,后面跟的是 107 个字节的交易数据 其他值 交易失败,后面以中文字符方式应答了失败原因,不需要处理其响应码交易数据:交易数据:107 字节的交易数据(为了不更改以后接口用)注:注:BCD码为压缩的十进制数,码为压缩的十进制数,HEX为为16进制数,为不可压缩数值进制数,为不可压缩数值。卡的识别码16 字节32 位压缩 BCD 码卡类别 1 字节规范版本 4 字节HEX 码初始化机构编号12 字节24 位压缩 BCD 码发卡日期 4 字

9、节8 位压缩 BCD 码失效日期 4 字节8 位压缩 BCD 码卡号 9 字节字符公民身份证号码 18 字节字符姓名 30 字节字符性别 1 字节字符民族 1 字节2 位压缩 BCD 码出生地 3 字节6 位压缩 BCD 码出生日期 4 字节8 位压缩 BCD 码 附上 C 语言结构typedef struct unsigned char card_id0 x10;unsigned char card_type0 x01;unsigned char criterion0 x04;unsigned char initorgan0 x0c;unsigned char issuer_dt0 x04;

10、unsigned char expire0 x04;unsigned char cardno0 x09;unsigned char personid0 x12;unsigned char name0 x1e;unsigned char sex0 x01;unsigned char nation0 x01;unsigned char homeplace0 x03;unsigned char birthday0 x04; T_MEDICARDINFO;脱机交易请求包脱机交易请求包 1(查询)(查询)为空,传入的长度参数为 0脱机交易响格式(查询)脱机交易响格式(查询)交易类型(1 字节,查询为0

11、x31)(1 字节,交易结果标志交易数据(交易成功 426 定长字节,内容见下,交易失败时,为中文提示信息)交易结果标志:交易结果标志:1 字节,0 x00-成功,后面跟的是 426 个字节的交易数据 其他值 交易失败,后面以中文字符方式应答了失败原因,不需要处理其响应码交易数据:交易数据:426 字节的交易数据(为了不更改以后接口用)注:注:BCD码为压缩的十进制数,码为压缩的十进制数,HEX为为16进制数,为不可压缩数值进制数,为不可压缩数值。卡的识别码16 字节32 位压缩 BCD 码卡类别 1 字节规范版本 4 字节HEX 码初始化机构编号12 字节24 位压缩 BCD 码发卡日期 4

12、 字节8 位压缩 BCD 码失效日期 4 字节8 位压缩 BCD 码卡号 9 字节字符公民身份证号码 18 字节字符姓名 30 字节字符性别 1 字节字符民族 1 字节2 位压缩 BCD 码出生地 3 字节6 位压缩 BCD 码出生日期 4 字节8 位压缩 BCD 码基本医疗保险个人账户建立日期 4 字节8 位压缩 BCD 码定点医疗机构名称 1 62 字节字符定点医疗机构名称扩展 1 8 字节字符定点医疗机构代码 1 9 字节字符定点医疗机构名称 2 62 字节字符定点医疗机构名称扩展 28 字节字符定点医疗机构代码 2 9 字节字符定点医疗机构名称 3 62 字节字符定点医疗机构名称扩展

13、3 8 字节字符定点医疗机构代码 3 9 字节字符医疗证号 15 字节字符基本医疗保险个人账户 10 字节字符医疗人员类别 1 字节医疗保险用卡方式 1 字节基本医疗保险个人账户余额 4 字节高位在前的 HEX 码年度个人自付累计金额4 字节高位在前的 HEX 码年度统筹基金支付累计金额4 字节高位在前的 HEX 码发卡行 ID 8 字节 16 位 BCD 码(转换后取左三位上传)最近审核日期 4 字节 8 位压缩 BCD 码分散因子 8 字节 HEX 码黑名单版本号 19 字节 附上 C 语言结构typedef struct unsigned char card_id0 x10;unsign

14、ed char card_type0 x01;unsigned char criterion0 x04;unsigned char initorgan0 x0c;unsigned char issuer_dt0 x04;unsigned char expire0 x04;unsigned char cardno0 x09;unsigned char personid0 x12;unsigned char name0 x1e;unsigned char sex0 x01;unsigned char nation0 x01;unsigned char homeplace0 x03;unsigned

15、 char birthday0 x04;unsigned char accreatedt 0 x04;unsigned char hospitalname10 x3e;unsigned char hospitalnameext10 x08;unsigned char hospitalcode10 x09;unsigned char hospitalname20 x3e;unsigned char hospitalnameext20 x08;unsigned char hospitalcode20 x09;unsigned char hospitalname30 x3e;unsigned cha

16、r hospitalnameext30 x08;unsigned char hospitalcode30 x09;unsigned char medicerti0 x0f;unsigned char mediaccount0 x0a;unsigned char meditype0 x01;unsigned char usecardtype0 x01;unsigned char balance00 x04;unsigned char balance10 x04;unsigned char balance20 x04;unsigned char bankid 0 x08;unsigned char

17、 latestchktime 0 x04;unsigned char diverfactor 0 x08; unsigned char blacklistver 0 x13; T_MEDICARDINFO;脱机交易请求脱机交易请求 2(消费)(消费)金额(12 位数值,压缩成 6 字节 BCD码,不足时前补0)商户名称(16字节,即最多8 个中文字,不足填空格)商户操作人员姓名(8 字节,即最多 4 个中文字,不足填空格)PC 编号(12 字节ASCII, 不足时后补二进制 0)PC 交易序号(12 字节ASCII, 不足时后补二进制 0)脱机交易响应脱机交易响应 2(消费)(消费)交易类型(

18、1 字节,消费为 0 x32)0 x02(1 字节,交易结果标志)交易数据(交易成功 34 定长字节,内容见下,交易失败时,为中文提示信息)交易结果标志:交易结果标志:1 字节,0 x00-成功,后面跟的是 34 个字节的交易数据 其他值 交易失败,后面以中文字符方式应答了失败原因,不需要处理其响应码交易数据:交易数据:34 字节,仅在交易成功时需要,包括以下数据:交易类型标志,1 字节,根据医保卡规范交易金额 12 位数值 6 字节 BCD 码,高位前,单位为分交易日期, 8 位数值, 4 字节 BCD 码,CCYYMMDD交易时间, 6 位数值, 3 字节 BCD 码,HHMMSS终端机编

19、号, 12 位数值,6 字节 BCD 码PSAM 交易号, 4 字节 高位在前的 HEX 码卡片的交易签名 TAC 4 字节的 HEX 码卡片的脱机交易序号 2 字节 高位在前的 HEX 码卡片交易后余额4 字节 高位在前的 HEX 码注意:1 BCD 码为压缩的十进制数,HEX 为 16 进制数,为不可压缩数值。 2金额使用压缩的 12 位 BCD 码 参照 ISO8583 规范3所有数据使用规范参照现用的医保卡标准,银行清算需要这些数据进行交易有效性检查附上 C 结构typedef struct /*交易类型标志 */unsigned char transtype;/*交易金额 */uns

20、igned char transamount6;/*交易日期时间 */unsigned char transdatetime7;/*终端机编号*/unsigned char samid6;/*PSAM 卡交易序号 */unsigned char psamptc4;/*用户卡验证码 */unsigned char transtac4;/*用户卡交易序号 */unsigned char transoffctc2;/*用户卡余额 */unsigned char nowbalance4; T_SENDTRANS;脱机清算请求脱机清算请求为空,传入的长度参数为 0脱机清算响应脱机清算响应交易类型(1 字节,为 0 x34)(1 字节,交易结果标志交易数据(交易成功 12 定长字节,内容见下,交易失败时,为中文提示信息)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论