Class: DdeClient::Api::V1::DdeController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- DdeClient::Api::V1::DdeController
- Defined in:
- app/controllers/dde_client/api/v1/dde_controller.rb
Instance Method Summary collapse
- #find_patients_by_name_and_gender ⇒ Object
-
#find_patients_by_npid ⇒ Object
GET /dde/patients.
- #import_patients_by_doc_id ⇒ Object
- #import_patients_by_npid ⇒ Object
-
#match_patients_by_demographics ⇒ Object
GET /api/v1/dde/match.
- #merge_patients ⇒ Object
- #patient_diff ⇒ Object
- #reassign_patient_npid ⇒ Object
-
#refresh_patient ⇒ Object
Updates local patient with demographics in Dde.
- #remaining_npids ⇒ Object
Instance Method Details
#find_patients_by_name_and_gender ⇒ Object
8 9 10 11 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 8 def find_patients_by_name_and_gender given_name, family_name, gender = params.require(%i[given_name family_name gender]) render json: service.find_patients_by_name_and_gender(given_name, family_name, gender) end |
#find_patients_by_npid ⇒ Object
GET /dde/patients
3 4 5 6 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 3 def find_patients_by_npid npid = params.require(:npid) render json: service.find_patients_by_npid(npid) end |
#import_patients_by_doc_id ⇒ Object
18 19 20 21 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 18 def import_patients_by_doc_id doc_id = params.require(:doc_id) render json: service.import_patients_by_doc_id(doc_id) end |
#import_patients_by_npid ⇒ Object
13 14 15 16 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 13 def import_patients_by_npid npid = params.require(:npid) render json: service.import_patients_by_npid(npid) end |
#match_patients_by_demographics ⇒ Object
GET /api/v1/dde/match
Returns Dde patients matching demographics passed
30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 30 def match_patients_by_demographics render json: service.match_patients_by_demographics( given_name: match_params[:given_name], family_name: match_params[:family_name], gender: match_params[:gender], birthdate: match_params[:birthdate], home_traditional_authority: match_params[:home_traditional_authority], home_district: match_params[:home_district], home_village: match_params[:home_village] ) end |
#merge_patients ⇒ Object
47 48 49 50 51 52 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 47 def merge_patients primary_patient_ids = params.require(:primary) secondary_patient_ids_list = params.require(:secondary) render json: service.merge_patients(primary_patient_ids, secondary_patient_ids_list) end |
#patient_diff ⇒ Object
54 55 56 57 58 59 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 54 def patient_diff patient_id = params.require(:patient_id) diff = service.find_patient_updates(patient_id) render json: { diff: diff } end |
#reassign_patient_npid ⇒ Object
42 43 44 45 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 42 def reassign_patient_npid patient_ids = params.permit(:doc_id, :patient_id) render json: service.reassign_patient_npid(patient_ids) end |
#refresh_patient ⇒ Object
Updates local patient with demographics in Dde.
63 64 65 66 67 68 69 70 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 63 def refresh_patient patient_id = params.require(:patient_id) update_npid = params[:update_npid]&.casecmp?('true') || false patient = service.update_local_patient(Patient.find(patient_id), update_npid: update_npid) render json: patient end |
#remaining_npids ⇒ Object
23 24 25 |
# File 'app/controllers/dde_client/api/v1/dde_controller.rb', line 23 def remaining_npids render json: service.remaining_npids end |