向数据项添加元数据层。
edc-metadata的Python项目详细描述
EDC_元数据
EDC元数据将"元数据"层放在数据收集表单的顶部,即CRF和申请。"元数据"用于数据输入仪表板(另请参见EDC_仪表板)。数据管理员可以直接查询元数据,以查看CRF和申请表的完成状态。
- 元数据存储在两个模型中, crfmetadata 和 requisionmetadata 。每次访问都会为每个表单创建一个元数据记录。元数据仅为 就诊时间表中定义的就诊数据收集表单创建。
- 保存 访问 模型时,将为每次访问创建元数据模型实例。 edc_metadata 从 visit_schedule 中读取,以决定要为访问创建哪些数据收集表单元数据模型实例。(注:见EDC就诊时间表)
- 提交就诊表后,保证就诊中定义的每个表单都有元数据。
元数据 模型实例
每个元数据模型实例, crf metadata 或 requisitionmetadata 都由 就诊时间表中列出的实际CRF或申请模型管理。 crfmetadata`为就诊时间表中列出的每个crf创建模型实例。也就是说,如果访问计划为5个不同的访问安排一个crf,那么最终将创建5个"crfmetadata"模型实例。元数据模型实例是在保存时间点的"visit 模型"时创建的。 当您在一次访问中保存crf时,它所管理的元数据实例的 条目状态将从 必需的 更新为 键控的
< Buff行情> 这同样适用于申请的 申请元数据 。进入状态
默认情况下, 条目状态 字段属性设置为 必需 。您可以在就诊时间表中的声明中将每个crf的默认值更改为 不需要 。见 就诊时间表.crf
< Buff行情> 这同样适用于申请。元数据规则 操作元数据 模型实例
元数据规则 声明为操作 元数据 模型实例。规则将 输入状态 字段属性从 必需 更改为 不需要 或反之亦然。 如果元数据实例、CRF或请求模型实例的管理器退出ts,条目状态将更新为键控的,并且忽略针对元数据实例的元数据规则。 元数据规则在访问和管理模型实例的每个 save 上运行。 如果某个其他表单上的值表示不应填写表单,则在另一个表单的 保存 时,表单的元数据"entry_status"将从"必需"更改为"非必需"。 元数据通过重新运行元数据规则的后保存信号进行更新。 < Buff行情> 另请参见EDC元数据规则
元数据规则 通过 edc_引用访问数据
为了消除每个管理模型类的元数据规则之间的耦合, 元数据规则 通过 edc_reference 而不是直接从模型访问每个模型的字段值。每次运行 元数据规则 时,直接分别查询每个模型将过于复杂和资源密集。 元数据规则所引用的每个管理模型类都必须用referencemodelmixin声明,并且用site\u reference注册的字段列表配置为全局。这适用于所有管理模型, 源模型 和 目标模型
< Buff行情> 另请参见EDC参考资料