lib/healthcare_phony.rb in healthcare_phony-0.7s.0 vs lib/healthcare_phony.rb in healthcare_phony-0.7.0
- old
+ new
@@ -1,139 +1,138 @@
-# frozen_string_literal: true
-
-require 'erb'
-require 'faker'
-require 'psych'
-require 'regexp-examples'
-
-Dir[File.join(__dir__, 'healthcare_phony', '*.rb')].sort.each { |file| require file }
-
-Faker::Config.locale = 'en-US'
-
-module HealthcarePhony
- class Adt
- attr_reader :template, :adt_arguments, :hl7_message, :patient, :visit
-
- def initialize(init_args = {})
- @adt_arguments = init_args
- @adt_arguments[:message_types] = 'ADT'
- set_template
- @hl7_message = Hl7Message.new(@adt_arguments)
- @patient = Patient.new(@adt_arguments)
- @visit = PatientVisit.new(@adt_arguments.merge({ visit_type: set_visit_type }))
- end
-
- def to_s
- erb_template = ERB.new(@template)
- erb_template.result_with_hash({ patient: @patient, hl7: @hl7_message, visit: @visit })
- end
-
- private
-
- def set_template
- unless @adt_arguments[:template].nil?
- @template = @adt_arguments[:template]
- return
- end
- @template = if @adt_arguments[:template_file].nil?
- File.read(File.join(File.dirname(__FILE__), 'healthcare_phony', 'templates', 'adt_example.erb'))
- else
- File.read(@adt_arguments[:template_file])
- end
- end
-
- def set_visit_type
- case @hl7_message.trigger_event
- when 'A01'
- HealthcarePhony::VisitType::ADMIT
- when 'A03'
- HealthcarePhony::VisitType::DISCHARGE
- when 'A04'
- HealthcarePhony::VisitType::REGISTRATION
- else
- HealthcarePhony::VisitType::OTHER
- end
- end
- end
-
- class CsvFile
- attr_reader :template_file, :number_of_rows, :csv_arguments
-
- def initialize(init_args = {}) #(number_of_rows, template_file = nil)
- @csv_arguments = init_args
- @number_of_rows = @csv_arguments[:number_of_rows] #@csv_arguments[:number_of_rows].nil? ? 1 : @csv_arguments[:number_of_rows]
- set_template
- end
-
- def to_s
- template = ERB.new(File.read(@template_file), trim_mode: '<>')
- counter = 0
- output_string = ''
- while counter < @number_of_rows
- output_string += "#{template.result_with_hash({ patient: Patient.new(@csv_arguments), write_header: counter.zero? })}\n"
- counter += 1
- end
- output_string
- end
-
- def to_file(file_name)
- template = ERB.new(File.read(@template_file), trim_mode: '<>')
- counter = 0
- #output_file = File.open(file_name, 'w')
- File.open(file_name, 'w') do |line|
- while counter < @number_of_rows
- #output_file.write("#{template.result_with_hash({ patient: Patient.new(@csv_arguments), write_header: counter.zero? })}\n")
- line.puts "#{template.result_with_hash({ patient: Patient.new(@csv_arguments), write_header: counter.zero? })}\n"
- counter += 1
- end
- end
- #output_file.close
-
- end
-
- private
-
- def set_template
- unless @csv_arguments[:template].nil?
- @template_file = @csv_arguments[:template]
- return
- end
- @template_file = if @csv_arguments[:template_file].nil?
- File.join(File.dirname(__FILE__), 'healthcare_phony', 'templates', 'csv_example.erb') #File.read(File.join(File.dirname(__FILE__), 'healthcare_phony', 'templates', 'csv_example.erb'))
- else
- @csv_arguments[:template_file]
- end
- end
- end
-end
-
-class String
- def to_hl7date
- self
- end
-
- def to_hl7datetime
- self
- end
-end
-
-class Date
- def to_hl7date
- strftime('%Y%m%d')
- end
-end
-
-class Time
- def to_hl7datetime
- strftime('%Y%m%d%H%M%S')
- end
-end
-
-class NilClass
- def to_hl7datetime
- ''
- end
-
- def to_hl7date
- ''
- end
-end
+# frozen_string_literal: true
+
+require 'erb'
+require 'faker'
+require 'psych'
+require 'regexp-examples'
+
+Dir[File.join(__dir__, 'healthcare_phony', '*.rb')].sort.each { |file| require file }
+
+Faker::Config.locale = 'en-US'
+
+module HealthcarePhony
+ class Adt
+ attr_reader :template, :adt_arguments, :hl7_message, :patient, :visit
+
+ def initialize(init_args = {})
+ @adt_arguments = init_args
+ @adt_arguments[:message_types] = 'ADT'
+ set_template
+ @hl7_message = Hl7Message.new(@adt_arguments)
+ @patient = Patient.new(@adt_arguments)
+ @visit = PatientVisit.new(@adt_arguments.merge({ visit_type: set_visit_type }))
+ end
+
+ def to_s
+ erb_template = ERB.new(@template)
+ erb_template.result_with_hash({ patient: @patient, hl7: @hl7_message, visit: @visit })
+ end
+
+ private
+
+ def set_template
+ unless @adt_arguments[:template].nil?
+ @template = @adt_arguments[:template]
+ return
+ end
+ @template = if @adt_arguments[:template_file].nil?
+ File.read(File.join(File.dirname(__FILE__), 'healthcare_phony', 'templates', 'adt_example.erb'))
+ else
+ File.read(@adt_arguments[:template_file])
+ end
+ end
+
+ def set_visit_type
+ case @hl7_message.trigger_event
+ when 'A01'
+ HealthcarePhony::VisitType::ADMIT
+ when 'A03'
+ HealthcarePhony::VisitType::DISCHARGE
+ when 'A04'
+ HealthcarePhony::VisitType::REGISTRATION
+ else
+ HealthcarePhony::VisitType::OTHER
+ end
+ end
+ end
+
+ class CsvFile
+ attr_reader :template_file, :number_of_rows, :csv_arguments
+
+ def initialize(init_args = {}) #(number_of_rows, template_file = nil)
+ @csv_arguments = init_args
+ @number_of_rows = @csv_arguments[:number_of_rows] #@csv_arguments[:number_of_rows].nil? ? 1 : @csv_arguments[:number_of_rows]
+ set_template
+ end
+
+ def to_s
+ template = ERB.new(File.read(@template_file), trim_mode: '<>')
+ counter = 0
+ output_string = ''
+ while counter < @number_of_rows
+ output_string += "#{template.result_with_hash({ patient: Patient.new(@csv_arguments), write_header: counter.zero? })}\n"
+ counter += 1
+ end
+ output_string
+ end
+
+ def to_file(file_name)
+ template = ERB.new(File.read(@template_file), trim_mode: '<>')
+ counter = 0
+ output_file = File.open(file_name, 'w')
+ while counter < @number_of_rows
+ output_file.write("#{template.result_with_hash({ patient: Patient.new(@csv_arguments), write_header: counter.zero? })}\n")
+ counter += 1
+ end
+ output_file.close
+
+ return output_file
+
+ end
+
+ private
+
+ def set_template
+ unless @csv_arguments[:template].nil?
+ @template_file = @csv_arguments[:template]
+ return
+ end
+ @template_file = if @csv_arguments[:template_file].nil?
+ File.join(File.dirname(__FILE__), 'healthcare_phony', 'templates', 'csv_example.erb') #File.read(File.join(File.dirname(__FILE__), 'healthcare_phony', 'templates', 'csv_example.erb'))
+ else
+ @csv_arguments[:template_file]
+ end
+ end
+ end
+end
+
+class String
+ def to_hl7date
+ self
+ end
+
+ def to_hl7datetime
+ self
+ end
+end
+
+class Date
+ def to_hl7date
+ strftime('%Y%m%d')
+ end
+end
+
+class Time
+ def to_hl7datetime
+ strftime('%Y%m%d%H%M%S')
+ end
+end
+
+class NilClass
+ def to_hl7datetime
+ ''
+ end
+
+ def to_hl7date
+ ''
+ end
+end