Development of a Multi-feature Web-based Physiotherapy Service System

Physiotherapy is important to people with arthritis, and physiotherapists help them to resume or continue active, independent lives at home and work. Physiotherapy addresses many pain categories; however, this important treatment is still overlooked in Bangladesh, where many people suffer from physical pain. This study presents a multi-feature web-based physiotherapy application. A user can register as a doctor or patient via email or phone using the web application. A therapist’s information is verified manually by a system administrator. Using the application, patients can select a variety of features for treatment. Patients can watch physiotherapy video tutorials, find a physiotherapy clinic within 5 km, consult with a physiotherapist on a video call, and make appointments for a therapist to provide service in their homes.


Introduction
The physiotherapy treatment process focuses on recovering from an illness, injury, or disability. The therapists themselves make both clinical and treatment judgments and decisions. With patients' history and past reports, therapists constantly reevaluate treatment results and modify their approaches [1]. Physiotherapists promote a healthy lifestyle and treat problems resulting from illness, injury, pain, and age. They work with arthritis, back pain, spine injuries, and even mental health issues [2]. Their main goal is to rehabilitate people with debilitating conditions and promote their healthy return to society. Physiotherapists work in diverse settings such as hospitals, medical teams, the community, and health centers.
the Bangladesh Bureau of Statistics, 7.5% of the population are older people, that is, over 60 years of age [6]. Care for older people is essential, as their bodies start to wear out slowly, causing loss of strength, mobility, and flexibility, and intervention by a qualified physiotherapist can help alleviate physical issues experienced by older people. A physiotherapist can assess health conditions and decide on a suitable exercise program. Physiotherapy is needed for Parkinson's disease (PD) patients and athletes [7][8][9][10]. PD is the most common form of movement disorder, affecting 1%-2% of the population over 65 in Bangladesh. Scientific evidence shows that early implementation of exercise programs, regular practical assessments, and identification of rehabilitation priorities can help prevent PD conditioning complications. Progressive resistance exercises have proved useful to improve and maintain the mobility of those with mild to moderate PD. Overall suggestions for PD patients are to maintain follow-ups with adept neurologists and to carry on with physiotherapy treatment and rehabilitation programs under the direction of a qualified neuro-physiotherapist. As a third-world country with a considerable population, Bangladesh has a large number of people with a low socioeconomic background. Bangladesh has a great need for physiotherapy and a significant shortage of physiotherapists.
As most physiotherapy clinics are in urban areas, village dwellers in Bangladesh are unaware of physiotherapy. An innovative solution is to provide these services online, which has several advantages. First, it saves the patient's time, such as the time required to negotiate immense traffic in Dhaka city. Second, teletherapy saves money. Lastly, online physiotherapy allows therapists to connect to people living in rural areas.
Many websites in the United States, India, and the UK offer teletherapy services [11], as does a Nigerian website [12]. In India, Reliva offers web-based teletherapy services, including live video with a therapist, with an assessment, diagnosis, and prescriptions when necessary [13]. Users can also view therapy tutorials, find a nearby clinic, and make an appointment for a therapist to visit the home.
In Bangladesh, a patient sees a physiotherapist if a senior doctor suggests it [9]. There are various physiotherapy clinics that patients can visit in Bangladesh [14]; however, there are no online physiotherapy services. Such a service can help patients to save money, travel, and hassles. Seventy percent of the population lives in villages, where physiotherapy service centers are not available [15]. Hence, patients must travel to the city at great expense in terms of money and time. It is also difficult for underprivileged rural people, especially the elderly, to travel to the city. Online physiotherapy service would greatly benefit these people.
The remainder of the paper is organized as follows: Section 2 discusses materials and methods. Section 3 provides results and analysis. Section 4 provides conclusions and suggests future work.

Introduction
Herein, we discuss methods and materials, system architecture, and necessary software.

Web-Based System
Website features include an introduction to physiotherapy, tutorials, search function for nearby clinics, live video calls with a physiotherapist, and appointment scheduling for physiotherapist visits to the home. Anyone can access all features except video chatting and appointments, which are available only to registered users. Fig. 1 shows the system structure. A web application on a cloud-based server has both patient and doctor accounts. A patient can see a list of doctors and choose one for an appointment or video call. Physiotherapy tutorials facilitate self-help and exercise. Patients can view a list of physiotherapy centers within a radius of 5 km. The doctor/therapist account provides a profile for the doctor/therapist. Doctors can view their schedules of patient appointments.

System Architecture
The website is built with Python in the Django framework. Django has a Model-View-Template software architecture pattern, which is used to develop the web application. The system has three parts.

Model
The model acts as a system interface. It is responsible for maintaining data. It contains the logical data structure working in the application's back end and a database to represent relational databases such as MySQL and Postgres.

View
The view is the user interface (UI). It represents what the user sees when a website is rendered. Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), and JavaScript (JS) files are used to represent the view.

Template
A template consists of static parts of the front-end HTML files and syntax to describe how dynamic content is inserted [16].

Use Case Analysis
Use case analysis (UCA) is used to identify a system's requirements and the information to define implemented processes. UCA also defines classes that are used in the use case diagram and the overall use case.

Use Case for Patients
The system allows the patient to understand the nature of physiotherapy and to find the types of physiotherapy available in Bangladesh. The user can refer to various physiotherapy tutorials and check on a map for a physiotherapy clinic within a radius of 5 km. Certain parts of the website are visible but accessible only upon registration and logging in to the system. A user can make an appointment to chat by video with a for a doctor/therapist to administer home treatment.

Use Case for Therapists
A rigorous process is required to register as a doctor/therapist on the system. A physiotherapist must be registered on the physiotherapist database of the Bangladesh Physiotherapy Association (BPA) [17]. The name used there, and the identification (ID) obtained must be registered as a doctor/therapist in the physiotherapy service system and all other necessary information such as email, phone number, national identity card (NID), and field of study must also be entered. Doctors see the website in a similar way to patients except that they have an appointment schedule. They must be present in the virtual chamber to be available to a patient for video chatting at the appointed time.

Use Case for Admins
The admin registers in this system as a superuser, and has a dashboard enabling a view of all pending registration requests. The admin does not have to do much work to register a patient, but to register a physiotherapist, the admin visits BPA and checks the database for the physiotherapist's ID and name. If the physiotherapist's credentials match, then the admin approves the physiotherapist as a registered therapist. The admin can also edit, delete, and create new users from the dashboard. Fig. 2 shows the software design. A visitor to the homepage has the option to sign up or log in. To sign up as a patient, a user can enter details such as full name, address, phone number, mobile number, and national identity card, and this information is stored in the database. A therapist who registers must fill in two additional fields, the username and ID, as registered in the BPA. A person with a physiotherapy degree and license to practice is registered in the BPA.

Software Design
The system admin verifies the therapist before adding that person to the database. Registered patients and therapists can log in to the system with a username and password, and can then see a list of free video tutorials about exercise and treatment of pain. A patient can also see a list of therapists who are available for contact. A patient can find a physiotherapy clinic within 5 km, chat by video with a therapist, and make an appointment for a physiotherapist to visit the home. A registered therapist has a dashboard showing a list of patients who have booked appointments. The therapist can initiate a video call and chat with a patient at the designated time, and can see if a patient has booked a home appointment.

Front End Tools
A template from html5up is used to create the front end of the physiotherapy website. HTML, CSS, and JavaScript are used in the front end. Using this, users can create and structure sections, paragraphs, headings, links, and blockquotes for webpages and applications. CSS is used to beautify webpages by giving them colors and emphasis. Collections of webpages make up a website. JavaScript is a programming language used to define the elements in a web page, such as what happens when a button is clicked or how data are fetched as required by the website. 46 IASC, 2021, vol.29, no.1

Back End Tools
The back end makes a website dynamic, allowing it to save data or perform meaningful functions. The back end also structures webpages and transforms them into a website where data can be sent, saved, or received. The system is built with Python, with a Django framework, which organizes and structures individual webpages to convert them to a website to be hosted in a domain. Django is used for this project because of its modular behavior and huge scalability. The database used to store the information of all the users is Sqlite3, which is built into Django and follows structured query language to store data. Google Maps and Places Application Programming Interface (API) are used for location accessibility. An API key is generated on the Google console and used on the website. Agora.io is used for video calling. The admin is given all the website controls, which allow create, read, update, and delete (CRUD) operations of users from the Django administration panel. Fig. 3 shows the user's landing page, visible to a user who is not logged on. On the left side is a sidebar that shows the options to display the homepage itself and the link to BPA. There are buttons at the top-right corner to log in a registered user or signup as a new user. The image section is a slideshow panel whose three images change each four seconds. There is a subtitle of the website and a description of physiotherapy. Clicking the "learn more" button takes the user to a page with a detailed description of physiotherapy and who requires it. Fig. 4 shows the video tutorial segment of the website. A few physiotherapy exercise videos are taken from YouTube and attached with iframe tags. All functions of YouTube videos, such as volume, video quality, and full-screen options, apply to these videos. This section provides a playlist addressing some common pain problems and exercise solutions, enabling users to help themselves with minor or sudden pain problems.   5 shows the login page. Two fields enable login using a registered email ID and password to access the website's additional features. A user without an account can click on the "create an account" link. A user can return to the landing page by clicking on the "back to home" link.   Fig. 6 shows the signup page. Below the "Registration Form" heading are options to select "Patient" or "Doctor." The form for doctor registration is shown in Fig. 6. Here, the doctor or therapist must fill in all essential information, that is, email, password, full name, and membership ID. The doctor/therapist and patient log in to the website using an email and password, but a doctor must also enter their full name and BPA membership ID. For a therapist to register may take up to 24 hours, as an admin manually verifies the information before the email and password can be used to log in.   Fig. 7 shows the admin panel. An admin can view a list of all admins, doctors, and patients. The admin verifies a therapist from here and saves it to the database. The admin can sort users by patient or doctor status, and can manually perform CRUD operations for any user. Fig. 8 shows the sidebar seen by a user who is logged in. Three more functionalities appear for a registered user, which are "Find a Physiotherapy Center," "Live-chat," and "Call a Therapist Home." These functionalities are discussed below. Fig. 9 shows the functionality of the "Find Nearby Clinics" link. The yellow beach flag represents the user's physical location. Red markers show locations of physiotherapy clinics within 5 km of the user. Upon clicking a red marker, the name of the associated physiotherapy clinic is displayed. The plus and minus signs are used to zoom in or out, respectively, for a better view. The yellow human model can be dragged and dropped onto any location to enable a street view. The box at the top-right corner can be used to view the map in full-screen mode. There are two views of the map: a map view and a satellite view. All these features of the map are implemented using Google Maps and Places API, which are integrated in the website. The beach flag displaying the user's location is a custom marker available from the icon library of the Google Maps API.  The map shows the nearest and best physiotherapy clinics for the user, which saves the time to go through a list of clinics. It should be noted that when accessed from a desktop, the map shows the internet service provider's position and not the user's accurate position. Fig. 10 shows the process of a video call with a registered therapist. From the sidebar options, the link takes the user to a list of available therapists. By clicking on the small phone icon under the grayed-out image area, the user is redirected to the video calling module (Fig. 10). Fig. 11 shows the conditions to be fulfilled before placing a call. The user must paste in the app ID and the token from the video calling service. The chamber name is shown to the recipients of the video call. All information is provided to the patient and therapist by the system admin before placing a call. After filling in this information, the user can change the video quality from the advanced settings. The video streaming quality depends on the bandwidth, and it is best to set the quality at a minimum. Neither user has to be concerned with the "Publish" and "Unpublish" buttons. The user must press the "join" button after completing the information and the "leave" button to leave a conversation.  The system allows patients to consult a therapist through a video call from the convenience of their homes. Although intended for sick people who cannot move or commute, busy patients also may benefit from this feature. The development of this feature satisfies developing software as a whole. As mentioned earlier, 70% of people live in villages where physiotherapy facilities are unavailable, and this video calling feature is a great help to them. Fig. 12 shows how a user can make an appointment for a therapist to visit the home. Clicking on "Call a Therapist Home" redirects the user to a list of therapists available to visit the patient's home. The patient can click on the home icon below a doctor's grayed-out image, which prompts the user to provide an address. The therapist then schedules an appointment to visit the patient's home. Security is an issue, as users are allowing an unknown person into their home. A security clearance is provided by the website admin, as the therapist must register with a valid license and national ID number.

Conclusions
We presented a multi-feature web-based physiotherapy service system for Bangladesh, a third-world country whose many manual laborers tend to have physical pain. Treatment with medicine is expensive and can have adverse effects, and this can be avoided with physical therapy. With the application presented here, people needing physiotherapy can benefit from a smartphone. Disabled people who live a painful life can receive assistance by home visits from therapists. The website can create revenue by keeping a commission from therapist consultation fees. Almost every home has a smartphone available, and rural residents can use this to access this vital healthcare system. A therapist's physical presence is needed by people with disabilities who cannot move on their own, and the online appointment system is a good option. Doctors can demonstrate exercise or treatment plans to rural residents through the video call system. Future work might include translating the entire website to Bengali. The system is innovative from an economic point of view, producing earning opportunities for physiotherapists. From the social and health perspectives, it can improve life expectancy and increase living standards. This is a sustainable technology. It reduces the pain of many patients and allows them to lead better lives.