小贴士
写在前面:
本期针对《化妆品生产质量管理规范检查要点》(实际生产版)第42~43项,水处理系统及其管理制度相关要求进行解读,供大家参考。
① 本系列文章中的“企业”统指注册人、备案人和受托生产企业。“法定代表人”指企业法定代表人或代其全面管理企业的人。
② 本系列文章中标注有“#”的指通过员工访谈、资料查证、现场观察结果给出综合评价,以判断是否符合条款要求。
01: 水处理系统硬件要求
企业应根据所生产化妆品的品种、数量、工艺和质量要求、生产许可项目确定工艺用水的要求及质量标准,并配备相适应的水处理系统。
① 工艺用水是一种特殊的生产用水,通常通过反渗透、等离子交换、蒸馏等方法制得,水质远高于普通生产用水。 ② 工艺用水一般包括产品用水,试验室用水,与原料和内容物直接接触的内包材、设备、工器具的最后一道清洁工序用水等。 ③ 水处理系统由制水设备、贮存罐、消毒设施、输送泵及管道等组成。各储罐及管道应明确标示内容物(原水、纯水、废水等)及其流向。 ④ 水处理系统的设计、安装、运行、维护应能确保工艺用水达到质量标准要求。制水能力应当和生产规模相匹配。
证据证明 ① 水处理设备采购、安装、确认记录。 ② 水处理工艺流程图。 ③ 水处理系统运行记录。 ④ 工艺用水质量标准(或相关文件)。 ⑤ 工艺用水水质监测记录。 ⑥ 现场查看水处理系统设置和运行情况#
飞检案例 ① 制水设备和制水能力与生产规模不匹配。 ② 水处理设施及运输系统不能正常运行。 ③ 制水设备开启后出现严重漏水现象。 ④ 贮水罐未密闭,无呼吸器,现场有水溢出。 ⑤ 制水间管道无内容物及流向标识。
02: 水处理系统管理制度
企业应建立并执行水处理系统管理制度(或相关文件),定期对水处理系统进行清洁、消毒、监测、维护和保养,以确保水质满足产品质量和生产工艺的需求。
① 应对水处理系统运行过程中的关键参数进行监测和记录,如各阶段的进水/进膜/浓水压力、纯水/浓水流量、电导率等。 ② 应建立工艺用水质量标准及监测计划,对颜色、气味、pH、电导率、菌落总数等指标进行定期监测,并保留监测记录备查。
③ 应建立水处理系统清洁消毒计划及清洁消毒操作规程,对纯水机、储罐、管道等进行定期清洁消毒,并保留相应的记录备查。 ④ 应建立水处理系统维护保养计划及操作规程,对安保滤芯、石英砂、活性炭、RO膜、紫外灯等进行定期更换,并保留相应的记录备查。
证据证明 ① 水处理系统管理制度(或相关文件)。 ② 水处理系统清洁、消毒记录。 ③ 水处理系统维护保养计划、维护保养记录。 ④ 水处理系统运行记录 ⑤ 现场查看水处理系统的运行及维护情况#
飞检案例 ① 制水设备无维护保养和使用操作规程,未制定生产工艺用水标准。 ② 纯化水系统只记录开机情况,无相关运行数据记录和维修养护、清洁消毒记录。 ③ 水处理设备原水流量阀严重积垢,流量计内有积垢和霉迹。 ④ 水处理设备维护保养时滤芯(石英、活性炭)更换未保留记录。
金宗企业专注于工业纯水设备生产研发10多年,可为化妆品生产提供高质量制水设备。
金宗工业纯水设备主要采用反渗透工艺,一般也被我们称之为反渗透去离子水设备,反渗透是一种借助于选择透过(半透过)性膜的工力能以压力为推动力的膜分离技术,当系统中所加的压力大于进水溶液渗透压时,水分子不断地透过膜,经过产水流道流入中心管,然后在一端流出水中的杂质,如离子、有机物、细菌、病毒等,被截留在膜的进水侧,然后在浓水出水端流出,从而达到分离净化目的。
设备高效率,全自动运行,易操作维护;可连续生产,减低劳动强度;在线电导率监测,保证出水符合要求; 可去除有机物及细菌98%以上。
The following has evaluated to null or missing: ==> langConfig [in template "public_include/wap/module/version_1/language.html" at line 49, column 14] ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #if langConfig.status?string = "false" [in template "public_include/wap/module/version_1/language.html" at line 49, column 9] - Reached through: #include "/public_include/wap/module/... [in template "tpl/2018/03/17/2613443926933696//wap/com_5.html" at line 5, column 1] - Reached through: #include "com_5.html" [in template "tpl/2018/03/17/2613443926933696//wap/displaynews.html" at line 69, column 6] ---- Java stack trace (for programmers): ---- freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...] at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134) at freemarker.core.UnexpectedTypeException.newDesciptionBuilder(UnexpectedTypeException.java:80) at freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:43) at freemarker.core.NonHashException.<init>(NonHashException.java:49) at freemarker.core.Dot._eval(Dot.java:48) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.BuiltInsForMultipleTypes$stringBI._eval(BuiltInsForMultipleTypes.java:692) at freemarker.core.Expression.eval(Expression.java:81) at freemarker.core.EvalUtil.compare(EvalUtil.java:111) at freemarker.core.ComparisonExpression.evalToBoolean(ComparisonExpression.java:62) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.include(Environment.java:2509) at freemarker.core.Include.accept(Include.java:171) at freemarker.core.Environment.visit(Environment.java:327) at freemarker.core.Environment.visit(Environment.java:333) at freemarker.core.Environment.process(Environment.java:306) at freemarker.ext.servlet.FreemarkerServlet.processEnvironment(FreemarkerServlet.java:946) at freemarker.ext.servlet.FreemarkerServlet.process(FreemarkerServlet.java:910) at freemarker.ext.servlet.FreemarkerServlet.doGet(FreemarkerServlet.java:769) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.NotAllowedToTunFilesFilter.doFilter(NotAllowedToTunFilesFilter.java:154) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.kenfor.iyong.web.util.filter.InvalidXSSFilter.doFilter(InvalidXSSFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve.invoke(RedisSessionHandlerValve.java:26) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)