Sha256: 6667d91d8bf01675afcee7f4e270fa84c56e9da0d1731c206bebb247987ff72a

Contents?: true

Size: 1.22 KB

Versions: 10

Compression:

Stored size: 1.22 KB

Contents

require_dependency "renalware/pathology"

module Renalware
  module Pathology
    class Patient < ActiveType::Record[Renalware::Patient]
      has_many :observation_requests
      has_many :observations, through: :observation_requests
      has_many :current_observations, class_name: "Pathology::CurrentObservation"
      has_many :rules, class_name: "Requests::PatientRule"
      has_many :requests, class_name: "Requests::Request"

      def last_request_for_patient_rule(patient_rule)
        requests
          .includes(:patient_rules)
          .where(
            pathology_requests_patient_rules: { id: [patient_rule] }
          )
          .first
      end

      def required_observation_requests(clinic)
        Requests::GlobalAlgorithm.new(
          self, clinic, date: date_for_algorithms
        ).determine_required_request_descriptions
      end

      def required_patient_pathology
        Requests::PatientAlgorithm.new(
          self, date: date_for_algorithms
        ).determine_required_tests
      end

      def high_risk?
        Requests::HighRiskAlgorithm.new(self).patient_is_high_risk?
      end

      private

      def date_for_algorithms
        @date_for_algorithms ||= Date.current
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
renalware-core-2.0.0.pre.rc1 app/models/renalware/pathology/patient.rb
renalware-core-2.0.0.pre.beta12 app/models/renalware/pathology/patient.rb
renalware-core-2.0.0.pre.beta11 app/models/renalware/pathology/patient.rb
renalware-core-2.0.0.pre.beta10 app/models/renalware/pathology/patient.rb
renalware-core-2.0.0.pre.beta9 app/models/renalware/pathology/patient.rb
renalware-core-2.0.0.pre.beta8 app/models/renalware/pathology/patient.rb
renalware-core-2.0.0.pre.beta7 app/models/renalware/pathology/patient.rb
renalware-core-2.0.0.pre.beta6 app/models/renalware/pathology/patient.rb
renalware-core-2.0.0.pre.beta5 app/models/renalware/pathology/patient.rb
renalware-core-2.0.0.pre.beta4 app/models/renalware/pathology/patient.rb