ruby-hl7-extensions 0.0.68 → 0.0.69
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 +4 -4
- data/VERSION +1 -1
- data/VERSION.yml +1 -1
- data/lib/core_ext/segment.rb +22 -1
- data/lib/core_ext/segments/err.rb +33 -0
- data/lib/core_ext/segments/evn.rb +15 -0
- data/lib/core_ext/segments/msh.rb +35 -0
- data/lib/core_ext/segments/nk1.rb +13 -0
- data/lib/core_ext/segments/pid.rb +54 -0
- data/lib/core_ext/segments/pv1.rb +63 -11
- data/lib/core_ext/segments/segments.rb +3 -1
- data/lib/core_ext/segments/sft.rb +31 -0
- data/ruby-hl7-extensions.gemspec +2 -2
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f9eb8d50470a56286cc1931ad4890230d857fa6
|
4
|
+
data.tar.gz: d2d85f72950527780a68292d34ca64f21c7b4cf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 472f6e8f81271f548abde8e69dadd89f16e53c4cc3f22b0a69e5584e2a68da2597134a3f2aaf5a205887853e673678c7616d449c2b9e8caad1cd4f212f94598a
|
7
|
+
data.tar.gz: 5e2fab80b71f0e86c77f262b894eacd6975123df8f7df0a3440594c95a8a4273f2c334a1228346392b1a06fa73d50ce250ba9419f838bd4f55506f658dea0467
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.69
|
data/VERSION.yml
CHANGED
data/lib/core_ext/segment.rb
CHANGED
@@ -89,11 +89,32 @@ module Extensions
|
|
89
89
|
instance
|
90
90
|
end
|
91
91
|
|
92
|
+
def description
|
93
|
+
""
|
94
|
+
end
|
95
|
+
|
96
|
+
def field_description(field_index)
|
97
|
+
""
|
98
|
+
end
|
99
|
+
|
100
|
+
def is_required?
|
101
|
+
false
|
102
|
+
end
|
103
|
+
|
104
|
+
def index_for(field_name)
|
105
|
+
index = self.fields.collect {|field| field[0]}.index(field_name) rescue -1
|
106
|
+
if index < 0
|
107
|
+
return -1
|
108
|
+
else
|
109
|
+
return index + 1
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
92
113
|
def mappings
|
93
114
|
field_mappings = self.fields.inject([]) {|arr, k| arr << {field_name: k[0].to_s.gsub("_", " ").titleize, type: "String", field_code: k[1][:idx]}; arr}
|
94
115
|
|
95
116
|
{
|
96
|
-
metadata: {segment_code: self.to_s.
|
117
|
+
metadata: {segment_code: self.to_s.split("::").last, display_name: ""},
|
97
118
|
fields: field_mappings
|
98
119
|
}
|
99
120
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Extensions
|
2
|
+
module HL7
|
3
|
+
module Segments
|
4
|
+
module ERR
|
5
|
+
|
6
|
+
def self.included base
|
7
|
+
base.send :include, InstanceMethods
|
8
|
+
base.extend ClassMethods
|
9
|
+
end
|
10
|
+
|
11
|
+
module InstanceMethods
|
12
|
+
def to_hash
|
13
|
+
@hash = {}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
module ClassMethods
|
18
|
+
def index_for(field_name)
|
19
|
+
return 12 if field_name == :help_desk_contact_point
|
20
|
+
|
21
|
+
index = self.fields.collect {|field| field[0]}.index(field_name) rescue -1
|
22
|
+
if index < 0
|
23
|
+
return -1
|
24
|
+
else
|
25
|
+
return index
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -15,6 +15,21 @@ module Extensions
|
|
15
15
|
end
|
16
16
|
|
17
17
|
module ClassMethods
|
18
|
+
def description
|
19
|
+
"Event Type"
|
20
|
+
end
|
21
|
+
|
22
|
+
def field_description(field_index)
|
23
|
+
[
|
24
|
+
"Event Type Code",
|
25
|
+
"Recorded Date/Time",
|
26
|
+
"Date/Time Planned Event",
|
27
|
+
"Event Reason Code",
|
28
|
+
"Operator Id",
|
29
|
+
"Event Occurred",
|
30
|
+
"Event Facility"
|
31
|
+
][field_index-1]
|
32
|
+
end
|
18
33
|
end
|
19
34
|
|
20
35
|
end
|
@@ -9,6 +9,7 @@ module Extensions
|
|
9
9
|
end
|
10
10
|
|
11
11
|
module InstanceMethods
|
12
|
+
|
12
13
|
def to_hash
|
13
14
|
return @hash if @hash
|
14
15
|
|
@@ -75,6 +76,40 @@ module Extensions
|
|
75
76
|
end
|
76
77
|
|
77
78
|
module ClassMethods
|
79
|
+
def is_required?
|
80
|
+
true
|
81
|
+
end
|
82
|
+
|
83
|
+
def description
|
84
|
+
"Message Header"
|
85
|
+
end
|
86
|
+
|
87
|
+
def field_description(field_index)
|
88
|
+
["Encoding Characters",
|
89
|
+
"Sending Application",
|
90
|
+
"Sending Facility",
|
91
|
+
"Receiving Application",
|
92
|
+
"Receiving Facility",
|
93
|
+
"Date/Time Of Message",
|
94
|
+
"Security",
|
95
|
+
"Message Type",
|
96
|
+
"Message Control Id",
|
97
|
+
"Processing Id",
|
98
|
+
"Version Id",
|
99
|
+
"Sequence Number",
|
100
|
+
"Continuation Pointer",
|
101
|
+
"Accept Acknowledgment Type",
|
102
|
+
"Application Acknowledgment Type",
|
103
|
+
"Country Code",
|
104
|
+
"Character Set",
|
105
|
+
"Principal Language Of Message",
|
106
|
+
"Alternate Character Set Handling Scheme",
|
107
|
+
"Message Profile Identifier",
|
108
|
+
"Sending Responsible Organization",
|
109
|
+
"Receiving Responsible Organization",
|
110
|
+
"Sending Network Address",
|
111
|
+
"Receiving Network Address"][field_index-1]
|
112
|
+
end
|
78
113
|
end
|
79
114
|
|
80
115
|
end
|
@@ -15,6 +15,19 @@ module Extensions
|
|
15
15
|
end
|
16
16
|
|
17
17
|
module ClassMethods
|
18
|
+
def index_for(field_name)
|
19
|
+
return 1 if field_name == :set_id
|
20
|
+
return 2 if field_name == :name
|
21
|
+
return 3 if field_name == :relationship
|
22
|
+
return 4 if field_name == :address
|
23
|
+
return 5 if field_name == :phone_number
|
24
|
+
return 13 if field_name == :organization_name
|
25
|
+
return 20 if field_name == :primary_language
|
26
|
+
return 30 if field_name == :contact_persons_name
|
27
|
+
return 31 if field_name == :contact_persons_telephone_number
|
28
|
+
return 32 if field_name == :contact_persons_address
|
29
|
+
return -1
|
30
|
+
end
|
18
31
|
end
|
19
32
|
|
20
33
|
end
|
@@ -9,6 +9,7 @@ module Extensions
|
|
9
9
|
end
|
10
10
|
|
11
11
|
module InstanceMethods
|
12
|
+
|
12
13
|
def patient_full_name
|
13
14
|
last_name = self.value_for_field("5.1")
|
14
15
|
first_name = self.value_for_field("5.2")
|
@@ -59,6 +60,59 @@ module Extensions
|
|
59
60
|
end
|
60
61
|
|
61
62
|
module ClassMethods
|
63
|
+
def is_required?
|
64
|
+
true
|
65
|
+
end
|
66
|
+
|
67
|
+
def description
|
68
|
+
"Patient Identification"
|
69
|
+
end
|
70
|
+
|
71
|
+
def field_description(field_index)
|
72
|
+
[
|
73
|
+
"Set Id - Pid",
|
74
|
+
"Patient Id",
|
75
|
+
"Patient Identifier List",
|
76
|
+
"Alternate Patient Id - Pid",
|
77
|
+
"Patient Name",
|
78
|
+
"Mother's Maiden Name",
|
79
|
+
"Date/Time Of Birth",
|
80
|
+
"Administrative Sex",
|
81
|
+
"Patient Alias",
|
82
|
+
"Race",
|
83
|
+
"Patient Address",
|
84
|
+
"County Code",
|
85
|
+
"Phone Number - Home",
|
86
|
+
"Phone Number - Business",
|
87
|
+
"Primary Language",
|
88
|
+
"Marital Status",
|
89
|
+
"Religion",
|
90
|
+
"Patient Account Number",
|
91
|
+
"Ssn Number - Patient",
|
92
|
+
"Driver's License Number - Patient",
|
93
|
+
"Mother's Identifier",
|
94
|
+
"Ethnic Group",
|
95
|
+
"Birth Place",
|
96
|
+
"Multiple Birth Indicator",
|
97
|
+
"Birth Order",
|
98
|
+
"Citizenship",
|
99
|
+
"Veterans Military Status",
|
100
|
+
"Nationality",
|
101
|
+
"Patient Death Date And Time",
|
102
|
+
"Patient Death Indicator",
|
103
|
+
"Identity Unknown Indicator",
|
104
|
+
"Identity Reliability Code",
|
105
|
+
"Last Update Date/Time",
|
106
|
+
"Last Update Facility",
|
107
|
+
"Species Code",
|
108
|
+
"Breed Code",
|
109
|
+
"Strain",
|
110
|
+
"Production Class Code",
|
111
|
+
"Tribal Citizenship",
|
112
|
+
"Patient Telecommunication Information"
|
113
|
+
][field_index-1]
|
114
|
+
end
|
115
|
+
|
62
116
|
end
|
63
117
|
|
64
118
|
end
|
@@ -134,17 +134,69 @@ module Extensions
|
|
134
134
|
end
|
135
135
|
|
136
136
|
module ClassMethods
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
137
|
+
def description
|
138
|
+
"Patient Visit"
|
139
|
+
end
|
140
|
+
|
141
|
+
def field_description(field_index)
|
142
|
+
[
|
143
|
+
"Set Id - Pv1",
|
144
|
+
"Patient Class",
|
145
|
+
"Assigned Patient Location",
|
146
|
+
"Admission Type",
|
147
|
+
"Preadmit Number",
|
148
|
+
"Prior Patient Location",
|
149
|
+
"Attending Doctor",
|
150
|
+
"Referring Doctor",
|
151
|
+
"Consulting Doctor",
|
152
|
+
"Hospital Service",
|
153
|
+
"Temporary Location",
|
154
|
+
"Preadmit Test Indicator",
|
155
|
+
"Re-admission Indicator",
|
156
|
+
"Admit Source",
|
157
|
+
"Ambulatory Status",
|
158
|
+
"Vip Indicator",
|
159
|
+
"Admitting Doctor",
|
160
|
+
"Patient Type",
|
161
|
+
"Visit Number",
|
162
|
+
"Financial Class",
|
163
|
+
"Charge Price Indicator",
|
164
|
+
"Courtesy Code",
|
165
|
+
"Credit Rating",
|
166
|
+
"Contract Code",
|
167
|
+
"Contract Effective Date",
|
168
|
+
"Contract Amount",
|
169
|
+
"Contract Period",
|
170
|
+
"Interest Code",
|
171
|
+
"Transfer To Bad Debt Code",
|
172
|
+
"Transfer To Bad Debt Date",
|
173
|
+
"Bad Debt Agency Code",
|
174
|
+
"Bad Debt Transfer Amount",
|
175
|
+
"Bad Debt Recovery Amount",
|
176
|
+
"Delete Account Indicator",
|
177
|
+
"Delete Account Date",
|
178
|
+
"Discharge Disposition",
|
179
|
+
"Discharged To Location",
|
180
|
+
"Diet Type",
|
181
|
+
"Servicing Facility",
|
182
|
+
"Bed Status",
|
183
|
+
"Account Status",
|
184
|
+
"Pending Location",
|
185
|
+
"Prior Temporary Location",
|
186
|
+
"Admit Date/Time",
|
187
|
+
"Discharge Date/Time",
|
188
|
+
"Current Patient Balance",
|
189
|
+
"Total Charges",
|
190
|
+
"Total Adjustments",
|
191
|
+
"Total Payments",
|
192
|
+
"Alternate Visit Id",
|
193
|
+
"Visit Indicator",
|
194
|
+
"Other Healthcare Provider",
|
195
|
+
"Service Episode Description",
|
196
|
+
"Service Episode Identifier",
|
197
|
+
][field_index-1]
|
198
|
+
end
|
199
|
+
|
148
200
|
end
|
149
201
|
|
150
202
|
end
|
@@ -7,8 +7,10 @@ require 'core_ext/segments/nte'
|
|
7
7
|
require 'core_ext/segments/nk1'
|
8
8
|
require 'core_ext/segments/pv1'
|
9
9
|
require 'core_ext/segments/evn'
|
10
|
+
require 'core_ext/segments/sft'
|
11
|
+
require 'core_ext/segments/err'
|
10
12
|
|
11
|
-
segments = ["MSH","PID","ORC","OBR","OBX","NTE","NK1", "PV1", "EVN"]
|
13
|
+
segments = ["MSH","PID","ORC","OBR","OBX","NTE","NK1", "PV1", "EVN", "SFT", "ERR"]
|
12
14
|
segments.each do |segment_name|
|
13
15
|
|
14
16
|
eval("class HL7::Message::Segment::#{segment_name} < HL7::Message::Segment
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Extensions
|
2
|
+
module HL7
|
3
|
+
module Segments
|
4
|
+
module SFT
|
5
|
+
|
6
|
+
def self.included base
|
7
|
+
base.send :include, InstanceMethods
|
8
|
+
base.extend ClassMethods
|
9
|
+
end
|
10
|
+
|
11
|
+
module InstanceMethods
|
12
|
+
def to_hash
|
13
|
+
@hash = {}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
module ClassMethods
|
18
|
+
def index_for(field_name)
|
19
|
+
index = self.fields.collect {|field| field[0]}.index(field_name) rescue -1
|
20
|
+
if index < 0
|
21
|
+
return -1
|
22
|
+
else
|
23
|
+
return index
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/ruby-hl7-extensions.gemspec
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "ruby-hl7-extensions"
|
6
|
-
s.version = "0.0.
|
6
|
+
s.version = "0.0.69"
|
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"]
|
@@ -13,7 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.email = "ruby-hl7-json@googlegroups.com"
|
14
14
|
s.extra_rdoc_files = ["LICENSE", "README.md"]
|
15
15
|
s.files = [".gitignore", "Gemfile", "Gemfile.lock", "LICENSE", "README.md", "Rakefile", "VERSION", "VERSION.yml", "lib/core_ext/segments/rol.rb",
|
16
|
-
"lib/core_ext/message.rb", "lib/core_ext/segment.rb",
|
16
|
+
"lib/core_ext/message.rb", "lib/core_ext/segment.rb", "lib/core_ext/segments/err.rb", "lib/core_ext/segments/sft.rb",
|
17
17
|
"lib/core_ext/segments/msh.rb", "lib/core_ext/segments/nk1.rb", "lib/core_ext/segments/orc.rb", "lib/core_ext/segments/evn.rb", "lib/core_ext/segments/nte.rb", "lib/core_ext/segments/obr.rb", "lib/core_ext/segments/obx.rb", "lib/core_ext/segments/pid.rb", "lib/core_ext/segments/pv1.rb", "lib/core_ext/segments/segments.rb",
|
18
18
|
"lib/ruby-hl7-extensions.rb", "ruby-hl7-extensions.gemspec"]
|
19
19
|
s.homepage = "http://github.com/nmlynl/ruby-hl7-extensions"
|
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.0.
|
4
|
+
version: 0.0.69
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Lega
|
@@ -56,6 +56,7 @@ files:
|
|
56
56
|
- VERSION.yml
|
57
57
|
- lib/core_ext/message.rb
|
58
58
|
- lib/core_ext/segment.rb
|
59
|
+
- lib/core_ext/segments/err.rb
|
59
60
|
- lib/core_ext/segments/evn.rb
|
60
61
|
- lib/core_ext/segments/msh.rb
|
61
62
|
- lib/core_ext/segments/nk1.rb
|
@@ -67,6 +68,7 @@ files:
|
|
67
68
|
- lib/core_ext/segments/pv1.rb
|
68
69
|
- lib/core_ext/segments/rol.rb
|
69
70
|
- lib/core_ext/segments/segments.rb
|
71
|
+
- lib/core_ext/segments/sft.rb
|
70
72
|
- lib/ruby-hl7-extensions.rb
|
71
73
|
- ruby-hl7-extensions.gemspec
|
72
74
|
homepage: http://github.com/nmlynl/ruby-hl7-extensions
|