ruby-hl7-extensions 0.4.2 → 0.4.5

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