{"id":13562946,"url":"https://github.com/andreimargeloiu/Hospital-management-nodejs","last_synced_at":"2025-04-03T19:31:57.046Z","repository":{"id":46170093,"uuid":"83238823","full_name":"andreimargeloiu/Hospital-management-nodejs","owner":"andreimargeloiu","description":"NodeJS web app for managing patients and planning their distribution across hospital’s rooms.","archived":false,"fork":false,"pushed_at":"2017-05-31T16:32:31.000Z","size":6963,"stargazers_count":186,"open_issues_count":3,"forks_count":144,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-06T19:18:44.882Z","etag":null,"topics":["hospital-information-management","hospital-management","javascript","mongodb","mongoose","nodejs"],"latest_commit_sha":null,"homepage":"https://nhs-app.herokuapp.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreimargeloiu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-26T20:35:02.000Z","updated_at":"2024-11-28T19:15:21.000Z","dependencies_parsed_at":"2022-07-19T08:47:28.361Z","dependency_job_id":null,"html_url":"https://github.com/andreimargeloiu/Hospital-management-nodejs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreimargeloiu%2FHospital-management-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreimargeloiu%2FHospital-management-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreimargeloiu%2FHospital-management-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreimargeloiu%2FHospital-management-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreimargeloiu","download_url":"https://codeload.github.com/andreimargeloiu/Hospital-management-nodejs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247065319,"owners_count":20877757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hospital-information-management","hospital-management","javascript","mongodb","mongoose","nodejs"],"created_at":"2024-08-01T13:01:13.696Z","updated_at":"2025-04-03T19:31:56.509Z","avatar_url":"https://github.com/andreimargeloiu.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"![App picture](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/main_picture.jpg)\n\n# Description :point_left:\nIt's a web application for managing hospitals rooms and determining the patient's priority for isolation. The app provides a centralised hub for managing the patients and planning their distribution across hospital’s rooms. \n\nIt allows nurses to keep track of the patients and their diseases in real time and to have an overview over the patients and rooms, and better manage the rooms assignment across patients.\n\n# Live demo :rocket:\nhttps://nhs-app.herokuapp.com/\n* username: admin\n* password: admin\n\n# Youtube video\n\u003ca href=\"http://www.youtube.com/watch?feature=player_embedded\u0026v=Q9wTakyRWi4\n\" target=\"_blank\"\u003e\u003cimg src=\"http://img.youtube.com/vi/Q9wTakyRWi4/0.jpg\" \nalt=\"Youtube video\" width=\"240\" height=\"180\" border=\"10\" /\u003e\u003c/a\u003e\n\n# Prerequisites\n- [x] Node.js 6.9.1 or later - install from https://nodejs.org/\n\n# Installing - easy :electric_plug:\n1.\tDownload the repository\n```\ngit clone https://github.com/margiki/NHS-nodejs-webapp\n```\n2.\tOpen the Terminal (Linux \u0026 MacOS) or PowerShell (Windows) and change directory to the project folder.\n3.\tType ‘npm install’ in the Terminal (PowerShell) and press Enter. All the dependencies would be installed.\n4.\tGo back to the Terminal (PowerShell) and be sure that you are pointing inside the project folder. To open the application, type ‘node app.js’ and press Enter.\n5.\tThe application should be live on the local port 3000.  \n6.\tType http://localhost:3000/ into a browser.\n7.\tTo login use the username: admin  and the password: admin\n8.\tNow you should be inside the application\n\n# How to use it :book:\n### Dashboard\n\nData about patients and rooms is available here. The page is split into three tables. \n\n![Dashboard](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/dashboard.jpg)\n\n![Dashboard](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/dasboard_2.jpg)\n\nTo clear the red warning sign you need to go on the patient’s personal page. To do that, you have to double click on his name. By clicking on the ‘Update button’ on the bottom of the page, the patient’s diagnosis in updated for the next 24 hours (consequently, the red warning sign disappears).\n\n### Add patient page\n\nYou can add a new patient in the system with his personal details and his diseases. The application automatically computes the score of the patient based on the entered diseases\n\n![Add patient page](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/add_new_patient.jpg)\n\n### Patient page\n\nDouble click on a patient name on the dashboard to get here.\n![Patient page](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/patient_page.jpg)\n\n### System settings\n\nThe control center of the application. It allows users to manage the diseases \u0026 rooms of the Hospital and create new accounts\n\n![System Settings](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/system_settings.jpg)\n\n# App Modules and Code organisation\n### Modules\n\nModule|Core\t|Patients|Diseases|Rooms \n------|-----|--------|--------|----\nFunctionality\t|- login system | - add / delete patients | - add / delete diseases | \t- assign rooms to patients\n.|- add users | - update patient's diagnosis | - assign disease to patients | - add / remove rooms\n.|- view dashboard\t| - view patient’s page | \n.|.| - retrieve patient's information\t\n\n### Code organisation :open_file_folder:\n\nFolder | Content | Responsability\n------|-----|--------\n/public\t| |\tContains the public files, such as CSS, fonts and scripts.\n/routes\t| |\tManage the HTTP requests. Is divided into smaller modules responsible for disjoint tasks.\n.\t|/app.js| \tRenders dashboard page\n.\t|/disease.js| \tResponsible for diseases\n.\t|/login.js|\tResponsible for logging in\n.\t|/patients.js|\tResponsible for patients\n.\t|/rooms.js|\tResponsible for rooms\n.\t|/settings.js|\tRenders settings page\n.\t|/users.js|\tAdd new users and logout\n/server\t| |\tDefines the database and Schemas\n.\t|/db/mongoose.js| \tDatabase settings\n.\t|/models| \tDefines Schemas\n/views\t\t| |Render pages\n.\t|/layouts|\tThe core layout; each page is rendered inside the layout\n.\t|/(other files)|\tContains specific visual changes for every page\n\n# Technologies\n\n### Backend\n![Nodejs - ExpressJS](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/backend.jpg)\n\n### Frontend\n![jQuery](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/frontend.jpg)\n\n### Database\n![MongoDB - Mongoose](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/database.jpg)\n\n### Databse Schema\n![Database schema](https://github.com/margiki/NHS-nodejs-webapp/blob/master/github_readme_photos/database_design.jpg)\n\n**The available application is connected to a MongoDB database online.** If you want to change the database to another one, you need to go: NHS app folder -\u003e server -\u003e db -\u003e mongoose.js\n\nInside the file, you need to change the database link from\nmongoose.connect(\"mongodb://admin:admin123@ds145220.mlab.com:45220/nhs-app\"); to mongoose.connect(\"your-database-link\");\n\n# REST Apis\nThe backend and frontend communicate through REST Apis. On the frontend, we make Ajax requests using jQuery to the following routes: \n\nURI |\tReturns\n----|----\n/app/getdiseases |\treturns information about all diseases in the system\n/app/getpatients |       \treturns information about all patients in the system\n/app/getpatient/:hospitalNumber |\treturns information about a specific patient\n/app/getrooms\t| returns information about the rooms in the system\n\n# Known bugs :bug:\n1. On some mobiles devices (iPhone, iPad) assigning rooms to patients is not working because mobile browsers doesn’t interpret the double-click. Also, the user can’t enter the patient's page because of the same reason. However, on LG mobile devices this feature works. \n\n# License \nFree to use, copy and distribute. :money_with_wings:\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreimargeloiu%2FHospital-management-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreimargeloiu%2FHospital-management-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreimargeloiu%2FHospital-management-nodejs/lists"}