canql 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87171fd5abf69aee98a167172876bac2cb49bc71ce9d754544e407066fedb32e
4
- data.tar.gz: b419dcc8fae8bea2b7f3e499037ef06552d082ec94527cba6cac14d44d175146
3
+ metadata.gz: 876c07af5b28f571465a44fd8093d648f5a0323e991a41a440428dd08d369eec
4
+ data.tar.gz: 4440b547119f18e7e815c76753695decd9ebe3f134f9bd3ff04fc099b70e913c
5
5
  SHA512:
6
- metadata.gz: 8e9906dadb517f20d9b06dded4dc283c73485a6393088acb63b832c1897a640e97b4ec811d26f28d98dad027f2833c67b1cb616529fa7cc29f894264f7e2c406
7
- data.tar.gz: 2f903fe2616f43b0c39900c002ccc76ef72159c00eca03f7cb8793602de907a20e20dd0be9eaa6a8d2fc8b575a0ba2727cfc79e6d1b20b6f1f3e3e9a300cce7e
6
+ metadata.gz: 3422683985fe7a7708d596638331e745dc11ec864dd38f188b939572f51de773097f0dc628003036304753273ae32015c8bf56153bd6f513b51bf3a53fe0a93f
7
+ data.tar.gz: b6ee6b275bca9282c72ad00e052e48842f5d112cd57aaa95df787939aa638e51450c6ae63865c95c81fab09f7debb130dead8ebb74a6ec1e6fee2860390c0aed
@@ -1,6 +1,11 @@
1
1
  ## [Unreleased]
2
2
  *no unreleased changes*
3
3
 
4
+ ## 2.8.0 / 2019-04-09
5
+ ### Added
6
+ * Added filtering by anomaly screening status (#25)
7
+ * Added anomaly screening status to field existance list (#26)
8
+
4
9
  ## 2.7.0 / 2019-03-21
5
10
  ### Added
6
11
  * Added support for NIPT, RD_DEATH and UMUM batch types (#23)
@@ -19,7 +19,7 @@ file safety:
19
19
  CHANGELOG.md:
20
20
  comments:
21
21
  reviewed_by: josh.pencheon
22
- safe_revision: 1c52e8012fa111fc6d07bd1b67b30b43bc0e5fd2
22
+ safe_revision: 6275607eaf61d9f767977c4e1984c57bb3080984
23
23
  CODE_OF_CONDUCT.md:
24
24
  comments:
25
25
  reviewed_by: drewthorp
@@ -72,8 +72,8 @@ file safety:
72
72
  lib/canql/grammars/anomaly.treetop:
73
73
  comments: It is a known issue that this is potentially susceptible to certain
74
74
  kinds of DoS attack
75
- reviewed_by: timgentry
76
- safe_revision: 695cec7ee61f36a9ef054a4079f290421d814666
75
+ reviewed_by: josh.pencheon
76
+ safe_revision: 73a7dac17b20fcc77bcbd9d38777c8aa4d524816
77
77
  lib/canql/grammars/batch_types.treetop:
78
78
  comments:
79
79
  reviewed_by: josh.pencheon
@@ -100,7 +100,7 @@ file safety:
100
100
  comments: It is a known issue that this is potentially susceptible to certain
101
101
  kinds of DoS attack
102
102
  reviewed_by: josh.pencheon
103
- safe_revision: 1b5795e8b5e20395f17277050f17ff0db6f0f556
103
+ safe_revision: 38369f1f26167f396d1705ec88611103d5262726
104
104
  lib/canql/grammars/perinatal_hospital.treetop:
105
105
  comments:
106
106
  reviewed_by: josh.pencheon
@@ -129,8 +129,8 @@ file safety:
129
129
  safe_revision: 6932d590299ad4a9d2ba24b425b158c67142bf74
130
130
  lib/canql/nodes/anomaly.rb:
131
131
  comments:
132
- reviewed_by: timgentry
133
- safe_revision: 695cec7ee61f36a9ef054a4079f290421d814666
132
+ reviewed_by: josh.pencheon
133
+ safe_revision: 73a7dac17b20fcc77bcbd9d38777c8aa4d524816
134
134
  lib/canql/nodes/batch_types.rb:
135
135
  comments:
136
136
  reviewed_by: josh.pencheon
@@ -154,7 +154,7 @@ file safety:
154
154
  lib/canql/nodes/patient.rb:
155
155
  comments:
156
156
  reviewed_by: josh.pencheon
157
- safe_revision: 1b5795e8b5e20395f17277050f17ff0db6f0f556
157
+ safe_revision: 38369f1f26167f396d1705ec88611103d5262726
158
158
  lib/canql/nodes/perinatal_hospital.rb:
159
159
  comments:
160
160
  reviewed_by: josh.pencheon
@@ -178,11 +178,11 @@ file safety:
178
178
  lib/canql/version.rb:
179
179
  comments:
180
180
  reviewed_by: josh.pencheon
181
- safe_revision: 1c52e8012fa111fc6d07bd1b67b30b43bc0e5fd2
181
+ safe_revision: 6275607eaf61d9f767977c4e1984c57bb3080984
182
182
  test/anomaly_test_helper.rb:
183
183
  comments:
184
- reviewed_by: timgentry
185
- safe_revision: 695cec7ee61f36a9ef054a4079f290421d814666
184
+ reviewed_by: josh.pencheon
185
+ safe_revision: 73a7dac17b20fcc77bcbd9d38777c8aa4d524816
186
186
  test/canql_test.rb:
187
187
  comments:
188
188
  reviewed_by: timgentry
@@ -197,8 +197,8 @@ file safety:
197
197
  safe_revision: 6932d590299ad4a9d2ba24b425b158c67142bf74
198
198
  test/nodes/anomaly_test.rb:
199
199
  comments:
200
- reviewed_by: timgentry
201
- safe_revision: bf2fbe12794f8b53e30a1ace01677cf6f215dbca
200
+ reviewed_by: josh.pencheon
201
+ safe_revision: 73a7dac17b20fcc77bcbd9d38777c8aa4d524816
202
202
  test/nodes/code_test.rb:
203
203
  comments:
204
204
  reviewed_by: timgentry
@@ -222,7 +222,7 @@ file safety:
222
222
  test/nodes/patient_test.rb:
223
223
  comments:
224
224
  reviewed_by: josh.pencheon
225
- safe_revision: 1b5795e8b5e20395f17277050f17ff0db6f0f556
225
+ safe_revision: 38369f1f26167f396d1705ec88611103d5262726
226
226
  test/nodes/perinatal_hospital_test.rb:
227
227
  comments:
228
228
  reviewed_by: josh.pencheon
@@ -1,7 +1,7 @@
1
1
  module Canql
2
2
  grammar Anomaly
3
3
  rule anomalies
4
- and_keyword? existance_modifier:anomalies_no_keyword? status_type:anomaly_status? natal_period:anomalies_natal_period? code_data:(space first:anomalies_icd_code rest:more_anomalies_icd_codes* word_break)? anomalies_keyword <Nodes::Anomaly::WithCondition>
4
+ and_keyword? existance_modifier:anomalies_no_keyword? status_type:anomaly_status? natal_period:anomalies_natal_period? screening_status_type:anomaly_screening_status? code_data:(space first:anomalies_icd_code rest:more_anomalies_icd_codes* word_break)? anomalies_keyword <Nodes::Anomaly::WithCondition>
5
5
  end
6
6
 
7
7
  rule anomalies_no_keyword
@@ -16,6 +16,16 @@ module Canql
16
16
  (suspected_keyword / confirmed_keyword / probable_keyword / diagnosed_keyword)
17
17
  end
18
18
 
19
+ rule anomaly_screening_status
20
+ space ('unscreened' / 'fa detected' / 'fapos' / 'combined detected' / 'ctpos' /
21
+ 'quad detected' / 'qtpos' / 'fa undetected' / 'faneg' / 'combined undetected' /
22
+ 'ctneg' / 'quad undetected' / 'qtneg' / 'nonwindow' / 'nws' / 'incomplete screen' /
23
+ 'ics' / 'ineligible unbooked' / 'inb' / 'early detected' / 'ied' /
24
+ 'screen declined' / 'sd' / 'ineligible early loss' / 'iefl' / 'ineligible top' /
25
+ 'itop' / 'missed screen' / 'ms' / 'excluded' / 'exc' / 'detected' /
26
+ 'undetected' / 'ineligible') word_break
27
+ end
28
+
19
29
  rule anomalies_keyword
20
30
  space 'anomalies' word_break
21
31
  end
@@ -36,7 +36,7 @@ module Canql
36
36
  patient_field_name:(
37
37
  'date of birth' / 'dob' / 'nhs number' / 'postcode' / 'birth weight' /
38
38
  'place of delivery' / 'sex' / 'outcome' / 'edd' /
39
- 'expected delivery date' / 'booking hospital'
39
+ 'expected delivery date' / 'booking hospital' / 'screening status'
40
40
  )
41
41
  end
42
42
 
@@ -12,10 +12,17 @@ module Canql #:nodoc: all
12
12
  status_type.text_value.strip
13
13
  end
14
14
 
15
+ def anomaly_screening_status_type
16
+ screening_status_type.text_value.strip
17
+ end
18
+
15
19
  def to_anomaly
16
20
  anomaly_hash = { 'exists' => existance_filter }
17
21
  anomaly_hash['type'] = anomaly_type_filter if anomaly_type.present?
18
22
  anomaly_hash['status'] = anomaly_status_type_filter if anomaly_status_type.present?
23
+ if anomaly_screening_status_type.present?
24
+ anomaly_hash['screening_status'] = anomaly_screening_status_type_filter
25
+ end
19
26
  anomaly_hash['icd_codes'] = code_filter[:icd_code] if code_filter[:icd_code].present?
20
27
  return anomaly_hash if code_filter[:code_group].blank?
21
28
  anomaly_hash['code_groups'] = code_filter[:code_group]
@@ -34,6 +41,10 @@ module Canql #:nodoc: all
34
41
  { Canql::EQUALS => anomaly_status_type }
35
42
  end
36
43
 
44
+ def anomaly_screening_status_type_filter
45
+ { Canql::EQUALS => anomaly_screening_status_type }
46
+ end
47
+
37
48
  def code_type(code)
38
49
  return :icd_code if code.respond_to?(:to_code) && code.to_code.present?
39
50
  return :code_group if code.respond_to?(:to_code_group) && code.to_code_group.present?
@@ -33,7 +33,8 @@ module Canql #:nodoc: all
33
33
  'outcome': { patient: 'outcome' },
34
34
  'edd': { patient: 'expecteddeliverydate' },
35
35
  'expected delivery date': { patient: 'expecteddeliverydate' },
36
- 'booking hospital': { patient: 'booking_hospital' }
36
+ 'booking hospital': { patient: 'booking_hospital' },
37
+ 'screening status': { patient: 'screeningstatus' }
37
38
  }.freeze
38
39
 
39
40
  def meta_data_item
@@ -2,5 +2,5 @@
2
2
 
3
3
  # This stores the current version of the Canql gem
4
4
  module Canql
5
- VERSION = '2.7.0'
5
+ VERSION = '2.8.0'
6
6
  end
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: 2.7.0
4
+ version: 2.8.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: 2019-03-21 00:00:00.000000000 Z
11
+ date: 2019-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chronic