Sha256: fa828c9cf7e15867ff247ca951bdc13eb1689c71b1ee948ea25a5d0805c5c4b1
Contents?: true
Size: 1.83 KB
Versions: 2
Compression:
Stored size: 1.83 KB
Contents
require_relative 'resource' module Medivo class Order < Resource set_element_name 'customer' set_collection_name 'customers' validates_presence_of :email, :address, :zip, :dob, :home_phone, :psc, :test_types, :gender, :account_number validates_inclusion_of :gender, :in => %w(Male Female) validates_with Medivo::DateValidator, :fields=>[:dob] validates_with Medivo::ArrayValidator, :fields=>[:test_types] def read_attribute_for_validation(key) @attributes[key] end def initialize(attributes = {}, persisted = false) super(attributes, persisted) self.draw_location = 'PSC' self.take_tests_same_day = true end def to_param requisition_id end def requisition_id requisition_number end def self.get_order(requsition_id) find(requsition_id) end # medivo_order = create(values) # unless medivo_order.valid? # Rails.logger.error("Error creating Medivo Lab order") # Rails.logger.error(medivo_order.inspect) # raise "Errors in Medivo Lab order #{medivo_order.errors.messages}" # end # medivo_order #end def results @results ||= Array.wrap(try(:reconciled_results).try(:result)) end def simulate_result(lab_prefix, type='normal') raise "Incorrect Result Type" unless %w(normal false_positive positive).include?(type) and %w(qd lc).include?(lab_prefix) body = case type when 'normal' then "<mock><simulate>result</simulate><result kind='#{type}' complete='complete'></result></mock>" when 'false_positive', 'positive' then "<mock><simulate>result</simulate><result><hl7>#{Base64.encode64(File.read("lib/pdfs/#{lab_prefix}_#{type}.hl7"))}</hl7></result></mock>" end post(:mock_order, {}, body) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
medivo-0.0.2 | app/models/medivo/order.rb |
medivo-0.0.1 | app/models/medivo/order.rb |