@@ -21,7 +21,7 @@ public class CriteriumQueryBuilderTests
21
21
[ Theory ]
22
22
[ InlineData ( ResourceType . Condition , "code" , "code=ha125" , "{ \" $or\" : [{ \" code\" : { \" $elemMatch\" : { \" code\" : \" ha125\" } } }, { \" code\" : { \" $not\" : { \" $type\" : 4 } }, \" code.code\" : \" ha125\" }, { \" $and\" : [{ \" code\" : { \" $type\" : 2 } }, { \" code\" : \" ha125\" }] }] }" ) ]
23
23
[ InlineData ( ResourceType . Condition , "code" , "code=|ha125" , "{ \" $or\" : [{ \" code\" : { \" $elemMatch\" : { \" code\" : \" ha125\" , \" system\" : { \" $exists\" : false } } } }, { \" code\" : { \" $not\" : { \" $type\" : 4 } }, \" code.code\" : \" ha125\" , \" code.system\" : { \" $exists\" : false } }, { \" $and\" : [{ \" code\" : { \" $type\" : 2 } }, { \" code\" : \" ha125\" }, { \" system\" : { \" $exists\" : false } }] }] }" ) ]
24
- [ InlineData ( ResourceType . Condition , "code" , "code:text=headache" , "{ \" code.text\" : / headache/i }" ) ]
24
+ [ InlineData ( ResourceType . Condition , "code" , "code:text=headache" , "{ \" code.text\" : { \" $regularExpression \" : { \" pattern \" : \" headache\" , \" options \" : \" i \" } } }" ) ]
25
25
[ InlineData ( ResourceType . Patient ,
26
26
"gender" ,
27
27
"gender:not=male" ,
@@ -53,8 +53,8 @@ public void Can_Build_NumberQuery_Filter(ResourceType resourceType, string searc
53
53
}
54
54
55
55
[ Theory ]
56
- [ InlineData ( ResourceType . Patient , "name" , "name=eve" , "{ \" name\" : / ^eve/i }" ) ]
57
- [ InlineData ( ResourceType . Patient , "name" , "name:contains=eve" , "{ \" name\" : / .*eve.*/i }" ) ]
56
+ [ InlineData ( ResourceType . Patient , "name" , "name=eve" , "{ \" name\" : { \" $regularExpression \" : { \" pattern \" : \" ^eve\" , \" options \" : \" i \" } } }" ) ]
57
+ [ InlineData ( ResourceType . Patient , "name" , "name:contains=eve" , "{ \" name\" : { \" $regularExpression \" : { \" pattern \" : \" .*eve.*\" , \" options \" : \" i \" } } }" ) ]
58
58
[ InlineData ( ResourceType . Patient , "name" , "name:exact=Eve" , "{ \" name\" : \" Eve\" }" ) ]
59
59
[ InlineData ( ResourceType . Patient , "name" , "name:missing=true" , "{ \" $or\" : [{ \" name\" : { \" $exists\" : false } }, { \" name\" : null }] }" ) ]
60
60
[ InlineData ( ResourceType . Patient , "name" , "name:missing=false" , "{ \" name\" : { \" $ne\" : null } }" ) ]
@@ -63,7 +63,7 @@ public void Can_Build_NumberQuery_Filter(ResourceType resourceType, string searc
63
63
ResourceType . Subscription ,
64
64
"criteria" ,
65
65
"criteria=Observation?patient.identifier=http://somehost.no/fhir/Name%20Hospital|someId" ,
66
- "{ \" criteria\" : / ^Observation?patient.identifier=http:\\ / \\ /somehost.no\\ /fhir\\ /Name%20Hospital|someId/i }" ) ]
66
+ "{ \" criteria\" : { \" $regularExpression \" : { \" pattern \" : \" ^Observation?patient.identifier=http:/ /somehost.no/fhir/Name%20Hospital|someId\" , \" options \" : \" i \" } } }" ) ]
67
67
public void Can_Build_StringQuery_Filter ( ResourceType resourceType , string searchParameter , string query , string expected )
68
68
{
69
69
var jsonFilter = BuildAndReturnQueryFilterAsJsonString ( resourceType , searchParameter , query ) ;
@@ -72,16 +72,17 @@ public void Can_Build_StringQuery_Filter(ResourceType resourceType, string searc
72
72
}
73
73
74
74
[ Theory ]
75
- [ InlineData ( ResourceType . Procedure , "date" , "date=2010-01-01" , "{ \" date.end\" : { \" $gte\" : ISODate(\" 2010-01-01T00:00:00Z\" ) }, \" date.start\" : { \" $lt\" : ISODate(\" 2010-01-02T00:00:00Z\" ) } }" ) ]
76
- [ InlineData ( ResourceType . Procedure , "date" , "date=ap2010-01-01" , "{ \" date.end\" : { \" $gte\" : ISODate(\" 2010-01-01T00:00:00Z\" ) }, \" date.start\" : { \" $lt\" : ISODate(\" 2010-01-02T00:00:00Z\" ) } }" ) ]
77
- [ InlineData ( ResourceType . Procedure , "date" , "date=eq2010-01-01" , "{ \" date.end\" : { \" $gte\" : ISODate(\" 2010-01-01T00:00:00Z\" ) }, \" date.start\" : { \" $lt\" : ISODate(\" 2010-01-02T00:00:00Z\" ) } }" ) ]
78
- [ InlineData ( ResourceType . Procedure , "date" , "date=ne2010-01-01" , "{ \" $or\" : [{ \" date.end\" : { \" $lte\" : ISODate(\" 2010-01-01T00:00:00Z\" ) } }, { \" date.start\" : { \" $gte\" : ISODate(\" 2010-01-02T00:00:00Z\" ) } }] }" ) ]
79
- [ InlineData ( ResourceType . Procedure , "date" , "date=gt2010-01-01" , "{ \" date.start\" : { \" $gte\" : ISODate(\" 2010-01-02T00:00:00Z\" ) } }" ) ]
80
- [ InlineData ( ResourceType . Procedure , "date" , "date=ge2010-01-01" , "{ \" date.start\" : { \" $gte\" : ISODate(\" 2010-01-01T00:00:00Z\" ) } }" ) ]
81
- [ InlineData ( ResourceType . Procedure , "date" , "date=lt2010-01-01" , "{ \" date.end\" : { \" $lt\" : ISODate(\" 2010-01-01T00:00:00Z\" ) } }" ) ]
82
- [ InlineData ( ResourceType . Procedure , "date" , "date=le2010-01-01" , "{ \" date.end\" : { \" $lte\" : ISODate(\" 2010-01-02T00:00:00Z\" ) } }" ) ]
83
- [ InlineData ( ResourceType . Procedure , "date" , "date=sa2010-01-01" , "{ \" date.start\" : { \" $gte\" : ISODate(\" 2010-01-02T00:00:00Z\" ) } }" ) ]
84
- [ InlineData ( ResourceType . Procedure , "date" , "date=eb2010-01-01" , "{ \" date.end\" : { \" $lte\" : ISODate(\" 2010-01-01T00:00:00Z\" ) } }" ) ]
75
+ // { "date.end" : { "$gte" : { "$date" : "2010-01-01T00:00:00Z" } }, "date.start" : { "$lt" : { "$date" : "2010-01-02T00:00:00Z" } } }
76
+ [ InlineData ( ResourceType . Procedure , "date" , "date=2010-01-01" , "{ \" date.end\" : { \" $gte\" : { \" $date\" : \" 2010-01-01T00:00:00Z\" } }, \" date.start\" : { \" $lt\" : { \" $date\" : \" 2010-01-02T00:00:00Z\" } } }" ) ]
77
+ [ InlineData ( ResourceType . Procedure , "date" , "date=ap2010-01-01" , "{ \" date.end\" : { \" $gte\" : { \" $date\" : \" 2010-01-01T00:00:00Z\" } }, \" date.start\" : { \" $lt\" : { \" $date\" : \" 2010-01-02T00:00:00Z\" } } }" ) ]
78
+ [ InlineData ( ResourceType . Procedure , "date" , "date=eq2010-01-01" , "{ \" date.end\" : { \" $gte\" : { \" $date\" : \" 2010-01-01T00:00:00Z\" } }, \" date.start\" : { \" $lt\" : { \" $date\" : \" 2010-01-02T00:00:00Z\" } } }" ) ]
79
+ [ InlineData ( ResourceType . Procedure , "date" , "date=ne2010-01-01" , "{ \" $or\" : [{ \" date.end\" : { \" $lte\" : { \" $date\" : \" 2010-01-01T00:00:00Z\" } } }, { \" date.start\" : { \" $gte\" : { \" $date\" : \" 2010-01-02T00:00:00Z\" } } }] }" ) ]
80
+ [ InlineData ( ResourceType . Procedure , "date" , "date=gt2010-01-01" , "{ \" date.start\" : { \" $gte\" : { \" $date\" : \" 2010-01-02T00:00:00Z\" } } }" ) ]
81
+ [ InlineData ( ResourceType . Procedure , "date" , "date=ge2010-01-01" , "{ \" date.start\" : { \" $gte\" : { \" $date\" : \" 2010-01-01T00:00:00Z\" } } }" ) ]
82
+ [ InlineData ( ResourceType . Procedure , "date" , "date=lt2010-01-01" , "{ \" date.end\" : { \" $lt\" : { \" $date\" : \" 2010-01-01T00:00:00Z\" } } }" ) ]
83
+ [ InlineData ( ResourceType . Procedure , "date" , "date=le2010-01-01" , "{ \" date.end\" : { \" $lte\" : { \" $date\" : \" 2010-01-02T00:00:00Z\" } } }" ) ]
84
+ [ InlineData ( ResourceType . Procedure , "date" , "date=sa2010-01-01" , "{ \" date.start\" : { \" $gte\" : { \" $date\" : \" 2010-01-02T00:00:00Z\" } } }" ) ]
85
+ [ InlineData ( ResourceType . Procedure , "date" , "date=eb2010-01-01" , "{ \" date.end\" : { \" $lte\" : { \" $date\" : \" 2010-01-01T00:00:00Z\" } } }" ) ]
85
86
[ InlineData ( ResourceType . Procedure , "date" , "date:missing=true" , "{ \" $or\" : [{ \" date\" : { \" $exists\" : false } }, { \" date\" : null }] }" ) ]
86
87
[ InlineData ( ResourceType . Procedure , "date" , "date:missing=false" , "{ \" date\" : { \" $ne\" : null } }" ) ]
87
88
public void Can_Build_DateQuery_Filter ( ResourceType resourceType , string searchParameter , string query , string expected )
0 commit comments