From 61f21520415fafafbbcc711f33576bb3580d27e4 Mon Sep 17 00:00:00 2001 From: angshu Date: Thu, 30 Aug 2018 15:53:31 +0530 Subject: [PATCH 001/251] BAH-621 | updated IPD ward list view search handler - wardListSqlSearchHandler --- LICENSE | 5 +++-- openmrs/apps/ipd/app.json | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/LICENSE b/LICENSE index 722fa17693..d7d3aaaf34 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,6 @@ -Bahmni OpenMRS Apps -Copyright 2014 ThoughtWorks, Inc +Bahmni application configuration for default demo setup + +Copyright (C) 2018 OpenMRS, Inc This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as diff --git a/openmrs/apps/ipd/app.json b/openmrs/apps/ipd/app.json index 5fd572af80..a95e338598 100644 --- a/openmrs/apps/ipd/app.json +++ b/openmrs/apps/ipd/app.json @@ -24,7 +24,7 @@ "visitUuid" ], "config": { - "wardListSqlSearchHandler": "emrapi.sqlGet.allWardsListDetails", + "wardListSqlSearchHandler": "bedManagement.sqlGet.patientListForAdmissionLocation", "diagnosisStatus": "Inactive", "onAdmissionForwardTo": "#/bedManagement/patient/{{patientUuid}}/visit/{{visitUuid}}", "onTransferForwardTo": "#/bedManagement/patient/{{patientUuid}}/visit/{{visitUuid}}", From e6bb1ecceb4000c2bc97227337ca9d4ccbef806d Mon Sep 17 00:00:00 2001 From: tbindu Date: Fri, 31 Aug 2018 16:10:29 +0530 Subject: [PATCH 002/251] Bindu | BAH-621 | Removed patientWardDetails.sql as this migration already moved to Bedmanagement and bahmni-core modules --- .../bedManagement/PatientWardDetails.sql | 29 ------------------- openmrs/migrations/liquibase.xml | 4 --- 2 files changed, 33 deletions(-) delete mode 100644 openmrs/migrations/bedManagement/PatientWardDetails.sql diff --git a/openmrs/migrations/bedManagement/PatientWardDetails.sql b/openmrs/migrations/bedManagement/PatientWardDetails.sql deleted file mode 100644 index 9c0b463b1a..0000000000 --- a/openmrs/migrations/bedManagement/PatientWardDetails.sql +++ /dev/null @@ -1,29 +0,0 @@ -DELETE FROM global_property WHERE property = 'emrapi.sqlGet.allWardsListDetails'; -SELECT uuid() INTO @uuid; -INSERT INTO global_property (`property`, `property_value`, `description`, `uuid`) -VALUES ('emrapi.sqlGet.allWardsListDetails', -"SELECT - bed_tags.bed_tags AS 'Bed Tags', - bed.bed_number AS 'Bed Number', - patient_identifier.identifier AS 'Patient ID', - CONCAT(pn.given_name, ' ', pn.family_name) AS 'Patient Name', - TIMESTAMPDIFF(YEAR, p.birthdate, CURDATE()) AS 'Age' -FROM - bed - INNER JOIN bed_location_map blm ON blm.bed_id = bed.bed_id - INNER JOIN location l ON l.location_id = blm.location_id AND l.name = ${location_name} AND l.name LIKE '%Ward%' AND l.retired IS FALSE - LEFT OUTER JOIN bed_patient_assignment_map bpam ON bpam.bed_id = bed.bed_id AND bpam.date_stopped IS NULL - LEFT OUTER JOIN person p ON p.person_id = bpam.patient_id AND p.voided IS FALSE - LEFT OUTER JOIN person_name pn ON pn.person_id = p.person_id AND pn.voided IS FALSE - LEFT OUTER JOIN patient_identifier ON patient_identifier.patient_id = p.person_id AND patient_identifier.voided IS FALSE - LEFT OUTER JOIN person_address address ON address.person_id = p.person_id AND address.voided IS FALSE - LEFT OUTER JOIN ( - SELECT - bed_tag_map.bed_id AS 'bed_id', - GROUP_CONCAT(DISTINCT bed_tag.name ORDER BY bed_tag.name) AS 'bed_tags' - FROM - bed_tag_map - INNER JOIN bed_tag ON bed_tag.bed_tag_id = bed_tag_map.bed_tag_id AND bed_tag_map.voided IS FALSE - GROUP BY bed_tag_map.bed_id - ) bed_tags ON bed_tags.bed_id = bed.bed_id -GROUP BY bed.bed_number;",'SQL query to get list of bed details in ward',@uuid); diff --git a/openmrs/migrations/liquibase.xml b/openmrs/migrations/liquibase.xml index a70d1c277c..064dc3d4fa 100644 --- a/openmrs/migrations/liquibase.xml +++ b/openmrs/migrations/liquibase.xml @@ -49,10 +49,6 @@ ); - - Updating SQL query for Bed Management List View - - From 5c7938f3b6805d77b2c3594b0af6b42a1c1ebfd8 Mon Sep 17 00:00:00 2001 From: angshu Date: Fri, 31 Aug 2018 18:52:34 +0530 Subject: [PATCH 003/251] removing unused extensions, correcting typo and invalid URL for link --- openmrs/apps/ipd/app.json | 4 +- openmrs/apps/ipd/extension.json | 89 --------------------------------- 2 files changed, 2 insertions(+), 91 deletions(-) diff --git a/openmrs/apps/ipd/app.json b/openmrs/apps/ipd/app.json index a95e338598..056a4e689a 100644 --- a/openmrs/apps/ipd/app.json +++ b/openmrs/apps/ipd/app.json @@ -77,8 +77,8 @@ "customLinks": [ { "name": "bedManagement", - "translationKey": "PATIENT_BED_MANAGEMENT_PAGE_KE", - "url": "../bedmanagement/#/bedManagement/patient/{{patientUuid}}/visit/{{visitUuid}}" + "translationKey": "PATIENT_BED_MANAGEMENT_PAGE_KEY", + "url": "../bedmanagement/#/bedManagement/patient/{{patientUuid}}" } ] }, diff --git a/openmrs/apps/ipd/extension.json b/openmrs/apps/ipd/extension.json index b27a9cca72..4c1b0181f1 100644 --- a/openmrs/apps/ipd/extension.json +++ b/openmrs/apps/ipd/extension.json @@ -1,93 +1,4 @@ { - "bahmniAdtAdmitContinueVisit":{ - "id": "bahmni.adt.admit.continue.visit", - "extensionPointId": "org.bahmni.adt.admit.action", - "type": "config", - "extensionParams" : { - "displayFunction": "getDisplayForContinuingVisit", - "action":"admit", - "showCondition":"visitExists" - }, - "order": 2, - "requiredPrivilege": "app:adt" - }, - "bahmniAdtAdmitCancel":{ - "id": "bahmni.adt.admit.cancel", - "extensionPointId": "org.bahmni.adt.admit.action", - "type": "config", - "extensionParams" : { - "display": "Cancel", - "action":"cancel" - }, - "order": 3, - "requiredPrivilege": "app:adt" - }, - "bahmniAdtTransferSave":{ - "id": "bahmni.adt.transfer.save", - "extensionPointId": "org.bahmni.adt.transfer.action", - "type": "config", - "extensionParams" : { - "display": "Save", - "action":"transfer" - }, - "order": 1, - "requiredPrivilege": "app:adt" - }, - "bahmniAdtTransferCancel":{ - "id": "bahmni.adt.transfer.cancel", - "extensionPointId": "org.bahmni.adt.transfer.action", - "type": "config", - "extensionParams" : { - "display": "Cancel", - "action":"cancel" - }, - "order": 2, - "requiredPrivilege": "app:adt" - }, - "bahmniAdtDischargeSave":{ - "id": "bahmni.adt.discharge.save", - "extensionPointId": "org.bahmni.adt.discharge.action", - "type": "config", - "extensionParams" : { - "display": "Discharge", - "action":"discharge" - }, - "order": 2, - "requiredPrivilege": "app:adt" - }, - "bahmniAdtDischargeCancel":{ - "id": "bahmni.adt.discharge.cancel", - "extensionPointId": "org.bahmni.adt.discharge.action", - "type": "config", - "extensionParams" : { - "display": "Cancel", - "action":"cancel" - }, - "order": 3, - "requiredPrivilege": "app:adt" - }, - "bahmniAdtUndoDischarge":{ - "id": "bahmni.adt.undo.discharge", - "extensionPointId": "org.bahmni.adt.undo.discharge.action", - "type": "config", - "extensionParams" : { - "display": "Undo Discharge", - "action":"undoDischarge" - }, - "order": 1, - "requiredPrivilege": "app:adt" - }, - "bahmniAdtUndoDischargeCancel":{ - "id": "bahmni.adt.undo.discharge.cancel", - "extensionPointId": "org.bahmni.adt.undo.discharge.action", - "type": "config", - "extensionParams" : { - "display": "Cancel", - "action":"cancel" - }, - "order": 2, - "requiredPrivilege": "app:adt" - }, "bahmniAdtPatientsSearchPatientsToAdmit":{ "id": "bahmni.adt.patients.search.patientsToAdmit", "extensionPointId": "org.bahmni.patient.search", From 99e5006ecf97b351070bcd93cc83aa5e4005ca45 Mon Sep 17 00:00:00 2001 From: shilpa-iplit Date: Mon, 24 Jun 2019 17:18:47 +0530 Subject: [PATCH 004/251] registration app config file --- openmrs/apps/registration/app.json | 78 ++++++++++++++++++++++-------- 1 file changed, 57 insertions(+), 21 deletions(-) diff --git a/openmrs/apps/registration/app.json b/openmrs/apps/registration/app.json index 9155027840..83ff869069 100644 --- a/openmrs/apps/registration/app.json +++ b/openmrs/apps/registration/app.json @@ -18,26 +18,57 @@ ], "config" : { "patientInformation": { - "additionalPatientInformation": { - "title": "Additional Patient Information", + "registrantInformation": { + "title": "Registrant Information", "attributes": [ - "distanceFromCenter", - "isUrban", - "cluster", - "RationCard", - "familyIncome", - "debt", - "cluster" - ] + "HealthFacilityName", + "TodaysDate", + "RegistrantName" + ], + "expand": true, + "order": 1 }, - "hidden": { + "registerNewPatient1": { + "title": "Register a New Patient", "attributes": [ - "primaryContact" - ] + "UniqueArtID", + "HIVExposedInfant(HEI)No" + ], + "expand": true, + "order": 2 }, - "defaults": { - "class": "General", - "landHolding": 2 + "registerNewPatient2": { + "title": "not shown", + "attributes": [ + "OrderOfBirth", + "KeyPopulationType" + ], + "expand": true, + "order": 3 + }, + "contactInformation": { + "title": "Contact Information", + "attributes": [ + "MobileCountryCode", + "MobileNumber" + ], + "expand": true, + "order": 4 + }, + "treatmentSupporterInformation": { + "title": "Treatment Supporter", + "attributes": [ + "TreatmentSupporterFirstName", + "TreatmentSupporterLastName", + "TreatmentSupporterTelephoneNumber", + "TreatmentSupporterAddress", + "HomeCareProvidedBy" + ], + "expand": true, + "order": 5 + }, + "defaults": { + "MobileCountryCode": "South Sudan" } }, "addressHierarchy": { @@ -48,16 +79,21 @@ "Doctor":"provider", "Parent":"patient" }, + "forwardUrlsForVisitTypes": [{ + "forwardUrl": "/bahmni/clinical/index.html#/default/patient/{{patientUuid}}/dashboard", + "visitType": "OPD" + }], - "autoCompleteFields":["familyName", "caste"], - "defaultIdentifierPrefix": "GAN", + "showEnterID": false, + "dobMandatory": true, + "autoCompleteFields":["familyName", "givenName"], "defaultVisitType": "OPD", "searchByIdForwardUrl": "/patient/{{patientUuid}}", - "showMiddleName": true, + "showMiddleName": false, "showLastName": true, "isLastNameMandatory": true, - "showSaveConfirmDialog": false, - "showBirthTime": true, + "showSaveConfirmDialog": true, + "showBirthTime": false, "showCasteSameAsLastNameCheckbox": false, "printOptions": [ { From 9b02e89f6f7046e2d102ee6f3cf42a00968efa6e Mon Sep 17 00:00:00 2001 From: = Date: Tue, 25 Jun 2019 01:05:45 +0300 Subject: [PATCH 005/251] Change header text --- openmrs/apps/home/whiteLabel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmrs/apps/home/whiteLabel.json b/openmrs/apps/home/whiteLabel.json index 10305921fc..735e45a18d 100644 --- a/openmrs/apps/home/whiteLabel.json +++ b/openmrs/apps/home/whiteLabel.json @@ -1,6 +1,6 @@ { "homePage": { - "header_text": "WELCOME TO
BAHMNI EMR & HOSPITAL SERVICE", + "header_text": "WELCOME TO
eHospital", "logo": "/bahmni/images/bahmniLogoFull.png", "title_text": " " }, From c642769afefffd4f956b5deb00a04a12646cbfcc Mon Sep 17 00:00:00 2001 From: shilpa-iplit Date: Tue, 25 Jun 2019 15:55:04 +0530 Subject: [PATCH 006/251] registration search changes --- openmrs/apps/registration/app.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/openmrs/apps/registration/app.json b/openmrs/apps/registration/app.json index 83ff869069..a183815244 100644 --- a/openmrs/apps/registration/app.json +++ b/openmrs/apps/registration/app.json @@ -136,18 +136,6 @@ "givenName" : {"pattern" : "[a-zA-Z]{0,}", "errorMessage" : "Should contain characters"}, "middleName" : {"pattern" : "[a-zA-Z]{0,}", "errorMessage" : "Should contain characters"}, "address1" : {"pattern" : "[a-zA-Z0-9\\s]{2,}", "errorMessage" : "Should contain at least 2 characters"} - }, - "patientSearch": { - "address": { - "label": "Rural Ward", - "placeholder": "Enter ward", - "field": "address2" - }, - "customAttributes": { - "label": "रुग्णाचे नाव", - "placeholder": "रुग्णाचे नाव", - "fields": ["givenNameLocal", "middleNameLocal", "familyNameLocal"] - } } } } From b5e0c004c1c9aa44edf55460933084561cc7810d Mon Sep 17 00:00:00 2001 From: shilpa-iplit Date: Fri, 28 Jun 2019 16:55:54 +0530 Subject: [PATCH 007/251] For add, edit appointments --- openmrs/apps/appointments/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmrs/apps/appointments/app.json b/openmrs/apps/appointments/app.json index ad88678de5..ac6f6257ab 100644 --- a/openmrs/apps/appointments/app.json +++ b/openmrs/apps/appointments/app.json @@ -9,7 +9,7 @@ ], "config": { "minCharLengthToTriggerPatientSearch": 3, - "enableSpecialities": true, + "enableSpecialities": false, "startOfWeek": 2, "weekStart": "isoWeek", "calendarSlotDuration": "00:30", From 739d9942060bbc9efcaf57e9de2f85019ce8fbd7 Mon Sep 17 00:00:00 2001 From: david mukungi Date: Mon, 8 Jul 2019 17:35:37 +0300 Subject: [PATCH 008/251] A provision to add more than one row in general family information --- openmrs/apps/clinical/app.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/openmrs/apps/clinical/app.json b/openmrs/apps/clinical/app.json index 2f01502297..f0891e472e 100644 --- a/openmrs/apps/clinical/app.json +++ b/openmrs/apps/clinical/app.json @@ -123,7 +123,13 @@ "allowAddMore": true }, "Gynaecology, Gravida": { - "stepper": true + "stepper": true + }, + "Consultation Images": { + "allowAddMore": true + }, + "General Family Information": { + "allowAddMore": true }, "Accepted Family Planning methods": { "multiSelect": true From a25ab6e05c12b94ec3ea26b70c4f33e33de8bfa0 Mon Sep 17 00:00:00 2001 From: shilpa-iplit Date: Wed, 10 Jul 2019 17:55:49 +0530 Subject: [PATCH 009/251] newRegistration files --- openmrs/apps/registration/app.json | 35 +++++++++++------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/openmrs/apps/registration/app.json b/openmrs/apps/registration/app.json index a183815244..a23465e7f6 100644 --- a/openmrs/apps/registration/app.json +++ b/openmrs/apps/registration/app.json @@ -31,17 +31,16 @@ "registerNewPatient1": { "title": "Register a New Patient", "attributes": [ - "UniqueArtID", - "HIVExposedInfant(HEI)No" + "TypeofPatient" ], "expand": true, "order": 2 }, "registerNewPatient2": { - "title": "not shown", + "title": "Not shown", "attributes": [ - "OrderOfBirth", - "KeyPopulationType" + "UniqueArtNo", + "HIVExposedInfant(HEI)No" ], "expand": true, "order": 3 @@ -54,18 +53,6 @@ ], "expand": true, "order": 4 - }, - "treatmentSupporterInformation": { - "title": "Treatment Supporter", - "attributes": [ - "TreatmentSupporterFirstName", - "TreatmentSupporterLastName", - "TreatmentSupporterTelephoneNumber", - "TreatmentSupporterAddress", - "HomeCareProvidedBy" - ], - "expand": true, - "order": 5 }, "defaults": { "MobileCountryCode": "South Sudan" @@ -79,11 +66,8 @@ "Doctor":"provider", "Parent":"patient" }, - "forwardUrlsForVisitTypes": [{ - "forwardUrl": "/bahmni/clinical/index.html#/default/patient/{{patientUuid}}/dashboard", - "visitType": "OPD" - }], + "disablePhotoCapture": true, "showEnterID": false, "dobMandatory": true, "autoCompleteFields":["familyName", "givenName"], @@ -92,7 +76,7 @@ "showMiddleName": false, "showLastName": true, "isLastNameMandatory": true, - "showSaveConfirmDialog": true, + "showSaveConfirmDialog": false, "showBirthTime": false, "showCasteSameAsLastNameCheckbox": false, "printOptions": [ @@ -136,6 +120,13 @@ "givenName" : {"pattern" : "[a-zA-Z]{0,}", "errorMessage" : "Should contain characters"}, "middleName" : {"pattern" : "[a-zA-Z]{0,}", "errorMessage" : "Should contain characters"}, "address1" : {"pattern" : "[a-zA-Z0-9\\s]{2,}", "errorMessage" : "Should contain at least 2 characters"} + }, + "patientSearch": { + "customAttributes": { + "label": "Unique Art No.", + "placeholder": "Enter Unique Art No", + "fields": ["UniqueArtNo"] + } } } } From 0abdd3537987a8f7289dddb77f0bc71c6117ed3e Mon Sep 17 00:00:00 2001 From: shilpa-iplit Date: Fri, 12 Jul 2019 19:47:33 +0530 Subject: [PATCH 010/251] reports additional tabs for customize reports --- openmrs/apps/reports/facilityReports.json | 9 +++++++++ openmrs/apps/reports/sql/missedAppointments.sql | 14 ++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 openmrs/apps/reports/facilityReports.json create mode 100644 openmrs/apps/reports/sql/missedAppointments.sql diff --git a/openmrs/apps/reports/facilityReports.json b/openmrs/apps/reports/facilityReports.json new file mode 100644 index 0000000000..398126ff4a --- /dev/null +++ b/openmrs/apps/reports/facilityReports.json @@ -0,0 +1,9 @@ +{ + "appointmentReport": { + "name": "Missed Appointment Report", + "type": "MRSGeneric", + "config": { + "sqlPath": "/var/www/bahmni_config/openmrs/apps/reports/sql/missedAppointments.sql" + } + } +} diff --git a/openmrs/apps/reports/sql/missedAppointments.sql b/openmrs/apps/reports/sql/missedAppointments.sql new file mode 100644 index 0000000000..e4618502d1 --- /dev/null +++ b/openmrs/apps/reports/sql/missedAppointments.sql @@ -0,0 +1,14 @@ +SELECT + pai.identifier AS 'patient ID', + pn.given_name AS 'First Name', + ifnull(pn.family_name,'') AS 'Last Name', + paMobile.value AS 'Telephone No.', + p.gender AS 'Gender', + DATE_FORMAT(start_date_time, "%d/%m/%Y") AS 'Appointment Date' +FROM patient_appointment pa + LEFT JOIN person p ON p.person_id = pa.patient_id AND pa.voided IS FALSE + LEFT JOIN person_name pn ON p.person_id = pn.person_id AND pn.voided IS FALSE + LEFT JOIN patient_identifier pai on (pai.patient_id = pa.patient_id and pai.preferred = 1) + LEFT JOIN person_attribute_type patMobile on patMobile.name = "MobileNumber" and patMobile.retired IS FALSE + LEFT JOIN person_attribute paMobile on (pa.patient_id = paMobile.person_id and paMobile.voided is false and patMobile.person_attribute_type_id = paMobile.person_attribute_type_id) +WHERE pa.status = 'Missed' OR start_date_time < CURDATE() ORDER BY start_date_time DESC; From ea2c043c7097d1ab4c2361a81a1b0170c3b5b967 Mon Sep 17 00:00:00 2001 From: shilpa-iplit Date: Mon, 15 Jul 2019 17:00:37 +0530 Subject: [PATCH 011/251] Missed appointment report sql --- openmrs/apps/reports/sql/missedAppointments.sql | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/openmrs/apps/reports/sql/missedAppointments.sql b/openmrs/apps/reports/sql/missedAppointments.sql index e4618502d1..47f96dfc14 100644 --- a/openmrs/apps/reports/sql/missedAppointments.sql +++ b/openmrs/apps/reports/sql/missedAppointments.sql @@ -4,6 +4,7 @@ SELECT ifnull(pn.family_name,'') AS 'Last Name', paMobile.value AS 'Telephone No.', p.gender AS 'Gender', + DATE_FORMAT(obsConcept.artStartDate, "%d/%m/%Y") AS 'ART Start Date', DATE_FORMAT(start_date_time, "%d/%m/%Y") AS 'Appointment Date' FROM patient_appointment pa LEFT JOIN person p ON p.person_id = pa.patient_id AND pa.voided IS FALSE @@ -11,4 +12,9 @@ FROM patient_appointment pa LEFT JOIN patient_identifier pai on (pai.patient_id = pa.patient_id and pai.preferred = 1) LEFT JOIN person_attribute_type patMobile on patMobile.name = "MobileNumber" and patMobile.retired IS FALSE LEFT JOIN person_attribute paMobile on (pa.patient_id = paMobile.person_id and paMobile.voided is false and patMobile.person_attribute_type_id = paMobile.person_attribute_type_id) -WHERE pa.status = 'Missed' OR start_date_time < CURDATE() ORDER BY start_date_time DESC; + JOIN (SELECT o.value_datetime AS 'artStartDate', v.patient_id AS 'visitPatientId' FROM visit v + LEFT JOIN encounter enc ON enc.visit_id = v.visit_id + LEFT JOIN obs o ON o.encounter_id = enc.encounter_id + JOIN concept_name cn on (o.concept_id = cn.concept_id and cn.concept_name_type = "FULLY_SPECIFIED" and cn.voided=0 and cn.name="ANC, ART Start Date") + order by v.date_started desc limit 1) AS obsConcept ON obsConcept.visitPatientId = pa.patient_id +WHERE start_date_time BETWEEN '#startDate#' AND '#endDate#' ORDER BY start_date_time DESC; From 0485aeb5a8a26f58b312149ffc6739627c4959e5 Mon Sep 17 00:00:00 2001 From: david mukungi Date: Mon, 15 Jul 2019 17:31:46 +0300 Subject: [PATCH 012/251] End Of follow up form validation --- openmrs/apps/clinical/app.json | 5 ++- openmrs/apps/clinical/extension.json | 6 +++- openmrs/apps/clinical/formConditions.js | 42 ++++++++++++++++++++++++- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/openmrs/apps/clinical/app.json b/openmrs/apps/clinical/app.json index f0891e472e..e6e90c424a 100644 --- a/openmrs/apps/clinical/app.json +++ b/openmrs/apps/clinical/app.json @@ -115,7 +115,7 @@ }, "Set2": { "allowAddMore": true - }, + }, "Coded3": { "multiSelect": true }, @@ -131,6 +131,9 @@ "General Family Information": { "allowAddMore": true }, + "ART Regimen - Substitution within 1st Line": { + "allowAddMore": true + }, "Accepted Family Planning methods": { "multiSelect": true }, diff --git a/openmrs/apps/clinical/extension.json b/openmrs/apps/clinical/extension.json index 8dd401c45d..e784ae9191 100644 --- a/openmrs/apps/clinical/extension.json +++ b/openmrs/apps/clinical/extension.json @@ -235,4 +235,8 @@ "order": 7, "requiredPrivilege": "app:clinical:bacteriologyTab" } -} \ No newline at end of file + + + +} + diff --git a/openmrs/apps/clinical/formConditions.js b/openmrs/apps/clinical/formConditions.js index 9179a948a4..d39a406a27 100644 --- a/openmrs/apps/clinical/formConditions.js +++ b/openmrs/apps/clinical/formConditions.js @@ -24,5 +24,45 @@ Bahmni.ConceptSet.FormConditions.rules = { disable: ["Posture"] } } - } + }, + "End Of Follow Up Reason" : function(formName, formFieldValues) { + var death = formFieldValues["End Of Follow Up Reason"]; + if(death === "Death during treatment") { + return { + hide: ["Lost To Follow Up Information" , "Transferred Out Information"], + show:["Death Information"] + // hide:["Transferred Out Information"] + } + } else if( death === "Lost Follow Up( < 3 Months)"){ + return { + hide: ["Death Information", "Transferred Out Information"], + show: ["Lost To Follow Up Information"] + } + }else if (death === "Transferred Out"){ + return { + hide: ["Lost To Follow Up Information" , "Death Information"], + show: ["Transferred Out Information"] + } + } + else { + return { + hide: ["Death Information", "Transferred Out Information" , "Lost To Follow Up Information"] + } + } + + }, + "Occupation" : function (formName , formFieldValues){ + var occupationanswer = formFieldValues["Occupation"]; + + if(occupationanswer === "Occupation - Other (Specify)"){ + return{ + show: ["Other - Occupation"] + } + }else { + return{ + hide: ["Other - Occupation"] + } + } + + } }; \ No newline at end of file From c6ab7cbae20ccc83547746d13b501a795be4bd6e Mon Sep 17 00:00:00 2001 From: david mukungi Date: Tue, 16 Jul 2019 12:06:12 +0300 Subject: [PATCH 013/251] Removed unneccesary comments --- openmrs/apps/clinical/formConditions.js | 1 - 1 file changed, 1 deletion(-) diff --git a/openmrs/apps/clinical/formConditions.js b/openmrs/apps/clinical/formConditions.js index d39a406a27..659e694772 100644 --- a/openmrs/apps/clinical/formConditions.js +++ b/openmrs/apps/clinical/formConditions.js @@ -31,7 +31,6 @@ Bahmni.ConceptSet.FormConditions.rules = { return { hide: ["Lost To Follow Up Information" , "Transferred Out Information"], show:["Death Information"] - // hide:["Transferred Out Information"] } } else if( death === "Lost Follow Up( < 3 Months)"){ return { From 6046b695b28dabe59c783bcdddfad90dc5d466b1 Mon Sep 17 00:00:00 2001 From: david mukungi Date: Tue, 16 Jul 2019 12:10:55 +0300 Subject: [PATCH 014/251] Fixed Indentation --- openmrs/apps/clinical/app.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmrs/apps/clinical/app.json b/openmrs/apps/clinical/app.json index e6e90c424a..4896483190 100644 --- a/openmrs/apps/clinical/app.json +++ b/openmrs/apps/clinical/app.json @@ -131,7 +131,7 @@ "General Family Information": { "allowAddMore": true }, - "ART Regimen - Substitution within 1st Line": { + "ART Regimen - Substitution within 1st Line": { "allowAddMore": true }, "Accepted Family Planning methods": { From 3e8fe51eb91cfe6f2d03262e5419035e08beca21 Mon Sep 17 00:00:00 2001 From: shilpa-iplit Date: Wed, 17 Jul 2019 15:56:49 +0530 Subject: [PATCH 015/251] Corrected missed appointments query --- .../apps/reports/sql/missedAppointments.sql | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/openmrs/apps/reports/sql/missedAppointments.sql b/openmrs/apps/reports/sql/missedAppointments.sql index 47f96dfc14..8010febdd8 100644 --- a/openmrs/apps/reports/sql/missedAppointments.sql +++ b/openmrs/apps/reports/sql/missedAppointments.sql @@ -1,20 +1,22 @@ -SELECT +SELECT DISTINCT pai.identifier AS 'patient ID', pn.given_name AS 'First Name', ifnull(pn.family_name,'') AS 'Last Name', - paMobile.value AS 'Telephone No.', + pMobile.telephoneNo AS 'Telephone No.', p.gender AS 'Gender', DATE_FORMAT(obsConcept.artStartDate, "%d/%m/%Y") AS 'ART Start Date', - DATE_FORMAT(start_date_time, "%d/%m/%Y") AS 'Appointment Date' + DATE_FORMAT(start_date_time, "%d/%m/%Y") AS 'Appointment Date' FROM patient_appointment pa - LEFT JOIN person p ON p.person_id = pa.patient_id AND pa.voided IS FALSE - LEFT JOIN person_name pn ON p.person_id = pn.person_id AND pn.voided IS FALSE - LEFT JOIN patient_identifier pai on (pai.patient_id = pa.patient_id and pai.preferred = 1) - LEFT JOIN person_attribute_type patMobile on patMobile.name = "MobileNumber" and patMobile.retired IS FALSE - LEFT JOIN person_attribute paMobile on (pa.patient_id = paMobile.person_id and paMobile.voided is false and patMobile.person_attribute_type_id = paMobile.person_attribute_type_id) - JOIN (SELECT o.value_datetime AS 'artStartDate', v.patient_id AS 'visitPatientId' FROM visit v - LEFT JOIN encounter enc ON enc.visit_id = v.visit_id - LEFT JOIN obs o ON o.encounter_id = enc.encounter_id - JOIN concept_name cn on (o.concept_id = cn.concept_id and cn.concept_name_type = "FULLY_SPECIFIED" and cn.voided=0 and cn.name="ANC, ART Start Date") - order by v.date_started desc limit 1) AS obsConcept ON obsConcept.visitPatientId = pa.patient_id -WHERE start_date_time BETWEEN '#startDate#' AND '#endDate#' ORDER BY start_date_time DESC; + LEFT JOIN person p ON p.person_id = pa.patient_id AND pa.voided IS FALSE + LEFT JOIN person_name pn ON p.person_id = pn.person_id AND pn.voided IS FALSE + LEFT JOIN patient_identifier pai ON (pai.patient_id = pa.patient_id AND pai.preferred = 1) + LEFT JOIN (select paMobile.person_id as 'pMobilePersonId', paMobile.value AS 'telephoneNo' from person_attribute paMobile + JOIN person_attribute_type patMobile ON patMobile.name = "MobileNumber" AND patMobile.retired IS FALSE + AND patMobile.person_attribute_type_id = paMobile.person_attribute_type_id) AS pMobile ON pa.patient_id = pMobile.pMobilePersonId + LEFT JOIN (SELECT o.value_datetime AS 'artStartDate', v.patient_id AS 'visitPatientId', v.visit_id AS visitId FROM visit v + JOIN concept_name cn ON (cn.concept_name_type = "FULLY_SPECIFIED" AND cn.voided is false AND cn.name="ANC, ART Start Date") + JOIN encounter enc ON enc.visit_id = v.visit_id + JOIN obs o ON (o.encounter_id = enc.encounter_id and o.concept_id = cn.concept_id AND o.person_id = v.patient_id) + HAVING v.visit_id = (SELECT MAX(maxV.visit_id) as maxVisitId + FROM visit maxV WHERE maxV.patient_id = v.patient_id)) AS obsConcept ON obsConcept.visitPatientId = pa.patient_id +WHERE pa.status = 'Missed' and pa.start_date_time BETWEEN '#startDate#' AND '#endDate#' ORDER BY pa.start_date_time DESC; From ba8f6c427b0e43761cafee38edc98ab56c9c2712 Mon Sep 17 00:00:00 2001 From: shilpa-iplit Date: Wed, 17 Jul 2019 16:16:01 +0530 Subject: [PATCH 016/251] Treatment Supporter concepts added on visit form --- openmrs/apps/registration/extension.json | 18 ++++++++++++++++-- openmrs/i18n/registration/locale_en.json | 3 ++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/openmrs/apps/registration/extension.json b/openmrs/apps/registration/extension.json index f42906ff8b..0f34006d7d 100644 --- a/openmrs/apps/registration/extension.json +++ b/openmrs/apps/registration/extension.json @@ -45,6 +45,20 @@ "order": 1, "requiredPrivilege": "Edit Visits" }, + "TreatmentSupporter":{ + "id": "bahmni.registration.conceptSetGroup.TreatmentSupporter", + "extensionPointId": "org.bahmni.registration.conceptSetGroup.observations", + "type": "config", + "extensionParams": { + "conceptName": "Treatment Supporter", + "translationKey": "TREATMENT_SUPPORTER_LOCALE_KEY", + "conceptNames": ["TreatmentSupporterFirstName", "TreatmentSupporterLastName", + "TreatmentSupporterTelephoneNumber", "TreatmentSupporterAddress", "HomeCareProvidedBy"], + "required":true + }, + "order": 2, + "requiredPrivilege": "Edit Visits" + }, "feeInformation":{ "id": "bahmni.registration.conceptSetGroup.feeInformation", "extensionPointId": "org.bahmni.registration.conceptSetGroup.observations", @@ -54,7 +68,7 @@ "translationKey": "FEE_INFORMATION_LOCALE_KEY", "required":true }, - "order": 2, + "order": 3, "requiredPrivilege": "Edit Visits" }, "nutritionalValue":{ @@ -67,7 +81,7 @@ "required":true, "showLatest": true }, - "order": 3, + "order": 4, "requiredPrivilege": "Edit Visits" } } diff --git a/openmrs/i18n/registration/locale_en.json b/openmrs/i18n/registration/locale_en.json index f3141e655b..6cd53393d1 100644 --- a/openmrs/i18n/registration/locale_en.json +++ b/openmrs/i18n/registration/locale_en.json @@ -21,5 +21,6 @@ "REGISTRATION_INSTITUTE_ADDRESS": "Ganiyari, District - Bilaspur", "FEE_INFORMATION_LOCALE_KEY": "Fee Information", "NUTRITIONAL_VALUES_LOCALE_KEY": "Nutritional Values", - "REGISTRATION_PRINT_WITH_BARCODE": "Barcode Print" + "REGISTRATION_PRINT_WITH_BARCODE": "Barcode Print", + "TREATMENT_SUPPORTER_LOCALE_KEY": "Treatment Supporter" } \ No newline at end of file From 7798dbdedf70d4b16bdd054fc9e3ba67df8c8eff Mon Sep 17 00:00:00 2001 From: david mukungi Date: Mon, 22 Jul 2019 15:24:43 +0300 Subject: [PATCH 017/251] Customized the patient Registration card --- openmrs/apps/registration/app.json | 16 +- .../images/bahmniLogoFull.png | Bin 0 -> 61946 bytes .../registrationCardLayout/print_local.html | 231 ++++++++++-------- 3 files changed, 129 insertions(+), 118 deletions(-) create mode 100644 openmrs/apps/registration/registrationCardLayout/images/bahmniLogoFull.png diff --git a/openmrs/apps/registration/app.json b/openmrs/apps/registration/app.json index a183815244..cdbab407da 100644 --- a/openmrs/apps/registration/app.json +++ b/openmrs/apps/registration/app.json @@ -100,22 +100,8 @@ "translationKey": "REGISTRATION_PRINT_REG_CARD_LOCAL_KEY", "templateUrl": "/bahmni_config/openmrs/apps/registration/registrationCardLayout/print_local.html", "shortcutKey": "l" - }, - { - "translationKey": "REGISTRATION_PRINT_REG_CARD_KEY", - "templateUrl": "/bahmni_config/openmrs/apps/registration/registrationCardLayout/print.html", - "shortcutKey": "p" - }, - { - "translationKey": "REGISTRATION_PRINT_SUPPLEMENTAL_PAPER", - "templateUrl": "/bahmni_config/openmrs/apps/registration/supplementalPaperLayout/print.html", - "shortcutKey": "r" - }, - { - "translationKey": "REGISTRATION_PRINT_WITH_BARCODE", - "templateUrl": "/bahmni_config/openmrs/apps/registration/registrationCardLayout/printWithBarcode.html", - "shortcutKey": "c" } + ], "conceptSetUI": { "REGISTRATION FEES": { diff --git a/openmrs/apps/registration/registrationCardLayout/images/bahmniLogoFull.png b/openmrs/apps/registration/registrationCardLayout/images/bahmniLogoFull.png new file mode 100644 index 0000000000000000000000000000000000000000..12ba755d512e57b02d8aae6f40b6cd9d75274af7 GIT binary patch literal 61946 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 ZVaV%2vuJJNl57b0QB!`dRH0z`;eVF~Q - +
+ + - - + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Visit DateCD4 Count/CD4%
(<=15yrs)
Viral LoadCurrent ART
/Other Medication
Next appointment Date
 
 
 
 
+
+ onerror="this.onerror=null;this.src='../images/blank.jpeg';" />
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + -
- दिनाँक - : {{patient.registrationDate | bahmniDate}}
- रजिस्ट्रेशन - : {{patient.primaryIdentifier.identifier}}
- नाम - : - {{patient.fullNameLocal()}} -
- उम्र - : {{patient.age | age}}
- लिंग - : {{patient.gender}}
- पिता/पति - : {{patient.primaryRelative}}
- गाँव - : {{patient.address.cityVillage}}
- तहसील - : {{patient.address.address3}}
+ Facility Name : + .....................
+ Full Names: + + {{patient.fullNameLocal()}} +
+ Age:   {{patient.age | age}} + + Sex:   {{patient.gender}} +
+ ART No:   {{patient.primaryIdentifier.identifier}} + + HEI No:   ............. +
+ ART Start Date: + + .... / .... / .... +
Initial ART Regimen: + + ....................... +
+ + +
    +
  1. Carry this card and present it to the health worker at every visit.
  2. +
  3. Keep the appointment date as indicated in this card.
  4. +
  5. In case of new symptoms, visit the facility or call health worker.
  6. +
  7. If you can't come, call health worker on number below.
  8. +
+ + +
Health Facility Telephone No. ......................
+ - - - + + + +