1、武汉市民健康卡读写卡器接口规范武汉市居民健康卡接口规范版本号修改时间修改说明修改人V1.0邓磊V1.2 增加写个人信息时 加入结束指令的要 求。李志民V1.32015/6/11新增 DLL 封装整体要 求。李志民V1.42005/06/12按卫生部数据规范,补 齐门诊信息相关字段 内容。李志民V1.52015/6/16对 PSAM 卡的补充说 明。程序接口本身没有 变化。李志民V1.62015/10/10增加获取芯片序列号方法的说明李志民1、 DLL 封装整体要求 本接口文档中所要求实现的接口函数统一封装在一个动态库中,名称统一为 HealthyCarder.dll。 厂商所提供的 Healt
2、hyCarder.dll 如果需要依赖于其它动态库文件支持,则在开 发 HealthyCarder.dll 时,必须通过动态调用(C/C+环境下为 LoadLibrary)的 方式使用 DLL 资源。当 HealthyCarder.dll 发布实施时,与其相关的 DLL 要放在 同一个目录下。(说明:由于最终的用卡环境可能涉及多个厂商的机具,为了避 免各个厂商提供的驱动产生命名冲突,以及便于维护管理,集成商将每个厂商的 驱动都单独放在一个目录中。如果厂商的 HealthyCarder.dll 使用静态编译的方 式调用 DLL,那么在实际应用时,由于 HealthyCarder.dll 所在目录
3、不在系统默认 搜索范围之内,导致 HealthyCarder.dll 所依赖的 DLL 无法找到,上层应用调用 HealthyCarder.dll 产生失败。)2、 读卡信息int stdcall ReadCardInfo(char *OutputData, char *ErrMsg)出参: 卡的类别|规范版本号|发卡机构名称|发卡机构代码|发卡时间|卡号|安全码|发 卡序列号 |应用城市代码|芯片序列号返回: 0 成功 非零失败错误:ErrMsg注意:芯片序列号为卡片出厂时的唯一标识,每个制卡商标识规则不一样。该信息是 由终端发出复位信号以后,IC 卡以一串字节作为应答(即复位应答)的信息。
4、机具 厂商在读取复位信息时必须按照 ISO 7816 规范来处理。下图为握琦居民健康卡复位 信息示例:3、 读个人信息int stdcall ReadPeopleInfo(char *OutputData, char *ErrMsg)出参: 姓名|性别|民族|出生日期|居民身份证号码|卡有效期|本人电话号码 1|本人电 话 2|医疗费用支付方式 1|医疗费用支付方式 2|医疗费用支付方式 3|地址类别 1|地址 1|地址类别 2|地址 2|联系人姓名 1|联系人关系 1|联系人电话号码 1|联系人姓名 2|联 系人关系 2|联系人电话号码 2|联系人姓名 3|联系人关系 3|联系人电话 3|文
5、化程度代码|婚姻状况代码|职业代码|证件类别|证件号码|健康档案号|新农合卡号返回: 0 成功 非零失败错误:ErrMsg4、 读健康信息int stdcall ReadHealthInfo(char *OutputData, char *ErrMsg)出参: ABO 血型代码|RH 血型代码|哮喘标志|心脏病标志|心脑血管病标志|癫痫病标 志|凝血紊乱标志|糖尿病标志|青光眼标志|透析标志|器官移植标志|器官缺失标志|可 装卸的义肢标志|心脏起搏器标志|其他医学警示名称|精神病标志|过敏物质名称 1|过 敏反应 1|过敏物质名称 2|过敏反应 2|过敏物质名称 3|过敏反应 3|免疫接种名称
6、 1|免 疫接种时间 1|免疫接种名称 2|免疫接种时间 2|免疫接种名称 3|免疫接种时间 3|免疫 接种名称 4|免疫接种时间 4|免疫接种名称 5|免疫接种时间 5|免疫接种名称 6|免疫接 种时间 6|免疫接种名称 7|免疫接种时间 7|免疫接种名称 8|免疫接种时间 8|免疫接种 名称 9|免疫接种时间 9|免疫接种名称 10|免疫接种时间 10返回: 0 成功 非零失败错误:ErrMsg5、 提取住院信息int stdcall ReadEEFileInfo(int Recordid ,char *OutputData, char *ErrMsg)入参: Recordid 记录号(有
7、效取值 13)出参:住院机构名称|住院机构组织机构代码|入院日期|住院患者住院次数|病案号|住院患者入院科室名称|住院患者入院病情|住院患者医院感染名称|住院患者损伤和中 毒外部原因|住院患者血清学检查项目代码 1|住院患者血清学检查结果代码 1|疾病诊 断名称 1|疾病诊断代码 1|确诊日期 1|住院患者诊断符合情况-详细描述 1|住院患者诊 断符合情况-代码 1|住院患者疾病诊断类型-详细描述 1|住院患者疾病诊断类型-代码 1|住院患者治疗结果代码 1|手术/操作-名称 1|手术/操作-代码 1|手术/操作-日期 1| 麻醉-方法 1|麻醉-方法代码 1|手术切口愈合等级代码 1|住院患
8、者血清学检查项目代 码 2|住院患者血清学检查结果代码 2|疾病诊断名称 2|疾病诊断代码 2|确诊日期 2|住 院患者诊断符合情况-详细描述 2|住院患者诊断符合情况-代码 2|住院患者疾病诊断 类型-详细描述 2|住院患者疾病诊断类型-代码 2|住院患者治疗结果代码 2|手术/操作- 名称 2|手术/操作-代码 2|手术/操作-日期 2|麻醉-方法 2|麻醉-方法代码 2|手术切口愈 合等级代码 2|住院患者血清学检查项目代码 3|住院患者血清学检查结果代码 3|疾病 诊断名称 3|疾病诊断代码 3|确诊日期 3|住院患者诊断符合情况-详细描述 3|住院患者 诊断符合情况-代码 3|住院患
9、者疾病诊断类型-详细描述 3|住院患者疾病诊断类型-代 码 3|住院患者治疗结果代码 3|手术/操作-名称 3|手术/操作-代码 3|手术/操作-日期 3|麻醉-方法 3|麻醉-方法代码 3|手术切口愈合等级代码 3|住院期间输血品种代码 1| 住院期间输血量 1|住院患者输血量计量单位 1|住院期间输血品种代码 2|住院期间输 血量 2|住院患者输血量计量单位 2|住院期间输血品种代码 3|住院期间输血量 3|住院 患者输血量计量单位 3|住院期间输血品种代码 4|住院期间输血量 4|住院患者输血量 计量单位 4|住院患者抢救次数|住院患者抢救成功次数|出院日期|住院患者出院科室 名称|住院
10、患者住院天数|住院患者尸检标志|住院患者随诊标志|住院费用-医疗付款方 式代码|住院费用-分类 1|住院费用-分类代码 1|住院费用-金额 1|住院费用-分类 2|住 院费用-分类代码 2|住院费用-金额 2|住院费用-分类 3|住院费用-分类代码 3|住院费用-金额 3|住院费用-分类 4|住院费用-分类代码 4|住院费用-金额 4|住院费用-分类 5|住院费用-分类代码 5|住院费用-金额 5|住院费用-分类 6|住院费用-分类代码 6|住院费用-金额 6|住院费用-分类 7|住院费用-分类代码 7|住院费用-金额 7|住院费用-分类 8|住 院费用-分类代码 8|住院费用-金额 8|住院
11、费用-分类 9|住院费用-分类代码 9|住院费用-金额 9|住院费用-分类 10|住院费用-分类代码 10|住院费用-金额 10|住院费用-分类 11|住院费用-分类代码 11|住院费用-金额 11|住院费用-分类 12|住院费用-分类代码12|住院费用-金额 12|住院费用-分类 13|住院费用-分类代码 13|住院费用-金额 13| 住院费用-分类 14|住院费用-分类代码 14|住院费用-金额 14|住院费用-分类 15|住院 费用-分类代码 15|住院费用-金额 15|住院费用-分类 16|住院费用-分类代码 16|住院 费用-金额 16|住院费用-分类 17|住院费用-分类代码 17
12、|住院费用-金额 17|住院费用- 分类 18|住院费用-分类代码 18|住院费用-金额 18|住院费用-分类 19|住院费用-分类 代码 19|住院费用-金额 19|住院费用-分类 20|住院费用-分类代码 20|住院费用-金额 20|住院总费用|床位费|住院护理费|住院西药费|住院中药费|住院化验费|住院诊疗费| 住院手术费|住院检查费|其他住院费用|(SAM 卡背后印刷的 20 位号码,非 12 位的号 码)返回: 0 成功 非零失败错误:ErrMsg6、 写住院信息int stdcall WriteEEFileInfo(char *InputData, char *ErrMsg)写入说
13、明:默认写入第一条,如果第一条记录存在(索引为 00),写入下一条,依次类推。如果 3 条记录都存在(写满),则覆盖第一条记录。入参:住院机构名称|住院机构组织机构代码|入院日期|住院患者住院次数|病案号|住 院患者入院科室名称|住院患者入院病情|住院患者医院感染名称|住院患者损伤和中 毒外部原因|住院患者血清学检查项目代码 1|住院患者血清学检查结果代码 1|疾病诊 断名称 1|疾病诊断代码 1|确诊日期 1|住院患者诊断符合情况-详细描述 1|住院患者诊 断符合情况-代码 1|住院患者疾病诊断类型-详细描述 1|住院患者疾病诊断类型-代码 1|住院患者治疗结果代码 1|手术/操作-名称 1
14、|手术/操作-代码 1|手术/操作-日期 1| 麻醉-方法 1|麻醉-方法代码 1|手术切口愈合等级代码 1|住院患者血清学检查项目代 码 2|住院患者血清学检查结果代码 2|疾病诊断名称 2|疾病诊断代码 2|确诊日期 2|住 院患者诊断符合情况-详细描述 2|住院患者诊断符合情况-代码 2|住院患者疾病诊断 类型-详细描述 2|住院患者疾病诊断类型-代码 2|住院患者治疗结果代码 2|手术/操作- 名称 2|手术/操作-代码 2|手术/操作-日期 2|麻醉-方法 2|麻醉-方法代码 2|手术切口愈 合等级代码 2|住院患者血清学检查项目代码 3|住院患者血清学检查结果代码 3|疾病 诊断名
15、称 3|疾病诊断代码 3|确诊日期 3|住院患者诊断符合情况-详细描述 3|住院患者 诊断符合情况-代码 3|住院患者疾病诊断类型-详细描述 3|住院患者疾病诊断类型-代 码 3|住院患者治疗结果代码 3|手术/操作-名称 3|手术/操作-代码 3|手术/操作-日期 3|麻醉-方法 3|麻醉-方法代码 3|手术切口愈合等级代码 3|住院期间输血品种代码 1| 住院期间输血量 1|住院患者输血量计量单位 1|住院期间输血品种代码 2|住院期间输 血量 2|住院患者输血量计量单位 2|住院期间输血品种代码 3|住院期间输血量 3|住院 患者输血量计量单位 3|住院期间输血品种代码 4|住院期间输血
16、量 4|住院患者输血量 计量单位 4|住院患者抢救次数|住院患者抢救成功次数|出院日期|住院患者出院科室名称|住院患者住院天数|住院患者尸检标志|住院患者随诊标志|住院费用-医疗付款方式代码|住院费用-分类 1|住院费用-分类代码 1|住院费用-金额 1|住院费用-分类 2|住 院费用-分类代码 2|住院费用-金额 2|住院费用-分类 3|住院费用-分类代码 3|住院费用-金额 3|住院费用-分类 4|住院费用-分类代码 4|住院费用-金额 4|住院费用-分类 5|住 院费用-分类代码 5|住院费用-金额 5|住院费用-分类 6|住院费用-分类代码 6|住院费用-金额 6|住院费用-分类 7|
17、住院费用-分类代码 7|住院费用-金额 7|住院费用-分类 8|住 院费用-分类代码 8|住院费用-金额 8|住院费用-分类 9|住院费用-分类代码 9|住院费用-金额 9|住院费用-分类 10|住院费用-分类代码 10|住院费用-金额 10|住院费用-分类 11|住院费用-分类代码 11|住院费用-金额 11|住院费用-分类 12|住院费用-分类代码12|住院费用-金额 12|住院费用-分类 13|住院费用-分类代码 13|住院费用-金额 13| 住院费用-分类 14|住院费用-分类代码 14|住院费用-金额 14|住院费用-分类 15|住院 费用-分类代码 15|住院费用-金额 15|住院
18、费用-分类 16|住院费用-分类代码 16|住院 费用-金额 16|住院费用-分类 17|住院费用-分类代码 17|住院费用-金额 17|住院费用- 分类 18|住院费用-分类代码 18|住院费用-金额 18|住院费用-分类 19|住院费用-分类 代码 19|住院费用-金额 19|住院费用-分类 20|住院费用-分类代码 20|住院费用-金额 20|住院总费用|床位费|住院护理费|住院西药费|住院中药费|住院化验费|住院诊疗费| 住院手术费|住院检查费|其他住院费用|返回: 0 成功 非零失败错误:ErrMsg7、 提取门诊信息int stdcall ReadEDFileInfo(int Re
19、cordid,char *OutputData, char *ErrMsg)入参: int Recordid 记录号(有效取值 15)出参:就诊机构名称|就诊机构组织机构代码|就诊日期时间|门诊号|就医科室名称|医 疗付款方式|症状名称 1|症状代码 1|诊断日期 1|门诊诊断名称 1|门诊诊断代码 1|发病 日期时间 1|症状持续时间 1|症状名称 2|症状代码 2|诊断日期 2|门诊诊断名称 2|门诊 诊断代码 2|发病日期时间 2|症状持续时间 2|症状名称 3|症状代码 3|诊断日期 3|门诊 诊断名称 3|门诊诊断代码 3|发病日期时间 3|症状持续时间 3|症状名称 4|症状代码
20、4| 诊断日期 4|门诊诊断名称 4|门诊诊断代码 4|发病日期时间 4|症状持续时间 4|症状名 称 5|症状代码 5|诊断日期 5|门诊诊断名称 5|门诊诊断代码 5|发病日期时间 5|症状持 续时间 5|检查/检验项目名称 1|检查/检验结果代码 1|检查/检验定量结果 1|检查/检验 计量单位 1|检查/检验项目代码 1|检查/检验项目名称 2|检查/检验结果代码 2|检查/ 检验定量结果 2|检查/检验计量单位 2|检查/检验项目代码 2|检查/检验项目名称 3|检 查/检验结果代码 3|检查/检验定量结果 3|检查/检验计量单位 3|检查/检验项目代码 3|检查/检验项目名称 4|
21、检查/检验结果代码 4|检查/检验定量结果 4|检查/检验计量单 位 4|检查/检验项目代码 4|检查/检验项目名称 5|检查/检验结果代码 5|检查/检验定量 结果 5|检查/检验计量单位 5|检查/检验项目代码 5|检查/检验项目名称 6|检查/检验结 果代码 6|检查/检验定量结果 6|检查/检验计量单位 6|检查/检验项目代码 6|检查/检验 项目名称 7|检查/检验结果代码 7|检查/检验定量结果 7|检查/检验计量单位 7|检查/ 检验项目代码 7|检查/检验项目名称 8|检查/检验结果代码 8|检查/检验定量结果 8|检 查/检验计量单位 8|检查/检验项目代码 8|检查/检验项
22、目名称 9|检查/检验结果代码 9|检查/检验定量结果 9|检查/检验计量单位 9|检查/检验项目代码 9|检查/检验项目名 称 10|检查/检验结果代码 10|检查/检验定量结果 10|检查/检验计量单位 10|检查/检 验项目代码 10|药物名称 1|药物剂型代码 1|用药天数 1|药物使用频率 1|药物使用剂量单位 1|药物使用次剂量 1|药物使用总剂量 1|药物使用途径代码 1|药物名称 2|药物剂型代码 2|用药天数 2|药物使用频率 2|药物使用剂量单位 2|药物使用次剂量 2|药物使 用总剂量 2|药物使用途径代码 2|药物名称 3|药物剂型代码 3|用药天数 3|药物使用频 率
23、 3|药物使用剂量单位 3|药物使用次剂量 3|药物使用总剂量 3|药物使用途径代码 3| 药物名称 4|药物剂型代码 4|用药天数 4|药物使用频率 4|药物使用剂量单位 4|药物使 用次剂量 4|药物使用总剂量 4|药物使用途径代码 4|药物名称 5|药物剂型代码 5|用药 天数 5|药物使用频率 5|药物使用剂量单位 5|药物使用次剂量 5|药物使用总剂量 5|药 物使用途径代码 5|手术/操作名称 1|手术/操作代码 1|手术/操作日期 1|手术/操作名称 2|手术/操作代码 2|手术/操作日期 2|手术/操作名称 3|手术/操作代码 3|手术/操作日 期 3|门诊费用分类名称 1|门
24、诊费用分类代码 1|门诊费用金额 1|门诊费用分类名称 2| 门诊费用分类代码 2|门诊费用金额 2|门诊费用分类名称 3|门诊费用分类代码 3|门诊 费用金额 3|门诊费用分类名称 4|门诊费用分类代码 4|门诊费用金额 4|门诊费用分类 名称 5|门诊费用分类代码 5|门诊费用金额 5|门诊费用分类名称 6|门诊费用分类代码 6|门诊费用金额 6|门诊费用分类名称 7|门诊费用分类代码 7|门诊费用金额 7|门诊费 用分类名称 8|门诊费用分类代码 8|门诊费用金额 8|门诊费用分类名称 9|门诊费用分 类代码 9|门诊费用金额 9|门诊费用分类名称 10|门诊费用分类代码 10|门诊费用
25、金额 10 | PSAM 卡号(SAM 卡背后印刷的 20 位号码,非 12 位的号码)返回: 0 成功 非零失败错误:ErrMsg8、 写门诊信息int stdcall WriteEDFileInfo(char *InputData, char *ErrMsg)写入说明:默认写入第一条,如果第一条记录存在(索引为 00),写入下一条,依次类推。如果 5 条记录都存在(写满),则覆盖第一条记录。入参:就诊机构名称|就诊机构组织机构代码|就诊日期时间|门诊号|就医科室名称|医 疗付款方式|症状名称 1|症状代码 1|诊断日期 1|门诊诊断名称 1|门诊诊断代码 1|发病 日期时间 1|症状持续时
26、间 1|症状名称 2|症状代码 2|诊断日期 2|门诊诊断名称 2|门诊 诊断代码 2|发病日期时间 2|症状持续时间 2|症状名称 3|症状代码 3|诊断日期 3|门诊 诊断名称 3|门诊诊断代码 3|发病日期时间 3|症状持续时间 3|症状名称 4|症状代码 4| 诊断日期 4|门诊诊断名称 4|门诊诊断代码 4|发病日期时间 4|症状持续时间 4|症状名 称 5|症状代码 5|诊断日期 5|门诊诊断名称 5|门诊诊断代码 5|发病日期时间 5|症状持 续时间 5|检查/检验项目名称 1|检查/检验结果代码 1|检查/检验定量结果 1|检查/检验 计量单位 1|检查/检验项目代码 1|检查
27、/检验项目名称 2|检查/检验结果代码 2|检查/ 检验定量结果 2|检查/检验计量单位 2|检查/检验项目代码 2|检查/检验项目名称 3|检 查/检验结果代码 3|检查/检验定量结果 3|检查/检验计量单位 3|检查/检验项目代码 3|检查/检验项目名称 4|检查/检验结果代码 4|检查/检验定量结果 4|检查/检验计量单 位 4|检查/检验项目代码 4|检查/检验项目名称 5|检查/检验结果代码 5|检查/检验定量 结果 5|检查/检验计量单位 5|检查/检验项目代码 5|检查/检验项目名称 6|检查/检验结 果代码 6|检查/检验定量结果 6|检查/检验计量单位 6|检查/检验项目代码
28、 6|检查/检验 项目名称 7|检查/检验结果代码 7|检查/检验定量结果 7|检查/检验计量单位 7|检查/ 检验项目代码 7|检查/检验项目名称 8|检查/检验结果代码 8|检查/检验定量结果 8|检 查/检验计量单位 8|检查/检验项目代码 8|检查/检验项目名称 9|检查/检验结果代码 9|检查/检验定量结果 9|检查/检验计量单位 9|检查/检验项目代码 9|检查/检验项目名称 10|检查/检验结果代码 10|检查/检验定量结果 10|检查/检验计量单位 10|检查/检验项目代码 10|药物名称 1|药物剂型代码 1|用药天数 1|药物使用频率 1|药物使用剂量 单位 1|药物使用次
29、剂量 1|药物使用总剂量 1|药物使用途径代码 1|药物名称 2|药物剂 型代码 2|用药天数 2|药物使用频率 2|药物使用剂量单位 2|药物使用次剂量 2|药物使 用总剂量 2|药物使用途径代码 2|药物名称 3|药物剂型代码 3|用药天数 3|药物使用频 率 3|药物使用剂量单位 3|药物使用次剂量 3|药物使用总剂量 3|药物使用途径代码 3| 药物名称 4|药物剂型代码 4|用药天数 4|药物使用频率 4|药物使用剂量单位 4|药物使 用次剂量 4|药物使用总剂量 4|药物使用途径代码 4|药物名称 5|药物剂型代码 5|用药 天数 5|药物使用频率 5|药物使用剂量单位 5|药物使
30、用次剂量 5|药物使用总剂量 5|药 物使用途径代码 5|手术/操作名称 1|手术/操作代码 1|手术/操作日期 1|手术/操作名称 2|手术/操作代码 2|手术/操作日期 2|手术/操作名称 3|手术/操作代码 3|手术/操作日 期 3|门诊费用分类名称 1|门诊费用分类代码 1|门诊费用金额 1|门诊费用分类名称 2| 门诊费用分类代码 2|门诊费用金额 2|门诊费用分类名称 3|门诊费用分类代码 3|门诊 费用金额 3|门诊费用分类名称 4|门诊费用分类代码 4|门诊费用金额 4|门诊费用分类 名称 5|门诊费用分类代码 5|门诊费用金额 5|门诊费用分类名称 6|门诊费用分类代码 6|
31、门诊费用金额 6|门诊费用分类名称 7|门诊费用分类代码 7|门诊费用金额 7|门诊费 用分类名称 8|门诊费用分类代码 8|门诊费用金额 8|门诊费用分类名称 9|门诊费用分 类代码 9|门诊费用金额 9|门诊费用分类名称 10|门诊费用分类代码 10|门诊费用金额 10 |返回: 0 成功 非零失败错误:ErrMsg9、 读设备识别码int stdcall ReadDevNum(char *OutputData, char *ErrMsg)出参:每个设备的唯一编号:各机具提供商简称+序列号 返回: 0 成功 非零失败错误:ErrMsg10、 读 SAM 卡号int stdcall Read
32、SamNum(char *OutputData, char *ErrMsg) 出参:SAM 卡卡号。(SAM 卡背后印刷的 20 位号码,非 12 位的号码) 返回: 0 成功 非零失败错误:ErrMsg11、 读取二代身份证信息int stdcall ReadCertCardInfos (const char *pBmpFile,char *OutputData, char*ErrMsg)入参: const char *pBmpFile 照片存储路径 出参:姓名|性别|民族|出生日期|户籍地址|身份证号|签发机关|截至有效期 返回: 0 成功 非零失败错误:ErrMsg12、 持卡人基本信息写入(保留)写入 DDF1 - EF06 全部数据。写入 DDF1 - EF05 中的卡号、发卡时间。 发卡时间由参数传入,卡号为身份证号。 由于写个人信息涉及结束指令的执行,而目前由于机具类型及卡类型不明(每个 项目、每个医疗机构的用卡环境都
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1