diff --git a/.github/workflows/build_and_upload_package.yml b/.github/workflows/build_and_upload_package.yml
new file mode 100644
index 000000000..816c78027
--- /dev/null
+++ b/.github/workflows/build_and_upload_package.yml
@@ -0,0 +1,21 @@
+name: Default config - Github action to package default_config as zip
+
+on:
+ workflow_dispatch:
+ push:
+ branches: [ stream2/master ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Package
+ run:
+ /bin/bash ./scripts/package.sh
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: default_config
+ path: target/default_config.zip
diff --git a/.gitignore b/.gitignore
index 1af676cad..edc52dfc5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,4 +7,3 @@
*/.idea/*
.tmp
target
-
diff --git a/openmrs/apps/clinical/app.json b/openmrs/apps/clinical/app.json
index 7032fe843..78d4f70e0 100644
--- a/openmrs/apps/clinical/app.json
+++ b/openmrs/apps/clinical/app.json
@@ -81,6 +81,27 @@
"maxConceptSetLevels": 3,
"allowOnlyCodedDiagnosis": false,
"conceptSetUI": {
+ "COVID-19-Starter, Vaccine Recipient Category": {
+ "dropdown": true
+ },
+ "COVID-19-Starter, Reason for not eligible for vaccine": {
+ "multiSelect": true
+ },
+ "COVID-19-Starter, Comorbidities": {
+ "multiSelect": true
+ },
+ "Vaccine lot expiration date": {
+ "allowFutureDates": true
+ },
+ "Date medication refills due": {
+ "allowFutureDates": true
+ },
+ "COVID-19-Starter, Side effects reported after vaccination": {
+ "allowAddMore": true
+ },
+ "COVID-19-Starter, Symptoms": {
+ "multiSelect": true
+ },
"Chief Complaint Data": {
"autocomplete":true,
"codedConceptName":"Chief Complaint",
diff --git a/openmrs/apps/clinical/dashboard.json b/openmrs/apps/clinical/dashboard.json
index c78ffd204..06b045112 100644
--- a/openmrs/apps/clinical/dashboard.json
+++ b/openmrs/apps/clinical/dashboard.json
@@ -402,32 +402,13 @@
"template": " "
}
},
- "Forms-2.0": {
- "type": "formsV2",
- "displayOrder": 23,
- "dashboardConfig": {
- "title": null,
- "maximumNoOfVisits": 1
- },
- "formGroup": [ ],
- "translationKey": "DASHBOARD_TITLE_FORMS2_DISPLAY_CONTROL_KEY"
- },
- "Form 2 Obs To Obs": {
- "displayType": "Half-Page",
- "translationKey": "DASHBOARD_TITLE_FORMS2_OBS_TO_OBS_DISPLAY_CONTROL_KEY",
- "type": "obsToObsFlowSheet",
- "dashboardConfig": {
- "numberOfVisits": 1,
- "formNames": [],
- "groupByConcept": "",
- "isEditable": true,
- "conceptNames": []
- },
- "expandedViewConfig": {
- "formNames": [],
- "isEditable": true,
- "groupByConcept": "",
- "conceptNames": []
+
+ "Vaccination": {
+ "type": "custom",
+ "displayOrder": 25,
+ "config": {
+ "title": "DASHBOARD_TITLE_VACCINATION_KEY",
+ "template": " "
}
}
}
diff --git a/openmrs/apps/clinical/formConditions.js b/openmrs/apps/clinical/formConditions.js
index 9179a948a..263e1f9d6 100644
--- a/openmrs/apps/clinical/formConditions.js
+++ b/openmrs/apps/clinical/formConditions.js
@@ -24,5 +24,86 @@ Bahmni.ConceptSet.FormConditions.rules = {
disable: ["Posture"]
}
}
+ },
+ 'Eligible for Vaccine': function (formName, formFieldValues) {
+ var eligibleValue = formFieldValues['Eligible for Vaccine'];
+ if (eligibleValue == 'False') {
+ var reasons = formFieldValues["COVID-19-Starter, Reason for not eligible for vaccine"];
+ var showList = ["COVID-19-Starter, Reason for not eligible for vaccine"];
+
+ return {
+ show: showList
+ }
+ } else {
+ return {
+ hide: ["COVID-19-Starter, Reason for not eligible for vaccine", "Currently taking medication", "COVID-19-Starter, Others"]
+ }
+ }
+ },
+ 'COVID-19-Starter, Reason for not eligible for vaccine': function (formName, formFieldValues) {
+ var reasons = formFieldValues["COVID-19-Starter, Reason for not eligible for vaccine"];
+ var showList = [];
+ var hideList = [];
+
+ var showMed = false;
+ var showOthers = false;
+
+ for (i = 0; i < reasons.length; i++) {
+ if (reasons[i] == 'Currently taking medication') {
+ showMed = true;
+ showList.push("Currently taking medication");
+ } else if (reasons[i] == 'COVID-19-Starter, Others') {
+ showOthers = true;
+ showList.push("COVID-19-Starter, Others");
+ }
+ }
+ if (!showOthers) {
+ hideList.push("COVID-19-Starter, Others");
+ }
+ if (!showMed) {
+ hideList.push("Currently taking medication");
+ }
+
+ return {
+ show: showList,
+ hide: hideList
+ }
+ },
+ 'COVID-19-Starter, New symptoms since vaccination': function (formName, formFieldValues) {
+ var newSymptomsValue = formFieldValues['COVID-19-Starter, New symptoms since vaccination'];
+ console.log(newSymptomsValue);
+ if (newSymptomsValue == 'True') {
+ var showList = ["COVID-19-Starter, Side effects reported after vaccination"];
+
+ return {
+ show: showList
+ }
+ } else {
+ return {
+ hide: ["COVID-19-Starter, Side effects reported after vaccination"]
+ }
+ }
+ },
+ 'COVID-19-Starter, Symptoms': function (formName, formFieldValues) {
+ var reasons = formFieldValues["COVID-19-Starter, Symptoms"];
+ var showList = [];
+ var hideList = [];
+
+ var showOthers = false;
+
+ for (i = 0; i < reasons.length; i++) {
+ if (reasons[i] == 'COVID-19-Starter, Other') {
+ showOthers = true;
+ showList.push("COVID-19-Starter, Other");
+ }
+ }
+ if (!showOthers) {
+ hideList.push("COVID-19-Starter, Other");
+ }
+
+ return {
+ show: showList,
+ hide: hideList
+ }
}
};
\ No newline at end of file
diff --git a/openmrs/apps/customDisplayControl/js/customControl.js b/openmrs/apps/customDisplayControl/js/customControl.js
index bcbac4214..ee4e1b952 100644
--- a/openmrs/apps/customDisplayControl/js/customControl.js
+++ b/openmrs/apps/customDisplayControl/js/customControl.js
@@ -212,4 +212,60 @@ angular.module('bahmni.common.displaycontrol.custom')
},
template: ' '
};
+}]).directive('vaccination', ['observationsService', 'appService', 'spinner', 'printer', function (observationsService, appService, spinner, printer) {
+ var link = function ($scope) {
+ var conceptNames = ["COVID-19-Starter, Vaccine"];
+ $scope.contentUrl = appService.configBaseUrl() + "/customDisplayControl/views/vaccination.html";
+ $scope.certificateUrl = appService.configBaseUrl() + "/customDisplayControl/views/covid19VaccineCertificate.html";
+ $scope.observationData = [];
+ spinner.forPromise(observationsService.fetch($scope.patient.uuid, conceptNames, undefined, undefined, $scope.visitUuid, undefined).then(function (response) {
+ $scope.observationData = response.data[0];
+ $scope.dosages = {};
+ if ($scope.observationData != null) {
+ for (var i=0; i<$scope.observationData.groupMembers.length; i++) {
+ var groupMember = $scope.observationData.groupMembers[i];
+ if (groupMember.concept.name === 'COVID-19-Starter, COVID-19 Vaccine Name') {
+ $scope.dosages.vaccineName = groupMember.valueAsString;
+ }
+ if (groupMember.concept.name === 'VACCINE MANUFACTURER') {
+ $scope.dosages.manufacturer = groupMember.valueAsString;
+ }
+ if (groupMember.concept.name.startsWith('COVID-19-Starter, Dose')) {
+ var isDose1 = groupMember.concept.name === 'COVID-19-Starter, Dose-1' ? true : false;
+ if (isDose1) {
+ $scope.dosages.dose1 = {};
+ } else {
+ $scope.dosages.dose2 = {};
+ }
+ for (var j=0; j ',
+ link: link
+ }
}]);
diff --git a/openmrs/apps/customDisplayControl/styles/printVaccination.css b/openmrs/apps/customDisplayControl/styles/printVaccination.css
new file mode 100644
index 000000000..f01270d5f
--- /dev/null
+++ b/openmrs/apps/customDisplayControl/styles/printVaccination.css
@@ -0,0 +1,76 @@
+.vaccination-display-control {
+ position: absolute;
+ top: 40%;
+ transform: translateY(-40%);
+ width: 90%;
+ left: 5%;
+}
+
+.template-container {
+ border: 1px solid #669999;
+ border-radius: 5px 5px 0 0;
+ background: #FFFFFF;
+ padding: 10px 20px;
+ width: 90%;
+ margin-bottom: 25px;
+ margin-top: 25px;
+ height: 98%;
+}
+
+.section-title {
+ padding: 10px;
+ margin-top: 0;
+ margin-bottom: 0;
+ text-align: center;
+ font-size: 18px;
+ color: #00473f;
+}
+
+section {
+ margin-bottom: 15px;
+}
+
+table {
+ margin: 0;
+ width: 100%;
+ border-collapse: collapse;
+ border-spacing: 0;
+ border: 1px solid #ddd;
+}
+
+table td {
+ font-size: 12px;
+ width: 50%;
+}
+
+table tr {
+ border: 0;
+ border-bottom: 1px solid #ddd;
+}
+
+table td {
+ padding: 5px 10px;
+}
+
+h1, h2 {
+ padding: 0px;
+ font-size: 20px;
+ color: #00473f;
+ clear: both;
+ margin: 10px 0;
+}
+
+h2 {
+ color: #669999;
+ font-size: 16px;
+}
+
+div, ul, li {
+ margin: 0px;
+ padding: 0px;
+}
+
+ul {
+ list-style: none;
+}
+
diff --git a/openmrs/apps/customDisplayControl/views/covid19VaccineCertificate.html b/openmrs/apps/customDisplayControl/views/covid19VaccineCertificate.html
new file mode 100644
index 000000000..475dfaeab
--- /dev/null
+++ b/openmrs/apps/customDisplayControl/views/covid19VaccineCertificate.html
@@ -0,0 +1,94 @@
+
+
{{::"DASHBOARD_CERTIFICATE_OF_COVID19_VACCINATION_KEY" | translate}} {{::"DASHBOARD_COVID19_VACCINE_RECORD_KEY" | translate}}
+
+
diff --git a/openmrs/apps/customDisplayControl/views/printVaccination.html b/openmrs/apps/customDisplayControl/views/printVaccination.html
new file mode 100644
index 000000000..e9f39c2ff
--- /dev/null
+++ b/openmrs/apps/customDisplayControl/views/printVaccination.html
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/openmrs/apps/customDisplayControl/views/vaccination.html b/openmrs/apps/customDisplayControl/views/vaccination.html
new file mode 100644
index 000000000..fc90507b5
--- /dev/null
+++ b/openmrs/apps/customDisplayControl/views/vaccination.html
@@ -0,0 +1,27 @@
+
+ {{ config.title | titleTranslate}}
+
+
+
+
+
+
+ {{::"DASHBOARD_COVID19_CERTIFICATE" | translate}}
+ {{::"DASHBOARD_COVID19_VACCINE_RECORD_KEY" | translate}}
+
+
+
+
+
+
+
+
+
+
diff --git a/openmrs/apps/reports/reports.json b/openmrs/apps/reports/reports.json
index 1a92c7b4a..8fe7eb422 100644
--- a/openmrs/apps/reports/reports.json
+++ b/openmrs/apps/reports/reports.json
@@ -49,10 +49,13 @@
],
"showVisitInfo": true,
"showProvider": true,
- "conceptNamesToFilter": [
- ],
+ "conceptNamesToFilter": [],
"conceptNameDisplayFormat": "shortNamePreferred",
- "conceptValuesToFilter": ["0..20","100..","True"],
+ "conceptValuesToFilter": [
+ "0..20",
+ "100..",
+ "True"
+ ],
"conceptClassesToFilter": [],
"locationTagsToFilter": [],
"programsToFilter": [],
@@ -65,37 +68,39 @@
]
}
},
- "testFormReport":{
- "name": "Test Forms Report",
- "type": "forms",
- "requiredPrivilege": "app:reports",
- "config": {
- "patientAttributes": [
- "caste",
- "class",
- "education",
- "occupation",
- "primaryContact"
- ],
- "patientAddresses": [
- "address3",
- "city_village"
- ],
- "visitAttributes": [
- "Visit Status",
- "Admission Status"
- ],
- "showVisitInfo": true,
- "showProvider": true,
- "formNamesToFilter": ["Vitals"],
- "conceptNameDisplayFormat": "shortNamePreferred",
- "locationTagsToFilter": [],
- "programsToFilter": [],
- "applyDateRangeFor": "obsDate",
- "visitTypesToFilter": []
- }
- },
- "formBuilderReport":{
+ "testFormReport": {
+ "name": "Test Forms Report",
+ "type": "forms",
+ "requiredPrivilege": "app:reports",
+ "config": {
+ "patientAttributes": [
+ "caste",
+ "class",
+ "education",
+ "occupation",
+ "primaryContact"
+ ],
+ "patientAddresses": [
+ "address3",
+ "city_village"
+ ],
+ "visitAttributes": [
+ "Visit Status",
+ "Admission Status"
+ ],
+ "showVisitInfo": true,
+ "showProvider": true,
+ "formNamesToFilter": [
+ "Vitals"
+ ],
+ "conceptNameDisplayFormat": "shortNamePreferred",
+ "locationTagsToFilter": [],
+ "programsToFilter": [],
+ "applyDateRangeFor": "obsDate",
+ "visitTypesToFilter": []
+ }
+ },
+ "formBuilderReport": {
"name": "Form builder form Report",
"type": "formBuilder",
"requiredPrivilege": "app:reports",
@@ -115,7 +120,9 @@
],
"showVisitInfo": true,
"showProvider": true,
- "formNamesToFilter": [ "Test Form"],
+ "formNamesToFilter": [
+ "Test Form"
+ ],
"conceptNameDisplayFormat": "shortNamePreferred",
"locationTagsToFilter": [],
"programsToFilter": [],
@@ -172,6 +179,14 @@
"sqlPath": "/var/www/bahmni_config/openmrs/apps/reports/sql/testCount.sql"
}
},
+ "Covid19ProgramStatusReport": {
+ "name": "Covid19 Program Status Report",
+ "type": "ElisGeneric",
+ "requiredPrivilege": "app:reports",
+ "config": {
+ "sqlPath": "/var/www/bahmni_config/openmrs/apps/reports/sql/covid19StatusReport.sql"
+ }
+ },
"bloodPressure": {
"name": "Blood Pressure",
"type": "obsCount",
@@ -472,22 +487,30 @@
"type": "aggregation",
"requiredPrivilege": "app:reports",
"config": {
- "report":{
+ "report": {
"type": "observations",
"config": {
- "conceptNamesToFilter":["Diastolic Data", "Systolic Data"],
- "showVisitInfo" : true,
+ "conceptNamesToFilter": [
+ "Diastolic Data",
+ "Systolic Data"
+ ],
+ "showVisitInfo": true,
"forDataAnalysis": true,
- "visitAttributes": ["Visit Status", "Admission Status"],
- "visitTypesToFilter": ["IPD"]
-
+ "visitAttributes": [
+ "Visit Status",
+ "Admission Status"
+ ],
+ "visitTypesToFilter": [
+ "IPD"
+ ]
}
},
"rowGroups": [
"Gender"
],
"columnGroups": [
- "Concept Name", "value"
+ "Concept Name",
+ "value"
],
"distinctGroups": [
"Patient Identifier"
@@ -499,7 +522,7 @@
"type": "aggregation",
"requiredPrivilege": "app:reports",
"config": {
- "report":{
+ "report": {
"type": "visits",
"config": {
"forDataAnalysis": true,
@@ -544,8 +567,7 @@
"report": {
"type": "programs",
"config": {
- "patientAttributes": [
- ],
+ "patientAttributes": [],
"patientAddresses": [
"city_village",
"address3"
@@ -568,9 +590,8 @@
"distinctGroups": [
"Patient Identifier"
],
- "showTotalRow":true,
- "showTotalColumn":true
-
+ "showTotalRow": true,
+ "showTotalColumn": true
}
},
"concatenatedReport": {
@@ -636,63 +657,63 @@
]
}
},
- "GenericLabOrderReport": {
- "name": "Lab Order Results",
- "type": "labOrders",
- "requiredPrivilege": "app:reports",
- "config": {
- "patientAttributes": [
- "caste",
- "class",
- "education",
- "occupation",
- "primaryContact"
- ],
- "patientAddresses": [
- "address3",
- "city_village"
- ],
- "visitAttributes": [
- "Visit Status"
- ],
- "showVisitInfo": true,
- "showProvider": true,
- "programsToFilter": [],
- "showReferredOutTests": true,
- "conceptNamesToFilter": [
- "Haemoglobin (Blood)"
- ],
- "conceptValuesToFilter": [
- "10..100"
- ],
- "forDataAnalysis": true,
- "excludeColumns": [
- "address3"
- ],
- "showOrderDateTime": true
- }
- },
- "GenericLabOrderReportAggregation": {
- "name": "Test Name vs Gender",
- "type": "aggregation",
- "requiredPrivilege": "app:reports",
- "config": {
- "report": {
+ "GenericLabOrderReport": {
+ "name": "Lab Order Results",
"type": "labOrders",
+ "requiredPrivilege": "app:reports",
"config": {
- "forDataAnalysis": true,
- "showVisitInfo": true
- }
- },
- "rowGroups": [
- "Test Name"
- ],
- "columnGroups": [
- "Gender"
- ],
- "distinctGroups": [
- "Patient Identifier"
- ]
+ "patientAttributes": [
+ "caste",
+ "class",
+ "education",
+ "occupation",
+ "primaryContact"
+ ],
+ "patientAddresses": [
+ "address3",
+ "city_village"
+ ],
+ "visitAttributes": [
+ "Visit Status"
+ ],
+ "showVisitInfo": true,
+ "showProvider": true,
+ "programsToFilter": [],
+ "showReferredOutTests": true,
+ "conceptNamesToFilter": [
+ "Haemoglobin (Blood)"
+ ],
+ "conceptValuesToFilter": [
+ "10..100"
+ ],
+ "forDataAnalysis": true,
+ "excludeColumns": [
+ "address3"
+ ],
+ "showOrderDateTime": true
+ }
+ },
+ "GenericLabOrderReportAggregation": {
+ "name": "Test Name vs Gender",
+ "type": "aggregation",
+ "requiredPrivilege": "app:reports",
+ "config": {
+ "report": {
+ "type": "labOrders",
+ "config": {
+ "forDataAnalysis": true,
+ "showVisitInfo": true
+ }
+ },
+ "rowGroups": [
+ "Test Name"
+ ],
+ "columnGroups": [
+ "Gender"
+ ],
+ "distinctGroups": [
+ "Patient Identifier"
+ ]
+ }
}
- }
-}
+}
\ No newline at end of file
diff --git a/openmrs/apps/reports/sql/covid19StatusReport.sql b/openmrs/apps/reports/sql/covid19StatusReport.sql
new file mode 100644
index 000000000..c8b558afc
--- /dev/null
+++ b/openmrs/apps/reports/sql/covid19StatusReport.sql
@@ -0,0 +1,15 @@
+SELECT
+ CONCAT(pn.given_name, ' ', pn.family_name) AS `Person Name`,
+ DATE(MAX(pp.date_enrolled)) AS `Date Enrolled in Program`,
+ DATEDIFF(IFNULL(pp.date_completed, NOW()), pp.date_enrolled) AS `No. of Days in Program`,
+ cn.name AS `Current State in Program`
+FROM patient pt
+ INNER JOIN person_name pn ON pt.patient_id = pn.person_id
+ INNER JOIN patient_program pp ON pt.patient_id = pp.patient_id
+ INNER JOIN patient_state ps ON ps.patient_program_id = pp.patient_program_id
+ INNER JOIN program_workflow_state pws ON pws.program_workflow_state_id = ps.state
+ INNER JOIN concept_name cn ON cn.concept_id = pws.concept_id
+ INNER JOIN obs obs ON obs.person_id = pt.patient_id
+ INNER JOIN program pr ON pr.program_id = pp.program_id
+WHERE cn.concept_name_type = "SHORT" AND pr.name = "COVID-19 Program"
+GROUP BY pn.person_id;
diff --git a/openmrs/i18n/clinical/locale_en.json b/openmrs/i18n/clinical/locale_en.json
index fa2a2aac1..996ddaf85 100644
--- a/openmrs/i18n/clinical/locale_en.json
+++ b/openmrs/i18n/clinical/locale_en.json
@@ -25,27 +25,24 @@
"DASHBOARD_TITLE_RADIOLOGY_ORDERS_KEY": "Radiology Orders",
"DASHBOARD_TITLE_VITALS_KEY": "Vitals",
"DASHBOARD_TITLE_PATIENT_INFORMATION_KEY": "Patient Information",
- "DASHBOARD_TITLE_BACTERIOLOGY_RESULTS_KEY":"Bacteriology Results",
- "DASHBOARD_TITLE_FORMS_DISPLAY_CONTROL_KEY":"Forms",
+ "DASHBOARD_TITLE_BACTERIOLOGY_RESULTS_KEY": "Bacteriology Results",
+ "DASHBOARD_TITLE_FORMS_DISPLAY_CONTROL_KEY": "Forms",
"DASHBOARD_TITLE_GROWTH_CHART": "Growth Chart",
"DASHBOARD_TITLE_BLOOD_PRESSURE": "BP",
"DASHBOARD_TITLE_WEIGHT_BMI": "Weight/BMI",
"DASHBOARD_TITLE_DIABETES_BLOOD_SUGAR": "Diabetes/Blood Sugar",
"DASHBOARD_TITLE_PULSE": "Pulse",
- "DASHBOARD_TITLE_FORMS2_DISPLAY_CONTROL_KEY":"Forms-2",
- "DASHBOARD_TITLE_FORMS2_OBS_TO_OBS_DISPLAY_CONTROL_KEY":"Forms-2 ObsToObs",
-
+ "DASHBOARD_TITLE_FORMS2_DISPLAY_CONTROL_KEY": "Forms-2",
+ "DASHBOARD_TITLE_FORMS2_OBS_TO_OBS_DISPLAY_CONTROL_KEY": "Forms-2 ObsToObs",
+ "DASHBOARD_TITLE_VACCINATION_KEY": "Vaccination",
"DASHBOARD_TAB_GENERAL_KEY": "General",
"DASHBOARD_TAB_TRENDS_KEY": "Trends",
"DASHBOARD_TAB_PATIENT_SUMMARY_KEY": "Patient Summary",
"DASHBOARD_TAB_DISCHARGE_SUMMARY_KEY": "Discharge Summary",
"DASHBOARD_TAB_ORDERS_KEY": "Orders",
-
- "LAB_INVESTIGATIONS_KEY":"Lab Investigations",
+ "LAB_INVESTIGATIONS_KEY": "Lab Investigations",
"PACS_ORDERS_VISIT_PAGE_KEY": "Pacs Orders Visit Page",
-
- "DISCHARGE_SUMMARY_DIAGNOSIS_KEY" :"Diagnosis",
-
+ "DISCHARGE_SUMMARY_DIAGNOSIS_KEY": "Diagnosis",
"DISCHARGE_SUMMARY_ADVICE_ON_DISCHARGE_KEY": "Advice on Discharge",
"DISCHARGE_SUMMARY_AT_ADMISSION_KEY": "At Admission",
"DISCHARGE_SUMMARY_ADMISSION_DETAILS_KEY": "Admission Details",
@@ -86,5 +83,19 @@
"DASHBOARD_UPCOMING_APPOINTMENTS_KEY": "Upcoming Appointments",
"DASHBOARD_UPCOMING_APPOINTMENTS_KEY_LINK": "List View",
"DASHBOARD_NO_PAST_APPOINTMENTS_KEY": "No past appointments",
- "DASHBOARD_NO_UPCOMING_APPOINTMENTS_KEY": "No upcoming appointments"
+ "DASHBOARD_NO_UPCOMING_APPOINTMENTS_KEY": "No upcoming appointments",
+
+ "DASHBOARD_NO_VACCINATION_DETAILS_KEY": "No Vaccination Details",
+ "DASHBOARD_COVID19_CERTIFICATE": "COVID-19 Certificate",
+ "DASHBOARD_CERTIFICATE_OF_COVID19_VACCINATION_KEY": "Certificate of COVID-19 Vaccination",
+ "DASHBOARD_COVID19_CERTIFICATE_NAME_KEY": "Name",
+ "DASHBOARD_COVID19_CERTIFICATE_AGE_KEY": "Age",
+ "DASHBOARD_COVID19_CERTIFICATE_SEX_KEY": "Sex",
+ "DASHBOARD_COVID19_CERTIFICATE_DATE_OF_BIRTH_KEY": "Date Of Birth",
+ "DASHBOARD_COVID19_CERTIFICATE_PASSPORT_NO_KEY": "Passport No",
+ "DASHBOARD_COVID19_CERTIFICATE_ADDRESS_KEY": "Address",
+ "DASHBOARD_COVID19_CERTIFICATE_VACCINE_DETAILS_KEY": "Vaccination Details",
+
+ "DASHBOARD_COVID19_VACCINE_RECORD_KEY": "Covid-19 Vaccine Record",
+ "DASHBOARD_COVID19_VACCINE_RECORD_TITLE_KEY": "Dose 1 of COVID-19 Vaccination been received and awaiting next dosage"
}
diff --git a/openmrs/i18n/clinical/locale_es.json b/openmrs/i18n/clinical/locale_es.json
index 22ca412fd..bd4084adb 100644
--- a/openmrs/i18n/clinical/locale_es.json
+++ b/openmrs/i18n/clinical/locale_es.json
@@ -25,21 +25,17 @@
"DASHBOARD_TITLE_RADIOLOGY_ORDERS_KEY": "Ordenes de radiología",
"DASHBOARD_TITLE_VITALS_KEY": "Signos vitales",
"DASHBOARD_TITLE_PATIENT_INFORMATION_KEY": "Información del paciente",
- "DASHBOARD_TITLE_BACTERIOLOGY_RESULTS_KEY":"Resultados de Bacteriología",
- "DASHBOARD_TITLE_FORMS_DISPLAY_CONTROL_KEY":"Formularios",
-
-
+ "DASHBOARD_TITLE_BACTERIOLOGY_RESULTS_KEY": "Resultados de Bacteriología",
+ "DASHBOARD_TITLE_FORMS_DISPLAY_CONTROL_KEY": "Formularios",
+ "DASHBOARD_TITLE_VACCINATION_KEY": "Vaccination",
"DASHBOARD_TAB_GENERAL_KEY": "General",
"DASHBOARD_TAB_TRENDS_KEY": "Tendencias",
"DASHBOARD_TAB_PATIENT_SUMMARY_KEY": "Resumen del paciente",
"DASHBOARD_TAB_DISCHARGE_SUMMARY_KEY": "Resumen de alta",
"DASHBOARD_TAB_ORDERS_KEY": "Órdenes",
-
- "LAB_INVESTIGATIONS_KEY":"Investigaciones de Laboratorio",
+ "LAB_INVESTIGATIONS_KEY": "Investigaciones de Laboratorio",
"PACS_ORDERS_VISIT_PAGE_KEY": "Visitar página de órdenes PACS",
-
- "DISCHARGE_SUMMARY_DIAGNOSIS_KEY" :"Diagnóstico",
-
+ "DISCHARGE_SUMMARY_DIAGNOSIS_KEY": "Diagnóstico",
"DISCHARGE_SUMMARY_ADVICE_ON_DISCHARGE_KEY": "Consejos para el alta",
"DISCHARGE_SUMMARY_AT_ADMISSION_KEY": "En admisión",
"DISCHARGE_SUMMARY_ADMISSION_DETAILS_KEY": "Detalles de admisión",
@@ -80,5 +76,20 @@
"DASHBOARD_UPCOMING_APPOINTMENTS_KEY": "Citas futuras",
"DASHBOARD_UPCOMING_APPOINTMENTS_KEY_LINK": "Vista de listado",
"DASHBOARD_NO_PAST_APPOINTMENTS_KEY": "Sin citas pasadas",
- "DASHBOARD_NO_UPCOMING_APPOINTMENTS_KEY": "SIn citas futuras"
+ "DASHBOARD_NO_UPCOMING_APPOINTMENTS_KEY": "SIn citas futuras",
+
+ "DASHBOARD_NO_VACCINATION_DETAILS_KEY": "No Vaccination Details",
+ "DASHBOARD_COVID19_CERTIFICATE": "COVID-19 Certificate",
+ "DASHBOARD_CERTIFICATE_OF_COVID19_VACCINATION_KEY": "Certificate of COVID-19 Vaccination",
+ "DASHBOARD_COVID19_CERTIFICATE_NAME_KEY": "Name",
+ "DASHBOARD_COVID19_CERTIFICATE_AGE_KEY": "Age",
+ "DASHBOARD_COVID19_CERTIFICATE_SEX_KEY": "Sex",
+ "DASHBOARD_COVID19_CERTIFICATE_DATE_OF_BIRTH_KEY": "Date Of Birth",
+ "DASHBOARD_COVID19_CERTIFICATE_PASSPORT_NO_KEY": "Passport No",
+ "DASHBOARD_COVID19_CERTIFICATE_ADDRESS_KEY": "Address",
+ "DASHBOARD_COVID19_CERTIFICATE_VACCINE_DETAILS_KEY": "Vaccination Details",
+
+ "DASHBOARD_COVID19_VACCINE_RECORD_KEY": "Covid-19 Vaccine Record",
+ "DASHBOARD_COVID19_VACCINE_RECORD_TITLE_KEY": "Dose 1 of COVID-19 Vaccination been received and awaiting next dosage"
+
}
diff --git a/openmrs/i18n/clinical/locale_fr.json b/openmrs/i18n/clinical/locale_fr.json
index f680e59d0..5c3b7d83b 100644
--- a/openmrs/i18n/clinical/locale_fr.json
+++ b/openmrs/i18n/clinical/locale_fr.json
@@ -80,5 +80,21 @@
"DASHBOARD_UPCOMING_APPOINTMENTS_KEY": "Upcoming Appointments",
"DASHBOARD_UPCOMING_APPOINTMENTS_KEY_LINK": "List View",
"DASHBOARD_NO_PAST_APPOINTMENTS_KEY": "No past appointments",
- "DASHBOARD_NO_UPCOMING_APPOINTMENTS_KEY": "No upcoming appointments"
+ "DASHBOARD_NO_UPCOMING_APPOINTMENTS_KEY": "No upcoming appointments",
+
+ "DASHBOARD_TITLE_VACCINATION_KEY": "Vaccination",
+ "DASHBOARD_NO_VACCINATION_DETAILS_KEY": "No Vaccination Details",
+ "DASHBOARD_COVID19_CERTIFICATE": "COVID-19 Certificate",
+ "DASHBOARD_CERTIFICATE_OF_COVID19_VACCINATION_KEY": "Certificate of COVID-19 Vaccination",
+ "DASHBOARD_COVID19_CERTIFICATE_NAME_KEY": "Name",
+ "DASHBOARD_COVID19_CERTIFICATE_AGE_KEY": "Age",
+ "DASHBOARD_COVID19_CERTIFICATE_SEX_KEY": "Sex",
+ "DASHBOARD_COVID19_CERTIFICATE_DATE_OF_BIRTH_KEY": "Date Of Birth",
+ "DASHBOARD_COVID19_CERTIFICATE_PASSPORT_NO_KEY": "Passport No",
+ "DASHBOARD_COVID19_CERTIFICATE_ADDRESS_KEY": "Address",
+ "DASHBOARD_COVID19_CERTIFICATE_VACCINE_DETAILS_KEY": "Vaccination Details",
+
+ "DASHBOARD_COVID19_VACCINE_RECORD_KEY": "Covid-19 Vaccine Record",
+ "DASHBOARD_COVID19_VACCINE_RECORD_TITLE_KEY": "Dose 1 of COVID-19 Vaccination been received and awaiting next dosage"
+
}