Extreme Programming Approach in E-PANJO Design to Support Information Management at Nursing Home

. In addition to carrying out elderly care services, nursing homes also carry out routine work related to information management. This information was obtained from various activities, from the elderly entering the nursing home to leaving the nursing home. This study aims to design an "E-PANJO" application as a tool to support the management of nursing home information. So that the design can produce the proper application and according to the needs, the development used the Extreme Programming (XP) method. XP was chosen because of its ability to support small-scale application development processes. XP is a method consisting of an exploration phase, planning phase, iteration to release phase, production phase, and death phase. The results of this study indicate that XP is effective in supporting the design of E-PANJO as evidenced by a black box functionality test that can accommodate the needs of nursing home information management such as managing information on monitoring health history, elderly mutations, family visits, receiving donations and monthly fees for the elderly.


Introduction
Slowly but surely, everyone will grow old.The inevitability of facing old age (elderly) is a role that will be encountered by everyone.At that time, the quality of life will decrease and experience many changes, both a decrease in the ability to work tissues, organs and body systems [1], mental and social [2].The elderly will be increasingly dependent on their families because of the aging process.For some of the elderly, the opportunity to get attention, assistance, and togetherness with the core family can be rare because their children already have busy lives.The families entrust their parents to a nursing home for the better.
A nursing home is an organization that has the function of caring for the elderly.A nursing home is where the elderly find happiness because they provide all their daily needs.The elderly have time to do their favorite activities, such as worship, sports, and handy crafts, and have many friends [3].In addition to receiving and caring for the elderly who were entrusted by their families, a nursing home also accepts the elderly who are neglected or who have no family anymore.Nursing homes that accept neglected older adults are generally managed by local governments, namely through the social office.Through the social office, the government is responsible for handling social welfare problems, one of which is the neglected older adults [4].
Nowadays, many activities produce a variety of information in each institution, so it is appropriate that information and communication technology (ICT) is involved in its management.Many positive impacts can be obtained because ICT can improve the quality of information services, whether it refers to processing speed, enhancing the quality of information, or using relatively more efficient costs.The technology survey reports that technological sophistication has a large share in the administrative support of nursing homes [5].ICT can enable communication between departments in an organization, ultimately resulting in higher-quality organizational systems [6].One part of ICT that functions to process information is a software application.Software applications are used to process information based on input provided by the user and produce output according to needs.
Panti Werdha Darma Bakti is one of the nursing homes in the city of Palembang.In managing their information, a nursing home has used software applications to record and document activities in a nursing home.These activities include the elderly health monitoring, nursing actions, periodic treatment history report to the family, the elderly food intake menu management, elderly families and orphanages visitation records, elderly mutations records, monthly contributions, and goods or money donations [7].Although the records and documentation of the software application can be used, there are obstacles faced by nursing home staff.The barriers that often occur are that the information is recorded using different applications and stored or documented on different devices, making it difficult for other parties to access the required information.In addition, the nurses still recorded nursing actions for each elderly ineffectively because they carried out two activities: recording on paper forms when traveling to each elderly room and copying them back into the software application on the computer.
This research aims to develop E-PANJO to facilitate nursing homes in managing information.E-PANJO is an innovation in the form of a web-based software application with centralized data storage designed to assist the operation of nursing homes related to information management.The benefits are not only limited to making the work of a nursing home staff easier but further providing benefits in improving services to the patient's family, facilitating the provision of more detailed information for nursing home management and related parties such as orphanage donors and social services.So that the applications built later can run optimally and according to needs, this research will adopt the extreme programming (XP) system development method.The XP method was chosen because it is suitable and work well in small-scale application development project [8].Besides, it is agile and accommodates fast application development [9].In addition, it can improve software quality by using the standards of software engineering [10].

Theoretical Framework 2.1. Nursing Home
In the Big Indonesian Dictionary [11], a nursing home is a house where the elderly are taken care of and given care.The Ministry of Social Affairs of the Republic of Indonesia defines a nursing home as a place or institution for elderly social services with a boarding system.Nursing home services include the provision of adequate housing; life insurance such as food, clothing, and health care; recreation; mental, social, skills, and religious guidance; and funeral management.This service is provided with the aim of protecting the elderly to improve their quality of life and welfare of the elderly [12].A nursing home provides health care services that provide a sense of security so that the elderly do not need to feel anxious or anxious in facing their old age [7].The support facilities provided help the elderly to be more flexible in their activities and socializing so that the elderly achieve greater prosperity and happiness.

Information Management
Information management is managing information from one or many sources and managing that information for one or many people [13].Information management includes the organizational operation, technology, people, and those that create, acquire, integrate, organize, store, disseminate, get admission to, and eliminate information.[14].

Extreme Programming
Extreme programming (XP) is one of the many software development methods that adopt the concept of agile.Apart from XP, several other methods adopt agile concepts, including the Test-Driven Development (TDD) method, the Feature Driven Development (FDD) method, the Scrum method, the Dynamic System Development Model (DSDM) method, and the Crystal method [15].Each method carries out different practices and has characteristics adapted to the project being worked on [16].Each method has a difference in choosing the set of terminology as well as the appropriateness of the required practice [17].Agile methods provide a fast development path to deliver high-quality software [18].Agile methods are conceptual frameworks for engineering software with iterative and incremental interactions throughout the development life cycle.This concept aims to adopt change without risking the process or minimizing redundant rework [15].Agile development methods focus on customer satisfaction, team collaboration, software functionality [9], and the ability to accommodate changing requirements even in later development phases [19].
XP has five basic principles suggested by Kent Beck to assist the development of highquality software within a predetermined time limit: communication, simplicity, feedback, respect, and courage [16].These principles serve as a guide for developers to focus more on communicating with clients and teams, keep designs simple and clean, regularly get customer feedback from the start on each test, deliver and implement as early as a possible working software module and consistently implement changes in a timely manner when requests arise [20].XP is one method that is widely used, especially for a small software development project [21].In addition, XP is flexible in the modeling process and primarily aims to reduce costs if requirements change during the development process [22].There are several advantages provided by this method [21], among others are: -Can produce high-quality software in a shorter time and at a lower cost.
-Able to adapt quickly to changing needs, it helps small companies to implement strategies in the software improvement process.-This method covers several best practices, including pair programming, on-premises clients, collective code ownership, integration, and continuous testing.-Being able to increase productivity through rapid feedback through extreme levels of practice leads to more responsive software; multiple versions can be created each day and only accept tests if they pass [23].-Improve software quality through test development before integrating features into the system [23].-Maintains simplicity through constant code refactoring and supports incremental development through small and frequent system releases [24].On the other side, XP also has limitations, including: -XP uses user stories as a document written to detail the need of the system [25].This is important for the developer to store each user's story as a project's particular requirement.-Regular meetings between the developer and customer are held to speak about numerous vital adjustments [25].It is effective but time-consuming.-Test-driven development practices require additional technical training for relevant team members [24].-XP cannot support distributed teams because it focuses on communities and shared locations [23].
In the XP method, there are six phases [24] the stages to be followed, these phases consist of: 1. Exploration Phase In this phase, the client will be positioned as an essential part of the team responsible for making decisions about requirements and features based on user stories about what should be in the first release.Clients are asked to provide a short list of business needs and priorities in written form on a story card [16].The project team will be introduced along with available resources, such as tools and technology, so the client is familiar with them during the project process.The next stage is to make a sample system prototype to test the technology and discover possible system architectures.

Planning Phase
In this phase, the calculation of the estimated effort and the making of a schedule based on an agreement with the programmer is carried out.User stories will be a priority for a realistic plan and its subsequent iteration activities [16].

Iteration to Release Phase
In this phase, development tasks are carried out on a peer-to-peer basis, including design, coding, testing (unit testing), and integration [16].Several iterations will occur in this phase; the first iteration aims to create the overall system architecture by selecting the appropriate story.The next stage is the testing and functional development of the user, which is then run at the end of each iteration.Testing is a fundamental part of troubleshooting to determine the software's strengths and weaknesses.In addition, testing can also be used to project the new XP framework [26].The results of the last iteration will be used as a system ready to be released and used.The primary practice in this phase is pair programming and refactoring.Developers (pair programming) work together to write, observe, develop, and review code.Refactoring is used to improve the software, making it simple and maintainable by reconstructing the code without changing its functionality [27].Refactoring is used to eliminate duplication, add flexibility [24], or rename code variables and functions for better understanding.

Production Phase
In this phase, the first released product will be sent to the client by conducting additional testing and evaluating product performance.The client is asked to provide feedback on the work done.The team will be restructured for the development project in the next iteration [16]. 5. Maintenance Phase Changes from previous product releases were made in software to exceed client expectations [16].In this phase, the latest product releases are carried out for the changes that have been made.6. Death Phase In this phase, the final release of the product is carried out because no more changes are requested because the final software is in accordance with the wishes of the client [16].An explanation of the stages of XP is shown in Figure 1 below.

Methodology
This study aims to design the E-PANJO application, which will adopt several stages of the XP method in the design process.The description of these stages is shown in Figure 2 below.

Exploration Stage
At this stage, the requirements of nursing home users are determined and followed by recording the user story, which is summarized in three parts: the title, description, and acceptance criteria [28].

Planning Stage
At this stage, priority scale activities are carried out based on user stories obtained from users.After that, it continued by making application development design documents using Unified Modeling Language (UML) diagrams consisting of Use Case Diagrams, Class Diagrams, and Activity Diagrams and modelling database structures using Relationship Diagrams (ERD).Use Case Diagrams are used to describe the needs of each actor/user involved in the application, Class Diagrams are used to define class structures and their relationships, and Activity Diagrams to describe application activities designed based on Use Case Diagrams.

Iteration to Release Stage
At this stage, the programming language coding process, interface design, refactoring, and program unit testing are carried out at the end of each iteration.The final test output from the last iteration will be used as an application to be produced.

Production Stage
The product will be sent to the user at this stage by first testing the program's functions, interfaces, and database access through black box testing.After testing, users are asked to provide feedback about the app.This user assessment will be the basis for the next stage, whether it is in accordance with all their needs or whether it is still necessary to add additional functions or application features.

Final Release Stage
At this stage, the final product release will be carried out because no more user requirements need to be added to the application.

Exploration Stage
From the results of direct observations and interviews, information was obtained that the users in a nursing home consisted of nurses, administrative staff, financial staff, and leaders.Each has different duties and responsibilities.The following are the results of determining the needs obtained from recording user stories shown in Table 1.

Description Admission Criteria
Nursing actions for the elderly by nurses.
As a user, i want to be able to record data on nursing actions for the elderly so that families can receive these reports periodically.
The application provides features for recording, storing and reporting nursing actions that contain information on time, complaints, actions and the officers who handle them.
Administrative management by administrative staff.
As a user, i want to be able to manage administrative activities to make it easier to do, such as ease of recording and compiling orphanage information.
The application provides features for recording, storing, and reporting data related to elderly entry data, elderly mutations, employee data, donor information, elderly family visit data, and elderly food intake menus.
Financial recording by financial staff.
System registration by the leader or system admin.
As a user, i want to be able to record financial transactions related to elderly contributions and donations to make it easier to manage the financial data of the orphanage.
As a user, i want to be able to manage information on the orphanage and register users into the application so that they have access according to their duties and authorities.
The application provides a feature of recording information regarding monthly contributions by elderly families which includes the date of payment, the amount of payment and the method of payment.In addition, there is also a feature of recording the receipt of donations in the form of money or goods.
The application provides user management features that function to access features according to their respective duties and authorities.The feature must have the ability to reset the password if one day the user forgets the password.

Planning Stage
Based on the user story obtained in the previous stage, the system needs and the actors or users involved can be described through the use case diagram.Figure 3 shows an example of a use case diagram for administration service by administrative staff actors.

Figure 3. Use Case Diagram of Administrative Staff
Class diagrams are part of the structure diagram.Class diagrams describe the structure of the system in terms of defining classes (class names, attributes, and operations) and the relationships between classes that will be created to build the system.The class diagram display can be seen in Figure 4.

Figure 4. Class Diagram E-PANJO
To explain the description of the behavior of the system, an activity diagram is needed which is made based on a use case diagram that has been designed previously.Figure 5 shows user activities in managing elderly data such as adding, changing, deleting to printing elderly data.

Figure 5. Activity Diagram of Managing Eldery Data
From the results of the needs analysis that has been done, a relational entity design is made in the database shown in Figure 6 Entity Relationship Diagram below.

Iteration to Release Stage
At this stage, the coding process is carried out using the PHP programming language (CodeIgniter framework) and MySQL database.In addition, the interface design process is carried out through a mockup which is then followed by unit testing of the program through a prototype.The test results from the last iteration will later be used as an application to be produced.The mockup design details from the last iteration are shown in the following images.Figure 7 shows a mockup design for the dashboard.

Testing Activities
The main dashboard page displays a summary of nursing home information.
The application displays a summary of information on the number of elderly data, visits, donors, and donations of goods.

According to Purpose Valid
Selecting menus and sub menus to display the desired web page.
Displays the page based on the selected menu or sub menu.
According to Purpose Valid

Release
After reviewing all the features based on the suitability of the functionality of the user's request and seeing that there are no more errors, the process will end, and the application ready to release.The released application is named "e-Panjo", an abbreviation of "Eletkronic Panti Jompo" which means electronic information management in nursing homes.

Conclusion
The Extreme Programming (XP) method is a structured method that is effective in supporting the design of applications with small scalabilities, such as the E-PANJO Application.From the adoption of the XP method, an excellent result was obtained where the E-PANJO application was able to accommodate every information management need of a nursing home through the iteration stages.E-PANJO provides information management functions in terms of organizing information that occurs in nursing homes, such as making it easier for nurses to monitor the health history of the elderly, making it easier for administrative officers to record and monitor family visits and elderly mutation, and making it easier for financial officers to record receipts of donations and monthly fees for the elderly.This can be seen from the user's acceptance of the application's function, which is shown through the results of black box testing.Tests show that the application functions in accordance with the expected goals.

Figure 7 .
Figure 7. Mockup Dashboard Design 4. Production At this stage, black box testing is carried out with the aim of seeing program functions, interfaces and database access.The results are shown in Figure 8 and Table2.