...
Covid-19 Vaccination form
Editable functionality for the form to fill second dosage details and any side effects reported after vaccination
Covid-19 Vaccination Certificate (with Print and Preview Functionality)
Prerequisites
Supported Bahmni Version 0.92.
How to upgrade to the latest version - Install Bahmni on CentOS
All new concepts are imported using OpenMRS module initializer. This OpenMRS module needs specific versions of the following modules which will be automatically installed by this package:
appointments-1.2-SNAPSHOT.omod
bahmni.ie.apps-1.0.0.omod
The kit can be run on a system with concepts having CIEL UUIDs
Assumptions
To roll back the COVID19 vaccine kit, the forms and programs should be manually deleted.
After forms and programs are used it is not possible to roll back the changes. Concepts and mappings imported cannot be deleted.
Steps to Deploy Covid19 Vaccine Kit
...
Install Bahmni version 0.92 Install Bahmni on CentOS
Update default concepts with CEIL UUIDs (See Contact US)
Deploy Covid19 Vaccine Kit
Code Block #Download and install RPM file from Github yum install https://github.com/Bahmni-Covid19/bahmni-covid19-kit/releases/download/Release_v2.0.68/bahmni-covid19-installer-0.92-68.noarch.rpm #Install COVID-19 Vccine kit sh /opt/bahmni-covid19-installer/install-vaccine-kit.sh
...
Backup OpenMRS database
Ensure concepts have CEIL UUIDs by running the following script by replacing the username, password and the database:
Code Block # There are few concepts that are already in our database with same FULLY_SPECIFIED name! # Run the below queries to clean up those concepts mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Yes" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "No" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Unknown" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "140238AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Fever" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "143264AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Cough" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "141600AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Shortness of breath" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "158843AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Sore throat" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "139084AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Headache" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "120749AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Chest pain" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "135367AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Malaise and fatigue" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "5006AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Asymptomatic" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Pulse" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "None" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Moderate" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "1500AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Severe" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "73041AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "CEFTRIAXONE" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "71160AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "AMOXICILLIN" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "75222AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "DOXYCYCLINE" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "POSITIVE" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Negative" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Abdominal pain" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "871AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Chills" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "5226AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Weakness" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "80AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Joint pain" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "117399AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Hypertension" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "117703AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Sickle-cell anemia" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "1252BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" where concept_id = (select concept_id from concept_name where name= "Not Applicable" and concept_name_type = "FULLY_SPECIFIED" );' mysql -u<username> -p<Password> <database> -e 'update concept set uuid = "5016AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" where concept_id = (select concept_id from concept_name where name= "Cardiomyopathy" and concept_name_type = "FULLY_SPECIFIED" );'
Deploy Covid19 Vaccine Kit
Code Block #Download and install RPM file from Github yum install https://github.com/Bahmni-Covid19/bahmni-covid19-kit/releases/download/Release_v2.0.68/bahmni-covid19-installer-0.92-68.noarch.rpm #Install COVID-19 Vaccine kit sh /opt/bahmni-covid19-installer/install-vaccine-kit.sh
...
These are the manual steps required as we want to have a new display control on the patient dashboard to see and edit the form and also a new display control to see the vaccine record(in case the patient took only one dosage) or the vaccine certificate(in case of both dosages.)
To file /var/www/bahmniapps/clinical/index.html add the following script:
Code Block <script src="/bahmni_config/openmrs/apps/customDisplayControl/js/customVaccinationCertificateControl.js"></script>
To the file /var/www/bahmni_config/openmrs/apps/clinical/app.json, add the following content under
"conceptSetUI":
tagCode Block "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 },
To file /var/www/bahmni_config/openmrs/apps/clinical/dashboard.json add the following
Code Block "Vaccination": { "type": "custom", "displayOrder": 25, "config": { "title": "DASHBOARD_TITLE_VACCINATION_KEY", "template": "<vaccination></vaccination>" } }
To file /var/www/bahmni_config/openmrs/apps/clinical/formConditions.js add the following:
Code Block '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 } }
To the file /var/www/bahmni_config/openmrs/i18n/clinical/locale_en.json add the following:(if you are using English)
Code Block "DASHBOARD_TITLE_VACCINATION_KEY": "Vaccination", "DASHBOARD_TITLE_APPOINTMENTS_KEY": "Appointments", "DASHBOARD_APPOINTMENTS_SLOT_KEY": "Slot", "DASHBOARD_APPOINTMENTS_SERVICE_KEY": "Service", "DASHBOARD_APPOINTMENTS_SERVICE_TYPE_KEY": "Service Appointment Type", "DASHBOARD_APPOINTMENTS_DATE_KEY": "Date", "DASHBOARD_APPOINTMENTS_PROVIDER_KEY": "Provider", "DASHBOARD_APPOINTMENTS_STATUS_KEY": "Status", "DASHBOARD_PAST_APPOINTMENTS_KEY": "Past Appointments", "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_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"
to the file /var/www/bahmni_config/openmrs/i18n/clinical/locale_es.json add the following:(If you are using Spanish)
Code Block "DASHBOARD_TITLE_VACCINATION_KEY": "Vaccination", "DASHBOARD_TITLE_APPOINTMENTS_KEY": "Cita", "DASHBOARD_APPOINTMENTS_SLOT_KEY": "Ranura", "DASHBOARD_APPOINTMENTS_SERVICE_KEY": "Servicio", "DASHBOARD_APPOINTMENTS_SERVICE_TYPE_KEY": "Tipo de cita de servicio", "DASHBOARD_APPOINTMENTS_DATE_KEY": "Fecha", "DASHBOARD_APPOINTMENTS_PROVIDER_KEY": "Proveedor", "DASHBOARD_APPOINTMENTS_STATUS_KEY": "Estados", "DASHBOARD_PAST_APPOINTMENTS_KEY": "Citas pasadas", "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_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"
/var/www/bahmni_config/openmrs/i18n/clinical/locale_fr.json add the following(if you are using French)
Code Block "DASHBOARD_TITLE_VACCINATION_KEY": "Vaccination", "DASHBOARD_TITLE_APPOINTMENTS_KEY": "Appointments", "DASHBOARD_APPOINTMENTS_SLOT_KEY": "Slot", "DASHBOARD_APPOINTMENTS_SERVICE_KEY": "Service", "DASHBOARD_APPOINTMENTS_SERVICE_TYPE_KEY": "Service Appointment Type", "DASHBOARD_APPOINTMENTS_DATE_KEY": "Date", "DASHBOARD_APPOINTMENTS_PROVIDER_KEY": "Provider", "DASHBOARD_APPOINTMENTS_STATUS_KEY": "Status", "DASHBOARD_PAST_APPOINTMENTS_KEY": "Past Appointments", "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_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"
Log on the openers UI:
Go to the Administration tab
Under Maintenance, click on Search Index
Rebuild Search Index
Then Go to Dictionary tab
Search for All Observation Templates
Edit Concept
Add “COVID-19-Starter, Vaccine Record” to this concept
Save the Concept
Fall back mechanism (To restore the system back to original state before COVID-19 package was installed)
...