roqua-healthy 1.4.1 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
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'