创建导入数据的数据映射
简介
Viedoc支持使用Viedoc数据导入应用程序将数据(例如实验室数据)导入到Viedoc中的研究中。 导入数据时,Viedoc数据导入应用程序将执行以下操作:
- 它将提供的数据转换为临床数据交换标准协会(CDISC)的Operational Data Model (ODM) 使用数据映射文件的临床数据格式,以及
- 它通过Viedoc应用程序编程接口(API)将数据推送到Viedoc。
可以从Viedoc Designer的通用设计版本设置中的数据映射窗口下载Viedoc数据导入应用程序。
本课描述了如何使用Viedoc数据导入应用程序创建数据映射文件以将数据导入Viedoc。有关如何下载Viedoc数据导入应用程序以及如何运行该应用程序以导入数据的更多信息,请参见Viedoc数据导入应用。
您还可以在我们的视频教程中找到有关如何创建数据映射文件以及如何使用Viedoc数据导入应用程序导入数据的说明。请点击此处。
关于将数据导入Viedoc
导入数据需要什么?
为了将数据导入Viedoc,需要以下内容:
- Viedoc数据导入应用程序,
- 数据映射文件,
- 一个配置文件,
- 有效的Viedoc用户名和密码,以及特定于研究的Viedoc API 客户端编号。
- 包含要导入数据的数据文件。 数据文件应为带分隔符的文件,例如CSV文件。
数据映射文件
数据映射文件定义了如何将外部数据映射到Viedoc中的表单字段。 您可以在Viedoc Designer的通用设计版本设置中创建数据映射文件。 在内部,数据映射将存储在临床数据交换标准联盟定义可扩展标记语言中 (CDISC Define-XML) 。
配置文件
在XML文件中的定义(必须):
- 在哪里找到数据映射文件,
- 在哪里找到应该导入的数据,
- Viedoc研究数据应导入其中
- 要将数据导入哪个 API 实例中,
- 导入数据时应使用的登录凭据。
在配置文件中,您也可定义(可选):
- 是否要通过数据导入添加新受试者,
- 您是否希望通过数据导入来启动访视,
- 读取导入的文件时应使用哪种字符编码,以及
- 解析导入的文件时,应使用哪个文件定界符。
一个配置文件可以包含多个研究的导入配置。
Viedoc API客户端编号
您可在Viedoc Admin中研究设置的API配置里创建Viedoc API 客户端编号,更多信息请查看Viedoc数据导入应用。
数据导入流程
使用Viedoc数据导入应用程序将数据导入Viedoc涉及以下步骤:
- 在Viedoc Designer中创建数据映射文件。
- 在Viedoc Admin中创建Viedoc API 客户端编号。
- 创建配置文件(不在Viedoc中)。
- 准备工作文件夹。
- 下载Viedoc数据导入应用。
- 将数据移入工作文件夹。
- 运行Viedoc导入应用。
数据映射文件的简介
什么是数据映射文件?
数据映射文件描述了包含要导入数据的数据文件的每一列,并定义了将这些数据导入Viedoc的位置。 应该为每个研究和要导入的每种类型的数据文件创建一个单独的数据映射文件。
数据映射文件的结构
Viedoc Designer的通用设计版本设置中的数据映射窗口具有以下主要字段(参见图片):
1. 名称,数据映射的名称
2. 域名,一个可选域名,将存储在Define-XML文件中。 导入数据时不使用域名。 但是,域名可以用作将导入链接到Viedoc中的表单的参考。
3. 数据映射表,主要有两个部分:
- 导入文件结构, 描述要导入的数据文件的每一列。
- Viedoc, 描述Viedoc中数据的目的地。
数据映射文件的列
数据映射表具有以下列:
列名 | 描述 |
---|---|
# | 数据文件中要导入的列号。 |
栏名称 | 数据文件中要导入的列的名称。 |
描述 | 该特定列中要导入的参数的描述(自由文本)。 |
对应至 | 将内容链接到数据文件中另一列中定义的参数。 在以“高瘦”格式导入数据时使用。 |
IM | 项目映射:在表中插入更多行,以便一个数据列可以映射到Viedoc中的多个目标。 |
目标 | Viedoc中的地址,应将数据导入其中。 这会将数据定向到正确的受试者,访视,表单和字段。 |
CL | 代码列表:构建的代码列表,可用于将导入的数据值映射到Viedoc中的相应字段。 |
要映射的变量概述
下表概述了可以映射的变量。
变量 | 必须映射,是或否? |
---|---|
SiteCode | 始终必须。 |
SubjectKey | 将数据导入到现有受试者中是强制性的,当要添加新受试者时不是强制性的。 |
SiteSubjectSeqNo | 如果SubjectKey被映射,则不是必需的。可以单独映射以匹配现有受试者或创建新受试者。 |
StudySubjectSeqNo | 如果SubjectKey被映射,则不是必需的。可以单独映射以匹配现有受试者或创建新受试者。 |
StudyEventDefId | 必须匹配要导入数据的访视。 |
EventDate | 将数据导入计划外访视时,必须使用EventDate或StudyEventRepeatKey。对于固定访视是可选的。 |
StudyEventRepeatKey | 将数据导入计划外访视时,必须使用EventDate或StudyEventRepeatKey。对于固定访视是可选的。 |
FormDefId | 必须匹配要导入数据的表单。 |
ItemDefId | 必须匹配要导入数据字段,可以与FormDefId组合为一个字符串。 |
FormRepeatKey | 仅当同一形式在同一访视中多次出现时才必须。 |
分步指南
创建数据映射文件
请按照以下步骤创建数据映射文件。
1 | 在Viedoc Designer中,选择要为其创建数据映射文件的研究。 |
2 | 在通用设计版本设置字段中,单击编辑以打开通用设计版本设置。 |
3 | 在数据映射字段中,单击编辑以打开数据映射概述。 |
4 |
单击添加新映射,或 如果已经创建了数据映射,请选择要编辑的数据映射。 |
5 | 在名称字段中输入数据映射的名称,然后在域名字段中输入域名。 |
6 | 单击增加行以向表中添加新行,并填写:
+ 图标以添加更多映射详细信息。如果要输入代码列表项,请单击CL列中的 |
7 |
对数据文件中的下一列重复步骤6,直到数据映射表中描述了数据文件中的所有列。 如果您想将当前行的内容对应到另一行的内容,请从对应至下拉菜单中选择要链接的行。 这主要用于高瘦格式的数据。 如果从对应至列的下拉列表中选择一项,则系统会自动创建与所对应的字段(行)具有相同代码列表项的字段。对应的行可以通过单击刷新按钮来更新。 |
8 | 单击保存,然后单击关闭以关闭数据映射表。 |
9 | 单击关闭退出数据映射概述。 |
10 | 单击通用设计版本设置窗口中的发布设置以发布更改。 |
11 | 在数据映射字段中,单击编辑以打开数据映射概述。 |
12 | 单击刚刚创建的数据映射的下载图标。 将下载一个包含数据映射的xml文件。 |
13 | 将xml文件保存在工作文件夹中。 |
*使用代码列表将数据映射到可以在一个字段中激活多个复选框的表单时,只能根据选择号而不是选择标签来映射数据。 因此,只能导入值,而不能导入字符串。
映射受试者ID
将受试者ID映射到{SubjectKey}
。 映射区分大小写!
通过以下两种方式之一映射中心代码:
- 将中心代码映射到数据映射表中单独一行中的SiteCode,或者
- 映射subject key的格式,例如:
{CountryCode}-{SiteCode}-{SiteSubjectSeqNo}
。单击IM列中的+
图标,以将这些映射详细信息添加到subject key的信息。
受试者卡的格式在Viedoc Designer的研究设置中的受试者卡设置中定义。更多信息请查看受试者编号生成设置。
Viedoc通过将完整的subject key作为字符串进行匹配,将数据导入到现有受试者中。 除了映射到subject key,还可以将受试者ID映射到{SiteCode}
和{SiteSubjectSeqNo}
。如果在导入过程中同时提供了subject key和中心受试者序列号,则中心受试者序列号优先。
可以通过数据导入添加新受试者,请参见下文以获取更多信息。
映射访视ID和访视日期
映射固定访视
访视ID应该映射到{StudyEventDefId},请参见图片。映射区分大小写!
可以通过两种不同的方式(可选)来映射访视日期:
- 映射到
{EventDate}
。
如果尚未启动访视(访问),则{EventDate}用于启动访视。 如果访视已经启动,则Viedoc导入应用程序将导入数据,但保留现有访视日期。 - 映射到
{$THIS.$EVENT.EventDate}
。
{$THIS.$EVENT.EventDate}用于更新访视日期。 如果访视已经启动,则Viedoc导入应用程序将使用新访视日期更新现有访视日期。 请注意,为了匹配访视,还必须将原始访视日期映射到{EventDate},以便系统识别应更新哪个访视。
即使未提供访视日期或与启动的访视日期不匹配,数据也将导入到计划的访视中。
映射计划外访视和普通访视
访视ID应该映射到:
{StudyEventDefId}
和{EventDate}
或{StudyEventRepeatKey}
。然后,该访视将在访视日期或访视序列号上进行匹配。
映射区分大小写!
如果访视已启动,则Viedoc导入应用程序将检查数据文件中的日期是否与现有日期匹配。 如果日期匹配,则将导入数据。 如果日期不匹配,则不会导入数据。
如果尚未启动访视,则将导入访视日期和/或创建访视序列号。
映射可重复访视
可重复访视应映射到{StudyEventRepeatKey}
和{StudyEventDefId}
。
映射到一个访视中的特定活动
您还可以使用活动ID将数据映射到访视中的特定活动。 当在同一事件中的两个不同活动中使用相同的形式(例如在给药之前和之后)时,这很有用。 活动ID应该映射到{FormRepeatKey}
。 有关将数据映射到特定活动的更多信息,请参见下面的示例。使用FormRepeatKey映射活动和可重复表单。
映射数据
数据(例如实验室结果)应映射到正确的表单和字段ID。这些数据的映射也区分大小写。
在图像的示例中,丙氨酸转氨酶血清水平的实验室结果被映射到{$ THIS.CC.RES_ALAT}
。 其构建如下:
- $THIS将数据映射到访问,如之前在映射中所定义。
- CC是应将数据导入到的表单的ID。
- RES_ALAT是应将数据导入的形式的字段的ID。
您还可以在数据映射中显式指定计划的访视。 例如,可以使用{V1.CC.RES_ALAT}
将上述数据直接映射到访视1。 在那种情况下,访视ID不必包含在数据文件中,因此,访视ID不必映射到{StudyEventDefId}
,因为已经在数据的目标中指定了访视。
编辑或移除一个数据映射文件
您可以通过单击垃圾箱图标删除表格行。
您可以通过在数据映射概述中单击导入数据映射来导入和编辑现有的Define-XML文件。 选择您要导入的文件,然后单击编辑。 如有必要,请编辑数据映射表,然后单击保存以保存数据映射。
您可以通过单击删除来删除数据映射概述中的现有数据映射。 无法删除已经发布的数据映射。
友情提示!
使用FormRepeatKey映射活动和可重复表单
FormRepeatKey可用于指定:
- 如果同一访视中的不同活动使用相同的表单,则应将数据导入到哪个活动中;以及
- 如果表单重复,则应将数据导入哪张表单。
表单重复键应映射到{FormRepeatKey}
.
您也可在Operational Data Model (ODM) 中找到ActivityDefID和FormRepeatKey,以$分隔,格式如下:{FormRepeatKey}${ActivityDefID}。
在下图的示例中,我们将数据映射到生命体征形式VS中,该形式在访视1:活动1和活动2的两个不同活动中使用。在活动2中,该表单设置为重复形式。
数据文件中的活动列指定格式重复键(1、2、3、4)和ActivityDefId(V1ACT1,V2ACT2),以$分隔。 活动列已映射到{FormRepeatKey}。 以绿色突出显示的数据将在“活动2”中的VS表单的第三个实例中导入。
如果在数据导入期间仅指定FormRepeatKey,而不是ActivityDefId,则将数据导入使用相应表单的第一个活动中。
通过导入数据添加受试者
您可以通过导入数据来添加新受试者。 在这种情况下,应将标记AllowCreatingSubjects
的配置文件设置为true
,有关更多信息,请参见Viedoc数据导入应用 。
要使Viedoc能够添加新受试者,应映射以下内容之一:
- {SiteCode},下一个可用的中心受试者序列号将分配给新受试者。
- {SiteCode}和{SiteSubjectSeqNo},自己将中心受试者序列号分配给新受试者。
- {SubjectKey}。
如果仅映射了subject key,则Viedoc需要从受试者ID中提取国家代码,中心代码和中心受试者序列号。必须映射用于受试者ID的格式,例如:{CountryCode}-{SiteCode}-{SiteSubjectSeqNo}
。
请注意,如果满足以下两个要求之一,Viedoc只能在受试者ID中正确提取国家代码,中心代码和中心受试者序列号:
- 国家代码,中心代码和受试者序列号用分隔符(任何符号)分隔,例如:
{CountryCode}-{SiteCode}-{SiteSubjectSeqNo
}。 - 国家代码,中心代码和中心受试者序列号中的确切位数在Viedoc Designer的受试者ID生成设置中指定。 例如,在研究设计中,如果生成受试者ID的设置为
{CountryCode}{SiteCode}{SiteSubjectSeqNo:000}
(无分隔符,如SE02001),那么,映射也必须设置为{CountryCode:00}{SiteCode:00}{SiteSubjectSeqNo:000}
以便将正确的数字映射到国家和研究中心代码上。
导入数据时的特殊情况
范围项
当导入到范围项时,有两种情况。
- 如范围是 = / < / <= / > / >=,那么举例来讲,文件中的数值应该是 “>=10”。
- 如范围是包含边界的范围区间,那么应写为[Lower,Upper],例如 “[10.2,20.1]”。注意,下限和上限用逗号隔开,小数用句号指定。
注意!如果导入的是包含边界的范围区间的值,且文件中的分隔符是逗号,那么必须把范围值放在引号里。
复选框
当导入复选框时,必须指定用逗号分隔的代码值,例如 “1,3,5”。
注意!如果文件中的分隔符是逗号,那么必须把值放在引号内。
部分时间
当导入部分日期到日期字段时,应该只添加已知的日期部分。例如,如果具体日期为未知,那么添加 “2020-01”(年月),或者,如果月份也为未知,则只添加年 “2020”。