class ProcessPatientChangesetJob
Public Instance Methods
Source
# File app/jobs/process_patient_changeset_job.rb, line 6 def perform(patient_changeset_id) patient_changeset = PatientChangeset.find(patient_changeset_id) return if patient_changeset.processed? unique_nhs_number = get_unique_nhs_number(patient_changeset) if unique_nhs_number patient_changeset.child_attributes["nhs_number"] = unique_nhs_number patient_changeset.pds_nhs_number = unique_nhs_number end patient_changeset.assign_patient_id patient_changeset.calculating_review! if patient_changeset.import.changesets.pending.none? import = patient_changeset.import if Flipper.enabled?(:pds) && Flipper.enabled?(:pds_search_during_import) import.validate_pds_match_rate! return if import.low_pds_match_rate? end import.validate_changeset_uniqueness! return if import.changesets_are_invalid? end ReviewPatientChangesetJob.perform_later(patient_changeset.id) end