- Project Description
- What We Learned
- Built With
- How To Use Lab Manager
- Description of Typical Work Flow
- Summary Data
- Website
- License
- Disclaimer
- Contribution
- Test
- Questions
Are you the manager of a clinical molecular laboratory? Are you struggling to organize your results data quickly and efficiently? In collaboration with a real world laboratory manager, our team built 'Lab Manager', a web-based Laboratory Information System. We started by assessing how data is currently being tracked, specific to COVID-19 test results. Data storage and analysis required manual input to an Excel spreadsheet to assess a plethora of test metrics. We identified that the test results were provided in JSON format, which would make ingesting the data using JavaScript a relatively straightforward process. We used an example Excel spreadsheet to develop how we would display and analyze data results for users and worked closely with our laboratory manager consultant throughout the production process. We recommend using only a local deployment for now, since current security measures are very simple.
- We got more hands-on experience with the handlebars template engine
- Designed functions that allow users to input new patients, assays, and results data
- We learned how to implement graphs with amChart
- Gained more experience using environment variables
- Working as a group to assign roles, establish a git workflow, merging multiple branches to one development branch, helping each other solve problems, and pushing to final production
- Implementing more advanced CSS methods to enhance the user experience
- We learned how to manage limited time to build a huge back-end and front-end infrastructure in about a week and a half
- Solidified further understanding of mySQL and Express.js
- Designing an application from scratch using MVC design principles
- Handlebars - main site layout
- CSS - styling and design
- JavaScript - data analysis
- amCharts - display analysis charts
- Bootstrap - styling and design
- Font Awesome - styling and design
- bcrypt - password security
- mysql2 - database
- Express - server
- Session - authentication and security
API keys may be removed at some point. To use the APIs, do the following:
Run the following command in terminal.
mysql -u root -p
Enter 1234 as the password.
Create the database.
mysql> CREATE DATABASE lab_manager_db;
In a new terminal window, cd into the root of the project, run the following command:
npm run seed
Lab manager is designed to follow the typical workflow for a trained laboratory technician running an assay for COVID-19 sequencing data once the data has been sequenced and analyzed using the Nextclade application. Once a lab tech signs up with a username and password, the typical workflow is as follows:
- Accession the case
- If needed, a patient may be created, or the case may be accessioned from a list of existing patients.
- Start a run
- Enter results
- The corresponding run for a given result should be selected.
- Results may be copied and pasted directly from the JSON file (without the outside brackets) into the form and submitted. The application is designed to process the relevant data
- Contrived sample data files are available in the db/data/ directory to test out.
Summary data currently available includes:
- the error rate for a given run (the number of samples in a run that failed divided by the number of total sample in a run)
- the overall distribution of COVID clades for all samples.
http://hidden-sea-70156.herokuapp.com
MIT
© 2021
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
All "patient data" presented in the deployed application is entirely fictional and rendered for the purposes of product demonstration, as are the names of the medical technologists. All names portrayed in this deployment are fictitious. No identification with actual persons (living or deceased) is intended or should be inferred.
Made by:
Eduardo Castro - Project Lead, Back-End, Code Refactoring, Debugging
Martha Gamez - Front-End, Data Analysis, Data Queries, Data Input, Debugging
Thomas Curry - Front-End, UI Design, Debugging
Averie Beltran - Back-End, Database Architecture, Debugging
Nick Carter - User Authentication, Site Security, Debugging\
© 2021 Lab Manager