Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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

  1. Supported Bahmni Version 0.92.

  2. 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:

    1. appointments-1.2-SNAPSHOT.omod

    2. bahmni.ie.apps-1.0.0.omod 

  3. The kit can be run on a system with concepts having CIEL UUIDs

Assumptions

  1. To roll back the COVID19 vaccine kit, the forms and programs should be manually deleted.

  2. 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.)

  1. 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>
  2. To the file /var/www/bahmni_config/openmrs/apps/clinical/app.json, add the following content under "conceptSetUI": tag

    Code 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
                },
  3. Image Modified

    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>"
                    }
                }
  4. Image Modified

    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
                 }
             }
  5. Image ModifiedImage Modified

    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"
  6. Image Modified

    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"
    
  7. Image Modified

    /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"
  8. 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)

...