
简介这份PDF是CNAS检验机构认可规范文件清单更新至2021年1月19日面向检验检测机构的质量负责人、体系工程师及认可申报人员帮助其快速掌握CNAS对检验机构认可的现行规则体系与文件版本更替情况。资源包共1个PDF文件约168KB以表格形式集中列出通用认可规则、检验机构专用规则、基础认可准则及应用准则等类别逐项标注文件编号、发布与实施日期、被代替文件及修订性质便于对照查新与合规自查。清单覆盖认可标识使用、公正性与保密、申诉投诉处理、能力验证、收费管理、境外机构受理以及特种设备、建设工程、工厂检验、消防设施、机动车辆安全等领域的应用说明并注明换版修订、实质性修订或仅编码变化等差异。目前已有138人学习下载适合作为机构建立或维护认可体系的案头速查工具也可用于内审前核对文件有效性与版本状态。1. 拿到这份清单之后先搞清楚它到底管什么很多实验室在准备认可申请时第一反应是找模板、找范本、找别人写好的体系文件来套。但真正卡住进度的往往不是不会写文件而是不知道该写哪些文件、这些文件对应哪条规范、版本对不对。CNAS 检验机构认可规范文件清单 2021-1-19.pdf 就是解决这个问题的——它是一份按日期冻结的规范性文件索引告诉你截至 2021 年 1 月 19 日检验机构认可体系下有哪些文件在生效、哪些被替代、哪些是申请和评审时必须对齐的。这份清单的适用对象很明确正在建体系准备初次申请的检验机构、已经获认可需要做文件换版的实验室、以及做内审和管理评审时需要核对依据文件是否齐全的质量负责人。它不教你怎么写作业指导书但它决定了你写的每一份文件该引用哪个编号、该对齐哪个版本。换句话说它是你整个文件体系的根目录根目录错了后面全白搭。我见过不少机构在评审前两周才发现自己引用的某份规范已经被新版替代了而新版里对人员能力监控的要求多了两个条款。这种翻车不是能力问题是信息同步问题。这份清单的价值就在于它把信息同步这件事变成了一个可以逐条核对的表格。2. 清单里的文件分类逻辑与版本对应关系2.1 认可规范文件的四个层级这份清单里的文件不是平铺的它隐含了一个层级结构。最上面是认可规则类文件比如认可办法和认可准则它们规定的是“你凭什么被认可”和“认可你什么”。往下是准则应用说明类针对不同领域的检验机构给出具体解释比如对某些技术领域的特殊要求。再往下是认可方案和认可要求类涉及具体的能力验证、量值溯源、不确定度评定等操作性要求。最底层是认可指南类属于推荐性参考不强制但评审员会看。理解这个层级的意义在于当你的体系文件引用依据时规则和准则是必须逐条覆盖的应用说明要结合自身领域判断适用性指南类可以作为补充但不要当成强制要求来写。很多机构把指南里的建议写成了自己的强制程序结果评审时被问“你为什么给自己加戏”反而解释不清。2.2 版本号与替代关系的读法清单里每份文件都带编号和版本标识。编号规则通常是“CNAS-XX-XX:年份”或者“CNAS-XX-XX:年份 第X次修订”。这里有个容易踩的坑年份相同但修订次数不同是两个不同的文件。比如某份准则的 2018 版和 2018 年第 1 次修订版在条款上可能有实质性差异。读这份清单时我一般会做三件事。第一把每份文件的编号、名称、版本、生效日期抄到一个表格里。第二标出哪些文件标注了“替代”关系把被替代的旧文件单独列一列。第三对照自己机构现有的体系文件引用清单逐条比对。这个动作看起来笨但比评审时被开不符合项要划算得多。2.3 用表格把清单转成可核对的检查表下面这个表格结构是我自己用的你可以直接照着建。字段可以根据机构规模增减但“文件编号”“版本标识”“是否替代旧版”“本机构是否适用”这四个字段建议保留。文件编号文件名称版本标识是否替代旧版本机构是否适用体系文件对应位置CNAS-XX-XX:2018某认可准则2018 第1次修订替代 2018 版是质量手册第4章CNAS-XX-XX:2019某应用说明2019 版无部分适用程序文件XXCNAS-XX-XX:2020某认可方案2020 版替代 2016 版是作业指导书XX建好这张表之后每次清单更新你只需要改表格然后看“体系文件对应位置”那一列就知道哪些文件需要跟着改。这个习惯我坚持了几年最大的好处是换版时不会漏。注意清单里的“适用”判断不能拍脑袋。检验机构的领域差异很大同一份应用说明对某些领域是强制的对另一些领域可能只是参考。拿不准的时候对照认可准则里的适用范围条款逐字读。3. 用这份清单驱动体系文件换版的实操步骤3.1 第一步把 PDF 清单转成可编辑的结构化数据PDF 直接看不方便比对我一般先把它转成表格。如果清单页数不多手动录入最稳妥。如果页数多可以用 Python 做一次提取但提取后必须人工核对因为 PDF 表格的合并单元格经常导致串行。# 用 pdfplumber 提取 PDF 中的表格输出为 CSV 供人工核对 # 注意提取结果不能直接用于体系文件必须逐条人工确认 import pdfplumber import csv pdf_path CNAS_ checklist_2021-01-19.pdf # 替换为实际文件路径 output_csv cnas_checklist_raw.csv with pdfplumber.open(pdf_path) as pdf: all_rows [] for page in pdf.pages: # extract_table 对有线表格效果较好无线表格需要调参数 table page.extract_table() if table: for row in table: # 过滤全空行 if any(cell and cell.strip() for cell in row): all_rows.append(row) # 写入 CSV保留原始内容不做清洗 with open(output_csv, w, newline, encodingutf-8-sig) as f: writer csv.writer(f) writer.writerows(all_rows) print(f提取完成共 {len(all_rows)} 行请人工核对后再使用)这段代码的逻辑很简单逐页提取表格过滤空行原样写入 CSV。参数方面extract_table()对有线框的表格识别率较高如果清单是无线表格需要改用extract_table(table_settings{vertical_strategy: text, horizontal_strategy: text})但误判率会上升。输出用utf-8-sig是为了 Excel 直接打开不乱码。提取完不要急着用。我一般会打印出来拿一支笔逐行对照 PDF 原文把串行的、漏掉的、多出来的标记出来手动修正。这个人工核对的时间不能省因为清单里的编号错一位后面引用就全错。3.2 第二步逐条比对现有体系文件的引用依据有了结构化清单之后下一步是拿它去比对机构现有的质量手册、程序文件、作业指导书里引用的规范性文件。这个动作可以手工做也可以用脚本辅助。# 在体系文件目录中搜索引用的 CNAS 编号输出比对结果 # 适用于 .txt 或 .md 格式的体系文件Word 需先转文本 import os import re # 从清单 CSV 中读取所有有效编号此处简化为手动维护的列表 valid_ids [ CNAS-XX-XX:2018, CNAS-XX-XX:2019, CNAS-XX-XX:2020, # 实际使用时从 CSV 中读取 ] # 体系文件存放目录 doc_dir ./quality_docs # 匹配 CNAS 编号的正则允许编号中有空格和冒号 pattern re.compile(rCNAS[-\s]*[A-Z]{2}[-\s]*\d[:\s]*\d{4}) for root, dirs, files in os.walk(doc_dir): for fname in files: if fname.endswith((.txt, .md)): fpath os.path.join(root, fname) with open(fpath, r, encodingutf-8) as f: content f.read() found pattern.findall(content) for fid in set(found): # 标准化后比对 normalized fid.replace( , ).replace(-, -) if normalized not in valid_ids: print(f[需关注] {fpath} 引用了 {fid}不在当前清单中)这段脚本的作用是扫出体系文件里所有 CNAS 编号然后和清单里的有效编号比对。不在清单里的编号有两种可能一是引用了已废止的旧版二是编号写错了。两种都需要处理。参数方面正则里的[-\s]*是为了容忍编号中可能出现的空格和连字符差异实际使用时根据清单里的编号格式调整。脚本跑出来的结果只是线索最终判断还是要人工做。比如有些文件引用的是“引用文件”章节里的参考标准不是认可规范那就不在比对范围内。我一般会把脚本输出和人工判断结合先粗筛再精查。3.3 第三步制定换版计划并保留旧版对照记录比对完成后你会得到一张“需要修改的文件清单”。接下来是排优先级。我的做法是按三个维度打分影响范围涉及几个部门、修改工作量改几处引用还是整章重写、评审风险评审员最常查的条款优先。三个维度各分高、中、低优先处理“影响范围大、评审风险高”的。换版时有一个血泪经验旧版文件不要直接删掉。我一般会在文件控制程序里规定旧版文件保留电子版并标注“作废”和作废日期保留期至少覆盖一个认可周期。原因很简单评审员有时会问“你上一版是怎么规定的为什么改”你拿不出旧版就只能靠记忆回答很容易被开不符合项。换版计划表建议包含这些字段文件名称、当前版本、目标版本、修改内容摘要、责任人、计划完成日期、实际完成日期、审批记录。这个表不用给别人看但自己跟踪进度时非常有用。4. 避坑清单使用中最容易翻车的五个地方4.1 把“清单日期”当成“文件生效日期”现象有人看到清单标题是 2021-1-19就以为清单里所有文件都是这一天生效的。原因清单日期是编制或更新日期不是每份文件的生效日期。每份文件的生效日期在文件正文或发布通知里单独规定。解决在比对表里单独加一列“文件生效日期”从每份文件正文里抄不要从清单日期推断。4.2 忽略“第X次修订”的实质性差异现象体系文件引用了某准则的 2018 版清单里显示该准则有 2018 年第 1 次修订版但觉得“只是修订差别不大”就没改。原因修订版可能新增、删除或修改了条款尤其是涉及人员、设备、结果报告的要求。解决每次换版时把新旧版本做一次条款级对照至少把“新增”和“删除”的条款列出来判断是否影响本机构的体系文件。4.3 把指南类文件当成强制要求来写程序现象某机构把一份认可指南里的推荐做法写成了自己的强制程序评审时被问“你为什么把推荐做法变成强制要求”答不上来。原因没有区分“规则/准则/应用说明”和“指南”的约束力差异。解决在体系文件里引用指南时措辞用“参考”而不是“依据”程序文件里不要写“必须按指南执行”除非你确实需要这么做并且能解释理由。4.4 清单更新后没有触发体系文件复审现象清单更新了但体系文件还是按旧版引用直到评审前自查才发现。原因没有把“清单更新”纳入文件控制程序的触发条件。解决在文件控制程序里加一条认可规范文件清单更新后质量负责人应在 X 个工作日内组织复审相关体系文件。这个 X 根据机构规模定一般 5 到 10 个工作日比较现实。4.5 只比对编号不比对名称现象编号对了但文件名称在清单里已经变了体系文件里还用旧名称。原因有些文件换版时编号不变但名称调整了。解决比对时编号和名称一起看两个字段都一致才算对齐。如果名称变了体系文件里的引用名称也要跟着改。5. 把清单用成动态工具的几个进阶习惯5.1 建立自己的“清单变更日志”清单本身是静态的 PDF但认可规范文件是动态更新的。我一般会建一个简单的变更日志表每次发现清单有更新或者收到新版文件通知时记录变更日期、涉及文件、变更类型新增/替代/废止、对本机构的影响、处理状态。这个日志不需要很正式用表格软件维护就行但坚持记录的好处是评审时你能拿出完整的变更追溯记录这本身就是体系有效运行的证据。5.2 用脚本做定期自动比对如果你机构的体系文件是电子化的可以写一个定时任务每月跑一次比对脚本输出“引用编号不在当前清单中”的报告。这样即使你忘了手动检查脚本也会提醒你。脚本逻辑和 3.2 节类似只是把有效编号列表改成从最新清单 CSV 中读取。# 每月 1 号自动运行比对脚本输出报告到指定目录 # 需要先安装 Python 和依赖并确保清单 CSV 已更新 0 8 1 * * /usr/bin/python3 /path/to/compare_script.py /path/to/log/compare_$(date \%Y\%m).log 21这个 crontab 表达式的含义是每月 1 号早上 8 点执行比对脚本日志按年月命名。参数方面是追加输出21是把错误输出也重定向到日志。实际使用时把路径替换成你自己的。5.3 在管理评审输入里固定加入“规范文件清单比对结果”管理评审是体系运行的最高层级检查把清单比对结果作为固定输入项能确保这件事不会被日常事务挤掉。我一般会在管理评审报告的“外部因素变化”部分专门写一段本周期内认可规范文件清单的更新情况、本机构的比对结果、需要调整的体系文件及完成状态。这样评审员看到的是你有机制在跟踪而不是临时补的。5.4 一个具体技巧用颜色标记比对状态在 2.3 节的比对表里我习惯用三种颜色标记绿色表示已对齐、黄色表示待确认、红色表示需要修改。每周更新一次颜色一眼就能看出进度。这个习惯看起来简单但比看文字状态快得多。尤其是机构规模大、文件多的时候颜色标记能让你在评审前快速定位风险点。最后说一个我自己的教训。早期做体系文件时我觉得清单就是一张纸抄一遍编号就完了。结果第一次评审被开了三个不符合项全是引用依据的问题。后来我把这份清单当成一个需要持续维护的工具每次更新都认真比对反而再没在这上面翻过车。清单本身不复杂复杂的是坚持用它。希望帮到你。本文还有配套的精品资源点击获取