GithubHelp home page GithubHelp logo

tanjera / infirmary-integrated-ehr Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.27 MB

Electronic health record simulator for training healthcare professionals.

License: Apache License 2.0

PHP 27.28% JavaScript 0.18% Blade 72.53% CSS 0.01%

infirmary-integrated-ehr's Introduction

Infirmary Integrated: Electronic Health Record
(c) 2024, Ibi Keller (tanjera)

Infirmary Integrated is free and open-source software suite consisting of the Infirmary Integrated Simulator, Scenario Editor, and Development Tools designed to advance healthcare education for medical and nursing professionals and students. Developed as in-depth, accurate, and accessible educational tools, Infirmary Integrated can meet the needs of clinical simulators in emergency, critical care, obstetric, and many other medical and nursing specialties.

Infirmary Integrated's Electronic Health Record (EHR) is a simulated electronic health record for use in medical and nursing education.

Instructions for Setup

Installing the project files:

  1. Copy the repository to your web server of choice.
  2. Create the environment file base/.env... you may want to use base/.env.example as a template.
  3. Place your relevant database information in base/.env
  4. Install dependencies: composer and npm
  5. From the base directory, run php artisan key:generate to create a unique security key.
  6. From the base directory, run php artisan migrate to setup your database.
  7. From the base directory, run php artisan storage:link to setup the storage driver.

Setting up your web server:

  1. Point your web server's web root to the folder base/public
  2. Ensure your web server is serving the site's folder with PHP enabled.
  3. Ensure your web server has proper access to all files (e.g. ownership and write access, especially to base/storage and base/bootstrap/cache)
  4. You may use https://laravel.com/docs/11.x/deployment as a brief configuration guide.
  5. Consider increasing your web server's file upload sizes to allow for note attachments and diagnostic imaging uploads (e.g. images, videos; up to 100 Mb allowed per form submission). This may need to be set for both your web server and the PHP interpreter. Instructions for nginx can be found here.

Configuring Infirmary Integrated: Electronic Health Record

  1. In a web browser, navigate to the project site's main page. If on the web server: http://localhost
  2. Register as a new user. The first user registered to the site automatically receives administrator privileges.
  3. Proceed into the Electronic Health Record and customize as you'd like!

Enjoy!



Copyright 2024 Ibi Keller

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.



Note: Laravel, the framework utilized for this project and its files in their original state are licensed under the MIT license. Copyright and licensing for the Laravel framework and its packages are as follows:

Copyright (c) Taylor Otwell

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

infirmary-integrated-ehr's People

Contributors

tanjera avatar

Watchers

 avatar

infirmary-integrated-ehr's Issues

Implement Application Settings

For customization of entire application, including:

  • Default role & license for new users
  • Enable/disable self-registration
  • Time zone
    • Will need to apply/interpolate to all displayed timestamps/datetimes

Implement Note Attachments

For uploading files (.pdf, .jpg, .png, etc)

  • Add a space on the notes/create route for adding the attachment.
  • Add a space to view/download on the notes/view route.

Implement Medication Administration Record (MAR)

  • Handling PRN doses (to be done in memory, not database!)
    • Remove creation of 'prn' doses in database at MARController->populateDoses()
    • On MAR view, 'prn' doses to show as due (or eligible) now
      • Unless they have been given in the order period
      • ... in which case, next dose populates as due at the end of the time period
  • Ability to mark doses as given, not given, etc.
    • Need to create a Route to a new View
    • Link the text or div in the dose to the routed view
  • Clicking on Order (left column) goes to a history of all doses
    • Index all Doses for the Order and display

Bugs to Test For

  • Doses at end of hour (e.g. @ 2300) rendering in the previous (e.g. 2200) column
    • Likely due to seconds field; will be irrelevant when $at_time pulls from datetime input field
    • Range end times set to 59M59S in 1911902... needs testing once $at_time fully implemented

Implement index/iterating NoteAttachments with Note

Will need to list the file names and link to the download:

NoteAttachment::$name is the original file name (a readable usable name, e.g. 7yr-old-femur-fracture-v0-f6ioix8dhprc1.webp)

NoteController->get_attachment($req) uses the filepath from NoteAttachment::$filepath (e.g. note_attachments/AIppy3bLYFsksJT0WHZRmM4LkjEvIQINTAuloWkk.webp) to redirect to a file download

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.