核心数据定义

核心数据定义(CDD)是完整研究设计的一个子集。具体而言,其目的是描述影响从 Vault EDC 生成并用于研究数据分析的关键数据导出的字段。

无论是否使用 CDD,组织都可以选择从上游系统(例如 MDR)自动启动研究设计。在该模型中,使用以下 EDC API:

  • 创建研究主程序
  • 创建事件组
  • 创建事件
  • 从库或其他研究复制(多个)表单
  • 对这些事件组/事件/表单的计划进行排序

为了补充此自动化,源设计系统还可以将 CDD 上传到新创建的研究/病例手册版本 1。然后,CDD 就可以在研究设计的正常生命周期中,对研究意图(CDD)与实际研究设计进行比较。每次运行“工作室验证”作业时,都会进行 CDD 与研究设计的比较。

此定义采用 JSON 格式,并作为文件附加到研究设计的病例手册版本。CDD 是病例手册设计导出(CDE)的一个子集,同样采用 JSON 格式。该子集包含各种 EDC 设计结构(事件组、事件、表单、条目组、条目、编码列表、单位)的关键属性,并且仅在有序的研究计划上下文中有效。有关该完整结构的更多信息,请参阅 EDC API 参考

CDD 支持版本控制核心数据定义文件根据需要附加到每个病例手册版本。创建新的病例手册版本不会继承该文件。应将更新的 CDD 上传到新的病例手册版本,并进行适当的更改,以便在后续版本中继续进行比较。

先决条件

默认情况下,具有 CDMS Study Designer(CDMS 研究设计者)CDMS Librarian(CDMS 库管员)标准研究角色的用户可以执行下述操作。如果贵组织使用自定义研究角色,则你的角色必须授予以下权限:

类型 权限标签 控制
“标准”选项卡 Studio 选项卡

能够访问 Studio 选项卡

“标准”选项卡 “库”选项卡

能够访问库(Library)选项卡

功能权限 查看研究设计

仅查看研究设计

功能权限 设计研究

能够通过工作室创建研究设计定义和研究计划

功能权限 查看数据库

能够通过“工作室(Studio)”>“库(Library)”查看库集合 及其设计

功能权限 设计库

能够通过“工作室”>“库”为集合 创建研究设计定义和研究计划

功能权限 API 访问

能够访问和使用 Vault EDC API。(使用 CDB 也需要此权限。)

了解有关“研究角色”的更多信息。


管理核心数据定义(工作室)

尽管组织可能会使用 EDC API 自动化管理 CDD,但也可以从工作室用户界面、研究或库集合中管理该文件。

访问核心数据定义

要访问某个病例手册版本的核心数据定义,请执行以下操作:

  1. 工作室(Studio)中导航到研究
  2. 如有必要,导航到设计的相应病例手册版本(如果不是最新版本)
  3. 操作菜单()中,选择管理核心数据定义(JSON)(Manage Core Data Definition (JSON))
  4. 将出现一个模态对话框,显示两种情况:
    • 当病例手册版本有关联的 CDD 时:

    • 当病例手册版本确实有关联的 CDD 时:

  5. 如果现有病例手册版本有关联的 CDD 文件,请单击文件名进行下载。

上传核心数据定义文件(工作室)

要为病例手册版本添加 CDD 文件,请执行以下操作:

  1. 工作室(Studio)中导航到研究。仅在最新的病例手册版本上允许添加或删除 CDD。
  2. 操作菜单()中,选择管理核心数据定义(JSON)(Manage Core Data Definition (JSON))
  3. 如果已有文件与该病例手册版本关联,必须先将其删除。请参阅下一节“删除核心数据定义文件”,然后返回这些步骤。
  4. 将显示没有关联任何 CDD 文件的对话框:
  5. 单击选择文件(Select File)并浏览到该文件,然后选中它。所选文件将显示出来。如果选择的文件不是预期的文件,请单击文件名旁边的 X,然后选择另一个文件。如果文件不是 JSON 格式,对话框将显示错误并阻止保存。
  6. 单击保存(Save)将该文件关联到病例手册版本。

删除核心数据定义文件(工作室)

  1. 工作室(Studio)中导航到研究。仅在最新的病例手册版本上允许添加或删除 CDD。
  2. 操作菜单()中,选择管理核心数据定义(JSON)(Manage Core Data Definition (JSON))
  3. 现有的 CDD 将显示为文件名。单击文件名旁边的垃圾桶选项:
  4. 该操作将表明文件将被删除,但只有单击保存才会真正删除。单击保存
  5. 此时,重新访问管理核心数据定义(Manage Core Data Definition)选项以上传更新的版本

核心数据定义文件根据需要附加到每个病例手册版本。Veeva EDC 不存储此文件的先前版本,仅关联最后上传的版本。

运行核心数据定义验证

CDD 与系统中研究设计的比较是作为“工作室验证”作业的一部分完成的。

要从工作室运行验证作业,请执行以下操作:

  1. 工作室(Studio)中导航到研究
  2. 操作菜单()中,选择验证(Validate)。如果你的研究最近已经运行过验证作业且没有更改,你将不会看到该选项。
  3. 如果病例手册版本关联了 CDD,将出现运行作业的选项。当没有关联 CDD 时,这些选项会出现。
  4. 默认情况下,还会将 CDD 与研究进行比较,即另外将核心数据定义与研究设计进行比较(Additionally Compare Core Data Definitions to Study Design)。如果选择否(No),则第二个选项将不适用
  5. 使用找到核心数据定义错误时阻止已验证状态(Prevent Validated Status when Core Data Definition Errors are Found)选项来指示比较 CDD 和研究时发现的重大差异是否应阻止病例手册版本进入“已验证”状态。

通常应执行运行比较和阻止进入验证状态的默认操作。请与组织一起考虑何时以及谁应该能够使用这些绕过选项。所选的选项会被存储并显示在 EDC Tools(EDC 工具)> Job History(作业历史)区域

关于实际比较的内容以及警告与错误类型的判定标准,请参阅下面的“核心数据定义验证”部分

此作业运行的结果是一个 ZIP 文件,包含两个 CSV 文件,一个用于特定于 CDD 比较的错误/警告,另一个用于工作室验证检查的其余部分。

执行上一节中描述的操作的 EDC API 如下:

EDC API / 操作 工作室等效步骤 备注
上传核心数据定义文件 上传核心数据定义验证(工作室) 此 API 的参数可用于替换(即,通过一次 API 调用删除并上传新文件)
删除上传核心数据定义文件 删除核心数据定义文件(工作室)  
检索上传核心数据定义文件 访问核心数据定义 此 API 将流式传输通过 API 附加的 JSON 文件。目前,此端点是检测“病例手册版本是否有关联的 CDD?”的唯一方法
启动作业(工作室验证) 运行核心数据定义验证 启动作业的适用类型是 design_validations__v。从作业中检索结果遵循与任何其他作业类型相同的方法。

有关每个端点的完整详细信息(包括示例),请参阅 EDC API 参考

核心数据定义验证

方法

将附加到病例手册版本的 CDD 与 Veeva EDC 研究中的实际研究设计进行比较的关键点如下:

  • CDD 中存在但工作室研究设计中不存在的主要组件(事件组、表单、编码列表选项等) → 错误
  • 工作室研究设计中存在但 CDD 中存在的主要组件(事件组、表单、编码列表选项等) → 警告
  • 取决于具体属性
  • 在任何设计级别的匹配都是通过设计名称进行的。(例如,不良事件表单的“AE”)。一般来说,表单设计名称成为导出表/文件的名称,而条目的名称成为导出表/文件中列的名称。
  • 正如所有其他工作室验证检查一样:
    • 警告不会阻止病例手册版本进入已验证状态
    • 错误会阻止病例手册版本进入已验证状态
  • CDD 的一般结构是完整研究设计(CDE)的一个子集。为了进行比较,可以上传完整的 CDE,但仅比较下面列出的字段。

CDD 结构摘要

CDD 结构涉及高级研究属性和 4 个主要部分:

  • eventgroup_def:研究的有序计划。即事件组、每个事件组中包含的事件以及这些事件中包含的表单
  • form_def:包括研究计划中某处使用的每个表单的条目(eventgroup_def 部分)。包括表单上的条目组、这些条目组中的条目,以及条目使用已分配的编码列表单位定义的情况。
  • unit_def:包括研究设计中至少一个条目使用的每个单位定义的条目。在该条目中,进一步定义了单位的选择。
  • codelist_def:包括研究设计中至少一个条目使用的每个编码列表的条目。在该条目中,进一步定义了编码列表的选择。

逐字段比较

CDD 的比较在“工作室验证”作业期间进行。这些比较被分类为错误警告(见下表)。Vault 还会在“引发的问题 ID(Issue ID Raised)”值中指明类型(“E”表示错误,“W”表示警告)。

JSON 位置 备注
study_name_production 研究中在生产环境中的当前(或预期)标签
version 旨在匹配研究设计中正在比较的病例手册版本。如果不同,会引发警告,但比较会继续进行
(研究的有序计划:包含的事件组)  
eventgroup_def/name 这是匹配的依据,即“双方都有”
eventgroup_def/label 不同时发出警告
eventgroup_def/repeat_maximum 不同时发出错误。如果事件组不重复,则为“1”
eventgroup_def/external_id 不同时发出警告
eventgroup_def/event_def 对于此事件组,它包含的事件
(研究的有序计划:每个事件组的事件)  
eventgroup_def/event_def/name 这是匹配的依据,即“双方都有”
eventgroup_def/event_def/label 不同时发出警告
eventgroup_def/event_def/external_id 不同时发出警告
eventgroup_def/event_def/ 对于此事件,它包含的表单
(研究的有序计划:每个事件中的表单)  
eventgroup_def/event_def/form_def/name 这是匹配的依据,即“双方都有”
eventgroup_def/event_def/form_def/label 不同时发出警告
eventgroup_def/event_def/form_def/repeat_maximum 不同时发出错误。如果表单不重复,则为“1”
eventgroup_def/event_def/form_def/external_id 不同时发出警告
(表单定义:主要属性)  
form_def/name 这是匹配的依据,即“双方都有”
form_def/label 不同时发出警告
form_def/repeat_maximum 不同时发出错误。如果表单不重复,则为“1”
form_def/external_id 不同时发出警告
form_def/itemgroup_def/ 对于此表单,它包含的条目组
(表单定义:表单中的条目组,有序)  
form_def/itemgroup_def/name 这是匹配的依据,即“双方都有”
form_def/itemgroup_def/label 不同时发出警告
form_def/itemgroup_def/repeat_maximum 不同时发出错误。如果表单不重复,则为“1”
form_def/itemgroup_def/external_id 不同时发出警告
form_def/itemgroup_def/item_def/ 对于此条目组,它包含的条目
(表单定义:表单条目组中的条目,有序)  
form_def/itemgroup_def/item_def/name 这是匹配的依据,即“双方都有”
form_def/itemgroup_def/item_def/external_id 不同时发出警告
form_def/itemgroup_def/item_def/label 不同时发出警告
form_def/itemgroup_def/item_def/data_type 不同时发出错误。例如:text__vinteger__vfloat__v
form_def/itemgroup_def/item_def/precision 不同时发出错误。对于定义为浮点数条目,允许的“小数位数”
form_def/itemgroup_def/item_def/length 不同时发出错误
form_def/itemgroup_def/item_def/codelist_def 不同时发出错误。如果条目编码列表类型,则为其使用的编码列表定义(在后面的部分中定义选择)
form_def/itemgroup_def/item_def/unit_def 不同时发出错误。如果条目单位类型,则为其使用的单位定义(在后面的部分中定义单位选择)
form_def/itemgroup_def/item_def/allow_unknown_day 不同时发出错误
form_def/itemgroup_def/item_def/allow_unknown_month 不同时发出错误
form_def/itemgroup_def/item_def/allow_unknown_time 不同时发出错误
(单位定义)  
unit_def/name 这是匹配的依据,即“双方都有”
unit_def/external_id 不同时发出警告
unit_def/choice/ 对于此单位定义,允许的单位选择
unit_def/choice/name 这是匹配的依据(对于某个选择),即“双方都有”
unit_def/choice/label 不同时发出警告
unit_def/choice/external_id 不同时发出警告
(编码列表定义)  
codelist_def/name 这是匹配的依据,即“双方都有”
codelist_def/external_id 不同时发出警告
codelist_def/choice/ 对于此单位定义,允许的单位选择
codelist_def/choice/code 这是匹配的依据(对于某个选择),即“双方都有”
codelist_def/choice/label 不同时发出警告
codelist_def/choice/external_id 不同时发出警告

问题 ID

以下是可能的问题 ID 及其发生情况。输出的摘要(Summary)描述(Description)列进一步描述了问题,并指出了涉及的设计实体/属性

引发的问题 ID 时间/备注
DDE-001 文件结构无效,不符合上一节中描述的领域
DDW-002 CDD 没有研究计划,只有表单编码列表单元定义可供比较
DDE-003 研究中在生产环境中的预期名称
DDW-004 与研究设计关联的文件的病例手册版本(嵌入)似乎与正在比较的版本(研究设计)不同。所有其他比较继续进行,这仅作为警告记录。
DDE-099 尝试运行这些验证时出现一般错误。可能需要联系支持人员进行更多调查
DDE-101 CDD 中存在但研究设计中不存在的实体(事件组、事件、表单等)
DDW-102 研究设计中存在但 CDD 中不存在的实体(事件组、事件、表单等)
DDE-103 实体(事件组、事件、表单等)在两者中都存在,但某个关键属性不同。
DDW-104 实体(事件组、事件、表单等)在两者中都存在,但某个不太关键的属性不同。