为自动查询创建规则

如果站点输入的值不符合规则逻辑定义的接受标准,则可以创建生成自动查询的规则。通过查询消息,用户可以知道他们应该验证其输入并更正任何错误。

注:

如果为所有数据发布了创建自动查询的规则,则将针对研究中的所有数据重新运行所有已发布规则。这意味着该研究中以前由用户关闭但未更新数据的查询将重新打开。

要避免此情况,请确保仅发布将来数据的规则。有关详细信息,请参阅发布单个规则

如果更新触发分配查询的规则以在分配列表中添加新角色,则此更新仅在创建新查询时才可用。现有的打开的查询不会受到影响,它们不会被分配给您在分配列表中添加的新角色。如果查询已关闭并重新打开,则新添加的角色会看到该查询。

您还可以创建规则来计算要在表单中使用的值或发送电子邮件通知。请参阅:
您必须在“测试”容器中有一个包含所需元素的研究版本。您可以从特定研究版本和站点访问规则界面,如访问规则界面中所述。
  1. 在“测试”模式下导航到所需的研究并选择站点(如果您有权访问多个站点)。
  2. 在表中,找到并单击要编辑的访问卡。
  3. 在左侧,单击要为其创建规则的表单。
  4. 选择应包含规则的问题,如果适用,将向其提出查询。
  5. 在右侧,展开规则窗格,然后单击添加规则
  6. 规则编辑器中,填写以下字段。单击下一步
    字段 说明
    规则名称

    输入规则的名称。每个名称在研究中必须唯一,其字符数不应超过 512

    说明

    输入不超过 4000 个字符的规则简短说明。

    此字段不是必填字段。但是,添加说明可以帮助您区分每个规则及其在研究中的用途。这在您希望重用规则时很有用。

    解锁表单

    如果要允许站点用户在规则运行时编辑和保存表单而不被阻止,请打开此开关。

    注:

    运行复杂规则需要更多时间。站点用户仍可以在规则运行时输入值并保存表单。但是,复杂规则生成的表单更新可能会延迟,并且只能在页面刷新后显示。
  7. 变量部分中,定义规则变量
  8. 表达式部分中,输入将求值以引发查询的 JavaScript 表达式。

    例如:

    if (diastolic>systolic){
        return false;        //query is raised when return false condition is met
    } 
    else{    
        return true;
    }

    注:

    • 如果操作项是动态的,则规则表达式应包含逻辑,以确保在触发查询之前项可见。
    • 默认情况下,该规则将针对包含表单和所有研究版本的研究中的每次访问运行。

    提示:

    预测文本功能在您键入时可用,包括可用的主题属性规则帮助程序函数等。请参阅使用预测文本编写规则
  9. 操作下拉列表中选择所需的查询类型。
    • 创建查询:选择此选项可在每次规则表达式返回的值为 False 时自动生成查询。
    • 创建分配的查询:选择此选项可将查询分配给特定研究角色。对于此选项,您必须单击显示的字段,然后从角色下拉列表中选择一个或多个研究角色。查询将仅分配给所选角色。

      注:

      “角色”下拉列表仅包含研究中创建的研究角色。不包括模板研究角色。
  10. 在相应的文本框中输入查询消息。
    这两种查询类型都要求您添加查询消息。
  11. 单击保存
您的规则现已创建并处于“草稿”状态。
使您的规则可用于生产。您必须测试、批准和发布规则。规则独立于研究版本,一旦它们进入“已发布”状态,就会在每种模式下应用。

如果要删除此规则并重新开始,请单击菜单图标 (“规则”菜单图标),选择删除

有关开发定制规则的示例和详细信息,请参阅: