欢迎关注,SAS茶谈!
之前文章Pinnacle 21简介简单捋了下Pinnacle 21公司的的发展,该公司有两款产品,Pinnalce 21 Community 和Pinnalce 21 Enterprise,前者是免费开源版,后者是付费商用版。不管是哪个版本,我们工作中使用的功能主要有2个:
- 生成Define.xml文件
- 验证数据(Validation)
Enterprise版本还会提供Issue Management、生成REVIEWER'S GUIDE的功能,从我个人看,这两功能的作用或者效益并不是很大(人工手动操作也能实现)。
不过,目前FDA和PMDA都是采用Pinnalce 21 Enterprise来验证提交的数据,使用跟审批机构相同的验证工具,某种程度上会简化审批流程、提供审批效率。
Pinnalce 21 Enterprise
1. Define.xml文件
1.1 Define.xml简介
Define.xml 文件用于记录描述数据集结构的元数据(metadata), 使得审阅者知晓数据结构及其来源。 元数据是一种描述数据的数据,即用于描述数据属性的信息。
美国食品药品监督管理局 (FDA) 和日本药品和医疗器械管理局 (PMDA) 要求每项研究的递交内容需要包含Define.xml文件,以告知监管机构使用了哪些数据集、变量、受控术语和其他指定的元数据。
XML是一种数据标准格式,具体格式语法、优缺点这里就不介绍。
临床试验项目中,递交给药物审批机构的数据集有SDTM和ADaM 2类,需要生成对应的Define.xml文件。
Define.xml的存在,将项目数据集的元数据信息以一种特定的数据标准格式进行展示。
项目数据集的元数据信息一般保存在各个SPEC文件中,Define.xml文件的生成,是一个将各SPEC中元数据信息提取到.xml文件中的过程。
1.2 Deine.xml的创建
创建Deine.xml的方式,大体分为2类:
- 利用编程语言,提取元数据信息,根据XML语法格式,整合处理后,直接输出文本到.xml文件中。
- 利用编程语言,提取元数据信息,输出到固定格式的Excel Spec中,利用Pinnacle 21读入Excel Spec,输出.xml文件。
两种方法相比较,前者复杂一些,需要考虑XML语法格式等相关问题;后者借助P21提供的现成转化模板,不需要考虑XML语法问题,流程简化许多。
考虑到实现过程的简易性,第2类方法会越来越普及。
1.3 Deine.xml创建过程
本公司之前的处理流程是,使用特定的宏程序读入Spec中的metadata信息,在宏程序中整合处理,直接输出define.xml、define.pdf文件。不过,具体的Validation借助Pinnalce 21 Community。
自从公司采用Pinnacle 21 Enterprise后,就不再使用第1类方法创建Define.xml文件了。
这里主要介绍第2类方法。不管是Pinnalce 21 Community还是Enterprise, 生成Define.xml的过程大体相同,只是操作界面有所区别,大体有两步:
- 整理元数据信息到Excel Spec
- 导入Excel Spec到Pinnacle 21中,生成Define.xml
从某种程度上说,Excel Spec等价于Define.xml文件。两者所保存的内容是相同的,只是呈现形式不同。Pinnacle 21提供了两种形式的相互转化。
1.3.1 生成Excel Spec
目前,我们公司是自己开发了一个SAS宏,将公司的Spec中的各类元数据集信息整合处理,直接输出成Excel Spec文件。由于各家公司Spec的布局都不同,因此转化为Excel Spec的宏程序肯定也都不同,也可以通过其他编程语言进行实现,这里就不具体介绍。
下面的图片,展示了Excel Spec的整体内容。我们需要将项目SPEC中的元数据整理到P21 EXCEL SPEC对应部分,整理过程自然是八仙过海各显神通。不过,不建议手动复制所有内容,手动操作效率太低。
SDTM Excel Spec
Pinnacle 21也提供了几种生成Excel Spec方式,在Community版本中,提供了两种方式生成Excel Spec:
- 从数据集xpt文件中抓取元数据信息进行生成;
- 从已有的Define.xml抓取信息进行生成。
第1种方式,可以从xpt文件中获取Datasets和Variables这两个sheet的信息,这一步也会提供一个完整的Excel Spec模板。不过,ExcelSpec中的其他Sheet信息还需要进行额外编程,从项目Spec中获取。
对于第2种方式,前面提到过Define文件与Excel Spec其实是等价的,可以通过P21相互转化,不过这一种方法很少使用。
P21 Community
在Enterprise版本中,除了以上2种方式,还可以通过直接输入metadata信息,来生成Excel Spec。不过,这种方法也很少使用。
1.3.2 创建Define.xml文件
Excel Spec生成好之后,可以直接导入Pinnacle 21生成Define.xml文件。
Enterprise为网页版,导入Excel Spec后,可以直接导出Define文件。
P21E
对于SDTM,在导入Excel Spec文件之后,可以继续导入aCRF文件,这样P21E可以自动抓取Origin为CRF的变量的Page信息。
这里需要注意,对于Value Level的变量,一部分来源于CRF,另一部分来源其他,Pinnacle可能会将所有的来源都附上抓取的页码,需要手动检查,将其他来源的页码信息置空。同时,对于Value Level中抓取Page信息的变量,其Variable Level中的Page信息也需要置空。(这些问题,P21E后续应该都会更新)
P21E
Community为桌面版,导入Excel Spec后,直接创建Define.xml文件。
关于SDTM中来源为CRF页码填写的问题,一般在Excel Spec生成过程中,进行编程处理,从PDF文档中抓取,直接做到Spec中。具体过程以后再做详细介绍。
P21C
2. 验证数据(Validation)
Pinnacle 21可以提供验证,用于检查递交内容是否符合审批机构标准。验证主要为3类:
- Define Validation
- Data Validation
- Define + Data Validation
2.1 Define Validation
Define文件一般展示项目计划收集的信息,所以在SDTM、ADaM编程开始之前就可以生成Define文件,并进行验证,以及清理metadata Issue。
不过,有的公司生成的Define内容是基于实际收集的数据,这时候只能等数据集生成完毕之后再进行Define的创建与验证。
对Enterprise版本来说,import 整理好Excel Spec文件后,Pinnacle 21就会直接在Issue列显示当前metadata的问题。根据问题提示需要对metadata进行相应的更新。
P21E
导入Excel Spec之后,就可以导出Define文件和Issue Report。
P21E
对Community来说,需要把生成好的Define.xml文件再次导入Pinnacle 21中,进行验证。验证结果会以EXCEL文件的形式展现。验证之前需要确认Engine 和 Data Standard。
P21C
2.2 Data Validation
数据集的验证需要将xpt格式的数据集导入Pinnacle 21中,xpt格式的版本必须为v5版本,否则Pinnacle 21将不会识别。同时,FDA也要求所递交的xpt格式为v5版本。
数据集的Validation可以在SDTM或ADaM编程结束后进行,方便检查Data Issue以及Mapping不合理之处。
Enterprise为网页版,所有的xpt文件必须在电脑本地以zip格式进行打包再上传。SDTM与ADaM的验证,操作类似。
P21E
对于Community来说,在Validator页面确认好各项标准后,导入xpt格式的Source Data,点击Validate。SDTM与ADaM的验证,操作类似。
P21C
2.3 Define + Data Validation
这一步会对Define与数据集信息进行交叉验证,例如,同一个变量在Define与数据集中的Label是不同的,就会显示为Issue。
对于Enterprise版本,zip打包数据集时,需要添加Define.xml;对于Community版本,在2.2步骤中,导入Source Data的同时,也要导入Define.xml文件。
具体步骤,与2.2类似,不再举例。
总结
文章粗略介绍了使用P21 Enterprise、Community生成Define.xml文件以及进行Validation的过程,希望能够帮助读者掌握Pinnacle 21的使用。整个过程并不复杂,可以在自己项目中,找机会做一遍。
在实践中学习,效率要高很多。
感谢阅读, 欢迎关注!
若有疑问,欢迎评论交流!