Hospital Patient Medical Records Information Project App

Introduction

Information and communication technologies (ICTs) have great potential to improve health in all countries by enhancing access to health information and making health services more efficient. Mobile applications (apps) and other related software can also improve the quality of services and reduce their cost. The aim of the Patient Medical Records Information project was to enable health care practitioners such as doctors and nurses working in hospitals to be able to retrieve patient medical information remotely on any mobile device.

In this Patient Medical Records Information report, I will outline the research I conducted in choosing various technologies. I will discuss the problems I encountered and the solutions I came up with to overcome these issues in creating the specific application. I will also discuss the many technologies I used in the creation of the app including a data model representing the design.

The architecture of the solution

The overall structure of the solution is that the mobile app is being created for the hospital to maintain patients’ records and keep nurses and doctors up to date without carrying heavy paperwork around with them. The technologies I used to create this app suggested by my supervisor were Ionic, PHP, Angular JS, JavaScript, and MYSQL.

PHP provides integration of general-purpose programming and web-development scripting language. It is suited for server-side web development, and scripting and is used for professional websites. AngularJS is used for dynamic web apps and allows you to use HTML as a template language extending HTML’s syntax to express the application’s components clearly and concisely (Docs.angularjs.org, 2016). I chose both PHP and AngularJS because I had very limited knowledge of how they work and I wanted to improve my knowledge and skills in using them and they were also free. 

JavaScript is a programming language used to make web pages interactive (Chapman, 2016) and MYSQL Database is an open-source relational database management system (RDBMS) based on Structured Query Language (Search EnterpriseLinux, 2016).  Both of these programs were chosen because my supervisor requested me to use them and they were also free to use. Finally, Microsoft AZURE Cloud storage is open cloud storage, flexible, enterprise-grade cloud computing platform (Azure.microsoft.com, 2016). I decided to use this platform as my supervisor provided it to me free of cost I researched it and I found a lot of information online to help me complete this project.

The clients who are the doctors and nurses wanted to be able to log in to a mobile app to retrieve information in relation to patients. Firstly the doctors’ requirements were to be able to see all of the patients registered to him/her and the associated patient information. Nurses wanted to be able to log in and see all patient files and associated information as they worked with all patients. The second requirement was that once the doctor/nurse logged in to the mobile app they would have the ability to update the patient records for example blood pressure, heart rate, types of medicine, etc and they could also add notes or remarks. When the remarks and related updated information is added to the mobile app it then updates all the medical history and notes related to the patient. Furthermore, once the doctor/nurse checks the patient’s information in the future the patient’s information will be updated which makes it an effective and efficient method in contrast to multiple physical files.

The Hospital Patient Medical Records mobile app itself is written in AngularJS and JavaScript and through the HTTP requests the mobile app sends the requests to the PHP and the PHP then retrieves the data from the cloud MYSQL and transmits the data back to the mobile app.

Class diagram and Data Model

Through the HTTP requests the mobile app sends the requests to the PHP and the PHP then retrieves the data from the cloud MYSQL and transmits the data back to the mobile app. I designed the mobile app using these technologies as it was a requirement of the project given by my supervisor.

Technologies used

The technologies used included:

  1. JavaScript
  2. PHP
  3. AngularJS
  4. MYSQL Database
  5. Microsoft AZURE Cloud storage 
  6. Ionic

I chose both PHP and AngularJS because I had very limited knowledge of how they work and I wanted to improve my knowledge and skills in using them and they were also free. 

JavaScript and MYSQL Database were chosen because my supervisor requested me to use them and they were also free to use. I utilized Microsoft AZURE Cloud storage as my supervisor provided this platform to me free of cost and I researched it and found a lot of information online to help me complete this project.

Problems Encountered/Solved

At the beginning of the Patient Medical Record project, I was overwhelmed with the task at hand as I didn’t know where to start or what to do, so my project supervisor guided me and gave me advice about how to commence the project and what to do to begin.

The first time I tried to retrieve the data from the database it took me 4 days to retrieve it. Subsequently, I spoke to one of my colleagues and my project supervisor and did some research online and I figured out how to retrieve the information more efficiently and effectively.

Time management was an issue because I had many assessments to do and I left work late and I was running out of time in the end. For example during the Easter break, I had numerous projects due so I found it difficult to allocate time to all of the different assessments. I also wasted my time using a Google database called Firebase at the beginning of my project but later on, I decided not to use it because of the project requirements, and as a consequence, I wasted 2 weeks.

Also in relation to time management, I didn’t anticipate how time-consuming the research from the project would be. E.g. it took me a number of days to understand PHP and learn how to write a PHP script that could talk to the database. AngularJS was never taught in college so I had to take the time to teach myself. Although I completed the project in the allocated time I learned the importance of organization and prioritizing work.

Conclusions

Mobile technologies are emerging as a powerful tool for health information transfer including making patient information portable and accessible. I gained a lot of experience from using the 4 technologies and I believe I have the capability of using them if needed for future projects or for employment purposes.

I am also aware of how to solve specific problems and how to research these problems e.g. in relation to database retrieval or how to successfully manage my time. I recognize that I can overcome difficulties and achieve my goals successfully by being persistent, organized, and patient. Although working in isolation on individual projects it is important and is a necessary part of employment it is important to seek advice or guidance from superiors or colleagues that may shed light on an issue or provide a new perspective.

Recommendations

In terms of further developing the Hospital Patient Medical Records Information Project App, it could be linked to local GPs, pharmacies, and other health care providers so there is a complete holistic picture of the patient and his/her medical history. I would also have managed my time better as I was under severe pressure and time constraints and this may have affected the quality of the end product.

Online Restaurant Food Ordering & Management System Python Project

Online Restaurant Food Ordering & Management System works as a restaurant hub where people can browse and order food online easily. Nowadays, many people especially the young generation, often want to order food from restaurants online with a home delivery service. Thus, we built a restaurant management system where all the restaurant’s information and services will be available. We also offer deliverymen will deliver the food as well, in case a restaurant does not have delivery support.

Users of the Project

This Online Restaurant Food Ordering & Management System has four (4) kinds of users. They are:

  • Customers
  • Restaurant Managers
  • Restaurant Branch Managers
  • Deliveryman

Apart from the users, there is a superuser named admin. Anyone can connect to the system as a customer, restaurant manager, or deliveryman. admin will verify the Trade Licence No. and many other details of a restaurant before connecting it to the system. Similarly, a deliveryman will also get checked by the admin about whether s/he is capable enough to work as a deliveryman.

Project Features

Many features are implemented in the project. Among these, the key features of our project are as follows.

  • Dashboard for the restaurant managers
  • Search and filter food items
  • Our delivery module
  • Bi-directional rating system between deliveryman and customer
  • Offers and Discounts
  • Rating and review submission system

User Guide

This is a sample user guide that will work as a walk-through of the major functionalities of the Online Restaurant Food Ordering & Management System website. As mentioned above, there are 4 kinds of users in this system. A user guide is provided for each kind of user below.

Customer User Guide

Restaurant Homepage

Most of the users of the website will be in this category. Initially, a customer will be able to browse through the website even without a login. Thus, every time a customer enters the website, the customer home page will be loaded.

Customer Location Prompt

But when the customer will try to order something from the website, a location prompt will appear.

Customer Registration

After entering the location, the customer will be able to browse the website as before but cannot order until login/register is done.

View Restaurants

While browsing the items, a customer can filter the items via many different search categories. Among these, on the Restaurants page, a user will be able to see only the restaurants that are close to him/her.

Browse Cuisines

Also, on the Browse Cuisines page, a user can browse items based on many filters and search options. For example, a user can filter the items based on ratings on the items, price range, etc.

Branch Unavailability

Depending on the location, restaurant branch availability will be determined and some of the restaurants may not be able to deliver to the intended location of the customer.

Adding food to cart and Checkout

After browsing, customers can order from a nearby restaurant, check out the cart, and then the customer will be taken to the checkout page where delivery details will be asked for.

Payment method

Customers can use either cash on delivery or an online payment method.

Order Placing notification

At this point, an order has been placed. Now it will be approved by the restaurant manager. Usually, the manager approves the order within a short time. By this time a notification will appear stating that the order has been placed and sent to the restaurant authority.

Rate the Deliveryman

By this time the customer can browse through the website and wait. As the order information keeps getting propagated, the customer will be getting notifications for his order. Once the deliveryman arrives with the order, the customer will be able to rate the deliveryman for the service on the homepage.

Rate and Comment Items

Also, a customer can rate a particular item of a restaurant by clicking on View Item in that item while browsing. S/he can also provide feedback as a comment.

Restaurant Manager User Guide

Manager Register

A restaurant manager will need to open up an account as a restaurant manager on the website. The registration form will look like this. When the admin approves the request, an email is sent stating the activation of the account.

Restaurant Manager Homepage

On the restaurant manager’s homepage, there will be a key to identify the restaurant. This key will be used for opening up the restaurant branches.

Restaurant Branch Creation

Opening up a restaurant branch is just the same as opening up a new restaurant. On the restaurant register page, there is also an option to create a restaurant branch. Providing all the relevant fields along with the restaurant key from the restaurant manager homepage (mentioned above), a new branch of the restaurant can be created.

Add Items

A restaurant manager can add items to his restaurant. In the Add Item tab, the manager will be able to introduce a new item in the restaurant.

Manager Dashboard

Also, a manager can see the restaurant statistics on the Dashboard page. The Dashboard page contains many of the common statistics which will help him understand the restaurant sales progress. Outlet revenue, sales trends in different branches, etc. are shown on this page.

Restaurant Branch Manager

A restaurant branch manager will be in charge of a branch of a restaurant. So, his role on this website is also different from a Restaurant Manager. When the restaurant manager sets up the profile for the branch manager, she/he can manage this branch independently.

Item Availability in the branch

The Branch Manager can declare which items are currently available on the homepage.

Add offer

The Branch Manager can add offers on an item by clicking on that item.

Manage and Accept Orders

This is the most important task of a branch manager. Whenever a customer orders something, the order request comes to the branch manager who has to accept it and forward it to the deliveryman.

Deliveryman User Guide

In our system, anyone can become a deliveryman if s/he is willing to be. Anyone can open up a profile on the website as a deliveryman, but it will need approval from the admin.

Deliveryman Register

While opening an account, the delivery man has to assign himself/herself to one of the zones. S/he will be getting deliveries for that zone only.

Deliveryman Homepage

Once logged in, a deliveryman’s homepage will have currently pending requests of orders in his/her zone. To take an order for delivery, the Take Delivery button is to be pressed.

Complete the Delivery Process

Then, that order entry will be updated and will be waiting for the delivery man to pick up and deliver. Once delivered to the customer, the deliveryman needs to press the Mark As Delivered button. This will also prompt the deliveryman to rate the customer for his/her behavior.

Previous Deliveries

For a deliveryman who has been on the website and delivered many orders, s/he can check all his/her past deliveries in the Delivered Order.

Tools and Frameworks

Frontend

HTML, CSS, Bootstrap
Javascript, Angular JS, JQuery, Google Maps API

Backend – Django

Database – Postgresql v10.2

Specifications:

  • Web Framework: Django 2.2
  • Database Server: PostgreSQL 12.3

Visit Here and download the complete Online Restaurant Food Ordering & Management System Python Project