@@ -48,21 +48,21 @@ public SnomedEclEvaluationRequestPropertyFilterTest(String expressionForm, boole
48
48
49
49
@ Test
50
50
public void activeOnly () throws Exception {
51
- final Expression actual = eval ("* {{ active=true }}" );
51
+ final Expression actual = eval ("* {{ c active=true }}" );
52
52
final Expression expected = SnomedDocument .Expressions .active ();
53
53
assertEquals (expected , actual );
54
54
}
55
55
56
56
@ Test
57
57
public void inactiveOnly () throws Exception {
58
- final Expression actual = eval ("* {{ active=false }}" );
58
+ final Expression actual = eval ("* {{ c active=false }}" );
59
59
final Expression expected = SnomedDocument .Expressions .inactive ();
60
60
assertEquals (expected , actual );
61
61
}
62
62
63
63
@ Test
64
64
public void moduleId () throws Exception {
65
- final Expression actual = eval ("* {{ moduleId= " + Concepts .MODULE_SCT_CORE + " }}" );
65
+ final Expression actual = eval ("* {{ c moduleId= " + Concepts .MODULE_SCT_CORE + " }}" );
66
66
final Expression expected = SnomedDocument .Expressions .modules (List .of (Concepts .MODULE_SCT_CORE ));
67
67
assertEquals (expected , actual );
68
68
}
@@ -90,7 +90,7 @@ public void termLessThanTwoChars() throws Exception {
90
90
91
91
@ Test
92
92
public void conjunctionActiveAndModuleId () throws Exception {
93
- final Expression actual = eval ("* {{ active = true, moduleId = " + Concepts .MODULE_SCT_CORE + " }}" );
93
+ final Expression actual = eval ("* {{ c active = true, moduleId = " + Concepts .MODULE_SCT_CORE + " }}" );
94
94
final Expression expected = Expressions .builder ()
95
95
.filter (SnomedDocument .Expressions .active ())
96
96
.filter (SnomedDocument .Expressions .modules (List .of (Concepts .MODULE_SCT_CORE )))
@@ -125,7 +125,7 @@ public void termDisjunction() throws Exception {
125
125
126
126
@ Test
127
127
public void disjunctionActiveAndModuleId () throws Exception {
128
- final Expression actual = eval ("* {{ active = true OR moduleId = " + Concepts .MODULE_SCT_CORE + " }}" );
128
+ final Expression actual = eval ("* {{ c active = true OR moduleId = " + Concepts .MODULE_SCT_CORE + " }}" );
129
129
final Expression expected = Expressions .builder ()
130
130
.should (SnomedDocument .Expressions .active ())
131
131
.should (SnomedDocument .Expressions .modules (List .of (Concepts .MODULE_SCT_CORE )))
@@ -135,12 +135,12 @@ public void disjunctionActiveAndModuleId() throws Exception {
135
135
136
136
@ Test (expected = BadRequestException .class )
137
137
public void conjunctionDomainInconsistency () throws Exception {
138
- eval ("* {{ active=true AND Description.moduleId = " + Concepts .MODULE_SCT_CORE +" }}" );
138
+ eval ("* {{ active=true AND definitionStatusId = " + Concepts .MODULE_SCT_CORE +" }}" );
139
139
}
140
140
141
141
@ Test (expected = BadRequestException .class )
142
142
public void disjunctionDomainInconsistency () throws Exception {
143
- eval ("* {{ Description. active=true OR moduleId = " + Concepts .MODULE_SCT_CORE +" }}" );
143
+ eval ("* {{ active=true OR definitionStatusId = " + Concepts .MODULE_SCT_CORE +" }}" );
144
144
}
145
145
146
146
@ Test
@@ -161,22 +161,22 @@ public void descriptionType() throws Exception {
161
161
162
162
@ Test (expected = BadRequestException .class )
163
163
public void conjunctionAmbiguity () throws Exception {
164
- eval ("* {{ Description. active=true AND Description. moduleId = " + Concepts .MODULE_SCT_CORE + " OR term=\" clinical finding\" }}" );
164
+ eval ("* {{ active=true AND moduleId = " + Concepts .MODULE_SCT_CORE + " OR term=\" clinical finding\" }}" );
165
165
}
166
166
167
167
@ Test (expected = BadRequestException .class )
168
168
public void disjunctionAmbiguity () throws Exception {
169
- eval ("* {{ Description. active=true OR Description. moduleId = " + Concepts .MODULE_SCT_CORE + " AND term=\" clinical finding\" }}" );
169
+ eval ("* {{ active=true OR moduleId = " + Concepts .MODULE_SCT_CORE + " AND term=\" clinical finding\" }}" );
170
170
}
171
171
172
172
@ Test (expected = BadRequestException .class )
173
173
public void exclusionAmbiguity () throws Exception {
174
- eval ("* {{ Description. active=true OR Description. moduleId = " + Concepts .MODULE_SCT_CORE +" MINUS term=\" clinical finding\" }}" );
174
+ eval ("* {{ active=true OR moduleId = " + Concepts .MODULE_SCT_CORE +" MINUS term=\" clinical finding\" }}" );
175
175
}
176
176
177
177
@ Test
178
178
public void multiDomainQueryAnd () throws Exception {
179
- Expression actual = eval ("* {{ active=false }} AND * {{ term=\" clin find\" }}" );
179
+ Expression actual = eval ("* {{ c active=false }} AND * {{ d term=\" clin find\" }}" );
180
180
Expression expected = Expressions .builder ()
181
181
.filter (SnomedDocument .Expressions .inactive ())
182
182
.filter (SnomedDocument .Expressions .ids (Collections .emptySet ()))
@@ -186,7 +186,7 @@ public void multiDomainQueryAnd() throws Exception {
186
186
187
187
@ Test
188
188
public void multiDomainQueryOr () throws Exception {
189
- Expression actual = eval ("* {{ active=false }} OR * {{ term=\" clin find\" }}" );
189
+ Expression actual = eval ("* {{ c active=false }} OR * {{ d term=\" clin find\" }}" );
190
190
Expression expected = Expressions .builder ()
191
191
.should (SnomedDocument .Expressions .inactive ())
192
192
.should (SnomedDocument .Expressions .ids (Collections .emptySet ()))
@@ -196,7 +196,7 @@ public void multiDomainQueryOr() throws Exception {
196
196
197
197
@ Test
198
198
public void multiDomainQueryExclusion () throws Exception {
199
- Expression actual = eval ("* {{ active=false }} MINUS * {{ term=\" clin find\" }}" );
199
+ Expression actual = eval ("* {{ c active=false }} MINUS * {{ d term=\" clin find\" }}" );
200
200
Expression expected = Expressions .builder ()
201
201
.filter (SnomedDocument .Expressions .inactive ())
202
202
.mustNot (SnomedDocument .Expressions .ids (Collections .emptySet ()))
@@ -365,35 +365,35 @@ public void descriptionEffectiveTime() throws Exception {
365
365
.build ());
366
366
367
367
Expression expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT ));
368
- Expression actual = eval ("* {{ Description. effectiveTime = \" 20210731\" }}" );
368
+ Expression actual = eval ("* {{ effectiveTime = \" 20210731\" }}" );
369
369
assertEquals (expected , actual );
370
370
371
371
expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT ));
372
- actual = eval ("* {{ Description. effectiveTime > \" 20210605\" }}" );
372
+ actual = eval ("* {{ effectiveTime > \" 20210605\" }}" );
373
373
assertEquals (expected , actual );
374
374
375
375
expected = SnomedDocument .Expressions .ids (Set .of (Concepts .SUBSTANCE ));
376
- actual = eval ("* {{ Description. effectiveTime < \" 20020201\" }}" );
376
+ actual = eval ("* {{ effectiveTime < \" 20020201\" }}" );
377
377
assertEquals (expected , actual );
378
378
379
379
expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT , Concepts .SUBSTANCE ));
380
- actual = eval ("* {{ Description. effectiveTime >= \" 20020131\" }}" );
380
+ actual = eval ("* {{ effectiveTime >= \" 20020131\" }}" );
381
381
assertEquals (expected , actual );
382
382
383
383
expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT , Concepts .SUBSTANCE ));
384
- actual = eval ("* {{ Description. effectiveTime >= \" 20010731\" }}" );
384
+ actual = eval ("* {{ effectiveTime >= \" 20010731\" }}" );
385
385
assertEquals (expected , actual );
386
386
387
387
expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT , Concepts .SUBSTANCE ));
388
- actual = eval ("* {{ Description. effectiveTime <= \" 20210731\" }}" );
388
+ actual = eval ("* {{ effectiveTime <= \" 20210731\" }}" );
389
389
assertEquals (expected , actual );
390
390
391
391
expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT , Concepts .SUBSTANCE ));
392
- actual = eval ("* {{ Description. effectiveTime <= \" 20211030\" }}" );
392
+ actual = eval ("* {{ effectiveTime <= \" 20211030\" }}" );
393
393
assertEquals (expected , actual );
394
394
395
395
expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT , Concepts .SUBSTANCE ));
396
- actual = eval ("* {{ Description. effectiveTime != \" 20211030\" }}" );
396
+ actual = eval ("* {{ effectiveTime != \" 20211030\" }}" );
397
397
assertEquals (expected , actual );
398
398
}
399
399
@@ -416,7 +416,7 @@ public void conceptEffectiveTime() throws Exception {
416
416
.build ());
417
417
418
418
Expression expected = SnomedDocument .Expressions .effectiveTime (EffectiveTimes .getEffectiveTime ("20210731" , DateFormats .SHORT ));
419
- Expression actual = eval ("* {{ effectiveTime = \" 20210731\" }}" );
419
+ Expression actual = eval ("* {{ c effectiveTime = \" 20210731\" }}" );
420
420
assertEquals (expected , actual );
421
421
}
422
422
@@ -477,7 +477,7 @@ public void dialectPreferred() throws Exception {
477
477
// extra acceptable description on another concept to demonstrate that it won't match
478
478
generateAcceptableDescription (Concepts .MODULE_ROOT );
479
479
480
- Expression actual = eval ("* {{ dialect = en-gb (preferred ) }}" );
480
+ Expression actual = eval ("* {{ dialect = en-gb (prefer ) }}" );
481
481
Expression expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT ));
482
482
assertEquals (expected , actual );
483
483
}
@@ -488,7 +488,7 @@ public void dialectPreferredNotEquals() throws Exception {
488
488
// extra acceptable description on another concept to demonstrate that it won't match
489
489
generateAcceptableDescription (Concepts .MODULE_ROOT );
490
490
491
- Expression actual = eval ("* {{ dialect != en-gb (preferred ) }}" );
491
+ Expression actual = eval ("* {{ dialect != en-gb (prefer ) }}" );
492
492
Expression expected = SnomedDocument .Expressions .ids (Set .of (Concepts .MODULE_ROOT ));
493
493
assertEquals (expected , actual );
494
494
}
@@ -499,7 +499,7 @@ public void dialectAcceptable() throws Exception {
499
499
// extra preferred description on another concept to demonstrate that it won't match
500
500
generatePreferredDescription (Concepts .MODULE_ROOT );
501
501
502
- Expression actual = eval ("* {{ dialect = en-gb (acceptable ) }}" );
502
+ Expression actual = eval ("* {{ dialect = en-gb (accept ) }}" );
503
503
Expression expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT ));
504
504
assertEquals (expected , actual );
505
505
}
@@ -510,7 +510,7 @@ public void dialectAcceptableNotEquals() throws Exception {
510
510
// extra preferred description on another concept to demonstrate that it won't match
511
511
generatePreferredDescription (Concepts .MODULE_ROOT );
512
512
513
- Expression actual = eval ("* {{ dialect != en-gb (acceptable ) }}" );
513
+ Expression actual = eval ("* {{ dialect != en-gb (accept ) }}" );
514
514
Expression expected = SnomedDocument .Expressions .ids (Set .of (Concepts .MODULE_ROOT ));
515
515
assertEquals (expected , actual );
516
516
}
@@ -541,7 +541,7 @@ public void dialectIdPreferred() throws Exception {
541
541
// extra acceptable description on another concept to demonstrate that it won't match
542
542
generateAcceptableDescription (Concepts .MODULE_ROOT );
543
543
544
- Expression actual = eval ("* {{ dialectId = " + Concepts .REFSET_LANGUAGE_TYPE_UK + " (preferred ) }}" );
544
+ Expression actual = eval ("* {{ dialectId = " + Concepts .REFSET_LANGUAGE_TYPE_UK + " (prefer ) }}" );
545
545
Expression expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT ));
546
546
assertEquals (expected , actual );
547
547
}
@@ -552,7 +552,7 @@ public void dialectIdPreferredNotEquals() throws Exception {
552
552
// extra acceptable description on another concept to demonstrate that it won't match
553
553
generateAcceptableDescription (Concepts .MODULE_ROOT );
554
554
555
- Expression actual = eval ("* {{ dialectId != " + Concepts .REFSET_LANGUAGE_TYPE_UK + " (preferred ) }}" );
555
+ Expression actual = eval ("* {{ dialectId != " + Concepts .REFSET_LANGUAGE_TYPE_UK + " (prefer ) }}" );
556
556
Expression expected = SnomedDocument .Expressions .ids (Set .of (Concepts .MODULE_ROOT ));
557
557
assertEquals (expected , actual );
558
558
}
@@ -563,7 +563,7 @@ public void dialectIdAcceptable() throws Exception {
563
563
// extra preferred description on another concept to demonstrate that it won't match
564
564
generatePreferredDescription (Concepts .MODULE_ROOT );
565
565
566
- Expression actual = eval ("* {{ dialectId = " + Concepts .REFSET_LANGUAGE_TYPE_UK + " (acceptable ) }}" );
566
+ Expression actual = eval ("* {{ dialectId = " + Concepts .REFSET_LANGUAGE_TYPE_UK + " (accept ) }}" );
567
567
Expression expected = SnomedDocument .Expressions .ids (Set .of (Concepts .ROOT_CONCEPT ));
568
568
assertEquals (expected , actual );
569
569
}
@@ -574,7 +574,7 @@ public void dialectIdAcceptableNotEquals() throws Exception {
574
574
// extra preferred description on another concept to demonstrate that it won't match
575
575
generatePreferredDescription (Concepts .MODULE_ROOT );
576
576
577
- Expression actual = eval ("* {{ dialectId != " + Concepts .REFSET_LANGUAGE_TYPE_UK + " (acceptable ) }}" );
577
+ Expression actual = eval ("* {{ dialectId != " + Concepts .REFSET_LANGUAGE_TYPE_UK + " (accept ) }}" );
578
578
Expression expected = SnomedDocument .Expressions .ids (Set .of (Concepts .MODULE_ROOT ));
579
579
assertEquals (expected , actual );
580
580
}
@@ -595,11 +595,9 @@ public void dialectUnsupportedOperator() throws Exception {
595
595
eval ("* {{ dialect > en-gb (preferred) }}" );
596
596
}
597
597
598
- @ Test
598
+ @ Test ( expected = SyntaxException . class )
599
599
public void dialectUnknownAcceptability () throws Exception {
600
- Expression actual = eval ("* {{ dialect = en-gb (unknown) }}" );
601
- Expression expected = SnomedDocument .Expressions .ids (Set .of ());
602
- assertEquals (expected , actual );
600
+ eval ("* {{ dialect = en-gb (unknown) }}" );
603
601
}
604
602
605
603
@ Test
@@ -623,6 +621,27 @@ public void dialectUnknownAlias() throws Exception {
623
621
assertEquals (expected , actual );
624
622
}
625
623
624
+ @ Test
625
+ public void definitionStatus () throws Exception {
626
+ Expression actual1 = eval ("* {{ c definitionStatusId = 900000000000073002 }}" );
627
+ Expression actual2 = eval ("* {{ c definitionStatus = defined }}" );
628
+ Expression expected = SnomedConceptDocument .Expressions .definitionStatusIds (Set .of (Concepts .FULLY_DEFINED ));
629
+ assertEquals (expected , actual1 );
630
+ assertEquals (expected , actual2 );
631
+ }
632
+
633
+ @ Test
634
+ public void definitionStatusNotEquals () throws Exception {
635
+ Expression actual1 = eval ("* {{ c definitionStatusId != 900000000000074008 }}" );
636
+ Expression actual2 = eval ("* {{ c definitionStatus != primitive }}" );
637
+ Expression expected = Expressions .builder ()
638
+ .mustNot (SnomedConceptDocument .Expressions .definitionStatusIds (Set .of (Concepts .PRIMITIVE )))
639
+ .build ();
640
+
641
+ assertEquals (expected , actual1 );
642
+ assertEquals (expected , actual2 );
643
+ }
644
+
626
645
private void generatePreferredDescription (String conceptId ) {
627
646
indexRevision (MAIN , SnomedDescriptionIndexEntry .builder ()
628
647
.id (generateDescriptionId ())
0 commit comments