Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from openemr:master #354

Open
wants to merge 1,725 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 23, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Apr 23, 2021
stephenwaite and others added 29 commits March 24, 2024 19:13
fix: patient select bug from billing manager
…into billing table (#7294)

* fix: assign codekey for ERA posting based on code mod combo billed

* silence minor warning

* add global for disabling adding to billing table

* separate out pt and enc billing note

* add canceled appts counter

* revert change, open new pr

* revert change, open new pr
* separate out pt and enc billing note

* comment
* Weno fixup and credential API
- change fa font size
- prevent old styles loading

* - add acl to setup
- validate vitals for under age
- fix popup error for invalid action
- add validation and default to change events
- better validate setting requirements

* - New WenoValidate class to verift keys and user credentials
- verify and reset encryption key if needed for phamacy downloads.
- temporally chang testing URL to weno dev server until new api goes online.
- setup weno module for using upgrade in pre for auto upgrade feature.

* - update code stamdards and do a little cleanup of our utility.js
- numerous validation additions.
- add all weno required settings (weno user id, facility location id and admin credentials validation) to module setup page.

* - moved the custom modules to top of managers list. appears I have a bias!
- add a simple but useful help panel to top of list table.
- color coded module name for clarity if laminas or custom.

* - had to create a separate setup_facilities script for setup so can use when module isn't enabled.
- add a help button to MM and help_requested event listener
- refactor controller for readability
- add some security

* - fix pathing problems
- refactor reloads to replace page with new version

* - too full of myself. utility Cleanup failed.
- add new dowdlog log viewer
- fix download create directory

* - fix download won't break on duplicate key
- auto save weno id in facilities section.
- some setup refactor

* - prevent resave of demographics on dialog close

* - prevent demos from throwing warning in upgrade for old weno table population. v5.0.1 I believe.
- files clean out
- remove a chance for a race condition in background tasks

* - change and move help
- refactor to use the online api from dev api

* - refactor and consoladate weno menu from Other to Weno eRx Tools
- add Module setup and new Dowmload log viewer for admin to manage
- add traps for internet off line.
- remove unused class methods and cleanup WenoValidate class for readability.

* - combine the download facility download viewer page
* Resolve #7300: Resolve bug accidentally introduced in API

* fix: DateTime handling of startTime and endTime
* Change search behaviour of selet codes
- change by adding a search and reset button implemented by datatables search function.

* - refactor clear button to eraser and only clear search box.
* feat: support for loading 2024 reporting cqm valueset

* cast simplexml to string and ignore zip file in tmp dir
* Fixes #7319 ccda extra drug_unit list options

This fixes the error in the ccda that was creating tons of entries in
the drug_entry list options list.  The CCDA was not checking against
empty values and would continue to create new list_options for each
immunization / prescription drug_unit when the unit was an empty string

I also added some debugging instruments on the prescription and
immunization process which makes it easy to compare for a ccda what is
being parsed and what is being stored in the database.

Added a debug flag to all of the ccda commands so that these options are
available for people needing to do any debugging of the process.

* Exclude 0 values from amount administered checks.

We decided that we wanted to exclude recording 0 values so updated the
conditions on the immunization and prescription to account for that.
Fixes #7323 
This is a billing code selector widget that was used in options.inc.php.
I extracted it into its own class file so I can use it in a module as
well as use it in options.inc.php.

I also moved the options.inc.php isOption command to the LayoutUtils so
it can also be used externally.  I marked the isOption function as
deprecated.
* fix: allow for saving insurance when country is empty

* styling

* revert FALSE array key
* fix: speed up slow board using patient tracker services as globals

* use static calls

* fix using  when not in object context
* Fixed inadequate date time format

* Added the global parameter
* Adding log scrubbing template to mask sensitive payment details in log

Signed-off-by: Jubitta John <[email protected]>

* Fixed the php styling issue

Signed-off-by: Jubitta John <[email protected]>

* Insert operation check is moved to beginning

Signed-off-by: Jubitta John <[email protected]>

---------

Signed-off-by: Jubitta John <[email protected]>
Co-authored-by: Jubitta John <[email protected]>
* Weno fixup and credential API
- change fa font size
- prevent old styles loading

* - add acl to setup
- validate vitals for under age
- fix popup error for invalid action
- add validation and default to change events
- better validate setting requirements

* - New WenoValidate class to verift keys and user credentials
- verify and reset encryption key if needed for phamacy downloads.
- temporally chang testing URL to weno dev server until new api goes online.
- setup weno module for using upgrade in pre for auto upgrade feature.

* - update code stamdards and do a little cleanup of our utility.js
- numerous validation additions.
- add all weno required settings (weno user id, facility location id and admin credentials validation) to module setup page.

* - moved the custom modules to top of managers list. appears I have a bias!
- add a simple but useful help panel to top of list table.
- color coded module name for clarity if laminas or custom.

* - had to create a separate setup_facilities script for setup so can use when module isn't enabled.
- add a help button to MM and help_requested event listener
- refactor controller for readability
- add some security

* - fix pathing problems
- refactor reloads to replace page with new version

* - too full of myself. utility Cleanup failed.
- add new dowdlog log viewer
- fix download create directory

* - fix download won't break on duplicate key
- auto save weno id in facilities section.
- some setup refactor

* - prevent resave of demographics on dialog close

* - prevent demos from throwing warning in upgrade for old weno table population. v5.0.1 I believe.
- files clean out
- remove a chance for a race condition in background tasks

* - change and move help
- refactor to use the online api from dev api

* - refactor and consoladate weno menu from Other to Weno eRx Tools
- add Module setup and new Dowmload log viewer for admin to manage
- add traps for internet off line.
- remove unused class methods and cleanup WenoValidate class for readability.

* - combine the download facility download viewer page

* Some finishing touches
- don't expose sensitive data
- change datepicker option. though it would work in US not so muct Europe's day/m/Y

* - refactor weno_log_sync for better readability and separation of concerns. This script was driving me crazy!
- reformat various errors
- ensure we have valid credentials and encryp key for downloads. If not reset so we can complete the important initial downloads at least.
- added new info to download manager
- I don't know take a look...

* Remove unused code
Add link to modules wiki

* a couple log errors

* review

* module manager help method

* Fix log escaping

* Add exception to decryptStandard so we can tell where the heck error occurs

* no message

* Resubmit for missing yag that is not missing!

* missing return in format function. Things are disappearing in my local!

* add test pharmacies
finish coredecrypt exceptions
error messages refactors

* Main fix here is adding logic for weno test pahramcies
refactors of phamacy search and bud fix
add logic to keep weno provider ids upto date and validated.
escaping and xlating some js

* Trying out updated linting
- more global management for the module
- escaping
- pharmacy search alerts
- add additional ease of setup options to setup. User Setting for logged in admin
- had to refactor provider username to provider_email for weno legacy
- add Brady's fix in core encryption service for dynamic properties. One less thing to worry about!. clean up comments

* - more clean up. This is a very nice class.

* - move validate actions up in form.
- more fiddling around.

* - add new action for listener reset_module active when the register icon is clicked. I used to remove all DB.
- contiueing project messages and search fine tuning.
- crypto updates

* - fix edit_globals magins and padding
- more runtime safety
- review note

* Update ModuleService.php

* - reset back to dev server for testing
- format messages

* - refactor to online production API domain.
- Add new items for setup and a complete module reset
- refactore MM to separate cust and laminas section lists.
* feat: minor CryptoGen class updates

* lint fix
Fixes #7368

This is a local provider's selector widget that was used in options.inc.php. I extracted it into its own class file so I can use it in a module as well as use it in options.inc.php.

I added options to inject a static list of providers into the widget for
caching/performance reasons.  Also added option to inject the query used
to retrieve the list of providers into the widget.
This changes the getSelectFields method signature to support column and
table aliases.
* Store documents in remote cloud bucket

* Refactored to remove fiber code

* Refactored to rename class to make clear the purpose

* Generic message - remote upload completed

* Restructured the dispatch and response

* PSR Fix

* Adding document retrieval from s3 bucket

* PSR fix

* Fixed datatype

* adding attribute

* fixing type error

* Tested and working

* Name changes complete
* Created by OWASP Threat Dragon

* Created by OWASP Threat Dragon

* Adding password strength meter

* Resolving comments for Password strength meter

* Replacing xlt with xlj

* Moved Password Strength meter to utility.js and added it to user_info as well

* Resolving comments about src and bootstrap styling

---------

Co-authored-by: kmalick <[email protected]>
…addition to an optimization

The optimization both clarifies the code regarding which $reminder_due status is chosen and also minimizes the calls to reminder_results_integrate, which could get resource intensive if overuse it.
- improved handling of filters/targets for inclusion/exclusion flags, and where multiple filters/targets exist across classes of patient data
- fixing right side of target interval used for target testing at value of $dateTarget passed to test_rules_clinic() instead of a value that floats with changes to left side of the interval
- fix to divide by zero error in evaluating percent of passing rules

more details at:
#7153
#7157
#7161
stephenwaite and others added 30 commits October 25, 2024 21:21
* CDR rules refactor, PSR-4, testability

Refactored the CDR rules editing engine to be in the source tree so we
can have PSR-4 autoloading of the files.

Refactored the CDR controllers to be able to use Request/Response
objects for PSR-7 compatability and to make it possible to unit test
without having to do guzzle or curl requests.

This is prep work to be able to edit some of the interface to support
our onc b11 requirements.

* Moved template files fixed template bugs

Moved the template files to be in the templates directory to better
align with OpenEMR coding standards.  Eventually it would be nice to
move these to all be twig files.  Leaving them alone for now.

Removed the undecorated template file as its not used anywhere.

Removed the edit/helper/common.php file and moved its elements into the
RuleTemplateExtension where the hope is to eventually have these be twig
functions.

* Refactored AJAX code for rules to centralize code

Made the AJAX code for the CDR rules to be centralized using the same
controller logic that the rest of the rule engine uses for consistency
and access control.

* Cleaned up Frontend Controller includes

Removed the common, header, and ui files that were being included in the
index.php and moved all of the logic into the src folder tree.

* DSI additional source attributes

Added the additional ONC required dsi source attributes for our existing
CDR engine.  This includes the display and editing for those attributes.

Following attributes are added
- patient race usage
- patient ethnicity usage
- patient language usage
- patient sexual orientation usage
- patient sex usage
- patient dob usage
- patient health status assessments usage
- patient social determinants of health usage

* Initial prototype of b11 View rules

Put in the foundation for the b11 viewing of predictive dsi attributes.

Right now it shows as a questionnaire, but may switch this to a regular
form.  I'll have to play around and see what I like better here.

* WIP b11 Source Attributes Predictive DSI

Added predictive source attributes into the list options to give admin's
the ability to add custom attributes.

Added new table dsi_source_attributes for tracking the source attribute
information on an oauth_clients entity.

Added a field to oauth_clients table to track if the client is a
predictive or evidence based api client.  At some point we want a many
to one relationship here, but for now we treat api clients as a 1:1
relationship for evidence based / predictive ai clients.

Refactored a great deal of the api client admin interface to use twig to
modernize the codebase and add twig files for the external-cdr pieces.

This is a foundational work to support in the future the CDS Hooks
standard.

Also did code style fixes on the class

* Style fixes for clinical decision rules refactor

* Fix db/dsi type mismatch, helper links on client

Fixed a mismatch between the database comments for the dsi type and what
the code constants in client entity were.

Fixed the helper links on the client.

* Implement source attribute dialog display

Implemented the display of the source attributes from the smart launch
screen for displaying Decession Support Interventions Source
Information.

* Add CSRF token to attribute saves.

* b11 DSI api client registration

Added the registration pieces to the smart app client registration page.

Added the dsi_type and dsi_source_attributes metadata attributes to the
registration endpoint.  Only existing attributes configured in the
system can be configured and supported.

* Remove hyphens from dsi attribute definitions

* Add dsi information to introspection endpoint

Added the dsi information to the api endpoint that is retrieved from the
introspection.  Note there is another outstanding PR that this work
depends on in order for the endpoint to execute due to some pathing
issues.  So this commit will not be useuable without bringing in PR
 #7741.

* Implement evidence based rules for external cdr.

* Fix no-dsi api clients not loading

* Display source attribute info on cdr rule info

Added a dialog info box that shows the cdr rule information when you
click on the help icon for a cdr evidence based rule.

Added a new review controller to handle this.

Moved ACL checks into the router controller.  Opened up the review
controller to regular permissions.  I don't see any security check that
needs to happen on read only basis here.

* Cleaned up cdr demographics tool tip

Now that source attributes are showing up in a dialog, we don't need the
tooltip to show a bunch of stuff on the rule tooltip.

Fixed width constraints on the source attribute editing as 50 characters
was not correct when it should be 255 characters.

Fixed the web reference not showing up in the edit/details view of the
CDR rules.

* Inserting feedback on evidence based CDR

Made it so that feedback gets inserted into the alert logs.  Users can
provide feedback on the action taken in the CDR for user development.

* Implement feedback in cdr_log

Made it so the cdr log will show the feedback and allow you to export
the CDR evidence based feedback in a CSV download.

Refactored the CDR_Log process to leverage the same controller
infrastructure as the CDR admin controllers and dialog viewer.  Trying
to centralize the code more in order to improve cohesion and
maintenance.

I kept the existing view infrastructure as it'd be too major of a
refactor right now to switch to twig.

Fixed some style issues as well.

* Added facility for location tracking

* Change column size, sync database.sql

Made the database.sql have the changes that were put in the sql patch.

Changed the column size to be text instead of varchar

* Fix escaping issue.

* Change sequence on list_options for more flexibility

* Fix escaping

* Fix style changes

* Fix dsi_type if its not provided

Needed to fix the dsi type if the client does not provide one in the
registration.  Fixed some other errors showing up on the logs if data
was not provided.

* Fix registration with predictive dsi

Prior commit was breaking the registration ouch.

* Fix broken unit tests

Routing controllers needed more DI service injectors to handle the unit
testing changes.  Removed the list test and added a save test on the
external cdr.

Fixed some other broken unit tests.

* Fix thrown warnings with vital forms test

* Hide cdr link if no services enabled.

* Default unknown text if source attribute missing

Made it so an unknown text is showing on details view of CDR rules and
DSI smart app source attributes per ONC requirements.

* Fix style issues.

* See if we can fix the styles.

Not sure why the auto-corrector isn't catching this, but trying this
again.

* Fix sql text datatype, improve source descriptions.

Made the source descriptions clearer.

Changed the SQL text datatype to remove not null attribute, fixed php
code to support nullable attributes.

* Direct edit links to simplify UX/testing

Added a direct edit button if you are an admin to the CDR rules and to
the smart 3rd party DSI attributes.  This simplifies the UX testing and
allows users to go right from the dialog popups to editing the
attributes.  I don't have deep back links supported which would be a
bigger change but this is good enough to get from viewing to editing.

I'm using a one time message passing via postMessage to communicate
between the dialogs and the pages.  At some point it'd be nice to
generalize this, but that's an exercise for another day.
* Dialog styles
Add style to dialog Alert and Confirm

* Add missing portal-theme to custom reports.

* fix following warnings
[06-Nov-2024 10:48:26 America/New_York] PHP Warning:  Undefined array key "HTTP_HOST" in C:\xampp\htdocs\openemr\index.php on line 12
[06-Nov-2024 12:46:07 America/New_York] You must call one of in() or append() methods before iterating over a Finder.

* fix double x out alert in signer_api

* add back fade out
* Add new actions delete and edit to Office Notes
have dates include as time stamps
restyle tables and add modals for delete and edit.

* updated onote service

* fix for test

* add pagnination

* fix url attrs

* needs to be attr
* New Documents Update and fix
refactor the patient id select
add logic to controller
ensure presistence when using Document Templates.
add a flag to note if portal is called from New Documents

* revert context title for New Document

* attempt for title in context

* I give up

* at least have a correct page title

* add tab title new document
change test for same

* some minow syntax styling
Made it so we handle the procedures list if there are no procedures
present.

Fixes #7814.
* Include DOB in referral template.

* Format DOB for template display.
* Add OpenEMR command to create a changelog release

This implements a changelog generator using the github issues api for a
given milestone release.  It takes the milestone name, grabs all of
the attached issues and prs that have been tagged with the release milestone
and then converts it into a changelog.

Issues are separated out for user/provider oriented issues, and issues
that impact developer or core internals.  It grabs the category of the
issue and converts it into a changelog that follows the structure here:
https://keepachangelog.com/en/1.0.0/

Everything is spat out to stdout so the release changelog version can be
outputted.  People generating the changelog release will need to copy
the output and add it into the CHANGELOG.md file.

An example of generating the changelog is as follows for the 7.0.2
release.
./command-runner -c CreateReleaseChangelog -m "7.0.2" > CHANGELOG.md

Issues are grabbed in batches of 100 issues at a time up to 15 batches
before the request will bail out automatically.  Hopefully we don't have
more than 1500 issues in a single release but if so this will need to be
adjusted.

If for some reason you need to use your own access token you can do so
by specifying the -token parameter in the command.

* Fixes #6141 Implement a changelog

Following the naming convention in https://keepachangelog.com/en/1.0.0/
this adds in the changelog for the 7.0.2 release.  This is generated
from our milestone issues.

* Change release change log format

Changed the release change log format to be the new command syntax.

* Updated changelog
Was using the wrong class if the CSRF was invalid.

Fixes #7832
add radio groups for stacked and inline
* faxsms fixes
RC setup from services menu wasn't refreshing after save.
ensure phone numbers are formatted
fix RC sendSMS for rest api endpoint

* resize some dialogs
fix anchor syntax
fix audience name in dialog
add 7.0.2.3 patch
* fix: calendar event edit provider out of office php math error

* minor package-lock.json update
* Add Clickatell integration to FaxSMS module.

* Support viewing Clickatell notification results in SMS screen.

* Include type filter in notification query.

* Add logic for API call authorization and address other feedback.

* Fix ordering of label matching.

* Remove deplicate translation step.

* Include 'Error' keyword to trigger caller behavior.

* Populate credential field in AppDispatch constructor.
* Some module fixes
oe-module-prior-authorizations custom patient menu url fixes.

* format file

* some style changes

* ensure url path is normalized for webroot
* faxsms module cleanup and implement send email client
Reorg dispatch class for better clarification
Add event handlers for sms and email buttons and listeners
Remove the temporary vendor directory to support RingCentral patch. Dependencies are now and have been included in core composer.

* Add cell phone and email to find_patient_popup results and do some modernizations

* Add Subject input for email to contact form.
Fix message select checkbox without opening message for message delete.

* ensure contact form is enabled correctly
try to remove move cursor
prevent sendSms() in secure messaging if sms not enabled

* fix notification script type select conditional where was always evaluating to email

* ensure url path is normalized before adding webroot.

* Revert "ensure url path is normalized before adding webroot."

This reverts commit b367b5f.
* Quick escape issues fix Thanks
staus needs to preserve html for dusplay
missed endings for refactor escapting and translations.

* make comment required if email

* Relax permissions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.