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}}

+
+ + + + + + + + + + + + + +
+ {{::"DASHBOARD_COVID19_CERTIFICATE_NAME_KEY" | translate}}: {{patient.name}} + + {{::"DASHBOARD_COVID19_CERTIFICATE_SEX_KEY" | translate}}: +
+ {{::"DASHBOARD_COVID19_CERTIFICATE_AGE_KEY" | translate}}: + + {{::"DASHBOARD_COVID19_CERTIFICATE_DATE_OF_BIRTH_KEY" | translate}}: {{patient.birthdate | date: 'MMM dd, yyyy'}} +
+ {{::"DASHBOARD_COVID19_CERTIFICATE_PASSPORT_NO_KEY" | translate}}: + + + {{::"DASHBOARD_COVID19_CERTIFICATE_ADDRESS_KEY" | translate}}: {{patient.address.address1 ? patient.address.address1 + "," : ""}} {{patient.address.address2 ? patient.address.address2 + "," : ""}} {{patient.address.address3 ? patient.address.address3 + "," : ""}} + {{patient.address.cityVillage ? patient.address.cityVillage + "," : ""}} {{patient.address.countyDistrict ? patient.address.countyDistrict + "," : ""}} {{patient.address.stateProvince ? patient.address.stateProvince : ""}} + +
+ + + + + + + + + + +
+

{{::"DASHBOARD_COVID19_CERTIFICATE_VACCINE_DETAILS_KEY" | translate}}

+
+

Dose 1

+
    +
  • Date: {{dosages.dose1.date | date: 'MMM dd, yyyy'}}
  • +
  • Vaccine Name: {{dosages.vaccineName}}
  • +
  • Manufacturer: {{dosages.manufacturer}}
  • +
  • Lot Number: {{dosages.dose1.lotNumber}}
  • +
+
+

Dose 2

+
    +
  • Date: {{dosages.dose2.date | date: 'MMM dd, yyyy'}}
  • +
  • Vaccine Name: {{dosages.vaccineName}}
  • +
  • Manufacturer: {{dosages.manufacturer}}
  • +
  • Lot Number: {{dosages.dose2.lotNumber}}
  • +
+
+ + + + + + + +
+

{{::"DASHBOARD_COVID19_VACCINE_RECORD_TITLE_KEY" | translate}}

+
+

Details of the vaccine

+
    +
  • Date of Dose 1: {{dosages.dose1.date | date: 'MMM dd, yyyy'}}
  • +
  • Vaccine Name: {{dosages.vaccineName}}
  • +
  • Manufacturer: {{dosages.manufacturer}}
  • +
  • Lot Number: {{dosages.dose1.lotNumber}}
  • +
  • Due Date for Next Dose: {{dosages.dose1.dueDate | date: 'MMM dd, yyyy'}}
  • +
+
+ + + + +
+
    +




  • +
  • Signature/Stamp of Designated Officer:
  • +
  • Name:
  • +
  • Date:
  • +
+
+
+
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_NO_VACCINATION_DETAILS_KEY" | translate}}
    +
+ +
+
    +
  • + {{::"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" + }