roqua-healthy 1.4.1 → 1.4.2

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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -0
  3. data/ChangeLog.md +9 -0
  4. data/Gemfile +2 -1
  5. data/Guardfile +1 -0
  6. data/Rakefile +1 -0
  7. data/bin/get +1 -0
  8. data/bin/parse_local_xml +2 -1
  9. data/circle.yml +5 -1
  10. data/lib/roqua/healthy/a19/address_parser.rb +1 -0
  11. data/lib/roqua/healthy/a19/cdis_name_parser.rb +1 -0
  12. data/lib/roqua/healthy/a19/correct_patient_check.rb +1 -0
  13. data/lib/roqua/healthy/a19/fetcher.rb +1 -0
  14. data/lib/roqua/healthy/a19/impulse_name_parser.rb +1 -0
  15. data/lib/roqua/healthy/a19/name_parser.rb +1 -0
  16. data/lib/roqua/healthy/a19/response_parser.rb +1 -0
  17. data/lib/roqua/healthy/a19/response_validator.rb +1 -0
  18. data/lib/roqua/healthy/a19/transformer.rb +3 -2
  19. data/lib/roqua/healthy/a19.rb +1 -0
  20. data/lib/roqua/healthy/client.rb +1 -0
  21. data/lib/roqua/healthy/errors.rb +1 -0
  22. data/lib/roqua/healthy/message_cleaner.rb +1 -0
  23. data/lib/roqua/healthy/version.rb +2 -1
  24. data/lib/roqua/healthy.rb +1 -0
  25. data/lib/roqua_healthy.rb +2 -0
  26. data/roqua-healthy.gemspec +5 -0
  27. data/spec/fixtures/epic_no_gender.xml +199 -0
  28. data/spec/healthy_spec.rb +1 -0
  29. data/spec/integration/cdis_spec.rb +24 -0
  30. data/spec/integration/comez_spec.rb +1 -0
  31. data/spec/integration/ggzwnb_spec.rb +1 -0
  32. data/spec/integration/medo_spec.rb +1 -0
  33. data/spec/integration/mirth_spec.rb +1 -0
  34. data/spec/integration/user_spec.rb +1 -0
  35. data/spec/integration/xmcare_spec.rb +1 -0
  36. data/spec/spec_helper.rb +4 -6
  37. data/spec/support/fixtures.rb +1 -0
  38. data/spec/unit/a19/address_parser_spec.rb +23 -15
  39. data/spec/unit/a19/correct_patient_check_spec.rb +1 -0
  40. data/spec/unit/a19/fetcher_spec.rb +1 -0
  41. data/spec/unit/a19_spec.rb +1 -0
  42. data/spec/unit/client_spec.rb +1 -0
  43. data/spec/unit/message_cleaner_spec.rb +1 -0
  44. metadata +22 -6
  45. data/lib/roqua-healthy.rb +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 39f21c6bcae40ed59b803b401a701e3c723439aa
4
- data.tar.gz: 9891fd9124f1a3cff3535b2087d00469bf8c145e
3
+ metadata.gz: e65abd168ac44778d8529b3fdf30028f5f508507
4
+ data.tar.gz: bb8b7cb307d96912b1b1b459fa65bfe7029dbea9
5
5
  SHA512:
6
- metadata.gz: 57aa14a76998f9d476381c7ec25e3025b7b65c1bea4b422bf9a3a03a09da6cd656e41521b635dd06bfcced102d249b0673269ca63570823549cac20bd89b6dfe
7
- data.tar.gz: 8e131bf0eb6ae620ccf41ea64473fa89601d45f5bfd5a6efc08debb43a4c9c4cad47d30136cef12485bce1f849fbacce2c513dbc57d2ca8cce9f14c22e91a7b1
6
+ metadata.gz: 0727c1968cb9f8373a823fbdb82f3d8d0f85e41524b72d63aed0c7c04fd0a3abe1e6284a4979a6fd0700abe1a1651bbc26ccdb39ebcee3812304238874d29805
7
+ data.tar.gz: e3d1b61925ab1b0825605aa72e11e74147b9b3bc877f05a327324c4151e37042e08f27998b381b5555f1f8cf5bbe4d8bda6cbfea083fb3b4b7738ae423be8bdf
data/.rubocop.yml CHANGED
@@ -3,6 +3,7 @@ inherit_from: .rubocop_todo.yml
3
3
  AllCops:
4
4
  Exclude:
5
5
  - vendor/**/*
6
+ TargetRubyVersion: 2.3
6
7
 
7
8
  Documentation:
8
9
  Enabled: false
data/ChangeLog.md CHANGED
@@ -1,3 +1,12 @@
1
+ ### 1.4.2
2
+
3
+ * If PID 8.1 (gender) is empty/unavailable, the to_patient's gender attribute will be nil instead of erroring
4
+ * Bump required ruby version to 2.3
5
+
6
+ ### 1.4.1
7
+
8
+ * PID 5.1 names of type nickname are now exposed in to_patient's nickname attribute
9
+
1
10
  ### 1.3.0
2
11
 
3
12
  * Prefer cell phone numbers in PRN fields over cell phone in ORN fields. All phone numbers not starting with 06, +316 or 00316 after rudimentary sanitation are rejected as cell phone numbers.
data/Gemfile CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  source 'https://rubygems.org'
2
3
 
3
4
  gemspec
@@ -5,4 +6,4 @@ gemspec
5
6
  # Only add dependencies here if they're only used by CI or other services.
6
7
  # Normal development dependencies should go in the gemspec. People shouldn't
7
8
  # need to use bundler to develop on our gem.
8
- gem "codeclimate-test-reporter", group: :test, require: nil
9
+ gem "codeclimate-test-reporter", "~> 1.0.0", group: :test, require: nil
data/Guardfile CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  guard 'rspec', cmd: 'bundle exec rspec -f Fuubar' do
2
3
  watch(%r{^spec/.+_spec\.rb$})
3
4
  watch(%r{^lib/healthy/(.+)\.rb$}) { |m| ["spec/unit/#{m[1]}_spec.rb", "spec/integration"] }
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
1
  # encoding: utf-8
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'rubygems'
4
5
 
data/bin/get CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  unless ARGV[0] && ARGV[1]
4
5
  puts "Usage: get PATIENT_ID IP:PORT"
data/bin/parse_local_xml CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require 'roqua-healthy'
4
+ require 'roqua_healthy'
4
5
  require 'pp'
5
6
 
6
7
  body = ARGF.read
data/circle.yml CHANGED
@@ -2,4 +2,8 @@ machine:
2
2
  timezone:
3
3
  Europe/Amsterdam
4
4
  ruby:
5
- version: 2.2.4
5
+ version: 2.3.1
6
+ test:
7
+ post:
8
+ - bundle exec rubocop
9
+ - bundle exec codeclimate-test-reporter
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Roqua
2
3
  module Healthy
3
4
  module A19
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'roqua/healthy/a19/name_parser'
2
3
 
3
4
  module Roqua
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Roqua
2
3
  module Healthy
3
4
  module A19
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'net/http'
2
3
  require 'addressable/uri'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'roqua/healthy/a19/name_parser'
2
3
 
3
4
  module Roqua
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Roqua
2
3
  module Healthy
3
4
  module A19
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'active_support/core_ext/hash/conversions'
2
3
 
3
4
  module Roqua
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'roqua/healthy/a19/response_parser'
2
3
 
3
4
  module Roqua
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'roqua/healthy/a19/name_parser'
2
3
  require 'roqua/healthy/a19/cdis_name_parser'
3
4
  require 'roqua/healthy/a19/impulse_name_parser'
@@ -77,7 +78,7 @@ module Roqua
77
78
 
78
79
  def birthdate
79
80
  birthdate_details = message.fetch('PID').fetch('PID.7')
80
- birthdate_details.fetch('PID.7.1') if birthdate_details
81
+ birthdate_details&.fetch('PID.7.1')
81
82
  end
82
83
 
83
84
  def email
@@ -113,7 +114,7 @@ module Roqua
113
114
  end
114
115
 
115
116
  def gender
116
- message.fetch('PID').fetch('PID.8').fetch('PID.8.1')
117
+ message.dig('PID', 'PID.8', 'PID.8.1')
117
118
  end
118
119
 
119
120
  private
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Roqua
2
3
  module Healthy
3
4
  module A19
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Roqua
2
3
  module Healthy
3
4
  class Client
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Roqua
2
3
  module Healthy
3
4
  class Error < StandardError; end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Roqua
2
3
  module Healthy
3
4
  class MessageCleaner
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
1
2
  module Roqua
2
3
  module Healthy
3
4
  # healthy version
4
- VERSION = "1.4.1".freeze
5
+ VERSION = "1.4.2"
5
6
  end
6
7
  end
data/lib/roqua/healthy.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'roqua/support'
2
3
 
3
4
  require 'roqua/healthy/version'
@@ -0,0 +1,2 @@
1
+ # frozen_string_literal: true
2
+ require 'roqua/healthy'
@@ -1,7 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ # frozen_string_literal: true
2
3
 
3
4
  require File.expand_path('../lib/roqua/healthy/version', __FILE__)
4
5
 
6
+ # rubocop:disable Metrics/BlockLength
5
7
  Gem::Specification.new do |gem|
6
8
  gem.name = "roqua-healthy"
7
9
  gem.version = Roqua::Healthy::VERSION
@@ -12,6 +14,8 @@ Gem::Specification.new do |gem|
12
14
  gem.email = "support@roqua.nl"
13
15
  gem.homepage = "https://github.com/roqua/healthy"
14
16
 
17
+ gem.required_ruby_version = '~> 2.3'
18
+
15
19
  gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
16
20
  gem.executables = [] # executables in bin/ are helpers for use during development
17
21
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
@@ -35,6 +39,7 @@ Gem::Specification.new do |gem|
35
39
  gem.add_development_dependency 'listen', '~> 2.1'
36
40
  gem.add_development_dependency 'guard-rubocop', '~> 1.2.0'
37
41
  gem.add_development_dependency 'rubocop', '~> 0.40'
42
+ gem.add_development_dependency 'simplecov'
38
43
  gem.add_development_dependency 'fuubar'
39
44
 
40
45
  # Documentation generation
@@ -0,0 +1,199 @@
1
+ <HL7Message>
2
+ <MSH>
3
+ <MSH.1>|</MSH.1>
4
+ <MSH.2>^~\&amp;</MSH.2>
5
+ <MSH.3>
6
+ <MSH.3.1>CDIS</MSH.3.1>
7
+ </MSH.3>
8
+ <MSH.4>
9
+ <MSH.4.1>UMCG</MSH.4.1>
10
+ </MSH.4>
11
+ <MSH.5>
12
+ <MSH.5.1>ROQUA</MSH.5.1>
13
+ </MSH.5>
14
+ <MSH.6>
15
+ <MSH.6.1>RGOC</MSH.6.1>
16
+ </MSH.6>
17
+ <MSH.7>
18
+ <MSH.7.1>20161007133703</MSH.7.1>
19
+ </MSH.7>
20
+ <MSH.8/>
21
+ <MSH.9>
22
+ <MSH.9.1>ADR</MSH.9.1>
23
+ <MSH.9.2>A19</MSH.9.2>
24
+ </MSH.9>
25
+ <MSH.10>
26
+ <MSH.10.1>be3b988666</MSH.10.1>
27
+ </MSH.10>
28
+ <MSH.11>
29
+ <MSH.11.1>P</MSH.11.1>
30
+ </MSH.11>
31
+ <MSH.12>
32
+ <MSH.12.1>2.4</MSH.12.1>
33
+ </MSH.12>
34
+ <MSH.13/>
35
+ <MSH.14/>
36
+ <MSH.15/>
37
+ <MSH.16/>
38
+ <MSH.17/>
39
+ </MSH>
40
+ <MSA>
41
+ <MSA.1>
42
+ <MSA.1.1>CA</MSA.1.1>
43
+ </MSA.1>
44
+ <MSA.2>
45
+ <MSA.2.1>be3b988666</MSA.2.1>
46
+ </MSA.2>
47
+ <MSA.3/>
48
+ <MSA.4/>
49
+ <MSA.5/>
50
+ <MSA.6/>
51
+ </MSA>
52
+ <QRD>
53
+ <QRD.1>
54
+ <QRD.1.1>20161006</QRD.1.1>
55
+ </QRD.1>
56
+ <QRD.2>
57
+ <QRD.2.1>R</QRD.2.1>
58
+ </QRD.2>
59
+ <QRD.3>
60
+ <QRD.3.1>I</QRD.3.1>
61
+ </QRD.3>
62
+ <QRD.4>
63
+ <QRD.4.1>be3b988666</QRD.4.1>
64
+ </QRD.4>
65
+ <QRD.5/>
66
+ <QRD.6/>
67
+ <QRD.7>
68
+ <QRD.7.1>1</QRD.7.1>
69
+ <QRD.7.2>RD</QRD.7.2>
70
+ </QRD.7>
71
+ <QRD.8>
72
+ <QRD.8.1>2001111</QRD.8.1>
73
+ </QRD.8>
74
+ <QRD.9>
75
+ <QRD.9.1>DEM</QRD.9.1>
76
+ </QRD.9>
77
+ </QRD>
78
+ <EVN>
79
+ <EVN.1>
80
+ <EVN.1.1>A19</EVN.1.1>
81
+ </EVN.1>
82
+ <EVN.2>
83
+ <EVN.2.1>20161107133703</EVN.2.1>
84
+ </EVN.2>
85
+ <EVN.3/>
86
+ <EVN.4/>
87
+ <EVN.5>
88
+ <EVN.5.1/>
89
+ <EVN.5.2/>
90
+ <EVN.5.3/>
91
+ <EVN.5.4/>
92
+ <EVN.5.5/>
93
+ <EVN.5.6/>
94
+ <EVN.5.7/>
95
+ <EVN.5.8/>
96
+ <EVN.5.9/>
97
+ <EVN.5.10/>
98
+ <EVN.5.11/>
99
+ <EVN.5.12/>
100
+ <EVN.5.13/>
101
+ <EVN.5.14/>
102
+ </EVN.5>
103
+ </EVN>
104
+ <PID>
105
+ <PID.1>
106
+ <PID.1.1>1</PID.1.1>
107
+ </PID.1>
108
+ <PID.2/>
109
+ <PID.3>
110
+ <PID.3.1>2001111</PID.3.1>
111
+ <PID.3.2/>
112
+ <PID.3.3/>
113
+ <PID.3.4>UMCG</PID.3.4>
114
+ <PID.3.5>PI</PID.3.5>
115
+ </PID.3>
116
+ <PID.4/>
117
+ <PID.5>
118
+ <PID.5.1>
119
+ <PID.5.1.1>CLINTÉN</PID.5.1.1>
120
+ <PID.5.1.2/>
121
+ <PID.5.1.3>CLINTÉN</PID.5.1.3>
122
+ </PID.5.1>
123
+ <PID.5.2>H</PID.5.2>
124
+ <PID.5.3/>
125
+ <PID.5.4/>
126
+ <PID.5.5/>
127
+ <PID.5.6/>
128
+ <PID.5.7>L</PID.5.7>
129
+ <PID.5.8/>
130
+ <PID.5.9/>
131
+ <PID.5.10/>
132
+ <PID.5.11>NL1</PID.5.11>
133
+ </PID.5>
134
+ <PID.6/>
135
+ <PID.7>
136
+ <PID.7.1>2001153</PID.7.1>
137
+ </PID.7>
138
+ <PID.8/>
139
+ <PID.9/>
140
+ <PID.10/>
141
+ <PID.11>
142
+ <PID.11.1/>
143
+ <PID.11.2/>
144
+ <PID.11.3/>
145
+ <PID.11.4/>
146
+ <PID.11.5/>
147
+ <PID.11.6>NLD</PID.11.6>
148
+ <PID.11.7>M</PID.11.7>
149
+ </PID.11>
150
+ <PID.12/>
151
+ <PID.13/>
152
+ <PID.14/>
153
+ <PID.15/>
154
+ <PID.16/>
155
+ <PID.17/>
156
+ <PID.18/>
157
+ <PID.19/>
158
+ <PID.20/>
159
+ <PID.21/>
160
+ <PID.22/>
161
+ <PID.23/>
162
+ <PID.24/>
163
+ <PID.25/>
164
+ <PID.26/>
165
+ <PID.27/>
166
+ <PID.28/>
167
+ <PID.29/>
168
+ <PID.30>
169
+ <PID.30.1>N</PID.30.1>
170
+ </PID.30>
171
+ <PID.31>
172
+ <PID.31.1>Y</PID.31.1>
173
+ </PID.31>
174
+ <PID.32>
175
+ <PID.32.1>NNNLD</PID.32.1>
176
+ </PID.32>
177
+ </PID>
178
+ <PV1>
179
+ <PV1.1>
180
+ <PV1.1.1>1</PV1.1.1>
181
+ </PV1.1>
182
+ <PV1.2>
183
+ <PV1.2.1>O</PV1.2.1>
184
+ </PV1.2>
185
+ </PV1>
186
+ <AL1>
187
+ <AL1.1>
188
+ <AL1.1.1>1</AL1.1.1>
189
+ </AL1.1>
190
+ <AL1.2>
191
+ <AL1.2.1>SYSTEMISCH</AL1.2.1>
192
+ </AL1.2>
193
+ <AL1.3>
194
+ <AL1.3.1/>
195
+ <AL1.3.2>GEEN ALLERGIEEN GEDOCUMENTEERD</AL1.3.2>
196
+ <AL1.3.3/>
197
+ </AL1.3>
198
+ </AL1>
199
+ </HL7Message>
data/spec/healthy_spec.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Roqua::Healthy do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe 'Fetching A19 from CDIS' do
@@ -96,4 +97,27 @@ describe 'Fetching A19 from CDIS' do
96
97
  it { expect(subject[:gender]).to eq('M') }
97
98
  it { expect(subject[:phone_cell]).to eq(nil) }
98
99
  end
100
+
101
+ describe 'epic epd example: a patient with no PID 8.1 (gender) field' do
102
+ before { load_fixture 'epic_no_gender', '2001111' }
103
+ subject { Roqua::Healthy::A19.fetch('2001111') }
104
+
105
+ it { expect(subject[:status]).to eq('SUCCESS') }
106
+ it { expect(subject[:error]).to be_nil }
107
+ it { expect(subject[:source]).to eq('UMCG') }
108
+ it { expect(subject[:identities]).to eq([{ident: "2001111", authority: "PI"}]) }
109
+ it { expect(subject[:firstname]).to eq('H') }
110
+ it { expect(subject[:initials]).to eq(nil) }
111
+ it { expect(subject[:lastname]).to eq("CLINT\u00C9N") }
112
+ it { expect(subject[:display_name]).to eq(nil) }
113
+ it { expect(subject[:email]).to eq(nil) }
114
+ it { expect(subject[:address_type]).to eq('M') }
115
+ it { expect(subject[:street]).to eq(nil) }
116
+ it { expect(subject[:city]).to eq(nil) }
117
+ it { expect(subject[:zipcode]).to eq(nil) }
118
+ it { expect(subject[:country]).to eq('NLD') }
119
+ it { expect(subject[:birthdate]).to eq('2001153') }
120
+ it { expect(subject[:gender]).to eq(nil) }
121
+ it { expect(subject[:phone_cell]).to eq(nil) }
122
+ end
99
123
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe 'Fetching A19 from Comez' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe 'Fetching A19 from GGZWNB' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe 'Fetching A19 from Medoq' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe 'Accounting for Mirth bugs' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe 'Fetching A19 from USER' do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe 'Fetching A19 from XMcare' do
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,10 @@
1
+ # frozen_string_literal: true
2
+ require 'simplecov'
3
+ SimpleCov.start
4
+
1
5
  require 'rspec'
2
6
 
3
7
  require 'webmock/rspec'
4
- WebMock.disable_net_connect! allow: "codeclimate.com"
5
-
6
- if ENV["CODECLIMATE_REPO_TOKEN"]
7
- require "codeclimate-test-reporter"
8
- CodeClimate::TestReporter.start
9
- end
10
8
 
11
9
  # Requires supporting ruby files with custom matchers and macros, etc,
12
10
  # in spec/support/ and its subdirectories.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  def stub_mirth(patient_id = '123')
2
3
  stub_request(:post, Roqua::Healthy.a19_endpoint)
3
4
  .with(body: {application: 'healthy', method: 'A19', patient_id: patient_id})
@@ -1,23 +1,31 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Roqua::Healthy::A19::AddressParser do
5
+ # rubocop:disable Metrics/MethodLength
4
6
  def msg(*types)
5
7
  addresses = []
6
- addresses << {'PID.11.7' => 'M',
7
- 'PID.11.1' => {'PID.11.1.1' => 'Mailstreet 1'},
8
- 'PID.11.3' => 'Mailcity',
9
- 'PID.11.5' => 'Mailzipcode',
10
- 'PID.11.6' => 'Mailcountry'} if types.include?('M')
11
- addresses << {'PID.11.7' => 'H',
12
- 'PID.11.1' => {'PID.11.1.1' => 'Homestreet 1'},
13
- 'PID.11.3' => 'Homecity',
14
- 'PID.11.5' => 'Homezipcode',
15
- 'PID.11.6' => 'Homecountry'} if types.include?('H')
16
- addresses << {'PID.11.7' => '?',
17
- 'PID.11.1' => {'PID.11.1.1' => '????street 1'},
18
- 'PID.11.3' => '????city',
19
- 'PID.11.5' => '????zipcode',
20
- 'PID.11.6' => '????country'} if types.include?('?')
8
+ if types.include?('M')
9
+ addresses << {'PID.11.7' => 'M',
10
+ 'PID.11.1' => {'PID.11.1.1' => 'Mailstreet 1'},
11
+ 'PID.11.3' => 'Mailcity',
12
+ 'PID.11.5' => 'Mailzipcode',
13
+ 'PID.11.6' => 'Mailcountry'}
14
+ end
15
+ if types.include?('H')
16
+ addresses << {'PID.11.7' => 'H',
17
+ 'PID.11.1' => {'PID.11.1.1' => 'Homestreet 1'},
18
+ 'PID.11.3' => 'Homecity',
19
+ 'PID.11.5' => 'Homezipcode',
20
+ 'PID.11.6' => 'Homecountry'}
21
+ end
22
+ if types.include?('?')
23
+ addresses << {'PID.11.7' => '?',
24
+ 'PID.11.1' => {'PID.11.1.1' => '????street 1'},
25
+ 'PID.11.3' => '????city',
26
+ 'PID.11.5' => '????zipcode',
27
+ 'PID.11.6' => '????country'}
28
+ end
21
29
  {'PID' => {'PID.11' => addresses}}
22
30
  end
23
31
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  module Roqua
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Roqua::Healthy::A19::Fetcher do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Roqua::Healthy::A19 do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Roqua::Healthy::Client do
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'spec_helper'
2
3
 
3
4
  describe Roqua::Healthy::MessageCleaner do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roqua-healthy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marten Veldthuis
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-10-17 00:00:00.000000000 Z
14
+ date: 2016-11-14 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
@@ -201,6 +201,20 @@ dependencies:
201
201
  - - "~>"
202
202
  - !ruby/object:Gem::Version
203
203
  version: '0.40'
204
+ - !ruby/object:Gem::Dependency
205
+ name: simplecov
206
+ requirement: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - ">="
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ type: :development
212
+ prerelease: false
213
+ version_requirements: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
204
218
  - !ruby/object:Gem::Dependency
205
219
  name: fuubar
206
220
  requirement: !ruby/object:Gem::Requirement
@@ -253,7 +267,6 @@ files:
253
267
  - bin/get_xml_for_patient
254
268
  - bin/parse_local_xml
255
269
  - circle.yml
256
- - lib/roqua-healthy.rb
257
270
  - lib/roqua/healthy.rb
258
271
  - lib/roqua/healthy/a19.rb
259
272
  - lib/roqua/healthy/a19/address_parser.rb
@@ -269,12 +282,14 @@ files:
269
282
  - lib/roqua/healthy/errors.rb
270
283
  - lib/roqua/healthy/message_cleaner.rb
271
284
  - lib/roqua/healthy/version.rb
285
+ - lib/roqua_healthy.rb
272
286
  - roqua-healthy.gemspec
273
287
  - spec/fixtures/cdis_gerda_geit.xml
274
288
  - spec/fixtures/cdis_jan_fictief.xml
275
289
  - spec/fixtures/cdis_missing_address.xml
276
290
  - spec/fixtures/cdis_piet_fictief.xml
277
291
  - spec/fixtures/comez_patient.xml
292
+ - spec/fixtures/epic_no_gender.xml
278
293
  - spec/fixtures/ggzwnb_patient.xml
279
294
  - spec/fixtures/medoq_patient.xml
280
295
  - spec/fixtures/oru-requests/spsy1218j.hl7
@@ -326,9 +341,9 @@ require_paths:
326
341
  - lib
327
342
  required_ruby_version: !ruby/object:Gem::Requirement
328
343
  requirements:
329
- - - ">="
344
+ - - "~>"
330
345
  - !ruby/object:Gem::Version
331
- version: '0'
346
+ version: '2.3'
332
347
  required_rubygems_version: !ruby/object:Gem::Requirement
333
348
  requirements:
334
349
  - - ">="
@@ -336,7 +351,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
336
351
  version: '0'
337
352
  requirements: []
338
353
  rubyforge_project:
339
- rubygems_version: 2.6.6
354
+ rubygems_version: 2.5.1
340
355
  signing_key:
341
356
  specification_version: 4
342
357
  summary: Arranges communication between Mirth and RoQua
@@ -346,6 +361,7 @@ test_files:
346
361
  - spec/fixtures/cdis_missing_address.xml
347
362
  - spec/fixtures/cdis_piet_fictief.xml
348
363
  - spec/fixtures/comez_patient.xml
364
+ - spec/fixtures/epic_no_gender.xml
349
365
  - spec/fixtures/ggzwnb_patient.xml
350
366
  - spec/fixtures/medoq_patient.xml
351
367
  - spec/fixtures/oru-requests/spsy1218j.hl7
data/lib/roqua-healthy.rb DELETED
@@ -1,2 +0,0 @@
1
- # rubocop:disable Style/FileName
2
- require 'roqua/healthy'