有没有办法创建自定义验证器来验证从 REDCAP 中的 csv 文件导入的数据?
1 回答
我不完全确定你的意思,但我会尽量回答你的问题。
首先,您可以通过简单地编辑字段并选择字段类型来自定义 REDCap 中每个字段级别使用的验证。例如。如果它是激活了“整数”约束的“文本”字段,则将检查上传的 .csv 文件中该字段的数据,以确保仅导入整数值。您也可以添加一些额外的约束,例如使用最小/最大值或动作标签(关于动作标签的 PDF 文档链接)。请注意,如果您使用“多项选择”/“复选框”类型的字段,您手动指定有限数量的可能字段选择,则将检查上传的数据以确保该字段的所有值都在允许的字段选择列表中.
如果您的意思是要绕过 REDCap 的验证过程,以便允许上传一些通常无效的值(例如,具有“整数”约束的“文本”字段的值为 2.5),我认为这是不可能的,而且我认为没有任何充分的理由想要这样做。如果您希望某个字段在验证方面不那么“松懈”,那么您可以将其类型更改为更通用的类型。因此,如果您有一个带有“整数”约束的“文本”字段,则可以简单地删除“整数”约束并将其变为纯“文本”字段。但是,如果你这样做,请小心。考虑一下您是否正在删除约束,因为不允许上传实际有效的数据,或者您是否正在尝试上传应该删除或修复的无效数据。如果它'
如果您想添加额外的验证,使其比 REDCap 目前所做的更严格,那么您当然可以将字段类型更改为更窄,例如将“整数”约束添加到“文本”字段,或更改“文本”字段成为“多项选择”字段。这就是 REDCap 中的解决方案。如果您想添加 REDCap 不支持的其他约束/验证,我认为您必须在上传之前对数据进行预处理。如果你想自动化验证过程,那么你可以用 R 或 Python 编写一个脚本:
- 导入 .csv 数据(例如使用 read.csv/read_csv)
- 以您想要的方式过滤数据(例如,如果您想排除某些具有模式的字符串,您可以使用 R 的 'stringr' 包或 Python 的 're' 包)
- 使用 REDCap API 将数据上传到 REDCap(对于 R,有“redcapAPI”包,对于 Python,有“PyCap”包)请注意,您需要一个 API 密钥,如果您需要,您可以向您机构的 REDCap 管理员索取'希望您的脚本直接上传数据。当然,您也可以创建一个脚本,而不是直接上传数据,而是生成用于上传的 .csv 文件。
如果您对 R、Python 或其他使您能够制作验证脚本的编程语言/工具不是很熟悉,那么最好使用 REDCap 本身为您提供的东西。