lib/healthcare_phony.rb in healthcare_phony-0.4.1 vs lib/healthcare_phony.rb in healthcare_phony-0.5.0
- old
+ new
@@ -9,31 +9,37 @@
Faker::Config.locale = 'en-US'
module HealthcarePhony
class Adt
- attr_reader :template, :adt_arguments
+ attr_reader :template, :adt_arguments, :hl7_message, :patient, :visit
- def initialize(**init_args)
+ def initialize(init_args = {})
@adt_arguments = init_args
@adt_arguments[:message_types] = 'ADT'
- unless adt_arguments[:template].nil?
- @template = adt_arguments[:template]
+ set_template
+ @hl7_message = Hl7Message.new(@adt_arguments)
+ @patient = Patient.new(@adt_arguments)
+ @visit = PatientVisit.new(@adt_arguments)
+ 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?
+ @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])
+ File.read(@adt_arguments[:template_file])
end
- end
-
- def to_s
- template = ERB.new(@template)
- message = Hl7Message.new(@adt_arguments)
- patient = Patient.new(@adt_arguments)
- visit = PatientVisit.new(@adt_arguments)
- template.result_with_hash({ patient: patient, hl7: message, visit: visit })
end
end
class CsvFile
attr_reader :template_file, :number_of_rows