From fc8b786f919f8f6cd0f690e1f15850453ca102ef Mon Sep 17 00:00:00 2001 From: Rahul Ramesh <121226043+rahu1ramesh@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:32:28 +0530 Subject: [PATCH] BAH-4057 | Add. Provider Notification Config (#37) * [Rahul] | BAH-4057 | Add. Provider Notification Config * BAH-4057 | Fix. medication_administration Column Name In Notification Query --- .../globalproperties/gp_clinical.xml | 41 +++++++++++++++++++ .../clinical/customQueues/notifications.html | 1 + openmrs/apps/clinical/extension.json | 13 ++++++ openmrs/i18n/clinical/locale_en.json | 2 +- 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 masterdata/configuration/globalproperties/gp_clinical.xml create mode 100644 openmrs/apps/clinical/customQueues/notifications.html diff --git a/masterdata/configuration/globalproperties/gp_clinical.xml b/masterdata/configuration/globalproperties/gp_clinical.xml new file mode 100644 index 000000000..b3c13cb69 --- /dev/null +++ b/masterdata/configuration/globalproperties/gp_clinical.xml @@ -0,0 +1,41 @@ + + + + emrapi.sqlSearch.emergencyMedicationToAcknowledge + + SELECT DISTINCT + primaryIdentifier.identifier as identifier, + concat(pn.given_name,' ', pn.family_name) as name, + p.gender as gender, + p.uuid as patient_uuid, + p.birthdate as date_of_birth, + ma.uuid as medication_administration_uuid, + ma.administered_date_time, + dg.name as administered_drug_name, + ma.dose as administered_dose, + cnd.name as administered_dose_units, + cnr.name as administered_route, + map.uuid as medication_administration_performer_uuid, + v.uuid as visit_uuid + FROM medication_administration_performer map + join provider pr on pr.provider_id = map.actor_id + join medication_administration ma on map.medication_administration_id=ma.medication_administration_id + join drug dg on dg.drug_id = ma.drug_id + join ipd_slot slot on ma.medication_administration_id = slot.medication_administration_id + join ipd_schedule schedule on schedule.schedule_id = slot.schedule_id + join visit v on v.visit_id = schedule.visit_id + JOIN (SELECT pri.patient_id, pri.identifier FROM patient_identifier pri + join patient_identifier_type pit on pri.identifier_type = pit.patient_identifier_type_id and pri.preferred = 1 + join global_property gp on gp.property="bahmni.primaryIdentifierType" and gp.property_value=pit.uuid) primaryIdentifier ON ma.patient_id = primaryIdentifier.patient_id + join concept_name cn on cn.concept_id = map.performer_function and cn.concept_name_type = "FULLY_SPECIFIED" and cn.locale='en' + join concept_name cnd on cnd.concept_id = ma.dose_units and cnd.concept_name_type = "FULLY_SPECIFIED" and cnd.locale='en' + join concept_name cnr on cnr.concept_id = ma.route and cnr.concept_name_type = "FULLY_SPECIFIED" and cnr.locale='en' + join person_name pn on ma.patient_id = pn.person_id and pn.voided = 0 and pn.preferred = 1 + join patient_identifier pi on ma.patient_id = pi.patient_id + join person p on p.person_id = ma.patient_id and p.voided = 0 + WHERE cn.concept_name_type="FULLY_SPECIFIED" and cn.name="Witness" and pr.uuid = ${provider_uuid}; + + SQL query to get the list of emergency medications to be acknowledged + + + \ No newline at end of file diff --git a/openmrs/apps/clinical/customQueues/notifications.html b/openmrs/apps/clinical/customQueues/notifications.html new file mode 100644 index 000000000..d357d9bb7 --- /dev/null +++ b/openmrs/apps/clinical/customQueues/notifications.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/openmrs/apps/clinical/extension.json b/openmrs/apps/clinical/extension.json index fb4da1b7f..f9bf3cb00 100644 --- a/openmrs/apps/clinical/extension.json +++ b/openmrs/apps/clinical/extension.json @@ -67,6 +67,19 @@ "order": 1, "requiredPrivilege": "app:clinical" }, + "bahmniClinicalPatientsCustomNotifications": { + "id": "bahmni.clinical.patients.custom.notifications", + "extensionPointId": "org.bahmni.patient.search", + "type": "config", + "extensionParams": { + "translationKey": "MODULE_LABEL_NOTIFICATIONS_KEY", + "templateUrl": "/bahmni_config/openmrs/apps/clinical/customQueues/notifications.html", + "view": "custom" + }, + "label": "Notifications", + "order": 4, + "requiredPrivilege": "app:clinical" + }, "bahmniClinicalPatientsSearchActivePatientsForPrograms": { "id": "bahmni.clinical.patients.search.activePatients", "extensionPointId": "org.bahmni.patient.search", diff --git a/openmrs/i18n/clinical/locale_en.json b/openmrs/i18n/clinical/locale_en.json index a458cc31f..ed75b82cb 100644 --- a/openmrs/i18n/clinical/locale_en.json +++ b/openmrs/i18n/clinical/locale_en.json @@ -5,7 +5,7 @@ "MODULE_LABEL_ACTIVE_PATIENTS_BY_LOCATION": "PatientsByLocation", "MODULE_LABEL_OPD_1_KEY": "OPD-1", "MODULE_LABEL_ALL_KEY": "All", - + "MODULE_LABEL_NOTIFICATIONS_KEY": "Notifications", "DASHBOARD_TITLE_LAB_RESULTS_KEY": "Lab Results", "DASHBOARD_TITLE_LAB_ORDERS_DISPLAY_CONTROL_KEY": "Lab Orders Fulfillment", "DASHBOARD_TITLE_PACS_KEY": "Pacs",