roqua-healthy 1.2.0 → 1.2.1

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
  SHA1:
3
- metadata.gz: 535dbe075acc71ad6cfb216f74c0459d30076680
4
- data.tar.gz: d0ca4037f6610614aa35350fc9f7e3ac80f83c4e
3
+ metadata.gz: dc744ebcaa5350b012790082bce06fbfdcee8b50
4
+ data.tar.gz: cfe48aa98ec98439b7778fbea68005136fc35b90
5
5
  SHA512:
6
- metadata.gz: 768b8effbda52101455902040e0ba9357778ab73070bf36626ce6f2addf1311dba1c5cf175c104bd894d09fb13cad530fff4602aca8f0b31d4c7e7b37f7295a4
7
- data.tar.gz: 7559755407e7e2ba44079dd4e89e2b0f8bc2243fcf6d5b7eee88ca5cb9b4297728f8cc0cbe87957c63d7ed631a9862b6b8475e5663c80eb49918935802e6af19
6
+ metadata.gz: c151b7bad6d9070c4975376e79cdc0fd5400f103f9b3b5db795e9060b0c42641f08abf707b9f1de124be947ee371e2e29fcd385f824e5b0c77f52802f56c896a
7
+ data.tar.gz: 1e877165f35a47a7140f7f35a40133ce1b7b24ed6673acad7c8ab09c76214e214bd1b1fe7b21090e312572479a718b440e138189c17c1de80dbee7efb2c58052
data/.rubocop.yml CHANGED
@@ -1,17 +1,12 @@
1
- # This configuration was generated by `rubocop --auto-gen-config`.
2
- # The point is for the user to remove these configuration records
3
- # one by one as the offences are removed from the code base.
1
+ inherit_from: .rubocop_todo.yml
4
2
 
5
3
  AllCops:
6
- Excludes:
7
- - vendor/**
4
+ Exclude:
5
+ - vendor/**/*
8
6
 
9
7
  Documentation:
10
8
  Enabled: false
11
9
 
12
- LineLength:
13
- Enabled: false
14
-
15
10
  Encoding:
16
11
  Enabled: false
17
12
 
@@ -24,8 +19,5 @@ SpaceInsideHashLiteralBraces:
24
19
  MethodLength:
25
20
  Max: 20
26
21
 
27
- FinalNewline:
28
- Enabled: False
29
-
30
22
  SignalException:
31
23
  Enabled: False
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,22 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2016-06-24 14:47:51 +0200 using RuboCop version 0.40.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 7
10
+ Metrics/AbcSize:
11
+ Max: 26
12
+
13
+ # Offense count: 1
14
+ # Configuration parameters: CountComments.
15
+ Metrics/ClassLength:
16
+ Max: 102
17
+
18
+ # Offense count: 80
19
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
20
+ # URISchemes: http, https
21
+ Metrics/LineLength:
22
+ Max: 234
data/ChangeLog.md CHANGED
@@ -1,3 +1,7 @@
1
+ ### 1.2.1
2
+
3
+ * Improved heuristic to pick cell phone numbers out of commonly used hl7 messages
4
+
1
5
  ### 1.2.0
2
6
 
3
7
  * Added support for MEDOQ hl7 a19 identities encoded in JSON
data/Gemfile CHANGED
@@ -5,4 +5,4 @@ gemspec
5
5
  # Only add dependencies here if they're only used by CI or other services.
6
6
  # Normal development dependencies should go in the gemspec. People shouldn't
7
7
  # need to use bundler to develop on our gem.
8
- gem "codeclimate-test-reporter", group: :test, require: nil
8
+ gem "codeclimate-test-reporter", group: :test, require: nil
data/Guardfile CHANGED
@@ -1,11 +1,11 @@
1
1
  guard 'rspec', cmd: 'bundle exec rspec -f Fuubar' do
2
2
  watch(%r{^spec/.+_spec\.rb$})
3
3
  watch(%r{^lib/healthy/(.+)\.rb$}) { |m| ["spec/unit/#{m[1]}_spec.rb", "spec/integration"] }
4
- watch('spec/spec_helper.rb') { "spec" }
4
+ watch('spec/spec_helper.rb') { "spec" }
5
5
  watch(%r{^spec/fixtures/([^_]+)_.*.xml}) { |m| "spec/integration/#{m[1]}_spec.rb" }
6
6
  end
7
7
 
8
8
  guard :rubocop, cli: ['-D'] do
9
- watch(%r{.+\.rb$})
9
+ watch(/.+\.rb$/)
10
10
  watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
11
11
  end
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Healthy [![Code Climate](https://codeclimate.com/repos/524944dd56b10217490074e8/badges/5dd696b69c4614c83c2d/gpa.png)](https://codeclimate.com/repos/524944dd56b10217490074e8/feed) [![CircleCi](https://circleci.com/gh/roqua/healthy.png?circle-token=ece8f36798b00bc8659d5c76f720b22693d6600a)](https://circleci.com/gh/roqua/healthy)
1
+ # Healthy [![Code Climate](https://codeclimate.com/github/roqua/healthy/badges/gpa.svg)](https://codeclimate.com/github/roqua/healthy) [![CircleCi](https://circleci.com/gh/roqua/healthy.png?circle-token=ece8f36798b00bc8659d5c76f720b22693d6600a)](https://circleci.com/gh/roqua/healthy)
2
2
 
3
3
  ## Patient details aka QRY\^A19
4
4
 
@@ -31,8 +31,10 @@ There are two helpers in `bin`: `get_xml_for_patient` and `parse_local_xml`. The
31
31
 
32
32
  These two commands are then chained together by `bin/get`:
33
33
 
34
- `bin/get 7767853 10.20.11.100:60201`
34
+ `bin/get 7767853 10.20.11.100:60201` NB: replace the client id and the ip and port of the a19 channel you want to use
35
35
 
36
36
  ## Copyright
37
37
 
38
- Copyright (c) 2013 Marten Veldthuis. Publicly available under an MIT license. See [LICENSE.txt](https://github.com/roqua/healthy/blob/master/LICENSE.txt) for details.
38
+ Copyright (c) 2016 Marten Veldthuis, Jorn van de Beek, Samuel Esposito, Henk van der Veen
39
+
40
+ Publicly available under an MIT license. See [LICENSE.txt](https://github.com/roqua/healthy/blob/master/LICENSE.txt) for details.
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ begin
7
7
  rescue LoadError => e
8
8
  warn e.message
9
9
  warn "Run `gem install bundler` to install Bundler."
10
- exit -1
10
+ exit(-1)
11
11
  end
12
12
 
13
13
  begin
@@ -23,11 +23,11 @@ require 'rake'
23
23
  require 'rspec/core/rake_task'
24
24
  RSpec::Core::RakeTask.new
25
25
 
26
- task :test => :spec
27
- task :default => :spec
26
+ task test: :spec
27
+ task default: :spec
28
28
 
29
29
  require "bundler/gem_tasks"
30
30
 
31
31
  require 'yard'
32
- YARD::Rake::YardocTask.new
33
- task :doc => :yard
32
+ YARD::Rake::YardocTask.new
33
+ task doc: :yard
data/bin/get CHANGED
@@ -5,4 +5,4 @@ unless ARGV[0] && ARGV[1]
5
5
  exit 1
6
6
  end
7
7
 
8
- exec "bin/get_xml_for_patient #{ARGV[0]} '#{ARGV[1]}' | ruby -Ilib bin/parse_local_xml"
8
+ exec "bin/get_xml_for_patient #{ARGV[0]} '#{ARGV[1]}' | ruby -Ilib bin/parse_local_xml"
@@ -1,6 +1,6 @@
1
1
  #!/bin/bash
2
2
 
3
3
  COMMAND="curl --data \"method=A19&application=healthy&patient_id=$1\" \"http://$2\""
4
- XML=$(ssh mirth "$COMMAND")
4
+ XML=$(ssh prod-mirth "$COMMAND")
5
5
 
6
6
  echo $XML | xmllint --format -
data/circle.yml ADDED
@@ -0,0 +1,5 @@
1
+ machine:
2
+ timezone:
3
+ Europe/Amsterdam
4
+ ruby:
5
+ version: 2.2.4
@@ -43,4 +43,4 @@ module Roqua
43
43
  end
44
44
  end
45
45
  end
46
- end
46
+ end
@@ -20,9 +20,7 @@ module Roqua
20
20
  response = mirth_response
21
21
  parser = ResponseParser.new(response)
22
22
 
23
- if ResponseValidator.new(response.code, parser, patient_id).validate
24
- parser.fetch("HL7Message")
25
- end
23
+ parser.fetch("HL7Message") if ResponseValidator.new(response.code, parser, patient_id).validate
26
24
  end
27
25
 
28
26
  def mirth_response
@@ -60,4 +58,4 @@ module Roqua
60
58
  end
61
59
  end
62
60
  end
63
- end
61
+ end
@@ -40,8 +40,7 @@ module Roqua
40
40
  names[:display] = record
41
41
  when 'N'
42
42
  names[:nick] = record
43
- else
44
- # ignore record
43
+ # else ignore record
45
44
  end
46
45
  end
47
46
  names
@@ -24,4 +24,4 @@ module Roqua
24
24
  end
25
25
  end
26
26
  end
27
- end
27
+ end
@@ -90,18 +90,30 @@ module Roqua
90
90
  email_address
91
91
  end
92
92
 
93
+ # this is a heuristic to pick likely dutch cell phone numbers
94
+ # out of the peculiar hl7 messages we receive
93
95
  def phone_cell
94
- phone_cell_record = message.fetch('PID').fetch('PID.13').find do |record|
95
- record.fetch('PID.13.2', :unknown_type_of_phone_record) == 'ORN'
96
+ pid_13 = message.fetch('PID').fetch('PID.13')
97
+
98
+ # prefer ORN (Other Residence Number, usually used for cell phone) that contains '06'
99
+ phone_cell_record = pid_13.find do |record|
100
+ phone_number = record.fetch('PID.13.1', '') || ''
101
+ phone_number.start_with?('06') &&
102
+ record.fetch('PID.13.2', :unknown_type_of_phone_record) == 'ORN'
96
103
  end
97
104
 
98
- phone_cell_record ||= message.fetch('PID').fetch('PID.13').find do |record|
99
- record.fetch('PID.13.1', '') =~ /\A06/
105
+ # otherwise choose the first occuring '06' number
106
+ phone_cell_record ||= pid_13.find do |record|
107
+ phone_number = record.fetch('PID.13.1', '') || ''
108
+ phone_number.start_with?('06')
100
109
  end
101
110
 
102
- return nil unless phone_cell_record
111
+ # in the last case (possibly a +316 number), just choose the ORN number
112
+ phone_cell_record ||= pid_13.find do |record|
113
+ record.fetch('PID.13.2', :unknown_type_of_phone_record) == 'ORN'
114
+ end
103
115
 
104
- phone_cell_record.fetch('PID.13.1', "")
116
+ phone_cell_record.try(:fetch, 'PID.13.1', '')
105
117
  end
106
118
 
107
119
  def gender
@@ -16,4 +16,4 @@ end
16
16
 
17
17
  require_relative 'a19/fetcher'
18
18
  require_relative 'a19/transformer'
19
- require_relative 'a19/correct_patient_check'
19
+ require_relative 'a19/correct_patient_check'
@@ -41,4 +41,4 @@ module Roqua
41
41
  end
42
42
  end
43
43
  end
44
- end
44
+ end
@@ -1,6 +1,6 @@
1
1
  module Roqua
2
2
  module Healthy
3
3
  # healthy version
4
- VERSION = "1.2.0"
4
+ VERSION = "1.2.1".freeze
5
5
  end
6
6
  end
data/lib/roqua/healthy.rb CHANGED
@@ -12,4 +12,4 @@ module Roqua
12
12
  attr_accessor :a19_endpoint
13
13
  end
14
14
  end
15
- end
15
+ end
data/lib/roqua-healthy.rb CHANGED
@@ -1 +1,2 @@
1
+ # rubocop:disable Style/FileName
1
2
  require 'roqua/healthy'
@@ -5,14 +5,14 @@ require File.expand_path('../lib/roqua/healthy/version', __FILE__)
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "roqua-healthy"
7
7
  gem.version = Roqua::Healthy::VERSION
8
- gem.summary = %q{Arranges communication between Mirth and RoQua}
9
- gem.description = %q{Receives queries from RoQua, sends them to Mirth, and translates Mirth's responses back into Rubyland.}
8
+ gem.summary = 'Arranges communication between Mirth and RoQua'
9
+ gem.description = "Receives queries from RoQua, sends them to Mirth, and translates Mirth's responses back into Rubyland."
10
10
  gem.license = "MIT"
11
- gem.authors = ["Marten Veldthuis", "Jorn van de Beek"]
11
+ gem.authors = ["Marten Veldthuis", "Jorn van de Beek", 'Samuel Esposito', 'Henk van der Veen']
12
12
  gem.email = "support@roqua.nl"
13
13
  gem.homepage = "https://github.com/roqua/healthy"
14
14
 
15
- gem.files = `git ls-files`.split($/)
15
+ gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
16
16
  gem.executables = [] # executables in bin/ are helpers for use during development
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ['lib']
@@ -33,8 +33,8 @@ Gem::Specification.new do |gem|
33
33
  gem.add_development_dependency 'guard', '~> 2.1'
34
34
  gem.add_development_dependency 'guard-rspec', '~> 4.2.4'
35
35
  gem.add_development_dependency 'listen', '~> 2.1'
36
- gem.add_development_dependency 'guard-rubocop', '~> 1.0.1'
37
- gem.add_development_dependency 'rubocop', '= 0.17.0'
36
+ gem.add_development_dependency 'guard-rubocop', '~> 1.2.0'
37
+ gem.add_development_dependency 'rubocop', '~> 0.40'
38
38
  gem.add_development_dependency 'fuubar'
39
39
 
40
40
  # Documentation generation
@@ -0,0 +1,314 @@
1
+ <?xml version="1.0"?>
2
+ <HL7Message>
3
+ <MSH>
4
+ <MSH.1>|</MSH.1>
5
+ <MSH.2>^~\\&amp;</MSH.2>
6
+ <MSH.3>
7
+ <MSH.3.1>XMCARE</MSH.3.1>
8
+ </MSH.3>
9
+ <MSH.4>
10
+ <MSH.4.1>XMCARE</MSH.4.1>
11
+ </MSH.4>
12
+ <MSH.5>
13
+ <MSH.5.1>ROQUA</MSH.5.1>
14
+ </MSH.5>
15
+ <MSH.6>
16
+ <MSH.6.1>RGOC</MSH.6.1>
17
+ </MSH.6>
18
+ <MSH.7>
19
+ <MSH.7.1>20160621111111</MSH.7.1>
20
+ </MSH.7>
21
+ <MSH.8/>
22
+ <MSH.9>
23
+ <MSH.9.1>ADR</MSH.9.1>
24
+ <MSH.9.2>A19</MSH.9.2>
25
+ <MSH.9.3>ADR_A19</MSH.9.3>
26
+ </MSH.9>
27
+ <MSH.10>
28
+ <MSH.10.1>8000000</MSH.10.1>
29
+ </MSH.10>
30
+ <MSH.11>
31
+ <MSH.11.1>P</MSH.11.1>
32
+ </MSH.11>
33
+ <MSH.12>
34
+ <MSH.12.1>2.4</MSH.12.1>
35
+ </MSH.12>
36
+ <MSH.13/>
37
+ <MSH.14/>
38
+ <MSH.15>
39
+ <MSH.15.1>NE</MSH.15.1>
40
+ </MSH.15>
41
+ <MSH.16>
42
+ <MSH.16.1>NE</MSH.16.1>
43
+ </MSH.16>
44
+ </MSH>
45
+ <MSA>
46
+ <MSA.1>
47
+ <MSA.1.1>CA</MSA.1.1>
48
+ </MSA.1>
49
+ <MSA.2>
50
+ <MSA.2.1>f00bf00b00</MSA.2.1>
51
+ </MSA.2>
52
+ </MSA>
53
+ <QRD>
54
+ <QRD.1>
55
+ <QRD.1.1>20160621000000</QRD.1.1>
56
+ </QRD.1>
57
+ <QRD.2>
58
+ <QRD.2.1>R</QRD.2.1>
59
+ </QRD.2>
60
+ <QRD.3>
61
+ <QRD.3.1>I</QRD.3.1>
62
+ </QRD.3>
63
+ <QRD.4>
64
+ <QRD.4.1>f00bf00b00</QRD.4.1>
65
+ </QRD.4>
66
+ <QRD.5/>
67
+ <QRD.6/>
68
+ <QRD.7>
69
+ <QRD.7.1>1</QRD.7.1>
70
+ <QRD.7.2>RD</QRD.7.2>
71
+ </QRD.7>
72
+ <QRD.8>
73
+ <QRD.8.1>88888888888</QRD.8.1>
74
+ </QRD.8>
75
+ <QRD.9>
76
+ <QRD.9.1>DEM</QRD.9.1>
77
+ </QRD.9>
78
+ </QRD>
79
+ <PID>
80
+ <PID.1>
81
+ <PID.1.1>1</PID.1.1>
82
+ </PID.1>
83
+ <PID.2/>
84
+ <PID.3>
85
+ <PID.3.1>88888888888</PID.3.1>
86
+ <PID.3.2/>
87
+ <PID.3.3/>
88
+ <PID.3.4>XMCARE</PID.3.4>
89
+ <PID.3.5>PI</PID.3.5>
90
+ </PID.3>
91
+ <PID.3>
92
+ <PID.3.1>222222222</PID.3.1>
93
+ <PID.3.2/>
94
+ <PID.3.3/>
95
+ <PID.3.4>NLMINBIZA</PID.3.4>
96
+ <PID.3.5>NNNLD</PID.3.5>
97
+ <PID.3.6/>
98
+ <PID.3.7>20160101</PID.3.7>
99
+ </PID.3>
100
+ <PID.3>
101
+ <PID.3.1>""</PID.3.1>
102
+ <PID.3.2/>
103
+ <PID.3.3/>
104
+ <PID.3.4/>
105
+ <PID.3.5>IBAN</PID.3.5>
106
+ </PID.3>
107
+ <PID.3>
108
+ <PID.3.1>""</PID.3.1>
109
+ <PID.3.2/>
110
+ <PID.3.3/>
111
+ <PID.3.4>GIRO</PID.3.4>
112
+ <PID.3.5>BA</PID.3.5>
113
+ </PID.3>
114
+ <PID.3>
115
+ <PID.3.1>""</PID.3.1>
116
+ <PID.3.2/>
117
+ <PID.3.3/>
118
+ <PID.3.4>BANK</PID.3.4>
119
+ <PID.3.5>BA</PID.3.5>
120
+ </PID.3>
121
+ <PID.4/>
122
+ <PID.5>
123
+ <PID.5.1>
124
+ <PID.5.1.1>Achternom</PID.5.1.1>
125
+ <PID.5.1.2>""</PID.5.1.2>
126
+ <PID.5.1.3>Achternom</PID.5.1.3>
127
+ <PID.5.1.4>""</PID.5.1.4>
128
+ <PID.5.1.5>""</PID.5.1.5>
129
+ </PID.5.1>
130
+ <PID.5.2>V</PID.5.2>
131
+ <PID.5.3/>
132
+ <PID.5.4/>
133
+ <PID.5.5/>
134
+ <PID.5.6/>
135
+ <PID.5.7>L</PID.5.7>
136
+ </PID.5>
137
+ <PID.5>
138
+ <PID.5.1>Achternom</PID.5.1>
139
+ <PID.5.2/>
140
+ <PID.5.3/>
141
+ <PID.5.4/>
142
+ <PID.5.5/>
143
+ <PID.5.6/>
144
+ <PID.5.7>D</PID.5.7>
145
+ </PID.5>
146
+ <PID.5>
147
+ <PID.5.1/>
148
+ <PID.5.2>Voorname</PID.5.2>
149
+ <PID.5.3/>
150
+ <PID.5.4/>
151
+ <PID.5.5/>
152
+ <PID.5.6/>
153
+ <PID.5.7>N</PID.5.7>
154
+ </PID.5>
155
+ <PID.6/>
156
+ <PID.7>
157
+ <PID.7.1>19900101</PID.7.1>
158
+ </PID.7>
159
+ <PID.8>
160
+ <PID.8.1>F</PID.8.1>
161
+ </PID.8>
162
+ <PID.9/>
163
+ <PID.10/>
164
+ <PID.11/>
165
+ <PID.11>
166
+ <PID.11.1>
167
+ <PID.11.1.1>Straat 8</PID.11.1.1>
168
+ <PID.11.1.2>Straat</PID.11.1.2>
169
+ <PID.11.1.3>8</PID.11.1.3>
170
+ </PID.11.1>
171
+ <PID.11.2>""</PID.11.2>
172
+ <PID.11.3>GRONINGEN</PID.11.3>
173
+ <PID.11.4/>
174
+ <PID.11.5>9711CR</PID.11.5>
175
+ <PID.11.6>NED</PID.11.6>
176
+ <PID.11.7>H</PID.11.7>
177
+ </PID.11>
178
+ <PID.11>
179
+ <PID.11.1>
180
+ <PID.11.1.1/>
181
+ <PID.11.1.2>""</PID.11.1.2>
182
+ <PID.11.1.3>""</PID.11.1.3>
183
+ </PID.11.1>
184
+ <PID.11.2>""</PID.11.2>
185
+ <PID.11.3>GRONINGEN</PID.11.3>
186
+ <PID.11.4/>
187
+ <PID.11.5>""</PID.11.5>
188
+ <PID.11.6>NED</PID.11.6>
189
+ <PID.11.7>N</PID.11.7>
190
+ </PID.11>
191
+ <PID.11>
192
+ <PID.11.1>
193
+ <PID.11.1.1/>
194
+ <PID.11.1.2>""</PID.11.1.2>
195
+ <PID.11.1.3>""</PID.11.1.3>
196
+ </PID.11.1>
197
+ <PID.11.2>""</PID.11.2>
198
+ <PID.11.3>""</PID.11.3>
199
+ <PID.11.4/>
200
+ <PID.11.5>""</PID.11.5>
201
+ <PID.11.6>""</PID.11.6>
202
+ <PID.11.7>C</PID.11.7>
203
+ </PID.11>
204
+ <PID.12/>
205
+ <PID.13>
206
+ <PID.13.1>0612345678</PID.13.1>
207
+ <PID.13.2>PRN</PID.13.2>
208
+ <PID.13.3>PH</PID.13.3>
209
+ </PID.13>
210
+ <PID.13>
211
+ <PID.13.1>""</PID.13.1>
212
+ <PID.13.2>ORN</PID.13.2>
213
+ <PID.13.3>PH</PID.13.3>
214
+ </PID.13>
215
+ <PID.13>
216
+ <PID.13.1>""</PID.13.1>
217
+ <PID.13.2>ORN</PID.13.2>
218
+ <PID.13.3>FX</PID.13.3>
219
+ </PID.13>
220
+ <PID.13>
221
+ <PID.13.1/>
222
+ <PID.13.2>NET</PID.13.2>
223
+ <PID.13.3>Internet</PID.13.3>
224
+ <PID.13.4>support@roqua.nl</PID.13.4>
225
+ </PID.13>
226
+ <PID.14/>
227
+ <PID.15/>
228
+ <PID.16/>
229
+ <PID.17/>
230
+ <PID.18/>
231
+ <PID.19/>
232
+ <PID.20/>
233
+ <PID.21/>
234
+ <PID.22/>
235
+ <PID.23/>
236
+ <PID.24/>
237
+ <PID.25/>
238
+ <PID.26>
239
+ <PID.26.1>""</PID.26.1>
240
+ </PID.26>
241
+ <PID.27/>
242
+ <PID.28/>
243
+ <PID.29>
244
+ <PID.29.1>""</PID.29.1>
245
+ </PID.29>
246
+ <PID.30>
247
+ <PID.30.1>N</PID.30.1>
248
+ </PID.30>
249
+ <PID.31>
250
+ <PID.31.1>N</PID.31.1>
251
+ </PID.31>
252
+ </PID>
253
+ <PV1>
254
+ <PV1.1/>
255
+ <PV1.2>
256
+ <PV1.2.1>O</PV1.2.1>
257
+ </PV1.2>
258
+ </PV1>
259
+ <IN1>
260
+ <IN1.1>
261
+ <IN1.1.1>1</IN1.1.1>
262
+ </IN1.1>
263
+ <IN1.2>
264
+ <IN1.2.1>""</IN1.2.1>
265
+ </IN1.2>
266
+ <IN1.3>
267
+ <IN1.3.1>VERZEKER CODE</IN1.3.1>
268
+ <IN1.3.2/>
269
+ <IN1.3.3/>
270
+ <IN1.3.4>LOCAL</IN1.3.4>
271
+ </IN1.3>
272
+ <IN1.4>
273
+ <IN1.4.1>Verzekeraar Zorgverz</IN1.4.1>
274
+ </IN1.4>
275
+ <IN1.5/>
276
+ <IN1.6/>
277
+ <IN1.7/>
278
+ <IN1.8/>
279
+ <IN1.9/>
280
+ <IN1.10/>
281
+ <IN1.11/>
282
+ <IN1.12>
283
+ <IN1.12.1>20140101</IN1.12.1>
284
+ </IN1.12>
285
+ <IN1.13>
286
+ <IN1.13.1>""</IN1.13.1>
287
+ </IN1.13>
288
+ <IN1.14/>
289
+ <IN1.15/>
290
+ <IN1.16/>
291
+ <IN1.17/>
292
+ <IN1.18/>
293
+ <IN1.19/>
294
+ <IN1.20/>
295
+ <IN1.21/>
296
+ <IN1.22/>
297
+ <IN1.23/>
298
+ <IN1.24/>
299
+ <IN1.25/>
300
+ <IN1.26/>
301
+ <IN1.27/>
302
+ <IN1.28/>
303
+ <IN1.29/>
304
+ <IN1.30/>
305
+ <IN1.31/>
306
+ <IN1.32/>
307
+ <IN1.33/>
308
+ <IN1.34/>
309
+ <IN1.35/>
310
+ <IN1.36>
311
+ <IN1.36.1>111111111</IN1.36.1>
312
+ </IN1.36>
313
+ </IN1>
314
+ </HL7Message>