Sha256: 3c0a9b8354a8648dc71998fbb41a11d80c76e3203e7e786e22601cc56f2ef38c

Contents?: true

Size: 1.42 KB

Versions: 37

Compression:

Stored size: 1.42 KB

Contents

# frozen_string_literal: true

module Renalware
  module UKRDC
    module Outgoing
      module Rendering
        class PatientNumbers < Rendering::Base
          pattr_initialize [:patient!]

          def xml
            patient_numbers_element
          end

          private

          def patient_numbers_element
            create_node("PatientNumbers") do |patient_numbers|
              patient_numbers << nhs_number_element if patient.nhs_number.present?
              patient_numbers << hospital_number_element if first_hospital_number.present?
            end
          end

          def nhs_number_element
            Rendering::PatientNumber.new(
              number: patient.nhs_number,
              organisation: "NHS",
              type: "NI"
            ).xml
          end

          def hospital_number_element
            Rendering::PatientNumber.new(
              number: first_hospital_number,
              organisation: "LOCALHOSP",
              type: "MRN"
            ).xml
          end

          def first_hospital_number
            @first_hospital_number ||= patient.hospital_identifier&.id
            # @first_hospital_number || begin
            #   Renalware.config.patient_hospital_identifiers.values.each do |field|
            #     next if (number = patient.public_send(field)).blank?

            #     return number
            #   end
            # end
          end
        end
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
renalware-core-2.1.1 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.1.0 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.167 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.166 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.165 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.164 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.163 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.162 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.161 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.160 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.159 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.158 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.157 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.156 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.155 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.153 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.152 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.151 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.149 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb
renalware-core-2.0.148 app/models/renalware/ukrdc/outgoing/rendering/patient_numbers.rb