Appointments Scheduling UI Module

This is the older documentation for setting up of Appointment Scheduling. Most likely if you are using Bahmni v0.80 or above, you need to be reading this document: Appointments Module (Implementers Guide)

 

  1. Set FACTER_deploy_bahmni_appointments=true for Appointment Module to be installed
  2. Adding Appointments App to Bahmni Home Dashboard
    1. Example of Configuration

      Add the following configuration in your "extension.json" (->/default-config/openmrs/apps/home/) file

      {
         "id": "bahmni.appointments",
         "extensionPointId": "org.bahmni.home.dashboard",
         "type": "link",
         "label": "Appointments",
         "url": "../../openmrs/appointmentschedulingui/home.page",
         "icon": "fa-user",
         "order": 11,
         "requiredPrivilege":  "App: appointmentschedulingui.home"
      }

       

       

    2. Privileges
      There are many privileges that are associated to Appointments Scheduling UI Module. We should add this privilege "App: appointmentschedulingui.home" to the configuration to provide the user with the ability to view the appointment app on the home page.

Using appointment module:

If you want to use appointment module in your implementation, then you should add a database migration to add two person attributes that are required by the appointment module to function correctly. They are 'Telephone Number' and 'Unknown patient'. For example, https://github.com/Bhamni/jss-config/blob/master/openmrs/migrations/liquibase.xml#L1706

  1. Add a migration in the bahmni_config/openmrs/migrations folder.
  2. These migrations can be added directly to the liquibase.xml file or other based on your migrations folder structure.
  3. The migration should contain the following two changesets.

    Changesets to be added
    <changeSet id="IMPL-PERSON-ATTRIBUTE-TELEPHONE-NUMBER" author="Swathi, Jaswanth" context="rel0.76">
        <preConditions onFail="MARK_RAN">
            <sqlCheck expectedResult="0">
                SELECT COUNT(*) FROM person_attribute_type where name = 'Telephone Number';
            </sqlCheck>
        </preConditions>
        <comment>Adding Telephone Number person attribute type</comment>
        <sql>
            INSERT INTO person_attribute_type (name, description, format, searchable, creator, date_created, retired, sort_weight, uuid) VALUES ('Telephone Number', 'Telephone Number', 'java.lang.String', '0', 1, now(), 0, 3, uuid());
        </sql>
    </changeSet>
     
    <changeSet id="IMPL-PERSON-ATTRIBUTE-UNKNOWN-PATIENT" author="Swathi, Jaswanth" context="rel0.76">
        <preConditions onFail="MARK_RAN">
            <sqlCheck expectedResult="0">
                SELECT COUNT(*) FROM person_attribute_type where name = 'Unknown patient';
            </sqlCheck>
        </preConditions>
        <comment>Adding Unknown patient person attribute type</comment>
        <sql>
            INSERT INTO person_attribute_type (name, description, format, searchable, creator, date_created, retired, sort_weight, uuid) VALUES ('Unknown patient', 'Unknown Patient', 'java.lang.String', '0', 1, now(), 0, 3, uuid());
        </sql>
    </changeSet>