canql 4.3.0 → 4.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/code_safety.yml +20 -8
- data/lib/canql/grammars.rb +1 -0
- data/lib/canql/grammars/main.treetop +4 -1
- data/lib/canql/grammars/test_result_group.treetop +16 -0
- data/lib/canql/nodes.rb +1 -0
- data/lib/canql/nodes/main.rb +7 -0
- data/lib/canql/nodes/test_result_group.rb +40 -0
- data/lib/canql/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 111a269a59bd7e152809bb8488f7f070b6f7fc74a12b0d154a5d88754c3c8cfa
|
4
|
+
data.tar.gz: 242095730ead9834f8f7a2a71ac5b662f07c7f031239f72b3aca329d550eb08d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: adfa06b51ad500fb38a578c6cb82079daf699717c8d7f48fb1898edf71ca1031c249d81fc8eeba2013f0b8a7efbbb8cff12c7297c4d35ab27aefd6d1ff2487b3
|
7
|
+
data.tar.gz: ed4d2926c48c699b70a0c9a9c4ceff97e56eaf4a5c42e615b0368c0433623aee9efce6a4774b7e59fdbbd18f9d19a7e3fd26f5328080323ec82fed70617f802a
|
data/CHANGELOG.md
CHANGED
data/code_safety.yml
CHANGED
@@ -19,7 +19,7 @@ file safety:
|
|
19
19
|
CHANGELOG.md:
|
20
20
|
comments:
|
21
21
|
reviewed_by: josh.pencheon
|
22
|
-
safe_revision:
|
22
|
+
safe_revision: 7b5bc84b813b7ff156665a1a37cfe5dd5b53afe7
|
23
23
|
CODE_OF_CONDUCT.md:
|
24
24
|
comments:
|
25
25
|
reviewed_by: drewthorp
|
@@ -63,7 +63,7 @@ file safety:
|
|
63
63
|
lib/canql/grammars.rb:
|
64
64
|
comments:
|
65
65
|
reviewed_by: josh.pencheon
|
66
|
-
safe_revision:
|
66
|
+
safe_revision: c5f8f76b2c335a8554f39a14d6165bf5cd8f9b67
|
67
67
|
lib/canql/grammars/age.treetop:
|
68
68
|
comments: It is a known issue that this is potentially susceptible to certain
|
69
69
|
kinds of DoS attack
|
@@ -94,8 +94,8 @@ file safety:
|
|
94
94
|
lib/canql/grammars/main.treetop:
|
95
95
|
comments: It is a known issue that this is potentially susceptible to certain
|
96
96
|
kinds of DoS attack
|
97
|
-
reviewed_by:
|
98
|
-
safe_revision:
|
97
|
+
reviewed_by: josh.pencheon
|
98
|
+
safe_revision: 42bb9bd177a761b9d04d728e53fcf0ebd0083ae4
|
99
99
|
lib/canql/grammars/patient.treetop:
|
100
100
|
comments: It is a known issue that this is potentially susceptible to certain
|
101
101
|
kinds of DoS attack
|
@@ -119,10 +119,14 @@ file safety:
|
|
119
119
|
kinds of DoS attack
|
120
120
|
reviewed_by: timgentry
|
121
121
|
safe_revision: c39d24bb500719971969762e94545e82866bf92f
|
122
|
+
lib/canql/grammars/test_result_group.treetop:
|
123
|
+
comments:
|
124
|
+
reviewed_by: josh.pencheon
|
125
|
+
safe_revision: 42bb9bd177a761b9d04d728e53fcf0ebd0083ae4
|
122
126
|
lib/canql/nodes.rb:
|
123
127
|
comments:
|
124
128
|
reviewed_by: josh.pencheon
|
125
|
-
safe_revision:
|
129
|
+
safe_revision: c5f8f76b2c335a8554f39a14d6165bf5cd8f9b67
|
126
130
|
lib/canql/nodes/age.rb:
|
127
131
|
comments:
|
128
132
|
reviewed_by: timgentry
|
@@ -150,7 +154,7 @@ file safety:
|
|
150
154
|
lib/canql/nodes/main.rb:
|
151
155
|
comments:
|
152
156
|
reviewed_by: josh.pencheon
|
153
|
-
safe_revision:
|
157
|
+
safe_revision: c5f8f76b2c335a8554f39a14d6165bf5cd8f9b67
|
154
158
|
lib/canql/nodes/patient.rb:
|
155
159
|
comments:
|
156
160
|
reviewed_by: josh.pencheon
|
@@ -167,6 +171,10 @@ file safety:
|
|
167
171
|
comments:
|
168
172
|
reviewed_by: timgentry
|
169
173
|
safe_revision: c39d24bb500719971969762e94545e82866bf92f
|
174
|
+
lib/canql/nodes/test_result_group.rb:
|
175
|
+
comments:
|
176
|
+
reviewed_by: josh.pencheon
|
177
|
+
safe_revision: 42bb9bd177a761b9d04d728e53fcf0ebd0083ae4
|
170
178
|
lib/canql/parser.rb:
|
171
179
|
comments:
|
172
180
|
reviewed_by: timgentry
|
@@ -178,7 +186,7 @@ file safety:
|
|
178
186
|
lib/canql/version.rb:
|
179
187
|
comments:
|
180
188
|
reviewed_by: josh.pencheon
|
181
|
-
safe_revision:
|
189
|
+
safe_revision: 7b5bc84b813b7ff156665a1a37cfe5dd5b53afe7
|
182
190
|
test/anomaly_test_helper.rb:
|
183
191
|
comments:
|
184
192
|
reviewed_by: josh.pencheon
|
@@ -243,6 +251,10 @@ file safety:
|
|
243
251
|
comments:
|
244
252
|
reviewed_by: josh.pencheon
|
245
253
|
safe_revision: 511e4238f83eb5b32839c25d94ec2a59145539bb
|
254
|
+
test/nodes/test_result_groups_test.rb:
|
255
|
+
comments:
|
256
|
+
reviewed_by: josh.pencheon
|
257
|
+
safe_revision: 42bb9bd177a761b9d04d728e53fcf0ebd0083ae4
|
246
258
|
test/nodes/test_results_test.rb:
|
247
259
|
comments:
|
248
260
|
reviewed_by: josh.pencheon
|
@@ -254,4 +266,4 @@ file safety:
|
|
254
266
|
test/test_helper.rb:
|
255
267
|
comments:
|
256
268
|
reviewed_by: josh.pencheon
|
257
|
-
safe_revision:
|
269
|
+
safe_revision: 42bb9bd177a761b9d04d728e53fcf0ebd0083ae4
|
data/lib/canql/grammars.rb
CHANGED
@@ -9,6 +9,7 @@ Treetop.load File.expand_path('grammars/batch_types', File.dirname(__FILE__))
|
|
9
9
|
Treetop.load File.expand_path('grammars/e_base_records', File.dirname(__FILE__))
|
10
10
|
Treetop.load File.expand_path('grammars/genetic_test', File.dirname(__FILE__))
|
11
11
|
Treetop.load File.expand_path('grammars/test_result', File.dirname(__FILE__))
|
12
|
+
Treetop.load File.expand_path('grammars/test_result_group', File.dirname(__FILE__))
|
12
13
|
Treetop.load File.expand_path('grammars/patient', File.dirname(__FILE__))
|
13
14
|
Treetop.load File.expand_path('grammars/registry', File.dirname(__FILE__))
|
14
15
|
Treetop.load File.expand_path('grammars/provider', File.dirname(__FILE__))
|
@@ -5,6 +5,7 @@ grammar Canql
|
|
5
5
|
include Anomaly
|
6
6
|
include GeneticTest
|
7
7
|
include TestResult
|
8
|
+
include TestResultGroup
|
8
9
|
include Dates
|
9
10
|
include EBaseRecords
|
10
11
|
include BatchTypes
|
@@ -127,7 +128,9 @@ grammar Canql
|
|
127
128
|
end
|
128
129
|
|
129
130
|
rule case_with_conditions
|
130
|
-
anomalies / genetic_tests / test_results / perinatal_hospital /
|
131
|
+
anomalies / genetic_tests / test_results / perinatal_hospital /
|
132
|
+
case_field_existance / test_result_groups / mother_conditions /
|
133
|
+
action_or_ebr
|
131
134
|
end
|
132
135
|
|
133
136
|
rule patient_with_conditions
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Canql
|
2
|
+
grammar TestResultGroup
|
3
|
+
rule test_result_groups
|
4
|
+
and_keyword? existance_modifier:test_result_group_existance_keyword group:test_result_group_names <Nodes::TestResultGroup::WithCondition>
|
5
|
+
end
|
6
|
+
|
7
|
+
rule test_result_group_existance_keyword
|
8
|
+
# If in furture the reverse is needed use 'supplied require'
|
9
|
+
space ('missing required' / 'missing' / 'supplied required' / 'supplied') word_break
|
10
|
+
end
|
11
|
+
|
12
|
+
rule test_result_group_names
|
13
|
+
space ('screening' / 'anomaly scan') word_break
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/canql/nodes.rb
CHANGED
@@ -17,6 +17,7 @@ require 'canql/nodes/batch_types'
|
|
17
17
|
require 'canql/nodes/anomaly'
|
18
18
|
require 'canql/nodes/genetic_test'
|
19
19
|
require 'canql/nodes/test_result'
|
20
|
+
require 'canql/nodes/test_result_group'
|
20
21
|
require 'canql/nodes/patient'
|
21
22
|
require 'canql/nodes/main'
|
22
23
|
require 'canql/nodes/registry'
|
data/lib/canql/nodes/main.rb
CHANGED
@@ -32,16 +32,23 @@ module Canql #:nodoc: all
|
|
32
32
|
anomalies = []
|
33
33
|
genetic_tests = []
|
34
34
|
test_results = []
|
35
|
+
test_result_groups = []
|
35
36
|
|
36
37
|
post.elements.each do |element|
|
37
38
|
anomalies << element.to_anomaly if element.respond_to?(:to_anomaly)
|
38
39
|
genetic_tests << element.to_genetic_test if element.respond_to?(:to_genetic_test)
|
39
40
|
test_results << element.to_test_result if element.respond_to?(:to_test_result)
|
41
|
+
if element.respond_to?(:to_test_result_group)
|
42
|
+
test_result_groups << element.to_test_result_group
|
43
|
+
end
|
40
44
|
end
|
41
45
|
|
42
46
|
conditions['anomalies'] = { Canql::ALL => anomalies } if anomalies.any?
|
43
47
|
conditions['genetic_tests'] = { Canql::ALL => genetic_tests } if genetic_tests.any?
|
44
48
|
conditions['test_results'] = { Canql::ALL => test_results } if test_results.any?
|
49
|
+
if test_result_groups.any?
|
50
|
+
conditions['test_result_groups'] = { Canql::ALL => test_result_groups }
|
51
|
+
end
|
45
52
|
conditions
|
46
53
|
end
|
47
54
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Canql #:nodoc: all
|
4
|
+
module Nodes
|
5
|
+
module TestResultGroup
|
6
|
+
module WithCondition
|
7
|
+
def test_result_group
|
8
|
+
group.text_value.strip.parameterize.underscore
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_test_result_group
|
12
|
+
test_result_group_hash = { 'exists' => existance_filter }
|
13
|
+
test_result_group_hash['required'] = requirement_filter
|
14
|
+
test_result_group_hash['group'] = test_result_group_filter if test_result_group.present?
|
15
|
+
test_result_group_hash
|
16
|
+
end
|
17
|
+
|
18
|
+
def existance_filter
|
19
|
+
{
|
20
|
+
Canql::EQUALS => ['supplied required', 'supplied'].include?(
|
21
|
+
existance_modifier.text_value.strip
|
22
|
+
)
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
26
|
+
def requirement_filter
|
27
|
+
{
|
28
|
+
Canql::EQUALS => ['supplied required', 'missing required'].include?(
|
29
|
+
existance_modifier.text_value.strip
|
30
|
+
)
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_result_group_filter
|
35
|
+
{ Canql::EQUALS => test_result_group }
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
data/lib/canql/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: canql
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PHE NDR Development Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chronic
|
@@ -238,6 +238,7 @@ files:
|
|
238
238
|
- lib/canql/grammars/provider.treetop
|
239
239
|
- lib/canql/grammars/registry.treetop
|
240
240
|
- lib/canql/grammars/test_result.treetop
|
241
|
+
- lib/canql/grammars/test_result_group.treetop
|
241
242
|
- lib/canql/nodes.rb
|
242
243
|
- lib/canql/nodes/age.rb
|
243
244
|
- lib/canql/nodes/anomaly.rb
|
@@ -250,6 +251,7 @@ files:
|
|
250
251
|
- lib/canql/nodes/perinatal_hospital.rb
|
251
252
|
- lib/canql/nodes/registry.rb
|
252
253
|
- lib/canql/nodes/test_result.rb
|
254
|
+
- lib/canql/nodes/test_result_group.rb
|
253
255
|
- lib/canql/parser.rb
|
254
256
|
- lib/canql/treetop/extensions.rb
|
255
257
|
- lib/canql/version.rb
|