值检查重复 - 表部分项
检查多个表实例是否在各自的两部分表单中为给定项包含相同的值。
规则说明:如果在“医疗历史记录表”部分中输入了重复的异常/条件,则发出查询。
规则表达式
var instval=getCurrent2SFormInstance();
if(findDuplicate2SForm(instval,MHCondition))
{
return false; //System sends query when return false condition is met
}
else
{
return true;
}
查询消息:异常/条件已记录为重复项,请验证并更正。
定义
- MHCondition
-
与规则说明中两部分表单的表部分中提供的异常/条件相对应。
- getCurrent2SFormInstance( )
-
获取当前两部分表单的表单实例编号。
- findDuplicate2SForm( )
-
将重复数据标识为作为参数提供的变量的项值,在本例中为
lesid。
使用提示
如果项不是选项控件,请使用此项。
验证步骤
- 使用受试者进行测试,转至包含要检查的 iem 的给定访视和表单,在本例中为医疗历史记录两部分表单的指定表实例中的异常/条件 <
MHCondition>。 - 如下表所示更新表单项
MHCondition,并验证结果如下所示:步骤 附注 结果 a. 在前两部分表单实例 (Form1 ) 中,创建第一个表实例 (Row1) 并将
MHCondition项输入为 ' value 1 '。仅一个两部分表单实例。 没有查询。
b. 在 Form1 中,创建另一个表实例 (Row2) 并将
MHCondition项输入为 ' value 1 '。Form1 的 Row1 和 Row2 中的匹配值: - Form1:
- Row1 - 值 1
- Row2 - 值 1
查询。
c. 将 Form1 的 Row2 中的
MHcondition项更新为 ' value 2 '。Form1 的 Row1 和 Row2 中的不同值: - Form1:
- Row1 - 值 1
- Row2 - 值 2
没有查询。
d. 将 Form1 的 Row1 中的
MHcondition项更新为 ' value 2 '。Form1 的 Row1 和 Row2 中的匹配值: - Form1:
- Row1 - 值 2
- Row2 - 值 2
查询。
e. 清除 Form1 的 Row2 中的
MHCondition项。Form1 的 Row1 和 Row2 中的不同值: - Form1:
- Row1 - 值 2
- Row2 -
Null
无查询。
f. 将 Form1 的 Row2 中的
MHcondition项更新为 ' value 3 '。Form1 的 Row1 和 Row2 中的不同值: - Form1:
- Row1 - 值 2
- Row2 - 值 3
无查询。
g. 在 Form1 中,创建第三个表实例 (Row3) 并将
MHCondition项输入为 ' value 2 '。Form1 的 Row1 和 Row3 中的匹配值: - Form1:
- Row1 - 值 2
- Row2 - 值 3
- Row3 - 值 2
查询。
h. 将 Form1 的 Row3 中的
MHcondition项更新为 ' value 1 '。Form1 的 Row1 、Row2 和 Row3 中的不同值: - Form1:
- Row1 - 值 2
- Row2 - 值 3
- Row3 - 值 1
无查询。
一。 将 Form1 的 Row3 中的
MHcondition项更新为 ' value 3 '。Form1 的 Row2 和 Row3 中的匹配值: - Form1:
- Row1 - 值 2
- Row2 - 值 3
- Row3 - 值 3
查询。
j. 创建另一个两部分表单实例 (Form2 ) 并创建第一个表实例 (Row1) ,然后将
MHCondition项输入为 ' value 3 '。Row2 和 Form1 的 Row3 中的匹配值: - Form1:
- Row1 - 值 2
- Row2 - 值 3
- Row3 - 值 3
- Form2:
- Row1 - 值 3
查询 Form1 。
Form2 中没有查询。
k. 在 Form2 中,创建另一个表实例 (Row2) ,并将
MHCondition项输入为 ' value 3 '。Form1 的 Row2 和 Row3 以及 Form2 的 Row1 和 Row2 中的匹配值: - Form1:
- Row1 - 值 2
- Row2 - 值 3
- Row3 - 值 3
- Form2:
- Row1 - 值 3
- Row2 - 值 3
查询 Form1 和 Form2 。
l. 删除 Form2 中的 Row2 。
Row2 和 Form1 的 Row3 中的匹配值: - Form1:
- Row1 - 值 2
- Row2 - 值 3
- Row3 - 值 3
- Form2:
- Row1 - 值 3
查询 Form1 。
Form2 中没有查询
- Form1:
注:
如果表单存在于多个访视中,则重复上述步骤。
其他实例
示例 4-31 如果选择了“时间点”(或“访问”)并且上一个记录已使用时间点,则触发查询
var frminst=getCurrent2SFormInstance();
if(findDuplicate2SForm(frminst,Visit))
{
return false;
}
else
{
return true;
}
查询消息:选定的时间点已在上一个记录上报告。请复查并调节。
示例 4-32 评估日期不能重复。例如,如果已为上一个时间点记录 01/01/2021,则无法再次记录该时间点
var frminst=getCurrent2SFormInstance();
if(findDuplicate2SForm(frminst,assdt))
{
return false;
}
else
{
return true;
}
查询消息:已记录评估日期。请检查并更正。
父主题:两部分表单示例