# 医疗保障信息平台定点基线版医药机构接口规范 v0.9.9.15 ## 1.14 动态库函数说明 ### 1.14.1 初始化 #### 1.14.1.1 说明 用以初始化动态库,加载使用动态库调用其它函数必须首先调用初始化函数。 #### 1.14.1.2 函数名 ```c long WINAPI Init(char* pInitInfo, char* pErrMsg); ``` #### 1.14.1.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.1.4 参数说明 **输入参数 pInitInfo [格式JSON]** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 是否必填 | 备注 | |------|------------|------------|------|------|----------|------| | 1 | IP | 服务端IP地址 | 字符 | 100 | Y | 医疗保障平台提供的服务端IP地址 | | 2 | PORT | 服务端端口 | 数值 | - | Y | 医疗保障平台提供的服务端端口 | | 3 | TIMEOUT | 超时 | 数值 | - | Y | 单位秒,访问服务端超时时间 | | 4 | LOG_PATH | 动态库日志目录 | 字符 | 100 | Y | 动态库日志生成所在目录:
1、目录不能超过三级
2、目录必须是英文字符,不能含有空格字符
3、目录有写权限 | | 5 | EC_URL | 电子凭证中台URL | 字符 | 1024 | Y | 电子凭证中台URL
例如:https://fuwu-test.nhsa.gov.cn/localcfc/api/hsecfc/localQrCodeQuery | | 6 | CARD_PASSTYPE | 社保卡验证密码方式 | 字符 | 2 | Y | 1:验证卡pin,2:验证数据库密码 | | 7 | API_NAME | CSB的_api_name | 字符 | - | Y | [version1.1]:例如api-powersi-test-pri | | 8 | API_VERSION | CSB的_api_version | 字符 | - | Y | [version1.1]:例如:1.0.0 | | 9 | ACCESS_KEY | CSB的_api_access_key | 字符 | - | Y | [version1.1]:例如:043a6d5927174ab5a7681b193b9fe0e3 | | 10 | SECRETKEY | CSB的secretKey | 字符 | - | Y | [version1.1]:例如:ZugfjXENyvGIQYdB+hFB+s9JL0A= | | 11 | ORG_ID | 定点编号 | 字符 | - | Y | [version1.1] | | 12 | EXT | JSON对象字符串 | 字符 | - | - | [version1.1]:预留 | | 13 | AREA_CODE | 定点所属行政区划代码 | 字符 | - | Y | [version1.2]:例如:例如南京的医院320100 | **示例:** ```json { "IP": "192.168.100.100", "PORT": 8080, "TIMEOUT": 120, "LOG_PATH": "C:\\log\\", "CARD_PASSTYPE": "1", "EC_URL": "https://fuwu-test.nhsa.gov.cn/localcfc/api/hsecfc/localQrCodeQuery", "API_NAME": "api-powersi-test-pri", "API_VERSION": "1.0.0", "ACCESS_KEY": "043a6d5927174ab5a7681b193b9fe0e3", "SECRETKEY": "ZugfjXENyvGIQYdB+hFB+s9JL0A=" } ``` **输出参数 pErrMsg** - 初始化错误时候返回错误信息,成功时候返回空 - 对应pErrMsg分配内存建议2048,不能小于2048 ### 1.14.2 读社保卡基本信息 #### 1.14.2.1 说明 驱动卡机读卡,返回卡内的基本信息。 #### 1.14.2.2 函数名 ```c long WINAPI ReadCardBas(char* pCardInfo, char* pBusiCardInfo); ``` #### 1.14.2.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.2.4 参数说明 **输出参数 pCardInfo** 当函数执行失败时候返回错误信息,成功时,该输出参数为读出的社保卡基本信息各数据项,依次为:发卡地区行政区划代码(卡识别码前6位)、社会保障号码、卡号、卡识别码、姓名、卡复位信息(仅取历史字节)、规范版本、发卡日期、卡有效期、终端机编号、终端设备号。各数据项之间以"|"分割,且最后一个数据项以"|"结尾。 例如:`639900|111111198101011110|X00000019|639900D15600000500BF7C7A48FB4966|张三|00814E43238697159900BF7C7A|1.00|20101001|20201001|410100813475|终端设备号|` 与[人社信息函[2016]38号-关于印发社会保障卡读写终端接口规范的通知20160720(终稿).doc]读基本信息一致。 对应pCardInfo内存分配长度,建议2048,不能小于2048。 **输出参数 pBusiCardInfo** 函数执行成功时候,返回业务卡串信息,后续需要卡串的医保业务,请使用此卡串信息。 对应pBusiCardInfo内存分配长度,建议8192,不能小于8192。 ### 1.14.3 检验PIN码 #### 1.14.3.1 说明 校验社保卡PIN码,在输入6次错误密码以后,社保卡自动锁定。 **验证规则:** - **本参保地持卡人就医必须校验密码** [1101交易返回的参保地医保区划等于本地医保区划] - **异地就医人员就医,按照本地医保局的要求来决定是否验证密码(基本不要求输入密码)** [1101交易返回的参保地医保区划不等于本地医保区划] #### 1.14.3.2 函数名 ```c long WINAPI VerifyPIN(char *pOutBuff); ``` #### 1.14.3.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.3.4 参数说明 **输出参数 pOutBuff** - 当函数执行成功时,此参数为空 - 当函数执行失败时,该输出参数为错误信息描述 - 对应pOutBuff分配的内存长度,建议1024,不能小于1024 ### 1.14.4 修改PIN码 #### 1.14.4.1 说明 修改社保卡PIN码,需要原密码验证通过后,并保证新密码和确认新密码输入一致才能修改成功。 **使用规则:** - **本参保地持卡人可以调用此函数实现修改密码** [1101交易返回的参保地医保区划等于本地医保区划] - **异地就医人员是否可以调用此函数实现修改密码,按照本地医保局的要求来决定** [1101交易返回的参保地医保区划不等于本地医保区划] #### 1.14.4.2 函数名 ```c long WINAPI ChangePIN(char *pOutBuff); ``` #### 1.14.4.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.4.4 参数说明 **输出参数 pOutBuff** - 当函数执行成功时,此参数为空 - 当函数执行失败时,该输出参数为错误信息描述 - 对应pOutBuff分配的内存长度,建议1024,不能小于1024 ### 1.14.5 读身份证信息 #### 1.14.5.1 说明 驱动卡机读取二代身份证,返回身份证信息。 #### 1.14.5.2 函数名 ```c long WINAPI ReadSFZ(char* pPath, char* pOutBuff, char* pOutBusiBuff); ``` #### 1.14.5.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.5.4 参数说明 **输入参数 pPath** 照片存放的目录,传入空则不生成照片。 **输出参数 pOutBuff** 当函数执行失败时错误信息,成功时,该输出参数为读出的身份证信息,身份证号码|姓名|性别|民族|出生日期(YYYYMMDD)|住址|签发机关|有效期起始日期(YYYYMMDD)|有效期截止日期(YYYYMMDD)|。 对应pOutBuff内存分配长度,建议1024,不能小于1024。 **输出参数 pOutBusiBuff** 函数执行成功时候,返回业务身份证信息,后续需要身份证的医保业务,请使用此身份证信息。 对应pOutBusiBuff内存分配长度,建议8192,不能小于8192。 ### 1.14.6 电子凭证解码 #### 1.14.6.1 说明 电子凭证二维码解码 #### 1.14.6.2 函数名 ```c long WINAPI EcQuery(char* pInData, char* pOutData); ``` #### 1.14.6.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.6.4 参数说明 **输入参数 pInData [格式JSON]** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 是否必填 | 备注 | |------|------------|------------|------|------|----------|------| | 1 | data | 解码入参 | 字符 | 4096 | Y | 详细格式见下表 | | 2 | transType | 交易类型编码 | 字符 | - | Y | 固定值【ec.query】 | | 3 | orgId | 定点编号 | 字符 | 40 | Y | 定点编号 | **[data]说明:** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 是否必填 | 备注 | |------|------------|------------|------|------|----------|------| | 1 | orgId | 定点编号 | 字符 | 40 | Y | 定点编号 | | 2 | businessType | 用码业务类型 | 字符 | - | Y | 二级代码见附录,例如:01101 | | 3 | operatorId | 收款员编号 | 字符 | 64 | Y | - | | 4 | operatorName | 收款员姓名 | 字符 | 64 | Y | - | | 5 | officeId | 医保科室编号 | 字符 | 20 | Y | - | | 6 | officeName | 科室名称 | 字符 | 30 | Y | - | **示例:** ```json { "data": { "businessType": "01101", "officeId": "32760", "officeName": "消化内科", "operatorId": "test001", "operatorName": "超级管理员", "orgId": "35020319001" }, "orgId": "35020319001", "transType": "ec.query" } ``` **输出参数 pOutData [格式JSON]** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 备注 | |------|------------|------------|------|------|------| | 1 | data | 解码出参 | 字符 | 4096 | 详细格式见下表 | | 2 | code | 中台相应码 | 数值 | - | 0成功,其它值失败 | | 3 | message | 错误信息 | 字符 | 1024 | 错误信息 | **[data]说明:** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 备注 | |------|------------|------------|------|------|------| | 1 | idNo | 身份证号 | 字符 | 64 | - | | 2 | userName | 姓名 | 字符 | 64 | - | | 3 | idType | 证件类型 | 字符 | - | 二级代码见附录 | | 4 | ecToken | 令牌 | 字符 | 40 | - | | 5 | insuOrg | 参保地区编码 | 字符 | 6 | - | | 6 | ecIndexNo | 电子凭证索引号 | 字符 | 32 | - | | 7 | gender | 性别 | 字符 | 2 | - | | 8 | birthday | 出生日期 | 字符 | 10 | - | | 9 | nationality | 国籍 | 字符 | 32 | - | | 10 | email | 邮箱 | 字符 | 100 | - | | 11 | extra | 扩展参数 | 字符 | 4096 | 预留 | **示例:** ```json { "data": { "extra": "", "idNo": "533222199909090123", "idType": "01", "ecToken": "ADBHJRS5I01E0F3438C00000B959FA88", "insuOrg": "430000", "userName": "张三", "ecIndexNo": "", "gender": "", "birthday": "", "nationality": "", "email": "" }, "code": 0, "message": "处理成功" } ``` 对应pOutData内存分配长度,建议8192。 ### 1.14.7 电子社保卡解码 #### 1.14.7.1 说明 电子社保卡二维码解码。 #### 1.14.7.2 函数名 ```c long WINAPI EcCardQuery(char* pOutBuff); ``` #### 1.14.7.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.7.4 参数说明 **输出参数 pOutBuff** 当函数执行失败时错误信息,成功时,返回客户端ID信息。 对应pOutBuff内存分配长度,建议8192。 **出参参数 pOutData [格式JSON]** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 备注 | |------|------------|------------|------|------|------| | 1 | data | 解码出参 | 字符 | 4096 | 详细格式见下表 | | 2 | code | 中台相应码 | 数值 | - | 0成功,其它值失败 | | 3 | message | 错误信息 | 字符 | 1024 | 错误信息 | **[data]说明:** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 备注 | |------|------------|------------|------|------|------| | 1 | si_no | 社会保障号码 | 字符 | 20 | - | | 2 | si_card_no | 人员识别号 | 字符 | 12 | - | | 3 | si_card_issue_area | 社保卡发卡地区行政区划代码 | 字符 | 6 | - | | 4 | name | 姓名 | 字符 | 50 | - | | 5 | gender | 性别 | 字符 | 1 | - | | 6 | id_type | 证件类型 | 字符 | 3 | 二级代码见附录 | | 7 | id_no | 证件号码 | 字符 | 20 | - | | 8 | ecCardToken | 证件号码 | 字符 | 2048 | 电子社保卡Token,后续交易请与证据号码一起使用 | ### 1.14.8 四合一介质获得个人信息 #### 1.14.8.1 说明 四合一,操作员选择就医者的就医方式。社保卡、电子凭证、电子社保卡、身份证。 #### 1.14.8.2 函数名 ```c long WINAPI GetPersonInfo(char* pInData, char* pOutData); ``` #### 1.14.8.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.8.4 参数说明 **输入参数 pInData [格式JSON]** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 是否必填 | 备注 | |------|------------|------------|------|------|----------|------| | 1 | data | 解码入参 | 字符 | 4096 | Y | 详细格式见下表 | | 2 | transType | 交易类型编码 | 字符 | - | Y | 固定值【ec.query】 | | 3 | orgId | 定点编号 | 字符 | 40 | Y | 定点编号 | **[data]说明:** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 是否必填 | 备注 | |------|------------|------------|------|------|----------|------| | 1 | orgId | 定点编号 | 字符 | 40 | Y | 定点编号 | | 2 | businessType | 用码业务类型 | 字符 | - | Y | 二级代码见附录,例如:01101 | | 3 | operatorId | 收款员编号 | 字符 | 64 | Y | - | | 4 | operatorName | 收款员姓名 | 字符 | 64 | Y | - | | 5 | officeId | 医保科室编号 | 字符 | 20 | Y | - | | 6 | officeName | 科室名称 | 字符 | 30 | Y | - | **示例:** ```json { "data": { "businessType": "01101", "officeId": "32760", "officeName": "消化内科", "operatorId": "test001", "operatorName": "超级管理员", "orgId": "35020319001" }, "orgId": "35020319001", "transType": "ec.query" } ``` **输出参数 pOutData [格式JSON]** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 备注 | |------|------------|------------|------|------|------| | 1 | data | 解码出参 | 字符 | 4096 | 详细格式见下表 | | 2 | code | 中台相应码 | 数值 | - | 0成功,其它值失败 | | 3 | message | 错误信息 | 字符 | 1024 | 错误信息 | #### 不同介质的输出格式: **社保卡** **[data]说明:** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 是否必填 | 备注 | |------|------------|------------|------|------|----------|------| | 1 | CardInfo | 卡串 | 字符 | - | Y | 社保卡38号文基本信息卡串 | | 2 | BusiCardInfo | 业务卡串信息 | 字符 | - | Y | 业务卡串信息,后续需要卡串的医保业务,请使用此卡串信息 | **示例:** ```json { "code": 0, "message": "", "data": { "CardInfo": "639900|111111198101011110|X00000019|639900D15600000500BF7C7A48FB4966|测试姓名|00814E43238697159900BF7C7A|3.00|20101001|20201001|410100813475|ID000000001|", "BusiCardInfo": "yzs/nK8iqWWuYOrXxqRyz6FVEnDMvWCrRo26+VXLwtPrk64fYFfsnXV36PaGWIGehTv6aCJ3rCrtgXwUy+Tvo8rvOLuMVUS+pfN6pADNRFqLMP1rgRs3VGF30+kdE6ShRfE7sVubOqJWfnfwO+ZASHMiKYvyALJqnONvbZeAYksb04hFn5AyMJSnKLmMqdKJXJS7woYsj7MstQn1Zsa+EabZCxnS+mYdD9j2UJ6yhvI=" } } ``` **电子凭证** **[data]说明:** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 备注 | |------|------------|------------|------|------|------| | 1 | idNo | 身份证号 | 字符 | 64 | - | | 2 | userName | 姓名 | 字符 | 64 | - | | 3 | idType | 证件类型 | 字符 | - | 二级代码见附录 | | 4 | ecToken | 令牌 | 字符 | 40 | - | | 5 | insuOrg | 参保地区编码 | 字符 | 6 | - | | 6 | ecIndexNo | 电子凭证索引号 | 字符 | 32 | - | | 7 | gender | 性别 | 字符 | 2 | - | | 8 | birthday | 出生日期 | 字符 | 10 | - | | 9 | nationality | 国籍 | 字符 | 32 | - | | 10 | email | 邮箱 | 字符 | 100 | - | | 11 | extra | 扩展参数 | 字符 | 4096 | 预留 | **示例:** ```json { "data": { "extra": "", "idNo": "533222199909090123", "idType": "01", "ecToken": "ADBHJRS5I01E0F3438C00000B959FA88", "insuOrg": "430000", "userName": "张三", "ecIndexNo": "", "gender": "", "birthday": "", "nationality": "", "email": "" }, "code": 0, "message": "处理成功" } ``` **电子社保卡** **[data]说明:** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 备注 | |------|------------|------------|------|------|------| | 1 | si_no | 社会保障号码 | 字符 | 20 | - | | 2 | si_card_no | 人员识别号 | 字符 | 12 | - | | 3 | si_card_issue_area | 社保卡发卡地区行政区划代码 | 字符 | 6 | - | | 4 | name | 姓名 | 字符 | 50 | - | | 5 | gender | 性别 | 字符 | 1 | - | | 6 | id_type | 证件类型 | 字符 | 3 | 二级代码见附录 | | 7 | id_no | 证件号码 | 字符 | 20 | - | | 8 | ecCardToken | 证件号码 | 字符 | 2048 | 电子社保卡Token,后续交易请与证据号码一起使用 | **身份证** **[data]说明:** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 是否必填 | 备注 | |------|------------|------------|------|------|----------|------| | 1 | SFZInfo | 身份证信息 | 字符 | - | Y | 身份证号码\|姓名\|性别\|民族\|出生日期(YYYYMMDD)\|住址\|签发机关\|有效期起始日期(YYYYMMDD)\|有效期截止日期(YYYYMMDD)\| | | 2 | BusiSFZInfo | 业务身份证信息 | 字符 | - | Y | 业务卡串信息,后续需要卡串的医保业务,请使用此卡串信息 | **示例:** ```json { "code": 0, "message": "", "data": { "SFZInfo": "210100199001016666|测试姓名|男|汉|19900101|沈阳市和平区|沈阳市和平区派出所|20000101|20990101|", "BusiSFZInfo": "gYo+fXGkReYPUNY0gg/l0x7FnDO4L4GDQRbtA5AyDK6RXdXcTqrl7oNIBYrKzomnFpLrCD4IsjXSnR2S0fNzoKCKHXfUzyV1jNafXRglDiuf959rEKwGeTB8tlCJ5WE5Icrj0PF73h4BnjNNTGBAJ0ZVHll3cPmrOSrHhYlrXk0=" } } ``` ### 1.14.9 动态库日签到函数 #### 1.14.9.1 说明 动态库每日做一次签到,每天只需要调用一次。 #### 1.14.9.2 函数名 ```c int WINAPI DailySinIn(char* pInData, char* pOutData); ``` #### 1.14.9.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.9.4 参数说明 **输入参数 pInData [格式JSON]** | 序号 | 数据元标识 | 数据元名称 | 类型 | 长度 | 是否必填 | 备注 | |------|------------|------------|------|------|----------|------| | 1 | IP | 服务端IP地址 | 字符 | 100 | Y | 医疗保障平台提供的服务端IP地址 | | 2 | PORT | 服务端端口 | 数值 | - | Y | 医疗保障平台提供的服务端端口 | | 3 | TIMEOUT | 超时 | 数值 | - | Y | 单位秒,访问服务端超时时间 | | 4 | LOG_PATH | 动态库日志目录 | 字符 | 100 | Y | 动态库日志生成所在目录:
4、目录不能超过三级
5、目录必须是英文字符,不能含有空格字符
6、目录有写权限 | | 5 | EC_URL | 电子凭证中台URL | 字符 | 1024 | Y | 电子凭证中台URL
例如:https://fuwu-test.nhsa.gov.cn/localcfc/api/hsecfc/localQrCodeQuery | | 6 | CARD_PASSTYPE | 社保卡验证密码方式 | 字符 | 2 | Y | 1:验证卡pin,2:验证数据库密码 | | 7 | API_NAME | CSB的_api_name | 字符 | - | Y | [version1.1]:例如api-powersi-test-pri | | 8 | API_VERSION | CSB的_api_version | 字符 | - | Y | [version1.1]:例如:1.0.0 | | 9 | ACCESS_KEY | CSB的_api_access_key | 字符 | - | Y | [version1.1]:例如:043a6d5927174ab5a7681b193b9fe0e3 | | 10 | SECRETKEY | CSB的secretKey | 字符 | - | Y | [version1.1]:例如:ZugfjXENyvGIQYdB+hFB+s9JL0A= | | 11 | ORG_ID | 定点编号 | 字符 | - | Y | [version1.1] | | 12 | EXT | JSON对象字符串 | 字符 | - | - | [version1.1]:预留 | | 13 | AREA_CODE | 定点所属行政区划代码 | 字符 | - | Y | [version1.2]:例如:例如南京的定点医院,320100 | **输出参数 pOutBuff** - 成功返回空,失败返回错误信息 - 对应pOutBuff内存分配长度,建议1024 ### 1.14.10 业务函数 [无锡药店结算专用] #### 1.14.10.1 说明 无锡药店结算交易通过调用此函数实现,动态库的输入输出参数是GBK编码格式。 #### 1.14.10.2 函数名 ```c int WINAPI Busi(char* pInData, char* pOutData); ``` #### 1.14.10.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.10.4 参数说明 **入参:pInData** JSON格式字符串,见【2102】【2102A】的入参格式 **示例:** ```json { "insuplc_admdvs": "320299", "enctype": "", "dev_no": "", "inf_time": "2021-07-23 14:17:46", "hssToken": "", "msgid": "H32040200089202107231417469348", "infver": "V1.0", "signtype": "", "opter": "Z", "input": { "druginfo": { "dise_codg": "bydise_setl_list_code", "medfee_sumamt": 100, "psn_no": "32020000000000001000083994", "mdtrt_cert_type": "02", "med_type": "4101", "begntime": "2021-07-23", "mdtrt_cert_no": "320202195706243039", "dise_name": "", "insutype": "310", "expContent": "", "acct_used_flag": "0" }, "drugdetail": [ { "bilg_dr_codg": "", "sin_dos_dscr": "", "med_list_codg": "XA02BCP025B003020102068", "det_item_fee_sumamt": "100", "cnt": "1", "pric": "100", "used_frqu_dscr": "", "feedetl_sn": "SPH00000001", "prd_days": "", "tcmdrug_used_way": "", "rxno": "", "medins_list_codg": "SPH00006217", "bilg_dr_name": "", "rx_circ_flag": "0", "medc_way_dscr": "", "fee_ocur_time": "2021-07-23" } ] }, "fixmedins_code": "P32020200466", "cainfo": "", "opter_name": "Z", "dev_safe_info": "", "infno": "2102", "mdtrtarea_admvs": "320299", "opter_type": "01", "fixmedins_name": "大药房", "sign_no": "220046", "recer_sys_code": "MBS_LOCAL", "fixmedins_soft_fcty": "测试", "info": "" } ``` **出参:pOutData** - 非0,错误信息 - 0,JSON格式字符串,见【2102】【2102A】的输出参数格式 ### 1.14.11 附录 ### 1.14.12 用码业务类型 | 第一级代码 | 第一级名称 | 第二级代码 | 第二级名称 | 第二级说明 | |------------|------------|------------|------------|------------| | 01 | 医院 | 101 | 挂号 | 替代社保卡(预约挂号,现场挂号,取号候诊) | | | | 102 | 住院建档 | 替代身份证、社保卡 | | | | 103 | 入院登记 | 替代社保卡 | | | | 104 | 缴纳预缴金 | 替代住院押金卡 | | | | 201 | 问诊 | 替代挂号条、社保卡 | | | | 202 | 预约检查 | 替代检查凭条、社保卡 | | | | 203 | 检查 | 替代检查凭条、社保卡 | | | | 204 | 治疗 | 替代挂号条、社保卡 | | | | 301 | 结算 | 替代社保卡(门诊结算,出院结算) | | | | 302 | 取药 | 替代取药凭条、社保卡(门诊取药,出院带药) | | | | 303 | 取报告 | 替代取报告凭条 | | | | 304 | 打印票据和清单 | 替代挂号条、社保卡(打印收费清单,票据清单,结算单,异地就医结算单) | | | | 305 | 病历材料复印 | 替代身份证、社保卡(门诊和住院各类材料复印) | | 02 | 药店 | 121 | 药店购药 | 替代社保卡 | | | | 122 | 下载外购处方 | 替代社保卡、身份证 | ### 1.14.13 证件类型 | 证件代码 | 证件说明 | |----------|----------| | 01 | 居民身份证(户口簿) | | 02 | 中国人民解放军军官证 | | 03 | 中国人民武装警察警官证 | | 04 | 香港特区护照/港澳居民来往内地通行证 | | 05 | 澳门特区护照/港澳居民来往内地通行证 | | 06 | 台湾居民来往大陆通行证 | | 07 | 外国人永久居留证 | | 08 | 外国人护照 | | 11 | 外国人就业证 | | 12 | 外国专家证 | | 13 | 外国人常驻记者证 | | 14 | 台港澳人员就业证 | | 15 | 回国(来华)定居专家证 | | 16 | 出生医学证明 | | 17 | 港澳台居民居住证 | | 99 | 其他身份证件 | ### 1.14.14 读社保卡基本信息和处方信息 #### 1.14.14.1 说明 驱动卡机读卡,返回卡内的基本信息和处方信息。 #### 1.14.14.2 函数名 ```c long WINAPI ReadCardBasRx(char* pInput, char* pCardInfo, char* pRxInfo); ``` #### 1.14.14.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.14.4 参数说明 **输入参数 pInput** 定点机构登记人姓名|定点机构登记人证件类型|定点机构登记人证件号码|医疗机构编码|代办人姓名|代办人身份证类型|代办人身份证类型|收费端电脑IP|CaInfo|his软件开发商| **输出参数 pCardInfo** 当函数执行失败时候返回错误信息,成功时,该输出参数为读出的社保卡基本信息各数据项,依次为:发卡地区行政区划代码(卡识别码前6位)、社会保障号码、卡号、卡识别码、姓名、卡复位信息(仅取历史字节)、规范版本、发卡日期、卡有效期、终端机编号、终端设备号。各数据项之间以"|"分割,且最后一个数据项以"|"结尾。 **示例:** `639900|111111198101011110|X00000019|639900D15600000500BF7C7A48FB4966|张三|00814E43238697159900BF7C7A|1.00|20101001|20201001|410100813475|终端设备号|` 与[人社信息函[2016]38号-关于印发社会保障卡读写终端接口规范的通知20160720(终稿).doc]读基本信息一致。 对应pCardInfo内存分配长度,建议2048,不能小于2048。 **输出参数 pRxInfo** 处方登记流水号|处方过期时间| 对应pRxInfo内存分配长度,建议1024,不能小于256。 ### 1.14.15 读身份证信息和处方信息 #### 1.14.15.1 说明 驱动卡机读取二代身份证,返回身份证信息和处方信息。 #### 1.14.15.2 函数名 ```c long WINAPI ReadSFZRx(char* pInput, char* pPath, char* pOutBuff, char* pRxInfo); ``` #### 1.14.15.3 返回值 - `0` 表示成功 - `非0` 表示失败 #### 1.14.15.4 参数说明 **输入参数 pInput** 定点机构登记人姓名|定点机构登记人证件类型|定点机构登记人证件号码|医疗机构编码|代办人姓名|代办人身份证类型|代办人身份证类型|收费端电脑IP|CaInfo|his软件开发商| **输入参数 pPath** 照片存放的目录,传入空则不生成照片。 **输出参数 pOutBuff** 当函数执行失败时错误信息,成功时,该输出参数为读出的身份证信息,身份证号码|姓名|性别|民族|出生日期(YYYYMMDD)|住址|签发机关|有效期起始日期(YYYYMMDD)|有效期截止日期(YYYYMMDD)|。 对应pOutBuff内存分配长度,建议1024,不能小于1024。 **输出参数 pRxInfo** 处方登记流水号|处方过期时间| 对应pRxInfo内存分配长度,建议1024,不能小于256。