Method: DdeClient::DdeService#update_local_patient
- Defined in:
- app/services/dde_client/dde_service.rb
#update_local_patient(patient, update_npid: false) ⇒ Object
Updates local patient with demographics currently in Dde.
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'app/services/dde_client/dde_service.rb', line 116 def update_local_patient(patient, update_npid: false) doc_id = patient_doc_id(patient) unless doc_id Rails.logger.warn("No Dde doc_id found for patient ##{patient.patient_id}") push_local_patient_to_dde(patient) return patient end dde_patient = find_remote_patients_by_doc_id(doc_id).first unless dde_patient Rails.logger.warn("Couldn't find patient ##{patient.patient_id} in Dde by doc_id ##{doc_id}") push_local_patient_to_dde(patient) return patient end if update_npid merging_service.link_local_to_remote_patient(patient, dde_patient) return patient end person_service.update_person(patient.person, dde_patient_to_local_person(dde_patient)) patient end |