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.

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