Giter Club home page Giter Club logo

lh-ehr-laravel's Introduction

LibreHealth EHR


LibreHealth EHR is a free and open-source electronic health records and medical practice management application.

The mission of LibreHealth is to help provide high quality medical care to all people, regardless of race, socioeconomic status, or geographic location, by providing medical practices and clinics across the globe access to free of charge medical software. That same software is designed to save clinics both time and money, which gives practitioners more time to spend with individual patients, thereby supplying patients with higher quality care.

We are current and former contributors to OpenEMR and thank that community for years of hard work. We intend to honor that legacy by allowing this new community to leverage the good things in OpenEMR, share what we create and not be afraid to break backward compatibility in the name of forward progress and modern development models.

We are collaborating closely with the LibreHealth Project, an umbrella organization for health IT projects with similar goals.

Table of Contents

  1. Requirements
  2. Installation
  3. Usage
  4. Documentation
  5. Change log
  6. Testing
  7. Contributing
  8. Security
  9. Credits
  10. License

Requirements

Make sure your server meets the following requirements.

  • Apache 2.2+ or nginx
  • MySQL Server 5.7.8+ , Mariadb 10.3.2+ or PostgreSQL
  • Composer installed 1.9+
  • PHP Version 7.2.x+

PHP extensions

Make sure you have the following php extensions enabled

bz2, curl, date, dom, exif, gd, gettext, grpc,
imagick, intl, json, libxml, mbstring, mysqli, mysqlnd, openssl, PDO,
pdo_mysql, posix, protobuf, soap, sqlite3, xml, xmlreader, xmlrpc, xmlwriter
xsl, zip, zlib

Installation

Install composer with the help of the instructions given here

$ wget https://getcomposer.org/composer.phar
$ chmod +x composer.phar
$ mv composer.phar /usr/local/bin/composer

Install Node.js/NPM with the help of the instructions given here

Linux/Unix yum install npm OR using MacOs brew install node

Fork and/or clone this project by running the following command

$ git clone https://github.com/LibreHealthIO/lh-ehr-laravel.git 

Navigate into the project's directory

$ cd lh-ehr-laravel

Copy .env.example for .env and modify according to your credentials

cp .env.example .env

Run this command to install dependencies

composer install --prefer-dist

This command will install all dependencies needed by the Akivas platform to run successfully!

Generate application key

 php artisan key:generate

Install npm/yarn dependencies (Preference is using Yarn)

npm install or yarn install 

This command will help migrate the database and populate the database!

php artisan migrate --seed

Or if for any reason, you wish to reset the database later, you can run

php artisan migrate:fresh --seed

Usage

Run yarn/npm in dev mode npm run dev OR yarn run dev

For live building of components while developing, you can run

npm run watch OR npm run watch-poll

Run the default laravel server

php artisan serve

To view LibreaHealth's EHR Platform, go to:

http://localhost:8000/

If you want to serve to another port for example (3000), Run the following

php artisan serve --host=<your_ip_address> --port=3000 

Then view it on the browser by typing http://<your_ip_address>:3000

Login Credentials

By default, two(02) accounts are created with default roles - super_admin and admin which are all active.

Change log

Please see the changelog for more information on what has changed recently.

Testing

Testing is very essential as this helps us to avoid bad practices and breaking code. To test the application, ensure to have the test env variables in the .env.testing file, if not create one using the cp .env.example .env.testing

TEST_DB_HOST=127.0.0.1
TEST_DB_DATABASE=lh_ehr_testing
TEST_DB_USERNAME=root
TEST_DB_PASSWORD=

Create a database for testing. Here, we will be using mysql for our db test since it supports column dropping etc, You can use pgsql, if you like by changing the default connection lh_ehr_testing driver pgsql in the config/database.php.

By default, the test connection is added to the phpunit.xml file. Feel free to edit this if needed to suit your custom database connection by changing the <env name="DB_CONNECTION" value="lh_ehr_testing"/> to <env name="DB_CONNECTION" value="custom_connection"/>

Create the test database (lh_ehr_test) and re-migrate your data and seed using the following command php artisan migrate --database=lh_ehr_testing php artisan db:seed --database=lh_ehr_testing

Or fresh install php artisan migrate:fresh --database=lh_ehr_testing --seed

Run the tests using:

$ composer test  

Documentation

Official documentation is available Here.

Code Quality/Tools

We use Php CodeSniffer to ensure code quality and we all are using the same standards. This is enabled by default for this project and incorporated in the hooks when committing .git/hooks.

It is however advised to install this globally so as to manage a variety of projects

composer require global squizlabs/php_codesniffer

NB:

  • When you have modified or made changes to a file, ensure to run ./vendor/bin/phpcs to ensure all files are valid or fix them using ./vendor/bin/phpcbf.

Also you can use pre-commit hooks to point the git hooks to the .githooks by running git config core.hooksPath .githooks for validating upon committing.

Troubleshooting

Before opening an issue, please refer to the troubleshoot guide

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

LibreHealth EHR is primarily licensed under Mozilla Public License Version 2. The code inherited from OpenEMR is licensed under GPL 2 or higher. This project is a part of the Software Freedom Conservancy family.

Thank you for your support!

lh-ehr-laravel's People

Contributors

muarachmann avatar pdanielkoe avatar prondubuisi avatar

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.