ruby-hl7-extensions 0.4.2 → 0.4.5

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: d489b9e0d9815ad010c14ae1cd80dc241ebdad8c5e5fe2cf411f9a0e729479cb
4
- data.tar.gz: 74f6b786d4c85141c78acbc06463770667eafdfedf3a26089732029878bcdcd2
3
+ metadata.gz: 7ad758b6d112795b1738a723031b03194fb15748cc5637f801060ba08e1334e5
4
+ data.tar.gz: a08537c519f9a18aa77077d72446da29bf6bfb13c76fb87dbee48abfc05e8744
5
5
  SHA512:
6
- metadata.gz: 6b5016b49ec1fee35f87eb32bc2e11bcdd2a5f80f8f45a72b6e58a43fab518eb2e2d80229100347872a8a3638584b9c037678c03cbede05e7d9712813eef491b
7
- data.tar.gz: efbb039fa4dc5833e3e2c243702b20292c97c6d4813ab3c7b7da1e998089e9804852c13abe63fa59bab1d37acc20146f7ebeb9dd7c12922af6929140cc69b5bd
6
+ metadata.gz: 0fb4c08d1f412378de76a72c7d34e479cd49fa7af1947255f9b797bdea81b69cba168790df218e0ccfc8df715211f4de61c546cea8bfd435fe55563cba01e5bb
7
+ data.tar.gz: 0bd10894529145a9c071ec91194c3a8328e6b52afa5a9fd7bd2ec36354f5cebeaeb5386e5ced8769bb1b656eb19012d92402b10d8323a8e340bf4af8ad99b311
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.2
1
+ 0.4.3
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 4
4
- :patch: 2
4
+ :patch: 3
@@ -67,6 +67,14 @@ module Extensions
67
67
  end
68
68
  end
69
69
 
70
+ if self[:ZDRF]
71
+ zdrf = self[:ZDRF]
72
+ zdrf = [zdrf] unless zdrf.is_a?Array
73
+ zdrf.each do |z|
74
+ providers << {hash: z.provider_hash("zdrfProvider","ZDRF"), segment: z}
75
+ end
76
+ end
77
+
70
78
  if self[:ZNP]
71
79
  znp = self[:ZNP]
72
80
  znp = [znp] unless znp.is_a?Array
@@ -122,7 +130,7 @@ module Extensions
122
130
  def pv2
123
131
  @pv2 ||= segments_for(:PV2).first
124
132
  end
125
-
133
+
126
134
  def pd1
127
135
  @pd1 ||= segments_for(:PD1).first
128
136
  end
@@ -219,7 +227,7 @@ module Extensions
219
227
  @hash[:message][:content]["ORC"]["segment_array"] ||= []
220
228
  @hash[:message][:content]["ORC"]["segment_array"] << segment
221
229
  last_segment = segment_name
222
- elsif segment_name == "NTE" or segment_name == "TQ1"
230
+ elsif segment_name == "NTE"
223
231
  if last_segment == "OBR"
224
232
  @hash[:message][:content]["OBR"]["array"].last["OBX"] ||= {}
225
233
  @hash[:message][:content]["OBR"]["array"].last["OBX"]["array"] ||= []
@@ -228,6 +236,8 @@ module Extensions
228
236
  @hash[:message][:content]["OBR"]["array"].last["OBX"]["array"].last["notes"] << segment.to_hash
229
237
  end
230
238
  end
239
+ elsif segment_name == "TQ1"
240
+
231
241
  else
232
242
  @hash[:message][:content][segment_name.to_sym] = segment.to_hash
233
243
  end
@@ -0,0 +1,16 @@
1
+ module Extensions
2
+ module HL7
3
+ module Segments
4
+ module DRF
5
+
6
+ def self.included base
7
+ base.send :include, InstanceMethods
8
+ base.extend ClassMethods
9
+ end
10
+
11
+ module InstanceMethods
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -29,13 +29,13 @@ module Extensions
29
29
  end
30
30
  obx_l
31
31
  end
32
-
32
+
33
33
  # def obx_list
34
34
  # # a = @hash["OBX"]["array"].collect {|obr| ::HL7::Message::Segment.from_hash("OBX", obr)}
35
35
  # # a.to_enum(:each)
36
36
  # @hash["OBX"]["segment_array"].to_enum(:each)
37
37
  # end
38
-
38
+
39
39
  def to_hash
40
40
  return @hash if @hash
41
41
 
@@ -13,14 +13,17 @@ require 'core_ext/segments/err'
13
13
  require 'core_ext/segments/rol'
14
14
  require 'core_ext/segments/pd1'
15
15
  require 'segments/dg1'
16
+ require 'segments/drf'
16
17
  require 'segments/mrg'
18
+ require 'segments/zdrf'
17
19
  require 'segments/znp'
18
20
  require 'core_ext/segments/dg1'
21
+ require 'core_ext/segments/drf'
19
22
  require 'core_ext/segments/in1'
20
23
  require 'core_ext/segments/mrg'
21
24
 
22
25
 
23
- segments = ["MSH","PID","ORC","OBR","OBX","NTE","NK1", "PV1", "PV2", "EVN", "SFT", "ERR", "PD1", "ROL", "DG1", "IN1", "MRG"]
26
+ segments = ["MSH","PID","ORC","OBR","OBX","NTE","NK1", "PV1", "PV2", "EVN", "SFT", "ERR", "PD1", "ROL", "DG1", "IN1", "MRG", "DRF"]
24
27
  segments.each do |segment_name|
25
28
 
26
29
  eval("class HL7::Message::Segment::#{segment_name} < HL7::Message::Segment
@@ -0,0 +1,16 @@
1
+ # encoding: UTF-8
2
+ require 'ruby-hl7'
3
+
4
+ class HL7::Message::Segment::DRF < HL7::Message::Segment
5
+ weight 100
6
+ add_field :set_id
7
+ add_field :field2
8
+ add_field :field3
9
+ add_field :field4
10
+ add_field :field5
11
+ add_field :field6
12
+ add_field :field7
13
+ add_field :field8
14
+ add_field :field9
15
+ add_field :field10
16
+ end
@@ -0,0 +1,47 @@
1
+ require 'ruby-hl7'
2
+
3
+ class HL7::Message::Segment::ZDRF < HL7::Message::Segment
4
+ add_field :custom_field_1
5
+ add_field :custom_field_2
6
+ add_field :custom_field_3
7
+ add_field :custom_field_4
8
+ add_field :custom_field_5
9
+ add_field :custom_field_6
10
+ add_field :custom_field_7
11
+ add_field :custom_field_8
12
+ add_field :custom_field_9
13
+ add_field :custom_field_10
14
+ add_field :custom_field_11
15
+ add_field :custom_field_12
16
+ add_field :custom_field_13
17
+ add_field :custom_field_14
18
+ add_field :custom_field_15
19
+ add_field :custom_field_16
20
+ add_field :custom_field_17
21
+ add_field :custom_field_18
22
+ add_field :custom_field_19
23
+ add_field :custom_field_20
24
+
25
+ def to_hash
26
+ return @hash if @hash
27
+
28
+ hash = super.to_hash
29
+ hash["id"] = hash["customField1"]
30
+ hash["npi"] = find_value(hash["customField2"])
31
+ hash["phone"] = find_value(hash["customField3"])
32
+ hash["email"] = find_value(hash["customField4"])
33
+ hash["fname"] = find_value(hash["customField5"])
34
+ hash["lname"] = find_value(hash["customField6"])
35
+ hash
36
+ end
37
+
38
+ def provider_hash(key,code)
39
+ to_hash.merge({"providerType"=>code})
40
+ end
41
+
42
+ private
43
+
44
+ def find_value(string="")
45
+ string.split("^").last
46
+ end
47
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "ruby-hl7-extensions"
6
- s.version = "0.4.2"
6
+ s.version = "0.4.5"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
@@ -23,6 +23,7 @@ Gem::Specification.new do |s|
23
23
  "lib/core_ext/message.rb",
24
24
  "lib/core_ext/segment.rb",
25
25
  "lib/core_ext/segments/dg1.rb",
26
+ "lib/core_ext/segments/drf.rb",
26
27
  "lib/core_ext/segments/err.rb",
27
28
  "lib/core_ext/segments/evn.rb",
28
29
  "lib/core_ext/segments/in1.rb",
@@ -42,7 +43,9 @@ Gem::Specification.new do |s|
42
43
  "lib/core_ext/segments/sft.rb",
43
44
  "lib/ruby-hl7-extensions.rb",
44
45
  "lib/segments/dg1.rb",
46
+ "lib/segments/drf.rb",
45
47
  "lib/segments/mrg.rb",
48
+ "lib/segments/zdrf.rb",
46
49
  "lib/segments/znp.rb",
47
50
  "ruby-hl7-extensions.gemspec"]
48
51
  s.homepage = "http://github.com/nmlynl/ruby-hl7-extensions"
@@ -66,4 +69,4 @@ Gem::Specification.new do |s|
66
69
  s.add_dependency(%q<rake>, ["~> 10.0.0"])
67
70
  s.add_dependency(%q<rubyforge>, ["~> 2.0.4"])
68
71
  end
69
- end
72
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-hl7-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Lega
@@ -57,6 +57,7 @@ files:
57
57
  - lib/core_ext/message.rb
58
58
  - lib/core_ext/segment.rb
59
59
  - lib/core_ext/segments/dg1.rb
60
+ - lib/core_ext/segments/drf.rb
60
61
  - lib/core_ext/segments/err.rb
61
62
  - lib/core_ext/segments/evn.rb
62
63
  - lib/core_ext/segments/in1.rb
@@ -76,7 +77,9 @@ files:
76
77
  - lib/core_ext/segments/sft.rb
77
78
  - lib/ruby-hl7-extensions.rb
78
79
  - lib/segments/dg1.rb
80
+ - lib/segments/drf.rb
79
81
  - lib/segments/mrg.rb
82
+ - lib/segments/zdrf.rb
80
83
  - lib/segments/znp.rb
81
84
  - ruby-hl7-extensions.gemspec
82
85
  homepage: http://github.com/nmlynl/ruby-hl7-extensions