diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f8b9e72 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.redcar \ No newline at end of file diff --git a/Rakefile b/Rakefile index af60462..6c393e5 100644 --- a/Rakefile +++ b/Rakefile @@ -2,9 +2,8 @@ require 'rubygems' require 'rake' require 'rake/testtask' -require 'rake/rdoctask' -require 'rake/packagetask' -require 'rake/gempackagetask' +require "rdoc/task" +require "rubygems/package_task" require 'rake/contrib/sshpublisher' require 'rbconfig' require 'rubyforge' @@ -117,9 +116,9 @@ Rake::RDocTask.new do |rd| end -Rake::GemPackageTask.new(spec) do |pkg| - pkg.need_tar = true -end +Gem::PackageTask.new(spec) do |pkg| + pkg.need_tar = true +end desc 'Clean up all the extras' task :clean => [ :clobber_rdoc, :clobber_package ] do diff --git a/lib/segments/gt1.rb b/lib/segments/gt1.rb new file mode 100644 index 0000000..7444fdc --- /dev/null +++ b/lib/segments/gt1.rb @@ -0,0 +1,13 @@ +# encoding: UTF-8 +require 'ruby-hl7' +class HL7::Message::Segment::GT1 < HL7::Message::Segment + weight 3 # should occur after PV1 segment + add_field :set_id, :idx => 1 + add_field :guarantor_name, :idx => 3 + add_field :guarantor_address, :idx => 5 + add_field :guarantor_phone, :idx => 6 + add_field :guarantor_work_phone, :idx => 7 + add_field :guarantor_dob, :idx => 8 + add_field :guarantor_sex, :idx => 9 + add_field :guarantor_type, :idx => 10 +end \ No newline at end of file diff --git a/ruby-hl7.gemspec b/ruby-hl7.gemspec index 52b0247..c4ce226 100644 --- a/ruby-hl7.gemspec +++ b/ruby-hl7.gemspec @@ -19,6 +19,7 @@ Gem::Specification.new do |s| s.files = [ "lib/ruby-hl7.rb", "lib/segments/evn.rb", + "lib/segments/gt1.rb", "lib/segments/msa.rb", "lib/segments/msh.rb", "lib/segments/nte.rb", @@ -51,6 +52,7 @@ Gem::Specification.new do |s| "test/test_child_segment.rb", "test/test_default_segment.rb", "test/test_dynamic_segment_def.rb", + "test/test_gt1_segment.rb", "test/test_msa_segment.rb", "test/test_obr_segment.rb", "test/test_obx_segment.rb", @@ -63,14 +65,14 @@ Gem::Specification.new do |s| s.specification_version = 3 if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q, [">= 0.8.7"]) + s.add_runtime_dependency(%q, [">= 10.0.3"]) s.add_runtime_dependency(%q, [">= 2.0.0"]) else - s.add_dependency(%q, [">= 0.8.7"]) + s.add_dependency(%q, [">= 10.0.3"]) s.add_dependency(%q, [">= 2.0.0"]) end else - s.add_dependency(%q, [">= 0.8.7"]) + s.add_dependency(%q, [">= 10.0.3"]) s.add_dependency(%q, [">= 2.0.0"]) end end diff --git a/test/test_gt1_segment.rb b/test/test_gt1_segment.rb new file mode 100644 index 0000000..40f8a22 --- /dev/null +++ b/test/test_gt1_segment.rb @@ -0,0 +1,33 @@ +# encoding: UTF-8 +$: << '../lib' +require 'test/unit' +require 'ruby-hl7' + +class GT1Segment < Test::Unit::TestCase + def setup + @base = "GT1|||Jane^Doe||123 Guarantor Avenue^^Tucson^AZ^85701|5208675309|5208675310|19010101|F|1" + end + + def test_initial_read + gt1 = HL7::Message::Segment::GT1.new @base + assert_equal( "", gt1.set_id ) + assert_equal( "Jane^Doe", gt1.guarantor_name ) + assert_equal( "123 Guarantor Avenue^^Tucson^AZ^85701", gt1.guarantor_address ) + assert_equal( "5208675309", gt1.guarantor_phone ) + assert_equal( "5208675310", gt1.guarantor_work_phone ) + assert_equal( "19010101", gt1.guarantor_dob ) + assert_equal( "F", gt1.guarantor_sex ) + assert_equal( "1", gt1.guarantor_type ) + end + + def test_creation + gt1 = HL7::Message::Segment::GT1.new + gt1.guarantor_name = "John^Doe" + gt1.guarantor_address = "The White House^1600Pennsylvania Avenue NW^Washington^DC^20500" + gt1.guarantor_phone = "2024561111" + gt1.guarantor_work_phone = "2024561414" + gt1.guarantor_dob = "17921013" + gt1.guarantor_sex = "M" + gt1.guarantor_type = "1" + end +end \ No newline at end of file