Skip to content

Latest commit

 

History

History
260 lines (186 loc) · 13.6 KB

README.md

File metadata and controls

260 lines (186 loc) · 13.6 KB

About

A web application that uses Read My Brain API for translating indecipherable nursing brain jargons into simple, readable text.

What Brain

For this project, I will be referring to nursing 'brain' sheets--or in the nursing world, simply known as brains. So what are these brains? Nursing brains are report sheets that contain handwritten information (most often chicken scratch) to remember about their patients. In a typical shift change routine in a hospital, a nurse only has 20 minutes to receive verbal report from the previous nurse and write down everything they need to know about all five patients assigned to them. Details on their diagnosis, medical history, current symptoms, lab values, medication administration times, treatment schedule, discharge plan, their preference of filling up a water pitcher with three quarters ice and a quarter water with two straws are among many things nurses have to write down for each patient within a few minutes. Nurses and other healthcare providers have to start using a whole lot of acronyms to write things down efficiently. Here's an example:

84F DNR pt from ED is A&Ox2
c̅ Hx HTN, DM, RTKA & Ax pnc
will need CXR STAT.

Read My Brain will translate this into layman's terms:

84 year old female Do Not Resuscitate patient from Emergency Department is alert and oriented x2
with history of hypertension, diabetes mellitus, right total knee arthroplasty and allergy to penicillin
will need chest x-ray immediately.

Whose Brain

Users are primarily going to be future health providers, including nursing students and new nurses. Inspired by my own nursing experience, listed below are my goals for this project:

  1. To help future caregivers understand medical charts quicker, better, easier and make their learning less stressful.
  2. To enable nursing students and new nurses keep up with their preceptors' brains.
  3. To empower future nurses via Read My Brain.

Minimum Viable Product

Expand to see completed MVP goals!
  • Design the database structure using Draw.io.
  • Build a back-end API using C#/.NET Core and MySQL with READ functionality.
    • Read a sentence by sending the sentence as a query parameter and the API will return the translated sentence.
  • Design a component diagram for the front end using Draw.io.
  • Build a front-end JavaScript/React application that allows users to enter a sentence and display the translated sentence.
    • The default view will be a form with a single text box and a submit functionality.
    • The user will be able to enter a sentence into the text box and submit it.
    • There will be a maximum number of 50 characters in a sentence.
    • Upon submission, the application will call the API to read the sentence.
    • The application will display the returned API response as a string.

MVP React Component Diagram

MVP React Component Diagram

Future Product Roadmap

See stretch goals under construction!
  • Build a back-end API using C#/.NET Core and MySQL with full CRUD functionality.
    • Create a new term and its abbreviation into the API's database.
    • Read a sentence by sending the sentence as a query parameter and the API will return the translated sentence.
    • Update details of an term.
    • Delete an term.
  • Enable querying special characters. For instance, c̅ for with, ā for before and p̄ for after.
  • Deploy API's database via Azure.
  • Deploy the back-end API via Azure.
  • Deploy the front-end application via Firebase/Netlify.
  • Users can enter longer sentences (max 200 characters per sentence).
  • Users can enter a paragraph (max 1000 characters).
  • There's an unlimited number of characters a user can enter.
  • The API can translate live/real-time.
  • Users can copy special characters and insert them into their input text. For instance, icons c̅ for with, ā for before and p̄ for after.
  • Use custom CSS styling instead of styling libraries.
  • Refactor <input> to <textarea> to enable resizing the text box.
  • Display message for successfully copying icons.
  • Add CSS animation to display "copied" message.
  • Users can copy the translated result with a click of a buttonby clicking the translated text.
  • Add functionality to generate random sentences in the front end so that users can test/use the app right away.
  • Refactor API call method in the front end to only call the API as needed (per word instead of per letter typed). In other words, trigger the API call when a user presses spacebar or enter.
  • Refactor React component diagram.
    • Add an "About" section to the front end.
    • Add a link to my GitHub repo.
    • Warn users to be careful when translating real patient or personal identity information to prevent violating their privacy (HIPAA).
  • Application offers dark mode.
  • Insert special characters automatically to input text area on clicking them.
  • Create an API key for users.
  • Users can add new terms via the front-end application for open contribution. However, users will need an API key in order to do this.
  • Users can update existing terms via the front-end application.
  • Count the number of app usage (count every time a translation occurs).
  • Configure Azure/back end CORS settings to only allow Read My Brain (one application) to access it.
  • Share the application by posting in a nursing forum.
  • Application offers light mode.
  • Add a blinking text cursor to text editor.
  • Use Redux in case the application's scale of state gets very large.
  • Apply Swagger API or add Views to API for http routes documentation.
  • The API can translate the vice versa (from layman’s terms to nursing jargons).
  • Make the front end media responsive.
  • Add functionality to enable uploading a document and the app will translate the whole document.
  • Use a React UI library such as React Semantic UI or Material UI.
  • Use Quill's basic text editor for application UI.
  • Apply Quill's toolbar.
  • Modify Quill's toolbar by adding an option to insert special characters into user input. For instance, c̅ for with, ā for before and p̄ for after.

Note: Quill does not have an event listener that will help with the live translation feature therefore stretch goals were refactored.

Refactored React Component Diagram (1st version)

Refactored React Component Diagram

Refactored React Component Diagram (2nd version)

Refactored React Component Diagram

Initial Prototype:

Refactored React Component Diagram

Known Bugs

No known bugs at this time.

Installation Instructions

For Local Development

  • Clone this repository
  • Open the Command Line Interface and enter the following:
    • cd read-my-brain to navigate into the repository.
    • npm install to install all necessary plug-ins.
    • npm start to start the application.

Note: Unfortunately, the deployed app has been shut down due to expired free Azure membership. Please see screenshots below for a preview of the app! Thanks for visiting!

Screenshots

About Page

readmybrain's About Page

Reading a Brain

Reading a Brain

Copy Translation

Copy Translation

Loading Screen

readmybrain's Loading Screen

Dismiss Privacy Agreement Modal

Dismiss readmybrain's Privacy Agreement Modal

Technologies

Front End

*Open package.json file to see the complete list of all node modules.

Back End API

Resources

Front End

Back End API

Contact and Support

Found a bug, broken feature or a brain fart? Let me know!

[email protected]

License

This application is licensed under the MIT license.

Copyright (c) 2020 Adela Darmansyah