OpenEMR is a Free and Open Source electronic health records and medical practice management application

Overview

Syntax Status Styling Status Testing Status

Backers on Open Collective Sponsors on Open Collective

OpenEMR

OpenEMR is a Free and Open Source electronic health records and medical practice management application. It features fully integrated electronic health records, practice management, scheduling, electronic billing, internationalization, free support, a vibrant community, and a whole lot more. It runs on Windows, Linux, Mac OS X, and many other platforms.

Contributing

OpenEMR is a leader in healthcare open source software and comprises a large and diverse community of software developers, medical providers and educators with a very healthy mix of both volunteers and professionals. Join us and learn how to start contributing today!

Already comfortable with git? Check out CONTRIBUTING.md for quick setup instructions

Support

Community and Professional support can be found here.

Extensive documentation and forums can be found on the OpenEMR website.

Reporting Issues and Bugs

Report these on the Issue Tracker. If you are unsure if it is an issue/bug, then always feel free to use the Forum and Chat.

Reporting Security Vulnerabilities

Send an email to [email protected] . If possible, please encrypt your email via PGP with this public key.

API

Check out API_README.md

Docker

Check out DOCKER_README.md

FHIR

Check out FHIR_README.md

For Developers

If using OpenEMR directly from the code repository, then the following commands will build OpenEMR (Node.js version 12.* or 14.* is required) :

composer install --no-dev
npm install
npm run build
composer dump-autoload -o

Contributors

This project exists thanks to all the people who have contributed. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

GNU GPL

Comments
  • Bootstrap project (all encompassing)

    Bootstrap project (all encompassing)

    Continued from prior PR (see there for details): https://github.com/openemr/openemr/pull/2809

    Related Issue discussion here: https://github.com/openemr/openemr/issues/2807

    To test out the new features coming from this pull request, a demo is available on the OpenEMR website: https://www.open-emr.org/wiki/index.php/Development_Demo#Gamma_-_Up_For_Grabs_Demo

    @bradymiller will keep this PR branch updated intermittently via merges from upstream/master

    Primary work by @tywrenn (will get primary credit/authorship when go into codebase)

    Status: Needs Review 
    opened by bradymiller 239
  • Update to newest Bootstrap 4

    Update to newest Bootstrap 4

    This has been pushed back for 4 years (as the latest revision we are on is from 2015) and it has now come to the time to address it - we should now begin updating to Bootstrap 4. This will take awhile as some frameworks may break during this transition to Bootstrap 4.

    New things expected with Bootstrap 4:

    • Bootstrap 4 uses flexboxes instead, making content spacing act different than Bootstrap 3
    • Glyphicons are no longer implemented in Bootstrap and should be replaced with the FontAwesome framework as recommended by Bootstrap (FontAwesome can be installed here)
    • Navbars are now using flexbox as well and may behave differently
    • Tons of new components were added to Bootstrap 4, including some great utility CSS classes like w-50 to turn the width to 50%
    • Bootstrap 4 no longer supports IE8 or IE9 with this transition (yet it's best to transition away from Internet Explorer anyways)
    • Offsetting columns were renamed. e.g. Bootstrap 3 says col-md-offset-4 while Bootstrap 4 says offset-md-4 For some more differences between the two frameworks, check out this article. If anyone is having any issues with any Bootstrap code contact me.

    This issue is being actively sponsored by PEER Technologies PLLC.

    To Do List:

    • [x] Replace Old Code: Replaced pull-left and pull-right with new float-* class
    • [x] Replace Old Code: Removed outdated col-xs-* and replaced with new col-* class
    • [x] Replace Old Code: Removed outdated col-*-offset-* class format with new offset-*-* class format
    • [x] Replace Old Code: Replaced table-condensed class with table-sm
    • [x] Replace Old Code: Replacedbtn-xs class with btn-sm
    • [x] Replaced the well class with the jumbotron class as wells aren't supported anymore (This can also be fluid with jumbotron-fluid)
    • [x] Signer API fixed from migrating to Bootstrap 4
    • [x] Redesigned OpenEMR themes to work around Bootstrap 4 (using docs on themes)
    • [x] Replaced most theme colors with Bootstrap colors
    • [x] RTL works fine
    • [x] Reformatted CSS and JS files from /interface/modules/zend_modules/public

    Things I will need help from the OpenEMR community in:

    • [ ] Replace outdated inline CSS styling with new Bootstrap variables
    • [ ] Help with fixing nav-pills as most of these navigations are using very outdated code that might break if changed
    • [ ] Help with replacing visible-* classes as they aren't supported anymore
    • [ ] Help sorting out CSS and SCSS conflicts while merging things into the core CSS
    • [ ] Angular dependency BS4 update. (Not gonna do, must update angular first using upgrading guidelines.
    • [ ] Other code fixes.

    Things that will be in a separate pull request in the future:

    • Moving MedEx CSS into core themes
    • Removing outdated CSS and JS files from /interface/modules/zend_modules/public
    • Adding more themes
    opened by tywrenn 154
  • Issues tracking for QRDA CAT III Cypress testing.

    Issues tracking for QRDA CAT III Cypress testing.

    Describe the problem

    Here we'll keep up with Cat3 issues and triumphs. To start us off we have some validation error to get out of the way first!

    CMS125v10 all patients for aggregate. Just a few of the errors to get idea of hurdle though it is only a couple propagated over 66 patients.

    image

    2015 ONC 
    opened by sjpadgett 88
  • Fax/SMS module version control.(Modules in general)

    Fax/SMS module version control.(Modules in general)

    Hmm, what to do! Guess i'll have to maintain at least one prior version (v5.0.2) compatibility.(BS4 project) Wonder if I should have NPM point to separate repository for v5.0.2 or do file substitution with installer. Work on installer is needed for such things as uninstall/upgrades etc anyway so thoughts anyone? Maybe maintain compatible dependency tree for the module! I bet @adunsulag might have an insight.

    Oh also, the way we handle dependencies by overwrite current dependency locks, any dependency addition outside OpenEMR proper ie composer install/upgrade will uninstall previously installed modules. Even if install via required, of course. I hope i'm missing something or may be a conditional I can add to package...

    Stale 
    opened by sjpadgett 74
  • Welcome Observation Resource

    Welcome Observation Resource

    Please Welcome Our one and Only Observation Resource 🎉

    Fixes #3348

    Short description of what this resolves:

    https://www.hl7.org/fhir/observation.html https://www.hl7.org/fhir/observation-vitalsigns.html

    Changes proposed in this pull request:

    • Added Vital Panel (Profile)
    • Added get() in Base Services
    • Added All Profiles of Vital Signs Observations aka hasMembers
    • Added getAll() Bundles
    • Patient Id Search
    • Category Code Search
    • Date Search
    • LONIC Code Search
    • Added Waist Circumference (Extensible)
    opened by yashrajbothra 68
  • Added Loading in tabs

    Added Loading in tabs

    Fixes #3068

    Short description of what this resolves:

    It will add loader while the tab gets loaded

    Up For Grabs demo for this PR is here: https://www.open-emr.org/wiki/index.php/Development_Demo#Alpha_-_Up_For_Grabs_Demo

    Status: Needs Review 
    opened by yashrajbothra 67
  • Fix lbf nation note field type having no width in form.

    Fix lbf nation note field type having no width in form.

    Added a new date time picker field type to lbf editor.

    (below added by bradymiller) demo is here: http://www.open-emr.org/wiki/index.php/Development_Demo#Mu_-_Up_For_Grabs_Demo

    Status: Needs Review Status: Needs Work 
    opened by sjpadgett 62
  • InnoDB Support - initial version

    InnoDB Support - initial version

    1. Added two new commands to SQL upgrade:
    • #IfTableEngine - for tables that can not be converted by ALTER TABLE ... ENGINE=INNODB

    • IfInnoDBMigrationNeeded - to process all the other tables.

      Most of the tables can be converted using simple ALTER TABLE

    1. For tables: ar_activity, claims, procedures_order_code and procedure_answers , where PRIMARY KEY is multiple columns index with AUTO_INCREMENT column - refactored the code to emulate INSERT functionality using transactions.
    2. The migration process is LONG and it will be LONGER for large tables.
    opened by olegsv 60
  • Product Registration

    Product Registration

    REMAINING TASKS

    | TASK | ASSIGNEE | | --- | --- | | migrate legimate dev data | @MatthewVita | | point domain to prod and set for https mode only (last step in deploy section) | @sunsetsystems |

    COMPLETED TASKS

    Project Page > Completed Tasks

    Status: Reviewed Feature Priority: Blocking 
    opened by MatthewVita 55
  • Product Registration Issue

    Product Registration Issue

    Hi..

    The product registration window opens asking for an email address to register. Whenever I give my email address and press submit, it says Server error:Please try again. Is the registration system not ready yet??

    Thanks and regards Arnab

    opened by arnabnaha 54
  • 1600 move away from bower direct

    1600 move away from bower direct

    Addressing #1600 (move away from bower)

    Major changes

    • bower.json has been deprecated in favor of package.json - where all the front-end assets are installed (unless otherwise installed in composer or zend_modules)
    • some packages could not be found on npm or have multiple versions - napa is used to install these packages
    • some packages do not have distributable versions for the version openemr requires - these have been added/kept in public/assets/manual-added-packages or, if modified, publc/assets/modified. All other vendor files are gitignored.
    • gulp is what copies all of the installed files from node_modules into the public/assets directory. It has some rules to try to remove unnecessary files. The gulp step runs after npm install via the post install step.
    • The latest version of each library in use by openemr is now canonically named (e.g. jquery-3-1-1 is now just jquery in the public/assets directory). All script and link tags have been changed to point to these generic versions instead of explicit versions.

    Minor changes

    • Added an npm install to the build step. As noted in the TODOs, this would make more sense as postinstall step in composer - since it's vendor related.
    • reordered the config.yaml and added entries for a few of the dependencies. The original intent was to use this function to migrate inline <script> tags into Header::setupHeader() statements. This was not done in this PR because it was taking too long and was difficult to test what broke what. You can see the attempt at these changes in this branch.
    • Some older versions of jquery (1.3.2 and 1.4.3) and the datatable libraries are now using the unminified scripts because that's what came in the distributable package.

    TODOs (maybe after this PR?)

    • integrate with composer. The code is there to use a composer-installed version of NPM but i noticed composer wasn't used in any Dockerfiles. So i've left a few comments and might need some help with this.
    • remove the unnecessary after-build steps in build.xml since we're just not copying these files in the first place.

    "Building" the assets

    • npm install is all it takes to download the versions of the assets from the internet and copy into the public/assets directory. See this commit for an example. I'll need some help making this build step as seamless as possible... but running this example docker-compose, i was able to test my changes :)

    Some fun things that come out of this

    • We no longer commit (most) vendor libraries! And adding new vendor libraries is as easy as npm install (and updating the config.yaml if you want to use it in the Header function)
    • Any package is also available in the root node_modules directory - opening up the ability to use them all in a modern front-end stack (like React or Vue).
      • Webpack is already hanging around as a dependency of storybook (the front-end docs app) but we can make that an explicit dependency, if we want to start building modular front-end components outside of PHP

    below added by bradymiller: Up For Grabs demos for this PR is here:

    Alpine is here: https://www.open-emr.org/wiki/index.php/Development_Demo#Nu_-_Up_For_Grabs_Demo OpenEMR packages produced by this demo are here: http://ten.openemr.io/b/files/

    Ubuntu is here: https://www.open-emr.org/wiki/index.php/Development_Demo#Xi_-_Up_For_Grabs_Demo OpenEMR packages produced by this demo are here: http://seven.openemr.io/d/files/

    Status: Needs Review Status: Needs Work 
    opened by DreaminDani 53
  • Make it easier to have different logos on multi-site installs

    Make it easier to have different logos on multi-site installs

    Fixes #6073

    Short description of what this resolves:

    dropping in a logo for the different sites in a multi site installation

    Changes proposed in this pull request:

    move the login logo to the site/"site_id"/images folder and point the login page to the location.

    Status: Needs Work 
    opened by juggernautsei 12
  • Could there be a no code option to have different logos on the login page?

    Could there be a no code option to have different logos on the login page?

    Describe the problem

    It is a task to have a different logo for each of the installs for a multi-site Could this be made easier?

    Describe the solution you'd like

    it would be nice to just drop a logo into the sites folder and the system pick up that logo for that site

    opened by juggernautsei 0
  • Messages: SMS Zone Combobox width

    Messages: SMS Zone Combobox width

    Describe the bug

    IN /interface/main/messages.php

    <span class="select2-selection select2-selection--single" role="combobox" aria-haspopup="true" aria-expanded="true" tabindex="0" aria-disabled="false" aria-labelledby="select2-SMS_patient-container" aria-owns="select2-SMS_patient-results"><span class="select2-selection__rendered" id="select2-SMS_patient-container" role="textbox" aria-readonly="true"></span><span class="" role="presentation"><b role="presentation"></b></span></span>

    To Reproduce

    This SMSM Box is only visible to MedEx users so here is a screen shot of how it appears in the OpenEMR Docker:latest

    image

    Expected behavior

    image

    need to add width:200px or something else to expand this "combobox" so it is visible. I am not sure which class or css file can handle this but somewhere width:200px would work.

    Bug 
    opened by ophthal 2
  • Allow Confguration of Pages

    Allow Confguration of Pages

    Pages should be able to declare settings that can be modified on a global, context, and user-specific basis. This is key for the parallel work on supporting contexts.

    Notes

    1. Page/Module declares available settings through an interface
    2. During page load, the settings are retrieved from the DB and processed by the page/module
    3. Management of the actual setting is done via core classes
    4. Rendering of the setting form is managed by core classes (hence the standardization of the declared settings via the interface)
    Feature UI Modernization UI/UX 
    opened by robertdown 0
  • Fixes #6056

    Fixes #6056

    Fixes #6056

    Not 100% and I would love to spend more time and make this look good versus just usable but for now, this will have to suffice. Current state is unusable, this PR makes it usable.

    opened by robertdown 0
Owner
OpenEMR
The most popular open source electronic health records and medical practice management solution.
OpenEMR
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

kuaifan 3k Jan 5, 2023
Simplified database records management.

Simplified database records management. Inspector will let you take care of CRUD without taking over your frontend. Example $inspector = new \InvoiceN

Invoice Ninja 6 Dec 17, 2022
Inventory and Sales System of Biosys Medical Trading

Inventory and Sales System of Biosys Medical Trading This system will provide an organize and up to date inventory to the company. This will allow the

Jingkay Simbran 3 Jun 11, 2022
Admidio is a free open source user management system for websites of organizations and groups

Admidio is a free open source user management system for websites of organizations and groups. The system has a flexible role model so that it’s possible to reflect the structure and permissions of your organization.

Admidio 214 Jan 1, 2023
Snipe-IT - A free open source IT asset/license management system

Snipe-IT - A free open source IT asset/license management system

snipe 7.2k Jan 4, 2023
Health Management App for WTM Buea community to work on during the period of Hacktoberfest

Laravel web application developed by WTM Buea community members Health Care Management App An app that enables users and or patients to get consultati

Women Techmakers Buea 2 Oct 28, 2021
Web application for the health record of the Hemal's Thalasseamia Patients. Technologies PHP, JavaScript, HTML, W3.CSS and MySQL

Web application for the health record of the Hemal's Thalasseamia Patients. Technologies PHP, JavaScript, HTML, W3.CSS and MySQL

Thilrash Gowzul Ameen 1 Dec 15, 2021
SPFtoolbox is a Javascript and PHP app to look up DNS records such as SPF, MX, Whois, and more

SPFtoolbox is a Javascript and PHP app to look up DNS records such as SPF, MX, Whois, and more

Charles Barnes 216 Dec 30, 2022
Open Source Voucher Management System is a web application for manage voucher. used PHP with Laravel Framework and use MySQL for Database.

Voucher Management System is a web application for manage voucher. You can create and manage your voucher. Voucher Management System is used PHP with Laravel Framework and use MySQL for Database.

Artha Nugraha Jonar 34 Sep 17, 2022
OroCRM is an open source Client Relationship Management (CRM) application

OroCRM is an open source Client Relationship Management (CRM) application that allows to create a 360° view of your customers across multiple channels, organize the sales pipeline, manage account and contact information, communicate with customers, run marketing campaigns and track campaign performance.

Oro, Inc. 611 Jan 3, 2023
phpIPAM is an open-source web IP address management application.

phpIPAM is an open-source web IP address management application. Its goal is to provide light and simple IP address management application. It is ajax-based using jQuery libraries, it uses php scripts and javascript and some HTML5/CSS3 features, so some modern browser is preferred to be able to display javascript quickly and correctly.

Miha Petkovsek 1.8k Dec 31, 2022
Livewire component to show records according to their current status

Livewire Status Board Livewire component to show records/data according to their current status Preview Installation You can install the package via c

Andrés Santibáñez 288 Dec 24, 2022
This website built for practice using HTML,CSS , Js and PHP - MySQL for backend

SammysBarbeque This website built for practice using HTML,CSS , Js and PHP - MySQL for backend Features added in the website: User:- Authentic and att

Rutuja Sanjay Jadhav 3 Sep 6, 2022
A free and open-source accounting and production system for businesses and non-profits with support for multiple users and varied integrations

A free and open-source accounting and production system for businesses and non-profits with support for multiple users and varied integrations.

null 3 Sep 22, 2022
A free and open-source Laravel 5.5 and VueJS (SPA) Ticket system

Ticket-conductor A Laravel 5.5 and VueJS (SPA) Ticket system app (This project was mostly for myself to learn Vue Js a bit better, and will not be mai

Casper Bottelet 51 Dec 17, 2022
Akaunting is a free, open source and online accounting software designed for small businesses and freelancers

Akaunting is a free, open source and online accounting software designed for small businesses and freelancers

jahidul alam mishuk 1 Jan 9, 2022
Savsoft Quiz v6.0 - An open source and free solution to conduct online quiz or exams.

Savsoft Quiz v6.0 is an Opern Source and Free php based web application (script) to create and manage online quiz, test, exam on your website or serve

null 22 Dec 10, 2022
ULEARN - Open Source(FREE) LMS script in Laravel 5.8 and ReactJS 16.9

About ULEARN Key Features Demo & Credentials Access ReactJS Page Installation Support License About ULEARN ULEARN is an impressive LMS script which co

null 535 Jan 2, 2023
MyAAC is a free and open-source Automatic Account Creator (AAC) written in PHP

MyAAC is a free and open-source Automatic Account Creator (AAC) written in PHP. It supports only MySQL databases.

Lucas Giovanni 6 Aug 26, 2022