国家兽药产品追溯系统
追溯码及数据交换文件规范
000011 范围
本标准主要规定了国家兽药产品追溯系统追溯码及数据交换文件规范。
本标准适用于国家兽药产品追溯系统的各类数据采集及交换。
000012 规范性引用文件
中国目前的国家标准是QR码(Quick Response Code)和PDF417码。QR码的中文译名为“快速响应矩阵码”,是一种矩阵式二维码。每个QR码符号由正方形模块组成的一个正方形阵列构成,就象其它矩阵式二维码一样,它是通过模块的颜色深浅来表达数据,深色模块表示二进制1,浅色模块表示二进制0。QR码的特征是在其左上角、右上角和左下角的三个由同心正方形构成的位置探测图形。
每个QR码符号最多可以包含:
1.数字数据:7089 个字符
2.字母数字数据:4296 个字符
3.8位字节数据:2953 个字符
4.日本汉字数据:1817 个字符
5.中国汉字数据:1817 个字符
QR码有 L、M、Q、H 四种纠错等级,可恢复的码字比例分别为 7%、15%、25%、30%。
000013 术语和定义
1.追溯码:按照国家兽药产品追溯系统编码规则产生的24位随机数字,是兽药产品追溯的唯一性标识;追溯码中显示的数字与产品的实际生产日期、批号等信息无任何关系。
2. 最小贴码单位:产品的最小贴码单位,可以是产品的最小包装(如瓶),也可以是根据实际情况选择的某级包装(如盒、箱)。
3. 最小包装单位:是指不可再拆分兽药产品的最小包装。
4. 最小贴码单位与最小包装单位的比例值:一个最小贴码单位包装中存放的最小包装单位的数量。如10,则表示一个贴码单位包装中可以存放10个最小包装单位的产品。默认值为1,表示最小贴码单位与最小包装单位相同。
5.包装级别:1为最小贴码单位包装级别,数字越大,包装级别越大。1级为最内层贴码包装,2级为1级的外包装,3级为2级的外包装,依次类推。
6.包装比例:指从最外层贴码包装到最小贴码单位所属包装级别的各级包装的存放比例,之间用半角冒号分隔。如1:4:40,表示共有三级包装需要贴码,1个3级贴码包装中存放4个2级贴码包装,1个2级贴码包装中存放10个1级最小贴码包装。
包装比例一般为两级或以上包装,如有一级包装情况,则可将包装比例设置为“1:实际生产数量”。
本规范根据兽药行业信息化建设的需要,围绕兽药产品从出厂到使用全程追溯,规范了国家兽药产品追溯系统所涉及的追溯码及数据交换文件接口标准。
本规范详细说明了国家兽药产品追溯系统的追溯码及数据交换文件,除“追溯码文件”采用指定的文本文件格式外,其他的接口均采用XML1.0的国际标准文件格式进行数据交换。
追溯码文件是把国家兽药产品追溯系统生成的追溯码数据下载成文件,以供生产企业使用。追溯码文件生成的规范为TXT文件,然后被压缩为ZIP文件供用户下载。
数据交换文件规范定义参考xml schema的格式进行定义,但不同于xml schema的语法规则, 元素节点规则如下:
<节点1名称 属性1名称(属性1中文名称 属性1类型 可选/必选),
属性2名称(属性2中文名称 属性2类型 可选/必选),
…
>
<节点2名称 属性定义…>
…..
</节点2名称>
….
<节点n名称 …/>
</节点1名称>
每个节点都可以包含多个属性, 也可以包含下级节点。
兽药产品追溯码是国家兽药产品追溯系统随机产生24位数字,编码规范满足唯一性、稳定性的原则。兽药产品追溯码生成二维码的码制是QR码,字符编码采用UTF-8。
示例如下:
201401290003800000020462。
注:追溯码中显示的数字与产品的实际生产日期、批号等信息无任何关系。
追溯码默认文件名称是系统自动生成,生成规则是:追溯码文件为“申请号_产品名.TXT”;如果用户为追溯码申请设置了大于1级的文件分割记录,则追溯码文件为“申请号_产品名_级数.TXT”。压缩后的追溯码文件名为“申请号_产品名.ZIP”。
例:2012122929028_副猪嗜血杆菌病灭活疫苗.txt。压缩文件名为: 2012122929028_副猪嗜血杆菌病灭活疫苗.zip。
2012122910008_鸡新城疫灭活疫苗(La Sota株)_1.txt,2012122910008_鸡新城疫灭活疫苗(La Sota株)_2.txt。压缩文件名为: 2012122910008_鸡新城疫灭活疫苗(La Sota株).zip。
追溯码文件为txt文本文件,其文件内容格式如下:
第一行:^生产企业名称^产品名称^审批通过码数量^此分割文件中的码数量^版本号
其他行:追溯码,产品名称,批准文号,生产企业简称,联系电话
其中第一行为头信息,其他行为二维码信息数据,头信息行以英文“^”开头,各属性以英文“^”
隔开;其他行以全角“,”隔开。
属性含义解释如下:
(1)生产企业名称:提出追溯码申请的企业名称;
(2)产品名称:申请的追溯码所属的产品的名称;
(3)批准文号:要追溯的产品的批准文号或进口注册证书号;
(4)审批通过码数量:审批人员批准的追溯码数量;
(5)分割文件中的码数量:如果所属追溯码申请没有分割,则此值等于审批通过的码数量;否则等于此级数分割文件记录中的码数量。
(6)版本号:标识追溯码文件的版本信息,目前为固定值“1.0”。
文件总行数应该为:此分割文件中的码数量+1。
追溯码文件(2012012900038_副猪嗜血杆菌病灭活疫苗.txt)内容:
^武汉科前动物生物制品有限责任公司^副猪嗜血杆菌病灭活疫苗^1000^1000^1.0
201201290003800000010123,副猪嗜血杆菌病灭活疫苗,兽药生字(2011)170041065,武汉科前,0351-1234567
201201290003800000020462,副猪嗜血杆菌病灭活疫苗,兽药生字(2011)170041065,武汉科前,0351-1234567
……
201201290003800009980995,副猪嗜血杆菌病灭活疫苗,兽药生字(2011)170041065,武汉科前,0351-1234567
201201290003800010000166,副猪嗜血杆菌病灭活疫苗,兽药生字(2011)170041065,武汉科前,0351-1234567
数据交换文件是兽药产品入库数据文件和兽药产品出库数据文件两类。
该文件为使用追溯系统的企业导出兽药产品入库数据给追溯系统时使用。根据使用对象分为两类:生产企业入库文件、其他企业入库文件。
8.1.1生产企业入库文件
(1)生产企业入库文件规范
规范定义如下:
<?xml version="1.0" encoding="UTF-8"?>
<DataList corpName(入库企业名称 字符型 必选) dataType(数据类型 字符型 必选 固定值”wareHouseIn”) version(文件版本号 字符型 必选 目前为固定值“1.0”) xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="兽药产品入库数据_生产企业.xsd">
<Product productName(产品通用名 字符型 必选) pzwh(产品批准文号 字符型 必选) >
<Batch batchNo(批号 字符型 必选)specification(产品规格[包含单位] 字符型 必选)minPackUnit(最小包装单位 字符型 必选) minTagUnit(最小贴码单位 字符型 必选) tagPackRatio(最小贴码单位与最小包装单位的比例值 字符型 可选) tagRatio(贴码包装比例 字符型 必选) produceDate(生产日期 字符型 必选)operator(入库操作员 字符型 可选) oprDate(入库日期 字符型 必选) count(入库数量 整型 可选)countUnit(数量单位 字符型 可选) >
<Data code(入库追溯码 字符型 必选)/>
……
</Batch>
……
</Product>
……
</DataList>
(2)XML Schema规范
兽药产品入库数据(生产企业)的XML文件的Schema规范,结构如下:
各节点注释如下表:
节点名称 |
节点含义 |
节点属性 |
下级节点 |
DataList |
文档根节点 |
corpName:入库企业名称,必选 dataType:数据类型,只能为“wareHouseIn”,必选 version:版本号,默认1.0,必选 |
Product |
Product |
DataList子节点,可出现多次,必须至少出现一次。其子元素为不同批号产品入库数据 |
productName:产品通用名,必选 pzwh:产品批准文号,必选 |
Batch |
Batch |
Product子节点,可出现多次,必须至少出现一次。其子元素为当前批号产品入库数据记录 |
batchNo:批号,必选 specification:产品规格[包含单位], 必选 minPackUnit:最小包装单位,必选 minTagUnit:最小贴码单位,必选 tagPackRatio:最小贴码单位与最小包装单位的比例值,可选 tagRatio:贴码包装比例,必选 produceDate::生产日期 ,必选,样式为:YYYY/MM/DD operator:入库操作员,可选 oprDate:入库日期,必选,样式为:YYYY/MM/DD count:入库数量,可选 countUnit:数量单位。1-最小包装单位;2-最小贴码单位,可选 |
Data |
Data |
Batch子节点,可出现多次,必须至少出现一次。表示产品入库数据记录。 |
code: 入库追溯码,必选 |
|
(3)生产企业入库文件示例
<?xml version="1.0" encoding="UTF-8"?>
<DataList corpName="兽药生产企业A" dataType="wareHouseIn" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="兽药产品入库数据_生产企业.xsd">
<Product productName="兽药产品A" pzwh="兽药生字(2011)011230124" >
<Batch batchNo="20121225" specification="10ml" minPackUnit="瓶" minTagUnit="瓶" tagPackRatio="1" tagRatio="1:4:40" produceDate="2012/12/25" operator="张三" oprDate="2012/12/25" >
<Data code="201201290003800000010123"/>
……
<Data code="201201290003800000100462"/>
<Data code="201201290003800000110995"/>
<Data code="201201290003800000120535"/>
……
<Data code="201201290003800000210457"/>
<Data code="201201290003800000220180"/>
<Data code="201201290003800000230749"/>
……
<Data code="201201290003800000320553"/>
<Data code="201201290003800000330444"/>
<Data code="201201290003800000340120"/>
……
<Data code="201201290003800000430157"/>
<Data code="201201290003800000440964"/>
<Data code="201201290003800000450535"/>
<Data code="201201290003800000460135"/>
……
<Data code="201201290003800000550336"/>
<Data code="201201290003800000560331"/>
<Data code="201201290003800000570195"/>
……
<Data code="201201290003800000660668"/>
<Data code="201201290003800000670238"/>
<Data code="201201290003800000680182"/>
……
<Data code="201201290003800000770668"/>
<Data code="201201290003800000780134"/>
<Data code="201201290003800000790995"/>
……
<Data code="201201290003800000880104"/>
<Data code="201201290003800000890744"/>
<Data code="201201290003800000900166"/>
</Batch>
</Product>
<Product productName="兽药产品B" pzwh="兽药生字(2011)011230126" >
<Batch batchNo="20121225" specification="10ml" minPackUnit="瓶" minTagUnit="瓶" tagPackRatio="10" tagRatio="1:4" produceDate="2012/12/25" operator="李四" oprDate="2012/12/25" >
<Data code="201201290003800000110995"/>
<Data code="201201290003800000220180"/>
<Data code="201201290003800000330444"/>
<Data code="201201290003800000440964"/>
<Data code="201201290003800000450535"/>
</Batch>
</Product>
</DataList>
8.1.2其他企业入库文件
其他企业含有经营企业、养殖场等非生产企业用户。
(1)其他企业入库文件规范
规范定义如下:
<?xml version="1.0" encoding="UTF-8"?>
<DataList corpName(入库企业名称 字符型 必选) dataType(数据类型 字符型 必选 固定值”wareHouseIn”) version(文件版本号 字符型 必选 目前为固定值“1.1”) xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="兽药产品入库数据_其他企业1.1.xsd">
<Product>
<Batch batchNo(批号/流水号 字符型 可选) operator(入库操作员 字符型 可选) oprDate(入库日期 字符型 必选)>
<Data code(入库追溯码 字符型 必选)/>
……
</Batch>
……
</Product>
</DataList>
(2) XML Schema规范
兽药产品入库数据(其他企业)的XML文件的Schema规范,结构如下:
各节点注释如下表:
节点名称 |
节点含义 |
节点属性 |
下级节点 |
DataList |
文档根节点 |
corpName:入库企业名称,必选 dataType:数据类型,只能为“wareHouseIn”,必选 version:版本号,默认1.1,必选 |
Product
|
Product |
DataList子节点,必须至少出现一次 |
|
Batch |
Batch |
Product子节点,可出现多次,必须至少出现一次。其子元素为企业入库数据记录 |
batchNo:批号/流水号,可选 operator:入库操作员,可选 oprDate:入库日期,必选,样式为:YYYY/MM/DD |
Data |
Data |
Batch子节点,可出现多次,必须至少出现一次。表示产品入库数据记录。 |
code: 入库追溯码,必选 |
|
(3) 其他企业入库文件示例
<?xml version="1.0" encoding="UTF-8"?>
<DataList corpName="兽药经营企业A" dataType="wareHouseIn" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="兽药产品入库数据_其他企业1.1.xsd">
<Product" >
<Batch batchNo="1" operator="张三" oprDate="2012/12/25" >
<Data code="201201290003800000900166"/>
</Batch>
<Batch batchNo="2" operator="张三" oprDate="2012/12/25" >
<Data code="201201290003800000450535"/>
</Batch>
</Product>
</DataList>
该接口文件为兽药生产企业、经营企业等用户导出兽药产品出库数据给追溯系统时使用。
规范定义如下:
<?xml version="1.0" encoding="UTF-8"?>
<DataList corpName(出库企业名称 字符型 必选) dataType(数据类型 字符型 必选 固定值"wareHouseOut")version(文件版本号 字符型 必选 目前为固定值“1.1”) xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="兽药产品出库数据1.1.xsd">
<Product>
<Batch batchNo(批号 字符型 可选)operator(出库操作员 字符型 可选)oprDate(出库日期 字符型 必选) toProvince(收货省份 字符型 必选) toCity(收货市 字符型 可选)toCounty(收货县 字符型 可选)toUnit(具体收货单位 字符型 可选) >
<Data code=""/>
……
</Batch>
……
</Product>
……
</DataList>
兽药产品出库数据的XML文件的Schema规范,结构如下:
各节点注释如下表:
节点名称 |
节点含义 |
节点属性 |
下级节点 |
DataList |
文档根节点 |
corpName:出库企业名称,必选 dataType:数据类型,只能为“wareHouseOut”,必选 version:版本号,默认1.1,必选 |
Product |
Product |
DataList子节点,必须至少出现一次 |
|
Batch |
Batch |
Product子节点,可出现多次,必须至少出现一次。其子元素为企业出库数据记录 |
batchNo:批号,可选 operator:出库操作员,可选 oprDate:出库日期,必选,样式为:YYYY/MM/DD toProvince:收货省份,必选 toCity:收货市,可选 toCounty:收货县,可选 toUnit:具体收货单位,可选 |
Data |
Data |
Batch子节点,可出现多次,必须至少出现一次。表示产品出库数据记录 |
code:出库追溯码,必选 |
|
兽药生产企业产品出库数据文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<DataList corpName="兽药生产企业A" dataType="wareHouseOut" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="兽药产品出库数据1.1.xsd">
<Product>
<Batch batchNo="1" operator="张三" oprDate="2012/12/29" toProvince="新疆" >
<Data code="201201290003800000450535"/>
</Batch>
<Batch batchNo="2" operator="张三" oprDate="2012/12/30" toProvince="新疆" >
<Data code="201201290003800000110995"/>
<Data code="201201290003800000220180"/>
</Batch>
</Product>
</ DataList >
兽药经营企业产品出库数据文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<DataList corpName="兽药经营企业A" dataType="wareHouseOut" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="兽药产品出库数据1.1.xsd">
<Product>
<Batch batchNo="1" operator="张三" oprDate="2012/12/29" toProvince="新疆" >
<Data code="201201290003800000450535"/>
</Batch>
<Batch batchNo="2" operator="张三" oprDate="2012/12/30" toProvince="新疆" >
<Data code="201201290003800000110995"/>
<Data code="201201290003800000220180"/>
</Batch>
</Product>
</ DataList >
追溯附件2.doc