Giter Site home page Giter Site logo

openemr / openemr Goto Github PK

View Code? Open in Web Editor NEW
2.7K 133.0 2.0K 579.78 MB

The most popular open source electronic health records and medical practice management solution.

Home Page: https://open-emr.org/

License: GNU General Public License v3.0

JavaScript 5.01% PHP 84.59% Perl 0.26% XSLT 4.17% CSS 0.66% HTML 3.31% Makefile 0.01% Shell 0.16% Smarty 0.15% Roff 0.01% Dockerfile 0.09% SCSS 0.42% Twig 0.88% Mustache 0.28%
openemr practice-management emr ehr php linux windows osx healthcare hit

openemr's Introduction

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 and requirements for contributing to OpenEMR by resolving a bug or adding an awesome feature 😊.

Support

Community and Professional support can be found here.

Extensive documentation and forums can be found on the OpenEMR website that can help you to become more familiar about the project 📖.

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 to discuss about the issue 🪲.

Reporting Security Vulnerabilities

Check out SECURITY.md

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 20.* 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].

Sponsors

Thanks to our 2015 Edition Major Sponsors!

License

GNU GPL

openemr's People

Contributors

adunsulag avatar arnabnaha avatar bradymiller avatar dev2-practiceprovider avatar epsdky avatar eyalvo-matrix avatar juggernautsei avatar kchapple avatar kevmccor avatar matrix-amiel avatar matthewvita avatar mdsupport avatar ophthal avatar oshriromatrix avatar raskolnikov-rodion avatar robertdown avatar robertogagliotta avatar shachar058 avatar sharonco-matrix avatar sjpadgett avatar stephen-smith avatar stephenwaite avatar stu01509 avatar sunsetsystems avatar teryhill avatar tywrenn avatar wakie87 avatar yashrajbothra avatar yehster avatar zbig01 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openemr's Issues

Emergency login email not sent when emergency access user is activated

Context

Emergency login email not sent when emergency access user is activated. An email should be sent.

Expected Behaviour

When you activate the user that has been assigned 'Emergency Login' ACL. It should send an email to the nominated address in the globals.

Actual Behaviour

Nothing, no email is received.

Possible Fix

Steps to Reproduce

Context

Trying to fix an outdated PR O_o

Your Environment

  • Version used: Master
  • Browser Name and version: Chrome
  • Operating System and version (desktop or mobile): Desktop, MacOS and Windows 7
  • Link to your project:

dialog.js cache clearing support

To prevent issues for upgraders (whom don't clear their web browser cache) would be helpful to use the current cache busting scheme for dialog.js throughout the codebase (since there are changes in it for the tab layout).

Fix the translations of title elements in the Zend modules

The title elements of the Zend modules are not correctly using the translations engine (only in about 5 places). Can fix by mimicking what was done in the PatientValidation Zend module to support translation of the title element.

Tab Layout Compact theme issues with menu hovering with the legacy themes

This appears to be secondary to the fonts being used (and the size is thus smaller making a gap between the menu and the sub-menus). This will be an easy fix and will involve likely standardizing the fonts among all the legacy themes(or perhaps using em rather than px for the font size will also fix this).

Billing Manager Links broken in tabs version

When Using Fees->Billing, The Billing Manager is displayed in a tab.
After filtering, the results are displayed. Linking out to an encounter or demographics does not work in the tabbed/menu environment.

billing_issues

Appointment persists after editing for recurrtype 3

If a recurrtype 3 (Days of Week) appointment is edited by unchecking a week day that corresponds to an individual appointment with date equal to pc_eventDate, an individual appointment corresponding to that weekday will persist (with date equal to pc_eventDate)

The fix is here

EDIT - added detail to description.

Improve drug-drug interaction checking

Sherwin recently contributed code that is a nice starting point for drug-drug interaction which was brought into the codebase:
43694fd

The option for turning it on and quick instructions for use can be found here:
http://www.open-emr.org/wiki/index.php/Administration_Globals#Rx_NLM_Drug-Drug

The algorithm for collecting the rxcui list of the patient is here:

$medList = sqlStatement("SELECT drug FROM prescriptions WHERE active = 1 AND patient_id = ?", array($pid));
$nameList = array();
while($name = sqlFetchArray($medList)){
$drug = explode(" ", $name['drug']);
$rXn = sqlQuery("SELECT `rxcui` FROM `" . mitigateSqlTableUpperCase('RXNCONSO') . "` WHERE `str` LIKE ?", array("%" . $drug[0] . "%"));
$nameList[] = $rXn['rxcui'];
}

It basically converts drugs to rxcui numbers and then checks the interactions via online call to nih service. At this point, it basically does the following:

  1. Uses drug title names in prescriptions, which are then converted to rxcui via the RXNORM database included within OpenEMR(note only searches for the first word of the prescription drug title if there are more than 1 words).

Recommend also adding the following to improve the capturing of the patient meds/drugs:

  1. Check the medication drug titles (ie. following as is done above).
  2. Use the rxnorm_drugcode sql column in the prescription table (this should be a rxcui code) if it exists.
  3. Use the rxcui code that are included in the diagnosis column of the lists table for the medication items.

Tabs overflow

On testing the new tab approach, new targets for a lot of windows, I am able to open more tabs than there is room to display.

taboverflow

There may need to be a maximum number of tabs or a maximum width, which whenever this width is reached, maybe auto shorten the large titles to something like 8 characters.

Maybe this makes sense:
Since this is knockout.js, the fix needs to be located here. There should be a way in the Model to discern width of each opened tab, based on the length of the Tab’s Title + icons perhaps, add this tab width as an observable item or attribute of a current tabs observable, and whenever a new tab is added, a computed observable which adds up all the open/current tabs widths. If the totals tabs width is > window.width, then shorten the non-active titles as coded (maybe > 10 shorten to 8) is performed for each tab in the View.
Now how to write that is a different thing entirely.
Or something else... Maybe limit the view to a max of 5 tabs?

Ray

database.sql failed at line 6392

Hi.
When I ran this database.sql file from command line (in xampp on windows) I got it -

mysql -uroot -p openemr_p2 < sql/database.sql
Enter password:
ERROR 1064 (42000) at line 6392: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '----------------------------------------------------------

DROP TABLE IF EXIS' at line 1

mysql -uroot -p openemr_p2 < sql/database.sql
Enter password:
ERROR 1064 (42000) at line 8317: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '--------------------------------------------------------

CREATE TABLE `immuniz' at line 1

and the script failed.

tab layout - Zend module feature not working

  1. The Modules->Manage Modules is buggy
  2. After add the modules, then able to see all of them in Modules as menu items which is a bug. Should only see the Care Coordination module menu item.

Bug - Apostrophe-name

bug-apostrophe_name

I can't find where Kevin gets the actual patient data for this patient section.
The example used in the picture "Simon O'Grady" is stored correctly in the DB as:
fname | lname = Simon | O'Grady

Whereever this data comes from, it needs htmlspecialcharacter work, I think

Certain buttons impossible to read

I noticed this with the latest tab/design code. It affects my product registration buttons so I have a temporary override in place (forces the buttons to have a specific background/foreground color as opposed to using jQueryUI theme styles).

Anyway, on to the bug at hand. Please note the 3 buttons to the left (I highlighted the bottom one):
image

I wonder if there are other areas are affected as well.

OPENEMR: Version Number: v5.0.0-dev (which I am developing on top of)
SYSTEM: Chromium Version 50.0.2661.102 Built on Ubuntu 14.04, running on LinuxMint 17.3

Address Book error on INSERT

SQL error when inserting a new "lab service" record - here is SQL from error message
INSERT INTO users ( username, password, authorized, info, source, title, fname, lname, mname, suffix, federaltaxid, federaldrugid, upin, facility, see_auth, active, npi, taxonomy, cpoe, specialty, organization, valedictory, assistant, billname, email, email_direct, url, street, streetb, city, state, zip, street2, streetb2, city2, state2, zip2, phone, phonew1, phonew2, phonecell, fax, notes, abook_type ) VALUES ( '', '', 0, '', NULL, 'Mr.', '5', '4', '6', , '29', '', '27', '', 0, 1, '28', '30', '1', '', '1', '7', '13', '', '14', '15', '16', '17', '18', '19', '20', '21', '21', '23', '24', '25', '26', '8', '10', '11', '9', '12', '31', 'ord_lab' )

If suffix field is hidden, the insert value is set to nothing which causes the error. You can add the records when suffix is shown. If the user type is changed, the update fails.

Closing a tab not warning of unsaved changes

Using Tabs layout, I tested making a change in a patient's demographics and then closing the tab without saving the change. The tab closed and there was no warning. Also tested the same thing in the layout editor page (Administration -> Layouts) with the same result. Did not test other pages but I suspect it's a general problem with all.

Also regarding closing tabs, I see that the page is left empty and no existing tab is shown in its place. This seems wrong.

Encounter frame not loading up the specific encounter when applicable

If go the patient flow board and do following:

  1. Click on a patient and click arrived(this auto creates the encounter).
  2. Then check the Open Patient in New Window toggle
  3. Then click on the patient.
  4. A new instance of OpenEMR opens up and loads the patient summary and populated the title with the correct encounter; however, the generic encounter listing is shown in the encounter frame rather than showing the specified encounter.

Drug strength/size with combinations strengths

When creating new drugs/prescriptions you can't enter combination strengths as the slash is being escaped and not saved to the database. Also the length is too short to allow certain combinations now available.

Cannot add events to calendar

On save Console is logging the following error:

add_edit_event.php line 990 (Or 1785 if viewing raw PHP source)
TypeError: collectvalidation is undefined

Can anyone replicate this error?

tab layout - automatic logout on timeout not working

With current dev code, if I set Idle Session Timeout Seconds to 300, turn on tabs, log out and log in again, and let the browser sit for 5 minutes it fails to auto-logout after 5 minutes. If instead I use the sliding menu it works.

tab layout - Use icons to decrease label width

For devices with limited width, menu in tab layout can overflow. The design should allow icons to limit the menu width. One approach is to let jquery monitor viewport and automatically make the switch by using code which move label text to tile and place applicable icon as label -

`
// Replace menu text by fa
var xl_icons = {
"Calendar": "calendar",
"Flow Board": "calendar-check-o",
"Messages": "envelope",
// "Fees": "money",
// "Administration": "cog",
// "Reports": "file-text-o",
"About": "ellipsis-v",
};

$(".menuLabel").each( function(ix) {
var lbl = $(this).html().trim();
if (xl_icons[lbl]) {
$(this).css ('font-size', '150%');
$(this).attr ('title', lbl);
$(this).html('');
}
});
`

Canvas drawing uploads fails if thumbnail checked

When storing canvas drawings, the drawings are sent to the server as $_POST['imgBase64'] in base64 encoding (at least the Eye Form works this way). The images are processed by the addNewDocument function, called in save.php.
forms/eye_mag/save.php around line 912:
$return = addNewDocument($filename,$type,$_POST["imgBase64"],0,$size,$_SESSION['authUserID'],$pid,$category_id);
If the Global->Document->Generate thumbnail is checked, the addNewDocument fails and throws an error. It works without this checked.

Fee Sheet: modifier

I am unable to add a modifier "57" to a visit code.
To bill it out I have to manually add it into the DB table billing.

modifier

Working off 5.0.0-dev

tab layout - flow board popups need optimization

Both the popups that the flow board uses (calendar popup for recurrent appt and the standard flow board popup for regular appt) are likely not being called correctly from the page, so are not placed in the center of the screen like the other popups in the tab layout.

Align use of OSI logo with guidelines.

Hi OpenEMR,

The use of OSI logo on the OpenEMR site (http://www.open-emr.org/) does not comply with the OSI guidelines (https://opensource.org/trademark-guidelines). We are very happy to allow continued use of the logo to highlight that OpenEMR is distributed with an OSI Approved Open Source License, but do ask that your use comply with our guidelines. Can you please:

  1. create a link from the logo to the OSI website, "the design logo hyperlinks to the OSI website, http://opensource.org/, or if that is not possible, the site includes a prominent link to the OSI website at http://opensource.org/" (OSI Trademark Guidelines §2.1.)
  2. include the text "This site is not affiliated with or endorsed by the Open Source Initiative" prominently on any page that includes the OSI Trademarks," (OSI Trademark Guidelines §2.1.)

Finally should OpenEMR use the logo elsewhere, please provide a copy of its use to the Trademark Supervisor (trademarks(a)opensource.org) within seven (7) days of its initial use, for example by sending a URL or other copy of such use.

Thanks so much,
Patrick

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.