Sha256: 6116505c83764a810cd011e2bbc4dd9c64eb340f47a5dab12e80bebd31fda499

Contents?: true

Size: 884 Bytes

Versions: 3

Compression:

Stored size: 884 Bytes

Contents

require_dependency "renalware/pathology"

module Renalware
  module Pathology
    class ObservationRequest < ApplicationRecord
      has_many :observations,
               foreign_key: :request_id,
               inverse_of: :request,
               dependent: :destroy
      belongs_to :description, class_name: "RequestDescription"
      belongs_to :patient, class_name: "Patient", touch: true

      accepts_nested_attributes_for :observations

      validates :patient, presence: true
      validates :requestor_name, presence: true
      validates :requested_at, presence: true

      scope :ordered, -> { order(requested_at: :desc) }
      scope :having_observations_with_a_loinc_code, lambda {
        joins(observations: :description).where("loinc_code is not null") # TODO: use a merge
      }

      def requested_on
        requested_at.to_date
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
renalware-core-2.0.0.pre.rc11 app/models/renalware/pathology/observation_request.rb
renalware-core-2.0.0.pre.rc10 app/models/renalware/pathology/observation_request.rb
renalware-core-2.0.0.pre.rc9 app/models/renalware/pathology/observation_request.rb