宁夏自治区医疗器械唯一标识（UDI）追溯数据上传接口文档V1.0.2

版本控制信息

版本	日期	拟稿和修改	说明
V1.0	2022-3-25	初稿
V1.0.1	2023-9-15	修改	序列号为空时传“-”
V1.0.1	2023-9-15	修改	上传库存信息接口是否特殊产品修改为不必传项
V1.0.1	2023-9-15	修改	基本数据集A2收货类型代码表增加领取入库类型
V1.0.2	2023-12-05	修改	1、上传发货单添加了经营范围字段（jyfw类型为List），

2、上传发货单产品明细添加了经营类别字段（jylb），

3、每个接口添加了（mac）字段

4、新增了

上传处理不良事件业务信息、

上传召回记录、

上传报损记录、

上传生产企业原辅料记录、

上传生产企业生产订单记录、

上传生产企业产品入库、

上传医疗器械耗材收费项目、

上传医院记账结算、

上传企业资质证照、

上传医疗机构采购订单接口

目录

企业账号注册及秘钥获取	1

1. 注册企业账号（用于正式环境）	1

2. 获取秘钥信息	2

获取上传凭证	4

1. 请求	4

2. 返回结果	4

3. 举例	4

上传数据接口	5

1. 请求	5

2. 返回结果	6

上传发货单信息	7

1. 业务场景	7

2. 请求数据结构	7

3. 返回结果	9

4. 举例	10

上传收货单信息	13

1. 业务场景	13

2. 请求数据结构	13

3. 返回结果	15

4. 举例	15

上传使用记录信息	18

1. 业务场景	18

2. 请求数据结构	18

3. 返回结果	20

4. 举例	20

上传库存信息	23

1. 业务场景	23

2. 请求数据结构	23

3. 返回结果	24

4. 举例	24

上传不良事件	25

1. 业务场景	25

2. 请求数据结构	26

3返回结果	28

4举例	28

上传召回记录	30

1. 业务场景	30

2. 请求数据结构	30

3返回结果	32

4举例	32

上传报损记录	34

1. 业务场景	34

2. 请求数据结构	34

3. 返回结果	36

4. 举例	36

上传生产企业原辅料记录	38

1. 业务场景	38

2. 请求数据结构	38

3. 返回结果	39

4. 举例	39

上传生产企业生产订单记录	40

1. 业务场景	40

2. 请求数据结构	40

3. 返回结果	41

4. 举例	41

上传医疗机构采购订单	42

1. 业务场景	42

2. 请求数据结构	42

3. 返回结果	43

4. 举例	43

上传企业资质证照信息	44

1. 业务场景	44

2. 请求数据结构	44

3. 返回结果	45

4. 举例	45

上传医院记账结算	46

1. 业务场景	46

2. 请求数据结构	46

3. 返回结果	47

4. 举例	48

上传医疗器械耗材收费项目	48

1. 业务场景	48

2. 请求数据结构	49

3. 返回结果	49

4. 举例	50

上传生产企业产品入库	51

1. 业务场景	51

2. 请求数据结构	51

3. 返回结果	52

4. 举例	53

上传附件	54

1. 请求	54

2. 业务场景	54

3. 请求数据结构	55

基本数据集	56

A1.发货类型代码表	56

A2.收货类型代码表	56

企业账号注册及秘钥获取

注册企业账号（用于正式环境）

浏览器访问【http://222.75.41.135:8088/index】，进入后新用户点击【立即注册】。

按照注册页提示，认真准确填写企业信息，填写完成后，提交信息。

提交信息成功，请耐心等待工作人员审核

获取秘钥信息

登录账号并查看秘钥id及key值

登录成功后，进入菜单【企业管理】->【我的信息】，核对信息并查看秘钥，请使用人牢记本企业秘钥信息！

测试环境请用提供好的密钥信息和统一社会信用代码

社会统一信用代码：95105368TS1SMQL7O4

secret_id： 6bf00046ee734ce99a87550f18d7ca19

secret_key：6873f164c5d1830d4d7ccdd6e3d40c80d905d59074298a4ef6960127a7b551c5

获取上传凭证

请求

接口地址	测试地址：http://222.75.41.135:8095/api/v1/getToken

正式地址：http://XXX/prod-api/api/v1/getToken
接口描述	获取上传凭证
请求方式	post
Header参数	参数名	类型	说明	参数值
Content-Type	String	必填	application/json
请求参数	类型	约束	备注
Raw JSON	必填	格式：{"secretId": "xxxx","secretKey": "xxxx"}

测试环境：

{"secretId":"[REDACTED]", "secretKey":"[REDACTED]"}
返回结果

数据结构：

参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
data.expiresIn	int	token有效时间，单位：秒
data.tokenUpdateTime	String	此次创建token时间（字符串）
data.token	String	token
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

1）调用成功

{

"msg": "操作成功",

"code": 200,

"data": {

"expiresIn": 7200,

"tokenUpdateTime": "2022-09-28 15:54:27",

"token": "xxxxxxxx"

}

}

2）调用失败

{

"msg": "获取token失败！",

"code": 500

}

上传数据接口

请求

接口地址	测试地址：http://222.75.41.135:8095/api/v1/uploadBusiness

正式地址：http://XXX/prod-api/api/v1/uploadBusiness
接口描述	上传业务数据
请求方式	post
Header参数	参数名	类型	说明	参数值
Content-Type	String	必填	application/json
authorities	String	必填	Bearer{空格}{token}
请求参数	类型	约束	备注
Raw JSON	必填	数据需要转为Base64编码传输

{“body”:”Base64加密数据”}

具体参数结构，参考各业务类型
返回结果

数据结构：

参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常

上传发货单信息

业务场景

在生产企业发生发货，经营企业发生发货等业务时，需将此次发货情况上传平台。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，发货统一设置为fhd
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
订货单号	dhdh	String	64	是	此次出库订货单号
发货单号	fhdh	String	64	是	此次发货单号
发货

企业名称	qymc_fh	String	512	是
发货企业

统一社会

信用代码	tyshxydm_fh	String	32	是
发货地址编码	fhdzbm	String	8	是	地址所属行政区划6位区域代码

以国家统计局最新区域编码为准
如区域为新建区域，可将已知最精确编码后补充英文大写字母

如：

宁夏【某市级某县区级】：64AAAA

宁夏中卫市【某县区级】：6405AA
发货地址	fhdz	String	512	是	具体发货地址
发货类型	fhlx	String	2	是	详见基本数据集 A1
发货仓库名称	fhckmc	String	255	是
出库（发货）

时间	fhsj	Date
时区为 GMT+8
配送

企业名称	qymc_ps	String	512	是	配送或物流公司名称
配送企业

统一社会

信用代码	tyshxydm_ps	String	32	是	配送或物流公司的统一社会信用代码
收货

企业名称	qymc_sh	String	512	是	收货企业名称
收货企业

统一社会

信用代码	tyshxydm_sh	String	32	是	收货企业的统一社会信用代码
收货地址编码	shdzbm	String	8	是	地址所属行政区划6位区域代码

以国家统计局最新区域编码为准
如区域为新建区域，可将已知最精确编码后补充英文大写字母

如：

宁夏【某市级某县区级】：64AAAA

宁夏中卫市【某县区级】：6405AA
收货地址	shdz	String	512	是	具体收货地址
运输环境	yshj	String
是	运输环境
经营范围	jyfw	List
是	经营范围
产品明细	cp_list	List
是	详细参考后表【产品明细表】
包装关系	bzgx_tree	List
是	树形数据，具体参考后表【包装关系】
经营范围表：

字段名	变量名	类型	最大长度	是否必填	说明
统一社会信用代码	tyshyydm	String	255	是	统一社会信用代码
经营范围编码	code	String	32	是	经营范围编码
经营范围名称	name	String
是	经营范围名称

产品明细表：

字段名	变量名	类型	最大长度	是否必填	说明
扫描的产品udi	udi	String	255	是
产品DI	di	String	32	是
产品类型	cplx	String
是	产品类型编码：

1 器械

2 体外诊断试剂
产品名称	cpmc	String	255	是	产品名称
产品完整名称	cpwzmc	String	512	是	产品完整名称，如无，与spmc一致
生产企业	scqy	String	512	是
生产企业

统一社会

信用代码	tyshxydm_sc	String	32	是
规格	spec	String	255	是
型号	model	String	255	是
包装等级	bzjb	int
是	0~9
生产日期	scrq	String	16	是	YYYY-MM-dd格式
有效期	yxq	String	16	是	YYYY-MM-dd格式
失效日期	sxrq	String	16	是	YYYY-MM-dd格式
生产批号	scph	String	64	是
序列号	xlh	String	64	是	序列号如果为空传”-”
注册证号	zczh	String	64	是
是否特殊产品	sftscp	String	1	是	Y 是

N 否
是否为包类产品、组套装产品	sfblztcp	String	1	是	Y 是

N 否
发货数量	fhsl	int
是	发货数量
经营类别	jylb	String	255	是	经营类别
包装关系表：

字段名	变量名	类型	最大长度	是否必填	说明
udi	udi	String	255	是	udi
包装级别	bzjb	int
是	包装级别
下级包装	children	List
否	下级包装关系，树型数据
返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"event_id": "事件编号",

"sub_type": "fhd",

"timestamp": "间戳",

"mac": "计算机Mac地址",

"qymc": "企业名称",

"tyshxydm": "统一社会行用代码",

"dhdh": "订货单号",

"fhdh": "发货单号",

"qymc_fh": "发货企业名称",

"tyshxydm_fh": "发货企业统一社会信用代码",

"fhdzbm": "发货地址编码",

"fhdz": "发货地址",

"fhlx":"发货类型",

"fhckmc": "发货仓库名称",

"fhsj": "出库（发货）时间",

"qymc_ps": "配送企业名称",

"tyshxydm_ps": "配送企业统一社会信用代码",

"qymc_sh": "收货企业名称",

"tyshxydm_sh": "收货企业统一社会信用代码",

"shdzbm": "收货地址编码",

"shdz": "收货地址",

"yshj":"运输环境"

"jyfw": [

{

"tyshyydm": "",

"code": "",

"name": "",

}

],

"cp_list": [

{

"udi": "扫描的产品udi",

"di": "产品DI",

"cplx": "产品类型",//1 器械2 体外诊断试剂

"cpmc": "产品名称",

"cpwzmc": "产品完整名称",

"scqy": "生产企业",

"tyshxydm_sc": "生产企业统一社会信用代码",

"spec": "规格",

"model": "型号",

"bzjb": 包装等级,

"scrq": "生产日期",

"yxq": "有效期",

"sxrq": "失效日期",

"scph": "生产批号",

"xlh": "序列号",

"zczh": "注册证号",

"sftscp": "是否特殊产品",//Y 是，N 否

"sfblztcp": "是否为包类产品、组套装产品",//Y 是，N 否

"fhsl": "发货数量" ,

"jylb": "经营类别"

}

],

"bzgx_tree": [//如果是0级码也上传，下级包装为空（children节点要传，内容为空）

{

"udi": "udi",

"bzjb": "包装级别",

"children": [ //"下级包装信息"

{

"udi": "udi",

"bzjb":"包装级别",

"children": []

}

]

}

]

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

上传收货单信息

业务场景

在经营企业收货，医疗机构收货等业务时，需将收货情况上传平台。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，发货统一设置为shd
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
订货单号	dhdh	String	64	是	此次出库订货单号
发货单号	fhdh	String	64	是	此次发货单号
发货

企业名称	qymc_fh	String	512	是
发货企业

统一社会

信用代码	tyshxydm_fh	String	32	是
发货地址编码	fhdzbm	String	8	是	地址所属行政区划6位区域代码

以国家统计局最新区域编码为准
如区域为新建区域，可将已知最精确编码后补充英文大写字母

如：

宁夏【某市级某县区级】：64AAAA

宁夏中卫市【某县区级】：6405AA
发货地址	fhdz	String	512	是	具体发货地址
收货类型	shlx	String	8	是	详见基本数据集 A2
配送

企业名称	qymc_ps	String	512	是	配送或物流公司名称
配送企业

统一社会

信用代码	tyshxydm_ps	String	32	是	配送或物流公司的统一社会信用代码
收货单号	shdh	String	64	是
收货

企业名称	qymc_sh	String	512	是	收货企业名称
收货企业

统一社会

信用代码	tyshxydm_sh	String	32	是	收货企业的统一社会信用代码
收货地址编码	shdzbm	String	8	是	地址所属行政区划6位区域代码

以国家统计局最新区域编码为准
如区域为新建区域，可将已知最精确编码后补充英文大写字母

如：

宁夏【某市级某县区级】：64AAAA

宁夏中卫市【某县区级】：6405AA
收货地址	shdz	String	512	是	具体收货地址
入库（收货）

时间	shsj	Date
是	时区为 GMT+8
入库仓库名称	shckmc	String	255	是
仓库环境	ckhj	String	512
如温度、湿度等特征描述
产品明细	cp_list	List
是	详细参考后表【产品明细表】
包装关系	bzgx_tree	List
是	树形数据，具体参考后表【包装关系】
产品明细表：

字段名	变量名	类型	最大长度	是否必填	说明
扫描的产品udi	udi	String	255	是
产品DI	di	String	32	是
产品类型	cplx	String
是	产品类型编码：

1 器械

2 体外诊断试剂

3 设备

4 非医用物资

5 药品
产品名称	cpmc	String	255	是	产品名称
产品完整名称	cpwzmc	String	512	是	产品完整名称，如无，与spmc一致
生产企业	scqy	String	512	是
生产企业

统一社会

信用代码	tyshxydm_sc	String	32	是
规格	spec	String	255	是
型号	model	String	255
包装等级	bzjb	int
是	0~9
生产日期	scrq	String	16	是	YYYY-MM-dd格式
有效期	yxq	String	16	是	YYYY-MM-dd格式
失效日期	sxrq	String	16	是	YYYY-MM-dd格式
生产批号	scph	String	64	是
序列号	xlh	String	64	是	序列号如果为空传”-”
注册证号	zczh	String	64	是
是否特殊产品	sftscp	String	1	是	Y 是

N 否
是否为包类产品、组套装产品	sfblztcp	String	1	是	Y 是

N 否
发货数量	fhsl	int
是
收货数量	shsl	int
是
包装关系表：

字段名	变量名	类型	最大长度	是否必填	说明
udi	udi	String	255	是	udi
包装级别	bzjb	int
是	包装级别
下级包装	children	List
否	下级包装关系，树型数据
返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"event_id": "事件编号",

"qymc": "企业名称",

"tyshxydm": "统一社会行用代码",

"sub_type": "shd",

"timestamp": "时间戳",

"mac": "计算机Mac地址",

"dhdh": "订货单号",

"fhdh": "发货单号",

"qymc_fh": "发货企业名称",

"tyshxydm_fh": "发货企业统一社会信用代码",

"fhdzbm": "发货地址编码",

"fhdz": "发货地址",

"shlx":"收货类型",

"qymc_ps": "配送企业名称",

"tyshxydm_ps": "配送企业统一社会信用代码",

"shdh": "收货单号",

"qymc_sh": "收货企业名称",

"tyshxydm_sh": "收货企业统一社会信用代码",

"shdzbm": "收货地址编码",

"shdz": "收货地址",

"shsj": "库（收货）时间",

"shckmc": "入库仓库名称",

"ckhj": "仓库环境",

"cp_list": [

{

"udi": "扫描的产品udi",

"di": "产品DI",

"cplx": "产品类型",//1 器械2 体外诊断试剂

"cpmc": "产品名称",

"cpwzmc": "产品完整名称",

"scqy": "生产企业",

"tyshxydm_sc": "生产企业统一社会信用代码",

"spec": "规格",

"model": "型号",

"bzjb": 包装等级,

"scrq": "生产日期",

"yxq": "有效期",

"sxrq": "失效日期",

"scph": "生产批号",

"xlh": "序列号",

"zczh": "注册证号",

"sftscp": "是否特殊产品",//Y 是，N 否

"sfblztcp": "是否为包类产品、组套装产品",//Y 是，N 否

"fhsl": "发货数量",

"shsl": "收货数量"

}

],

"bzgx_tree": [//如果是0级码也上传，下级包装为空（children节点要传，内容为空）

{

"udi": "udi",

"bzjb": "包装级别",

"children": [ //"下级包装信息"

{

"udi": "udi",

"bzjb":"包装级别",

"children": []

}

]

}

]

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

上传使用记录信息

业务场景

在医疗机构将产品给患者使用时，需将此次使用情况上传平台。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，发货统一设置为syxx
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为

YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
医疗机构名称

（企业名称）	qymc	String	512	是	使用产品的医疗机构名称
统一社会

信用代码	tyshxydm	String	32	是	使用产品的医疗机构的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
产品udi	udi	String	255	是	使用产品的udi
使用部门科室	bmks	String	255	是
医生姓名	ysxm	String	255	是
使用产品人
（患者姓名）	hzxm	String	255	是
患者身份证号	hzsfzh	String	18	是
就诊卡号	jzkh	String	32	是
住院号	zyh	String	32	是
使用时间	sysj	Date
是
使用数量	sysl	int
是
产品明细	cp_list	List
是	详细参考后表【产品明细表】
包装关系	bzgx_tree	List
否	树形数据，具体参考后表【包装关系】
产品明细表：

字段名	变量名	类型	最大长度	是否必填	说明
扫描的产品udi	udi	String	255	是
产品DI	di	String	32	是
产品类型	cplx	String
是	产品类型编码：

1 器械

2 体外诊断试剂

3 设备

4 非医用物资

5 药品
产品名称	cpmc	String	255	是	产品名称
产品完整名称	cpwzmc	String	512	是	产品完整名称，如无，与spmc一致
生产企业	scqy	String	512	是
生产企业

统一社会

信用代码	tyshxydm_sc	String	32	是
规格	spec	String	255	是
型号	model	String	255
包装等级	bzjb	int
是	0~9
生产日期	scrq	String	16	是	YYYY-MM-dd格式
有效期	yxq	String	16	是	YYYY-MM-dd格式
失效日期	sxrq	String	16	是	YYYY-MM-dd格式
生产批号	scph	String	64	是
序列号	xlh	String	64	是	序列号如果为空传”-”
注册证号	zczh	String	64	是
是否特殊产品	sftscp	String	1	是	Y 是

N 否
是否为包类产品、组套装产品	sfblztcp	String	1	是	Y 是

N 否
发货数量	fhsl	int
是
收货数量	shsl	int
是
包装关系表：

字段名	变量名	类型	最大长度	是否必填	说明
udi	udi	String	255	是	udi
包装级别	bzjb	int
是	包装级别
下级包装	children	List
否	下级包装关系，树型数据

返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"event_id": "事件编号",

"qymc": "企业名称",

"tyshxydm": "统一社会行用代码",

"sub_type": "syxx",

"timestamp": "时间戳",

"mac": "计算机Mac地址",

"udi": "产品udi",

"bmks": "使用部门科室",

"ysxm": "医生姓名",

"hzxm": "使用产品人（患者姓名）",

"hzsfzh": "患者身份证号",

"jzkh": "就诊卡号",

"zyh": "住院号",

"sysj": "使用时间",

"sysl": "使用数量"

"cp_list": [

{

"udi": "扫描的产品udi",

"di": "产品DI",

"cplx": "产品类型",//1 器械2 体外诊断试剂

"cpmc": "产品名称",

"cpwzmc": "产品完整名称",

"scqy": "生产企业",

"tyshxydm_sc": "生产企业统一社会信用代码",

"spec": "规格",

"model": "型号",

"bzjb": 包装等级,

"scrq": "生产日期",

"yxq": "有效期",

"sxrq": "失效日期",

"scph": "生产批号",

"xlh": "序列号",

"zczh": "注册证号",

"sftscp": "是否特殊产品",//Y 是，N 否

"sfblztcp": "是否为包类产品、组套装产品",//Y 是，N 否

"fhsl": "发货数量",

"shsl": "收货数量"

}

],

"bzgx_tree": [//如果是0级码也上传，下级包装为空（children节点要传，内容为空）

{

"udi": "udi",

"bzjb": "包装级别",

"children": [ //"下级包装信息"

{

"udi": "udi",

"bzjb":"包装级别",

"children": []

}

]

}

]

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

上传库存信息

业务场景

定期上传企业库存信息（周期暂定一天一次，各企业可视自身情况上传）（温馨提示：为避免长时间等待处理结果，可适当选择非整点时间）。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，发货统一设置为kcxx
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
统计时间	tjsj	Date
是
库存明细	kc_list	List
是	库存明细，以【仓库+产品类型】为统计项，如【某仓库某产品有多少】，具体结构，见后表【库存明细】
库存明细表：

字段名	变量名	类型	最大长度	是否必填	说明
仓库名称	ckmc	String	255	是
仓库

所在区域编码	ckqybm	String	6
仓库位置	ckwz	String	512
产品DI	di	String	32	是
产品类型	cplx	String
是	产品类型编码：

1 器械

2 体外诊断试剂
产品名称	cpmc	String	255	是	产品名称
是否特殊产品	sftscp	String	1	否	Y 是

N 否
是否为包类产品、组套装产品	sfblztcp	String	1	是	Y 是

N 否
产品数量	cpsl	int
注册证号	zczh	String
是
生产日期	scrq	String
是	YYYY-MM-dd格式 传是一个字符串，然后进行转换成时间对象
生产企业	scqy	String
是
生产企业社会统一信用代码	tyshxydmSc	String
是
生产批号	scph	String
是
规格型号	spec	String
是
失效期	sxrq	String
是	YYYY-MM-dd格式
返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"event_id": "事件编号",

"qymc": "企业名称",

"tyshxydm": "统一社会行用代码",

"sub_type": "syxx",

"timestamp": "时间戳",

"mac": "计算机Mac地址",

"tjsj": "统计时间",

"kc_list": [

{

"ckmc": "仓库名称",

"ckqybm": "仓库所在区域编码",

"ckwz": "仓库位置",

"di": "产品DI",

"cplx": "产品类型",

"cpmc": "产品名称",

"sftscp": "是否特殊产品",

"sfblztcp": "是否为包类产品、组套装产品",

"cpsl": "产品数量",

"zczh": "注册证号",

"scrq": "生产日期",

"scqy": "生产企业",

"tyshxydmSc": "生产企业社会统一信用代码",

"scph": "生产批号",

"spec": "规格型号",

"sxrq": "失效日期"

}

]

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

上传不良事件

业务场景

上传企业发生的不良事件信息。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，不良事件信息统一设置为blsj
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
记录日期	jlrq	Date	10	是	此次不良事件的记录日期

格式 yyyy-MM-dd

时区为 GMT+8
患者姓名	hzxm	String	64	是	此次不良事件的患者姓名
患者电话	hzdh	String	32	是	此次不良事件患者的电话
患者年龄	hznl	Integer	10	是	此次不良事件患者的年龄
使用数量	sysl	Integer	10	是	此次不良事件发生使用的器械数量
预期治疗病	yqzlb	String	512	是	此次不良事件患者的预期治疗病描述
病史	bs	String	512	是	此次不良事件患者的病史描述
事件陈述	sjcs	String	512	是	此次不良事件陈述
事件后果	sjhg	String	512	是	此次不良事件的后果描述
报告人	bgr	String	64	是	此次不良事件的报告人姓名
停用日期	tyrq	Date	10	是	此次不良事件中的器械停用日期

格式 yyyy-MM-dd

时区为 GMT+8
植入日期	zrrq	Date	10	是	此次不良事件中的器械的植入日期

格式 yyyy-MM-dd

时区为 GMT+8
事件原因分析	yyfx	String	512	是	此次不良事件的事件原因分析
补救措施	bjcs	String	512	是	此次不良事件的补救措施描述
器械当前状态	qxdqzt	String	512	是	此次不良事件的器械的当前状态
省级意见	sjyj	String	512	是	此次不良事件省级意见
国家意见	gjyj	String	512	是	此次不良事件国家意见
产品明细	cp_list	List
是	详细参考后表【产品明细表】
包装关系	bzgx_tree	List
是	树形数据，具体参考后表【包装关系】
产品明细表：

字段名	变量名	类型	最大长度	是否必填	说明
扫描的产品udi	udi	String	255	是
产品DI	di	String	32	是
产品类型	cplx	String
是	产品类型编码：

1 器械

2 体外诊断试剂

3 设备

4 非医用物资

5 药品
产品名称	cpmc	String	255	是	产品名称
产品完整名称	cpwzmc	String	512	是	产品完整名称，如无，与spmc一致
生产企业	scqy	String	512	是
生产企业

统一社会

信用代码	tyshxydm_sc	String	32	是
规格	spec	String	255	是
型号	model	String	255
包装等级	bzjb	int
是	0~9
生产日期	scrq	String	16	是	YYYY-MM-dd格式
有效期	yxq	String	16	是	YYYY-MM-dd格式
失效日期	sxrq	String	16	是	YYYY-MM-dd格式
生产批号	scph	String	64	是
序列号	xlh	String	64	是	序列号如果为空传”-”
注册证号	zczh	String	64	是
是否特殊产品	sftscp	String	1	是	Y 是

N 否
是否为包类产品、组套装产品	sfblztcp	String	1	是	Y 是

N 否
发货数量	fhsl	int
是
收货数量	shsl	int
是
包装关系表：

字段名	变量名	类型	最大长度	是否必填	说明
udi	udi	String	255	是	udi
包装级别	bzjb	int
是	包装级别
下级包装	children	List
否	下级包装关系，树型数据
3返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
4举例

1）请求报文格式

{

"event_id": "事件编号",

"qymc": "企业名称",

"tyshxydm": "统一社会行用代码",

"sub_type": "blsj",

"timestamp": "时间戳",

"mac": "计算机Mac地址",

"jlrq": "记录日期",

"hzxm": "患者姓名",

"hzdh": "患者电话",

"hznl": "患者年龄",

"sysl": "使用数量",

"yqzlb": "预期治疗病",

"bs": "病史",

"sjcs": "事件陈述",

"sjhg": "事件后果",

"bgr": "报告人",

"tyrq": "停用日期",

"zrrq": "植入日期",

"yyfx": "事件原因分析",

"bjcs": "补救措施",

"qxdqzt": "器械当前状态",

"sjyj": "省级意见",

"gjyj": "国家意见",

"cp_list": [

{

"udi": "扫描的产品udi",

"di": "产品DI",

"cplx": "产品类型",//1 器械2 体外诊断试剂

"cpmc": "产品名称",

"cpwzmc": "产品完整名称",

"scqy": "生产企业",

"tyshxydm_sc": "生产企业统一社会信用代码",

"spec": "规格",

"model": "型号",

"bzjb": 包装等级,

"scrq": "生产日期",

"yxq": "有效期",

"sxrq": "失效日期",

"scph": "生产批号",

"xlh": "序列号",

"zczh": "注册证号",

"sftscp": "是否特殊产品",//Y 是，N 否

"sfblztcp": "是否为包类产品、组套装产品",//Y 是，N 否

"fhsl": "发货数量",

"shsl": "收货数量"

}

],

"bzgx_tree": [//如果是0级码也上传，下级包装为空（children节点要传，内容为空）

{

"udi": "udi",

"bzjb": "包装级别",

"children": [ //"下级包装信息"

{

"udi": "udi",

"bzjb":"包装级别",

"children": []

}

]

}

]

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

上传召回记录

业务场景

上传企业召回记录信息。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，召回记录信息统一设置为zhjl
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
召回记录单号	jldh	String	512
召回记录单号
记录日期	jlrq	Date	10	是	此次召回事件的记录日期

格式 yyyy-MM-dd

时区为 GMT+8
召回日期	zhrq	Date	10	是	此次召回事件中的召回日期

格式 yyyy-MM-dd

时区为 GMT+8
召回数量	zhsl	Integer	10	是	此次召回事件召回数量
销售数量	xxsl	Integer	10	是	销售数量
销售企业统一社会信用代码	xx_qytyshxydm	String	32	是	销售企业统一社会信用代码
召回原因	zhyy	String	512	是	召回原因
召回处理陈述	zhclcs	String	512	是	召回处理陈述
备注	bz	String	512	是	备注
产品明细	cp_list	List
是	详细参考后表【产品明细表】
包装关系	bzgx_tree	List
是	树形数据，具体参考后表【包装关系】
产品明细表：

字段名	变量名	类型	最大长度	是否必填	说明
扫描的产品udi	udi	String	255	是
产品DI	di	String	32	是
产品类型	cplx	String
是	产品类型编码：

1 器械

2 体外诊断试剂

3 设备

4 非医用物资

5 药品
产品名称	cpmc	String	255	是	产品名称
产品完整名称	cpwzmc	String	512	是	产品完整名称，如无，与spmc一致
生产企业	scqy	String	512	是
生产企业

统一社会

信用代码	tyshxydm_sc	String	32	是
规格	spec	String	255	是
型号	model	String	255
包装等级	bzjb	int
是	0~9
生产日期	scrq	String	16	是	YYYY-MM-dd格式
有效期	yxq	String	16	是	YYYY-MM-dd格式
失效日期	sxrq	String	16	是	YYYY-MM-dd格式
生产批号	scph	String	64	是
序列号	xlh	String	64	是	序列号如果为空传”-”
注册证号	zczh	String	64	是
是否特殊产品	sftscp	String	1	是	Y 是

N 否
是否为包类产品、组套装产品	sfblztcp	String	1	是	Y 是

N 否
发货数量	fhsl	int
是
收货数量	shsl	int
是
包装关系表：

字段名	变量名	类型	最大长度	是否必填	说明
udi	udi	String	255	是	udi
包装级别	bzjb	int
是	包装级别
下级包装	children	List
否	下级包装关系，树型数据
3返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
4举例

1）请求报文格式

{

"event_id": "事件编号",

"qymc": "企业名称",

"tyshxydm": "统一社会行用代码",

"sub_type": "zhjl",

"timestamp": "时间戳",

"mac": "计算机Mac地址",

"jldh": "召回记录单号",

"jlrq": "记录日期",

"zhrq": "召回日期",

"zhsl": "召回数量",

"xxsl": "销售数量",

"xx_qytyshxydm": "销售企业统一社会信用代码",

"xx_qymc": "销售企业名称",

"zhyy": "召回原因",

"zhclcs": "召回处理陈述",

"bz": "备注",

"cp_list": [

{

"udi": "扫描的产品udi",

"di": "产品DI",

"cplx": "产品类型",//1 器械2 体外诊断试剂

"cpmc": "产品名称",

"cpwzmc": "产品完整名称",

"scqy": "生产企业",

"tyshxydm_sc": "生产企业统一社会信用代码",

"spec": "规格",

"model": "型号",

"bzjb": "包装等级",

"scrq": "生产日期",

"yxq": "有效期",

"sxrq": "失效日期",

"scph": "生产批号",

"xlh": "序列号",

"zczh": "注册证号",

"sftscp": "是否特殊产品",//Y 是，N 否

"sfblztcp": "是否为包类产品、组套装产品",//Y 是，N 否

"fhsl": "发货数量",

"shsl": "收货数量"

}

],

"bzgx_tree": [//如果是0级码也上传，下级包装为空（children节点要传，内容为空）

{

"udi": "udi",

"bzjb": "包装级别",

"children": [ //"下级包装信息"

{

"udi": "udi",

"bzjb":"包装级别",

"children": []

}

]

}

]

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

上传报损记录

业务场景

上传企业报损记录信息。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，报损记录信息统一设置为bsjl
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
报损记录单号	bsdh	String	512	是	报损记录单号
报损人姓名	bsr	String	512	是	报损人姓名
报损日期	bsrq	Date	10	是	报损日期

格式 yyyy-MM-dd

时区为 GMT+8
报损仓库	bsck	String	512	是	报损仓库
报损数量	bssl	Integer	10	是	报损数量
报损金额	bsje	Double	10,2	是	报损金额
报损原因	bsyy	String	512	是	报损原因
业务负责人意见	yw_zfryj	String	512	是	业务负责人意见
业务负责人签字	yw_zfrqz	String	64	是	业务负责人签字
质量负责人意见	zl_zfryj	String	512	是	质量负责人意见
质量负责人签字	zl_zfrqz	String	64	是	质量负责人签字
产品明细	cp_list	List
是	详细参考后表【产品明细表】
包装关系	bzgx_tree	List
是	树形数据，具体参考后表【包装关系】
产品明细表：

字段名	变量名	类型	最大长度	是否必填	说明
扫描的产品udi	udi	String	255	是
产品DI	di	String	32	是
产品类型	cplx	String
是	产品类型编码：

1 器械

2 体外诊断试剂

3 设备

4 非医用物资

5 药品
产品名称	cpmc	String	255	是	产品名称
产品完整名称	cpwzmc	String	512	是	产品完整名称，如无，与spmc一致
生产企业	scqy	String	512	是
生产企业

统一社会

信用代码	tyshxydm_sc	String	32	是
规格	spec	String	255	是
型号	model	String	255
包装等级	bzjb	int
是	0~9
生产日期	scrq	String	16	是	YYYY-MM-dd格式
有效期	yxq	String	16	是	YYYY-MM-dd格式
失效日期	sxrq	String	16	是	YYYY-MM-dd格式
生产批号	scph	String	64	是
序列号	xlh	String	64	是	序列号如果为空传”-”
注册证号	zczh	String	64	是
是否特殊产品	sftscp	String	1	是	Y 是

N 否
是否为包类产品、组套装产品	sfblztcp	String	1	是	Y 是

N 否
发货数量	fhsl	int
是
收货数量	shsl	int
是
包装关系表：

字段名	变量名	类型	最大长度	是否必填	说明
udi	udi	String	255	是	udi
包装级别	bzjb	int
是	包装级别
下级包装	children	List
否	下级包装关系，树型数据
返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"event_id": "事件编号",

"qymc": "企业名称",

"tyshxydm": "统一社会行用代码",

"sub_type": "bsjl",

"timestamp": "时间戳",

"mac": "计算机Mac地址",

"bsdh": "报损记录单号",

"bsr": "报损人姓名",

"bsrq": "报损日期",

"bsck": "报损仓库",

"bssl": "报损数量",

"bsje": "报损金额",

"bsyy": "报损原因",

"yw_zfryj": "业务负责人意见",

"yw_zfrqz": "业务负责人签字",

"zl_zfryj": "质量负责人意见",

"zl_zfrqz": "质量负责人签字",

"cp_list": [

{

"udi": "扫描的产品udi",

"di": "产品DI",

"cplx": "产品类型",//1 器械2 体外诊断试剂

"cpmc": "产品名称",

"cpwzmc": "产品完整名称",

"scqy": "生产企业",

"tyshxydm_sc": "生产企业统一社会信用代码",

"spec": "规格",

"model": "型号",

"bzjb": "包装等级",

"scrq": "生产日期",

"yxq": "有效期",

"sxrq": "失效日期",

"scph": "生产批号",

"xlh": "序列号",

"zczh": "注册证号",

"sftscp": "是否特殊产品",//Y 是，N 否

"sfblztcp": "是否为包类产品、组套装产品",//Y 是，N 否

"fhsl": "发货数量",

"shsl": "收货数量"

}

],

"bzgx_tree": [//如果是0级码也上传，下级包装为空（children节点要传，内容为空）

{

"udi": "udi",

"bzjb": "包装级别",

"children": [ //"下级包装信息"

{

"udi": "udi",

"bzjb":"包装级别",

"children": []

}

]

}

]

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

上传生产企业原辅料记录

业务场景

生产企业原辅料记录上传。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，生产企业原辅料记录信息统一设置为scyfl
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
原辅料名称	yflmc	String	512	是	原辅料名称
供应商名称	gysmc	String	512	是	供应商名称
产地	cd	String	512	是	产地
检验员	jyy	String	64	是	检验员
验收日期	ysrq	Date	10	是	验收日期

格式 yyyy-MM-dd

时区为 GMT+8
返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"event_id": "事件编号",

"qymc": "企业名称",

"tyshxydm": "统一社会行用代码",

"sub_type": "scyfl",

"timestamp": "时间戳",

"mac": "计算机Mac地址",

"yflmc": "原辅料名称",

"gysmc": "供应商名称",

"cd": "产地",

"jyy": "检验员",

"ysrq": "验收日期"

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

上传生产企业生产订单记录

业务场景

生产企业生产订单记录上传。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，生产企业原辅料记录信息统一设置为scdd
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
产品名称	cpmc	String	512	是	产品名称
规格型号	ggxh	String	512	是	规格型号
生产许可证号	scxkzh	String	512	是	生产许可证号
注册证号	zczh	String	255	是	注册证号
生产批次	scpc	String	255	是	生产批次
生产日期	scrq	Date	10	是	生产日期

格式 yyyy-MM-dd

时区为 GMT+8
有效期	yxq	Date	10	是	有效期

格式 yyyy-MM-dd

时区为 GMT+8
订单号	ddh	String	64	是	订单号
生产数量	scsl	int	10	是	生产数量
灭菌记录	mjjl	String	512	是	灭菌记录
检验记录	jyjl	String	512	是	检验记录
返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"event_id": "事件编号",

"qymc": "企业名称",

"tyshxydm": "统一社会行用代码",

"sub_type": "scdd",

"timestamp": "时间戳",

"mac": "计算机Mac地址",

"cpmc":"产品名称",

"ggxh":"规格型号",

"scxkzh":"生产许可证号",

"zczh":"注册证号",

"scpc":"生产批次",

"scrq":"生产日期",

"yxq":"有效期",

"ddh":"订单号",

"scsl":"生产数量",

"mjjl":"灭菌记录",

"jyjl":"检验记录"

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

（本例为postman演示效果，谨供参考，使用中如遇问题请具体对待或联系工程师解决）

上传医疗机构采购订单

业务场景

上传医疗机构采购订单。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，报损记录信息统一设置为cgdd
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
采购单号	cgdh	String	512	是	采购单号
采购时间	cgsj	String	512	是	采购时间
供应商名称	gysmc	Date	10	是	供应商名称
供应商统一社会信用代码	gysTyshxydm	Date	10	是	供应商统一社会信用代码
产品明细	cp_list	List
是	详细参考后表【产品明细表】
产品明细表：

字段名	变量名	类型	最大长度	是否必填	说明
产品DI	di	String	32	是
产品名称	cpmc	String	255	是	产品名称
规格型号	ggxh	String	512	是	规格型号
采购数量	cgsl	String	512	是	采购数量
采购单价	cgdj	String	32	是	采购单价
采购总金额	cgzje	String	255	是	采购总金额

返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"cgdh": "",

"cgsj": "",

"ddzje": "",

"gysmc": "",

"gysTyshxydm": "",

"eventId": "",

"qymc": "",

"tyshxydm": "",

"subType": "",

"timestamp": "",

"mac": "",

"cp_list": [

{

"di": "",

"cpmc": "",

"ggxh": "",

"cgsl": "",

"cgdj": "",

"cgzje": ""

}

]

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

上传企业资质证照信息

业务场景

上传企业资质证照信息。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，报损记录信息统一设置为zzxx
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
证照类型名称	zzlxmc	String	512	是	证照类型名称
证照编号	zzbh	String	512	是	证照编号
证照颁发单位名称	zzbfdw	String	512	是	证照颁发单位名称
颁发日期	bfrq	Date
是	颁发日期格式yyyy-MM-dd
证照有效期始	yxqs	Date
是	证照有效期始格式yyyy-MM-dd
证照有效期止	yxqz	Date
是	证照有效期止

返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"zzlxmc": "",

"zzbh": "",

"zzbfdw": "",

"bfrq": "2023-12-05 16:05:06",

"yxqs": "2023-12-05 16:05:06",

"yxqz": "2023-12-05 16:05:06",

"eventId": "",

"qymc": "",

"tyshxydm": "",

"subType": "",

"timestamp": "",

"mac": ""

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200,

"data": "附件的PID"

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

上传医院记账结算

业务场景

上传医院记账结算。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，报损记录信息统一设置为jzjs
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
记账单号	jzdh	String	512	是	记账单号
经营企业名称	qymc_jjqy	String	512	是	经营企业名称
经营企业企业信用代码	tyshxydm_jjqy	String	512	是	经营企业企业信用代码
器械耗材 UDI 编码	udi	String
是	器械耗材 UDI 编码
器械耗材 DI 编码	di	String
是	器械耗材 DI 编码
器械耗材数量	hcsl	Integer
是	器械耗材数量
耗材单价	hcdj	BigDecimal
是	耗材单价
记账总金额	jzzje	BigDecimal
是	记账总金额
记账时间	jzsj	Date
是	记账时间格式

yyyy-MM-dd hh:mm:ss

返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"jzdh": "",

"qymc_jjqy": "",

"tyshxydm_jjqy": "",

"udi": "",

"di": "",

"hcsl": 0,

"hcdj": 0.00,

"jzzje": 0.00,

"jzsj": "2023-12-05 16:16:09",

"eventId": "",

"qymc": "",

"tyshxydm": "",

"subType": "",

"timestamp": "",

"mac": ""

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

上传医疗器械耗材收费项目

业务场景

上传医疗器械耗材收费项目。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，报损记录信息统一设置为sfxm
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
收费项目代码	sfxmdm	String	512	是	收费项目代码
收费项目名称	sfxmmc	String	512	是	收费项目名称
耗材代码	hcdm	String	512	是	耗材代码
耗材名称	hcmc	String	512	是	耗材名称
耗材DI	di	String	512	是	耗材DI
价格（儿童）	jget	String	512	是	价格（儿童）
价格（成人）	jgcr	String	512	是	价格（成人）

返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"sfxmdm": "",

"sfxmmc": "",

"hcdm": "",

"hcmc": "",

"di": "",

"jget": "",

"jgcr": "",

"eventId": "",

"qymc": "",

"tyshxydm": "",

"subType": "",

"timestamp": "",

"mac": ""

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

上传生产企业产品入库

业务场景

上传生产企业产品入库。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
业务类型	sub_type	String	8	是	当前上传数据的业务类型，发货统一设置为cprk
事件编号	event_id	String	64	是	唯一标识，用于验证是否重复提交
时间戳	timestamp	String	32	是	时间戳

格式为 YYYYMMddHHmmssSSS

时区为 GMT+8

例如：20190821164206080
企业名称	qymc	String	512	是	当前上传的企业名称
统一社会

信用代码	tyshxydm	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
计算机的Mac地址	mac	String	512	是	当前上传数据信息的计算机的Mac地址
入库单号	rkdh	String	64	是	入库单号
入库时间	rksj	String	64	是	入库时间格式

yyyy-MM-dd HH:mm:ss
入库仓库	rkck	String	512	是	入库仓库
产品数量	cpsl	String	32	是	产品数量
产品明细	cp_list	List
是	详细参考后表【产品明细表】
包装关系	bzgx_tree	List
是	树形数据，具体参考后表【包装关系】
产品明细表：

字段名	变量名	类型	最大长度	是否必填	说明
扫描的产品udi	udi	String	255	是
产品DI	di	String	32	是
产品类型	cplx	String
是	产品类型编码：

1 器械

2 体外诊断试剂

3 设备

4 非医用物资

5 药品
产品名称	cpmc	String	255	是	产品名称
产品完整名称	cpwzmc	String	512	是	产品完整名称，如无，与spmc一致
生产企业	scqy	String	512	是
生产企业

统一社会

信用代码	tyshxydm_sc	String	32	是
规格	spec	String	255	是
型号	model	String	255
包装等级	bzjb	int
是	0~9
生产日期	scrq	String	16	是	YYYY-MM-dd格式
有效期	yxq	String	16	是	YYYY-MM-dd格式
失效日期	sxrq	String	16	是	YYYY-MM-dd格式
生产批号	scph	String	64	是
序列号	xlh	String	64	是	序列号如果为空传”-”
注册证号	zczh	String	64	是
是否特殊产品	sftscp	String	1	是	Y 是

N 否
是否为包类产品、组套装产品	sfblztcp	String	1	是	Y 是

N 否
发货数量	fhsl	int
是
收货数量	shsl	int
是
包装关系表：

字段名	变量名	类型	最大长度	是否必填	说明
udi	udi	String	255	是	udi
包装级别	bzjb	int
是	包装级别
下级包装	children	List
否	下级包装关系，树型数据
返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

{

"event_id": "",

"qymc": "",

"tyshxydm": "",

"sub_type": "",

"timestamp": "",

"mac": "",

"rkdh": "",

"rksj": "",

"rkck": "",

"cpsl": 0,

"cp_list": [

{

"udi": "",

"di": "",

"cplx": "

"cpmc": "",

"cpwzmc": "",

"scqy": "",

"tyshxydm_sc": "",

"spec": "",

"model": "",

"bzjb": 0,

"scrq": "",

"yxq": "",

"sxrq": "",

"scph": "",

"xlh": "",

"zczh": "",

"sftscp": "

"sfblztcp": "

"fhsl": "",

"shsl": ""

}

],

"bzgx_tree": [

{

"udi": "",

"bzjb": "",

"children": [ {

"udi": "",

"bzjb":"",

"children": []

}

]

}

]

}

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

上传附件

请求

接口地址	测试地址：http://222.75.41.135:8095/api/v1/uploadFile

正式地址：http://XXX/prod-api/api/v1/uploadFile
接口描述	上传附件数据
请求方式	post

业务场景

需要上传附件的接口，先上传记录信息，获取主业务返回的PID，再上传附件。

请求数据结构

数据结构：

字段名	变量名	类型	最大长度	是否必填	说明
附件数组

files	Array
是	附件数组

附件PID	pid	String	32	是	附件PID，主业务上传接口返回的PID
统一社会

信用代码	orgCode	String	32	是	当前企业的统一社会信用代码

测试环境：95105368TS1SMQL7O4
返回结果

数据结构：

数据结构	参数名	类型	说明
code	String	结果状态
msg	String	结果简述
data	Object	结果数据
数据举例（注意：code值【非200】均为失败，包括但不限于以下情况）：

code	msg	data	备注
200	成功	-	成功
400	参数异常	-	参数异常
500	系统处理异常	-	系统处理异常
举例

1）请求报文格式

2）返回参数举例如下

成功：

{

"msg": "操作成功",

"code": 200

}

失败：

{

"msg": "具体失败信息",

"code": 500

}

基本数据集

A1.发货类型代码表

值	值含义
01	销售出库
02	供应出库
03	盘亏出库
04	退货出库
05	抽检出库
06	调拨出库
07	销毁出库
08	赠品出库
09	使用出库
10	召回出库
11	损坏出库
12	报废出库
99	其他

A2.收货类型代码表

值	值含义
01	采购入库
02	退货入库
03	生产入库
04	调拨入库
05	赠品入库
06	盘盈入库
07	召回入库
08	报废入库
09	领取入库
99	其他