Sha256: cbfca6a27da6bb90440752e7d3a08d1fd90dcb1f442e4801b3eda270910741b0

Contents?: true

Size: 563 Bytes

Versions: 28

Compression:

Stored size: 563 Bytes

Contents

module Renalware
  module Clinical
    class AllergyStatusForm
      include ActiveModel::Model
      include Virtus::Model

      attribute :no_known_allergies, Integer

      def save(patient, user)
        return unless patient.allergies.count == 0
        patient.allergy_status = no_known_allergies? ? :no_known_allergies : :unrecorded
        patient.by = user
        patient.allergy_status_updated_at = Time.zone.now
        patient.save!
      end

      private

      def no_known_allergies?
        no_known_allergies == 1
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
renalware-core-2.0.0.pre.beta11 app/models/renalware/clinical/allergy_status_form.rb
renalware-core-2.0.0.pre.beta10 app/models/renalware/clinical/allergy_status_form.rb
renalware-core-2.0.0.pre.beta9 app/models/renalware/clinical/allergy_status_form.rb
renalware-core-2.0.0.pre.beta8 app/models/renalware/clinical/allergy_status_form.rb
renalware-core-2.0.0.pre.beta7 app/models/renalware/clinical/allergy_status_form.rb
renalware-core-2.0.0.pre.beta6 app/models/renalware/clinical/allergy_status_form.rb
renalware-core-2.0.0.pre.beta5 app/models/renalware/clinical/allergy_status_form.rb
renalware-core-2.0.0.pre.beta4 app/models/renalware/clinical/allergy_status_form.rb