作者梳理 GxP 监管下开发测试、验证与生产三套环境的合规管理方法
聊聊GXP监管下如何合规管理系统的三套环境
作者按实施验证期和上线运维期两个阶段,梳理 GxP 监管下开发测试、验证、生产三套环境的合规管理方法。配置迁移上,SAP 依靠传输请求加手动配置,其他系统依靠配置迁移工具,PQ 在验证环境还是生产环境执行取决于测试数据是否会污染生产数据,配置推送后需做 PIQ 核对生产与验证环境的一致性。
作为一个月更作者,其实不是我懒,也不是我忙,因为我每次总想写个10w+的文章,但是素材太难找。这次好不容易有一个发现一个值得写的主题,让AI昂我润色了一下。和大家一起分享一下。
做过医药行业IT项目的人都知道,一套系统背后通常得有三套环境撑着:开发测试环境、验证环境、生产环境。
但这三套环境到底怎么管?配置怎么同步、验证在哪做、上线后怎么维护,每个环节都有坑。今天我们从系统还没上线的实施验证阶段,到上线之后的日常运维,把整条线捋一遍。
先搞清楚:医药行业的三套环境长什么样
在往下聊之前,得先说清楚一个行业特点,不然后面很多东西对不上。
医药行业用的系统,大部分是买来的成品软件(COTS),不是从零开发的。 SAP、LIMS、WMS、QMS、MES,这些系统买回来之后主要工作是配置——配业务流程、配表单、配权限、配接口。真正需要写代码的开发工作其实很少,顶多做一些接口增强、报表开发、少量的二次开发。
这就决定了,开发测试环境在医药行业,主要干的活不是写代码,而是做系统配置和单元测试。开发人员在这个环境里把业务流程配通、把参数调好,然后做单元测试确认配置是对的。
验证环境是用来做正式验证的。IQ、OQ、PQ(看情况)这套流程主要在这里跑。
生产环境是业务真正运行的地方,GMP管的就是这套环境。
三套环境定位清楚了,接下来的问题就是:不同阶段怎么管。这事儿得分两头说——实施验证期是一套逻辑,上线后的日常运维是另一套逻辑。
从0到1:实施验证期间怎么管
系统从无到有的这个阶段,是环境管理最复杂的时候。三套环境都要用上,而且配置要从开发环境一步步推进到生产环境。整个过程大概分三步走。
第一步:在开发环境完成配置
买来的系统不是开箱即用的。业务流程要配、主数据要建、接口要调通、权限要设好。这些工作都在开发测试环境里做。
这个阶段开发环境可以随便折腾——配错了改回来就行,搞崩了重装也无所谓。配置人员在这里反复调试,直到业务流程能跑通、单元测试能过。
配置稳定之后,就面临一个问题:这些配置怎么搬到下一套环境去?这就要看系统类型了。
第二步:配置从开发环境迁移到验证环境
不同系统的配置迁移方式差别很大,这里说两种典型的。
SAP靠传输请求加手动配置。SAP有一套传输请求(Transport Request)机制,开发环境里做的配置变更、开发的程序、增强的对象,都会被打包成一个Transport Request,然后沿着 DEV → QAS → PRD 的路径传上去。
听起来挺完美——变更可控、有记录、可追溯。但用过SAP的人都知道,有些东西是传不过去的。打印机配置,不同环境的打印机本来就不一样,没法传也不该传。某些系统参数、后台作业调度时间、跟操作系统相关的路径配置,这些都得在各个环境手动维护。
所以SAP迁移的核心要点是:传输请求清单要完整,手动配置项要有Checklist,两个要同步管理。
其他系统(LIMS、WMS、QMS等)靠配置迁移工具。 大多数医药专业系统提供配置导出/导入或者迁移工具。典型流程是:在开发环境配好之后,把配置包导出来,再导入到验证环境。有些系统可以按模块、按功能区域选择性迁移。
这种方式的好处是"打包迁移",不容易遗漏。但坑也有三个:
一是迁移工具本身的可靠性要验证。我遇到过配置迁移工具在迁移复杂工作流时丢字段的情况,开发环境配的好好的,到了验证环境就是不对,最后发现是工具的bug。
可以看我之前写的失败的案例
二是跟环境相关的参数要单独处理。数据库连接串、接口地址、文件存储路径,每个环境都不一样,不能直接迁。
三是迁移顺序和依赖关系要理清。基础数据要先于业务配置迁移,引用关系搞反了就报错。
第三步:在验证环境跑验证,然后推到生产
配置到了验证环境之后,就开始走正式验证流程——IQ、OQ、PQ。
IQ(安装确认)和OQ(运行确认)一般都在验证环境做,这部分没什么争议。真正纠结的是PQ(性能确认)到底在哪做——验证环境还是生产环境?
这个问题没有标准答案,关键看PQ测试产生的数据会不会"污染"生产环境。
会产生业务数据的PQ,必须在验证环境做。
举几个实际例子。WMS系统上线前跑PQ验证收发货流程,如果在生产环境做,录入的测试入库单和出库单就会留在生产系统里,正式上线时期初库存对不上——你说是测试数据还是真实数据?清都清不干净。
QMS的证照管理模块做PQ,测试"证照过期预警"功能需要录入测试证照。这些测试证照混在真实证照里,万一触发了一条过期预警,质量部门当真了怎么办?
MES或ERP做PQ需要创建测试批号、测试物料。这些主数据一旦进入生产环境,后续的报表、追溯、统计分析全都被污染。你跑个产量统计,里面混着测试批号的数据,这报表还能用吗?
不会产生持久性业务数据的PQ,可以在生产环境做。
说白了,PQ在哪做这个问题的核心是数据影响评估。
PQ在验证环境跑完、确认系统功能正常之后,配置就可以推到生产环境了。迁移方式跟前面说的一样——SAP走传输请求,其他系统走配置迁移。
但推上去不等于完事——还得做PIQ(生产环境安装确认)。
第四步:PIQ——确认生产环境和验证环境一致
PIQ说白了就确认一件事:生产环境的配置,和刚才验证过的验证环境,到底一不一样。
听起来好像多此一举?配置不是刚迁过去吗,怎么会不一样?实际上差异往往就出在边角的地方。SAP的传输请求传过去了,但手动配置项——打印机、系统参数、后台作业——是在生产环境单独配的,配漏一个、配错一个,生产环境就跟验证环境对不上了。其他系统也一样,迁移工具搬过去的是配置包,但环境相关的参数(数据库连接、接口地址、文件路径)是各环境独立的,手动设的时候手滑一下就出问题。
PIQ要做的就是把生产环境和验证环境的配置逐项比对。传输请求清单对一遍,手动配置项Checklist对一遍,关键参数抽检一遍。有差异的要么改生产环境让它对齐,要么记录下来评估影响。比对的结果要形成文档——PIQ报告。
PIQ通过之后,如果有部分PQ需要在上线后做(比如HA),就在生产环境补做。到这一步,从0到1的实施验证才算真正走完。
上线之后:日常运维怎么管
系统上线了,环境管理的重点就变了。实施期解决的是"怎么把配置推上去"的问题,运维期解决的是"怎么让环境保持可控"的问题。
这个阶段最核心的原则就一条:没有变更的时候,三套环境应该保持一致。条件有限的话,至少验证环境和生产环境必须一致。
为什么?因为验证环境存在的意义就是模拟生产环境来验证变更。如果两套环境本来就不一样,你在验证环境测出来的结果,凭什么能代表生产环境的行为?验证的可信度就没了。
但现实是,上线之后很多企业的环境会慢慢"漂移"。原因各种各样:开发测试环境有人改了配置忘了还原、验证环境上次的变更没同步到生产、生产环境出了紧急问题临时改了没回流、三套环境的数据库版本对不上……这些情况积累下去就是隐患。
允许不一致的场景只有两个。
一是变更正在推进过程中。一个变更从开发环境开始,到验证环境测试,再到生产环境部署,中间有时间差。这个时间差里三套环境确实不一样——开发环境已经有了新变更,验证环境正在测,生产环境还没上。这是正常的。
二是验证活动进行期间。验证环境在跑PQ或UAT的时候,可能临时调整配置或数据,这期间跟生产环境有差异也是正常的。
但变更完成或验证结束后,环境要尽快重新同步到一致状态。不能一个变更上了生产,验证环境还停留在测试时的状态,下个变更来了,验证的基础就是错的。
变更怎么走:三个环境的协同
上面说的是"什么时候允许不一致",那变更推进的时候具体怎么操作,才能既把变更上到生产,又符合GxP要求?这套流程得说清楚。
GxP对变更管理的核心要求就三条:有审批、有验证、有追溯。落实到三套环境上,标准流程是这样的。
第一步,变更在开发测试环境实施。 不管是改配置、改接口还是改报表,先在开发环境做好、做完单元测试。这时候只有开发环境有变更,验证和生产环境都没动。
第二步,变更迁移到验证环境,走变更验证。 迁移方式跟实施期一样——SAP走传输请求,其他系统走配置迁移。到了验证环境要做回归测试和影响评估:这个变更改了什么?影响范围多大?有没有连带影响已经验证过的功能?验证结论要形成文档。
第三步,验证通过后走变更审批,然后部署到生产环境。 GxP体系下,变更上生产不能IT自己说了算,要走变更控制流程——质量部门评估、变更控制委员会审批,审批记录、验证报告、风险评估全部归档。审批通过后才允许部署到生产。
第四步,部署后做生产环境确认。 跟实施期的PIQ一个道理——变更部署到生产后,要确认变更确实落地了,而且生产环境和验证环境一致。小变更抽查关键配置项就行,大变更可能需要重新跑部分确认测试。
这套流程走下来,变更从开发到生产每一步都有文档、有审批、有验证记录。审计官来查,你能拿出完整的变更链路:谁提的变更、谁做的验证、谁批的、什么时候上的生产、上线后确认了什么。这就是GxP要的"可追溯"。
实际操作中最容易出问题的是两个地方。一是紧急变更——生产出故障了要赶紧改,来不及走完整流程。这种情况GxP也允许,但事后必须补验证、补审批,而且要在变更记录里标明是紧急变更,说清楚紧急的原因。二是配置回流——生产环境紧急改了配置,事后要记得把变更同步回开发环境和验证环境,不然三套环境又对不上了,下次变更验证的基础就是错的。很多企业的环境漂移就是这么来的:紧急改了生产,忘了回流,时间一长三套环境各长各的样。
环境不一致的风险说白了就三条:验证结果不可信、生产问题难排查、合规检查过不了。第三条尤其要命,审计官看到你的验证环境和生产环境配置对不上,你解释不清楚。
还有一点不管实施期还是运维期都适用:配置变更的审计追踪必须开启。这不是可选项,是GMP的要求。谁在什么时候改了什么配置,必须能追溯。
最后总结
环境管理这件事,按阶段来看其实很清晰:
实施验证期,重点是配置怎么从开发环境一步步推到生产环境。SAP靠传输请求加手动配置,其他系统靠配置迁移工具。PQ在哪做要基于数据影响评估来定——会污染生产数据的放验证环境,不会的可以在生产环境做。配置推到生产后要做PIQ,确认生产环境和验证环境配置一致,这是上线前的最后一道关。决策依据写进验证计划。
上线运维期,重点是保持环境一致性,以及变更的规范流转。没变更的时候三套环境要一致,至少验证和生产一致。变更要走"开发实施→验证环境验证→审批→生产部署→生产确认"的完整流程,每步留痕,确保GxP的可追溯要求。紧急变更可以事后补流程,但别忘了配置回流。审计追踪全程开启。
想明白这两个阶段的逻辑,环境管理的基本框架就立住了。做医药行业IT,说到底就是两件事:系统要好用,合规要过得去。环境管理做扎实了,这两件事都有了基础。
来源:GMPer · mp.weixin.qq.com