forked from openemr/openemr
-
Notifications
You must be signed in to change notification settings - Fork 0
Feat openemr 9877 ccda tests #11
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
Open
adunsulag
wants to merge
139
commits into
master
Choose a base branch
from
feat-openemr-9877-ccda-tests
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
openemr#9960) * Initial plan * Update all xl() callsites to remove deprecated mode, prepend, append parameters Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Remove deprecated mode, prepend, append parameters from xl() and wrapper functions Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Use sprintf instead of string concatenation with escaped quotes Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Fix sprintf formatting in dispense_drug.php for better clarity Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Combine sprintf calls in dispense_drug.php for better performance Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Add PHPDoc and type declarations to xl() and wrapper functions Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Refactor xl_* wrapper functions to use ternaries and add PHPDoc blocks Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Move PHPDoc block inside if block for proper parsing Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Refactor to use ternary operators for cleaner code Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com>
…rrays, add type declarations (openemr#9966) * Initial plan * refactor(library/date_functions.php): replace switch with match, add type declarations and standard docblock Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * refactor: address code review feedback - remove unnecessary cast and simplify dow formatting Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * refactor: use arrays instead of match for days and months lookups Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * refactor: simplify array approach - call xl() on lookup result instead of each element Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * perf: use static arrays to avoid repeated array creation on each function call Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * refactor: combine match arms for languages with same format and extract date variables Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * style: improve readability by placing each language on separate line in match Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com>
trying to test for property oblect on an array is a no no for PHP 8.0+
…ate.php (openemr#9968) * Initial plan * fix(template): correct undefined $filename variable to $form_filename in download_template.php Changed line 361 from using undefined $filename to $form_filename. This fixes the bug where $ext was always empty, preventing ODT-specific line break processing and potentially incorrect MIME type detection. Fixes issue where LBF textarea line breaks were lost in ODT generation. Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com>
* chore: update changelog for 7.0.4 * context manager, search and add providers with npi --------- Co-authored-by: stephen waite <stephen.waite@cmsvt.com>
* Refactor Portal CCDA actions Remove API request for CCDA view to use CCM services. * refactor for new portal CCD actions supplanting API request for same actions. had goober help me ensure exceptions, translations and formatting. * woops * rector starting to get on my nerves. local want string cast but not get. local comes from current master * I refactored Laminas Zip to use Ziparchive similar to CdaDocument class. I could do some consolation and may do yet. I had claude run through and satirize to make our security gods happy. * satisfy new composer checker test. Trying to figure out where this is going. Shouldn't this be included in composer for the entire namespace?
* chore(rector): CallUserFuncArrayToVariadicRector * refactor(php): avoid call_user_func_array * chore(phpstan): rule to block call_user_func* * refactor(php): no call_user_func* * refactor(php): rector updates
…penemr#9996) Add the lang_cons composite index to the language translation infrastructure so it persists across language imports: - currentLanguage_utf8.sql: Add index to table definition - buildLanguageDatabase.pl: Add index to generated SQL output Fixes openemr#9985 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* perf: add in-memory translation cache Add TranslationCache class to cache translation lookups within a request. Key changes: - Add TranslationCache class in src/Common/Translation/ - Add xlWarmCache() function to preload all translations - Add 'translation_preload_cache' global setting to enable eager loading - Modify xl() to check cache before querying database - When cache warming is disabled, translations are cached lazily - Update phpstan baseline for new $GLOBALS access This eliminates repeated database queries for the same translation within a request, and optionally eliminates all translation queries when cache warming is enabled. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * perf: optimize translation SQL queries - Select only needed columns instead of SELECT * - Use USING(cons_id) for cleaner join syntax 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
- Restructure on load. - add DOM observer - Add Medical Devices widget to context management
* Inventory Issues * fix invalid deleting invalid because out of scope on form load * syntax error in dispensed medication twig template * * add responsiveness change to edit container * * fix search on enter key * * add button role to rows to finder code * fix add edit issue Show More button to correctly track state for button title state. Also include icon in button click event add enter key capture for search in select_code. Man how many code select scripts do we need.
…oup (openemr#10001) Bumps the development group with 1 update: [phpunit/php-code-coverage](https://github.com/sebastianbergmann/php-code-coverage). Updates `phpunit/php-code-coverage` from 11.0.11 to 11.0.12 - [Release notes](https://github.com/sebastianbergmann/php-code-coverage/releases) - [Changelog](https://github.com/sebastianbergmann/php-code-coverage/blob/11.0.12/ChangeLog-11.0.md) - [Commits](sebastianbergmann/php-code-coverage@11.0.11...11.0.12) --- updated-dependencies: - dependency-name: phpunit/php-code-coverage dependency-version: 11.0.12 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vlucas/phpdotenv](https://github.com/vlucas/phpdotenv) from 5.6.2 to 5.6.3. - [Release notes](https://github.com/vlucas/phpdotenv/releases) - [Commits](vlucas/phpdotenv@v5.6.2...v5.6.3) --- updated-dependencies: - dependency-name: vlucas/phpdotenv dependency-version: 5.6.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…r#10004) Bumps the build-tools group with 1 update: [stylelint-scss](https://github.com/stylelint-scss/stylelint-scss). Updates `stylelint-scss` from 6.13.0 to 6.14.0 - [Release notes](https://github.com/stylelint-scss/stylelint-scss/releases) - [Changelog](https://github.com/stylelint-scss/stylelint-scss/blob/master/CHANGELOG.md) - [Commits](stylelint-scss/stylelint-scss@v6.13.0...v6.14.0) --- updated-dependencies: - dependency-name: stylelint-scss dependency-version: 6.14.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: build-tools ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [league/csv](https://github.com/thephpleague/csv) from 9.27.1 to 9.28.0. - [Release notes](https://github.com/thephpleague/csv/releases) - [Changelog](https://github.com/thephpleague/csv/blob/master/CHANGELOG.md) - [Commits](thephpleague/csv@9.27.1...9.28.0) --- updated-dependencies: - dependency-name: league/csv dependency-version: 9.28.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump rector/rector from 2.2.14 to 2.3.0 Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.2.14 to 2.3.0. - [Release notes](https://github.com/rectorphp/rector/releases) - [Commits](rectorphp/rector@2.2.14...2.3.0) --- updated-dependencies: - dependency-name: rector/rector dependency-version: 2.3.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * refactor(php): apply rector fixes --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Michael A. Smith <michael@smith-li.com>
…penemr#10008) The xls() function used addslashes() for JavaScript escaping, which is inadequate. All calls migrated to xlj() which uses proper js_escape(). Also removes unused translation wrapper methods from Zend modules and adds catalog of non-standard translation function definitions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
…) (openemr#10012) The docker-compose-lint workflow was failing with "Not enough non-option arguments: got 0, need at least 1" because dclint expects positional file arguments before options. The --exclude flag was consuming file paths as its values. Also removed the paths filter so the workflow runs on all PRs/pushes to master and rel-* branches, ensuring compose files are always validated. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
) The SELECT query for migrating care_teams_v1 to care_teams included uuid without aggregating it, which is invalid SQL in strict mode. Fixes openemr#9984 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: hungdq <hungdqde160536@fpt.edu.vn>
…mr#10016) * Initial plan * Fix EventDispatcherInterface type inconsistency in OEHttpKernel and Kernel Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com>
…r#10018) Regenerate the specialized PHPStan baselines (globals, database, curl) and remove duplicate entries from the main baseline that were causing count mismatches. Fixes openemr#10014 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
…enemr#9741) * Refactor manual URL parameter building to use URLSearchParams Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Refactor additional files to use URLSearchParams Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Refactor more interface files to use URLSearchParams Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Fix code review issues: remove redundant line and use params.append for CSRF tokens Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> * Remove AI-generated code comments from URLSearchParams refactor 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Refactor additional files to use URLSearchParams for URL parameter building - portal/patient/scripts/app/onsiteactivityviews.js - portal/patient/scripts/app/onsitedocuments.js - portal/sign/assets/signer_api.js - interface/modules/zend_modules/public/js/application/sendTo.js - library/js/ajax_functions_writer.js - library/js/oeUI/insurance/EditPolicyScreenController.js - interface/modules/custom_modules/oe-module-comlink-telehealth (4 files) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix code review issues: use const consistently in URLSearchParams refactor - Change var to const for URLSearchParams and related variables - Extract inline URLSearchParams to const before use - Rename conflicting variable names (params → urlParams/dialogParams) - Remove unnecessary .toString() calls 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Move CSRF tokens into URLSearchParams constructor instead of using .append() 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Alphabetize URLSearchParams object properties for consistency 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kojiromike <1566303+kojiromike@users.noreply.github.com> Co-authored-by: Michael A. Smith <michael@smith-li.com> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
❌ 1 Tests Failed:
View the top 1 failed test(s) by shortest run time
View the full list of 1 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
* fix: added missed EventAuditLogger FQCN at ReceiveHl7Results * feat(traits): added SingletonTrait ... (a bit better version than one from waryway/php-traits-library) * refactor: reused SingletonTrait at EventAuditLogger * fix(test): EventAuditLoggerTest::testRecordLogItemWithEncryption * fix(deps): removed no longer used waryway/php-traits-library
* fix: development environment fixes and a ci fix * try again * more
…r#10089) Bumps the laminas group with 1 update: [laminas/laminas-loader](https://github.com/laminas/laminas-loader). Updates `laminas/laminas-loader` from 2.11.1 to 2.12.0 - [Release notes](https://github.com/laminas/laminas-loader/releases) - [Commits](laminas/laminas-loader@2.11.1...2.12.0) --- updated-dependencies: - dependency-name: laminas/laminas-loader dependency-version: 2.12.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: laminas ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…0090) Bumps [league/oauth2-server](https://github.com/thephpleague/oauth2-server) from 8.4.3 to 8.5.5. - [Release notes](https://github.com/thephpleague/oauth2-server/releases) - [Changelog](https://github.com/thephpleague/oauth2-server/blob/8.5.5/CHANGELOG.md) - [Commits](thephpleague/oauth2-server@8.4.3...8.5.5) --- updated-dependencies: - dependency-name: league/oauth2-server dependency-version: 8.5.5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(composer): validate to be strict like we have at .pre-commit-config.yaml * fix(ci): composer validate to be strict at ci
…ect-server to 3.0.1 (openemr#8589) * chore: upgrade lcobucci jwt * php8 fixes * downgrade jwt to 430 * fix returns for psr http message * teardown clients * typo * reapply updates
…nemr#10106) The pre-commit hooks now exclude vendored third-party code that is copied from external packages, not generated by this repo's build. Excluded directories/files (alphabetized): - Documentation/EHI_Export/ (SchemaSpy + bower components) - gacl/ (phpGACL library) - interface/forms/eye_mag/js/shortcut.js-2-01-B/ (keyboard shortcut lib) - interface/forms/questionnaire_assessments/lforms/ (LHC-Forms library) - interface/modules/custom_modules/oe-module-comlink-telehealth/public/assets/js/dist/ (webpack build) - interface/modules/zend_modules/public/js/lib/ (jQuery + plugins) - interface/modules/zend_modules/public/xsd/ (HL7 CDA schemas) - interface/modules/zend_modules/public/xsl/ (XSL transformations) - interface/super/rules/www/js/cdr-multiselect/ (jQuery multiselect) - library/classes/fpdf/ (FPDF library) - library/fonts/ (Adobe font metrics files) - library/js/{Category,Document}TreeMenu.js, SearchHighlight.js - library/smarty_legacy/ (Smarty template engine) - public/assets/modified/ (modified third-party libs) - swagger/ (Swagger UI distribution) Also added pattern for *-min.js files (alternate minification naming). This prevents unnecessary diffs from upstream packages and avoids potentially breaking vendored code with whitespace/formatting changes. Fixes openemr#10105 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Bumps [monolog/monolog](https://github.com/Seldaek/monolog) from 3.9.0 to 3.10.0. - [Release notes](https://github.com/Seldaek/monolog/releases) - [Changelog](https://github.com/Seldaek/monolog/blob/main/CHANGELOG.md) - [Commits](Seldaek/monolog@3.9.0...3.10.0) --- updated-dependencies: - dependency-name: monolog/monolog dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#10099) * refactor(phpstorm): remaining errors baseline errors extracted to separate phpstan-remaining-baseline.neon * feat(phpstan): added phpstan-baseline composer script ... for automated updating .phpstan/phpstan-*-baseline.neon files with openemr-related rules errors * fix(phpstan): baseline ... after running composer run phpstan-baseline * ci(phpstan): adjusted to upload separate baseline files rather than one
* style(whitespace): consistent whitespace - [x] remove trailing whitespace at end of line - [x] ensure exactly one newline at end of file - [x] ensure files use consistent linebreaks * ci(whitespace): add GitHub Action to check whitespace Runs pre-commit hooks (trailing-whitespace, end-of-file-fixer, mixed-line-ending) to catch whitespace issues in PRs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * ci(whitespace): check only changed files on PRs On pull requests, only check files changed in the PR. On push to branches, check all files. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * ci(whitespace): use tj-actions/changed-files for PR file detection Replace manual git diff with tj-actions/changed-files@v47 action. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
…penemr#10071) * fix(phpstan): resolve class name collision between Procedure classes Add namespace OpenEMR\Forms\FeeSheet\Review to fee_sheet classes to avoid collision with the ClinicalTypes Procedure class. Also rename classes to follow PSR naming conventions (CodeInfo, Procedure, EncounterInfo). Fixes openemr#10046 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor(fee_sheet_ajax): use array_map and ensure arrays are valid Replace foreach loops with array_map for cleaner functional style. Add defensive checks to ensure json_decode results are always arrays. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor(FeeSheet): move classes to src/ with PSR-4 autoloading and add unit tests - Move CodeInfo, Procedure, EncounterInfo classes to src/Forms/FeeSheet/Review/ - Split into separate files following PSR-4 conventions - Add 13 unit tests for the FeeSheet Review classes - Remove obsolete require_once statements - Update PHPStan baseline to remove stale entries - Add check_code_set_filters mock to isolated test bootstrap 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
…penemr#10059) Add @method annotations to oeHttp class to document static methods forwarded via __callStatic to oeHttpRequest. This allows PHPStan to understand the dynamic method forwarding. Also add require_once statements to codes.php for ClinicalTypes class dependencies. Changes: - Add @method annotations to oeHttp for get, post, put, patch, delete, etc. - Add require_once for Allergy, Communication, Diagnosis, etc. in codes.php - Remove 5 staticMethod.notFound entries from baseline Fixes openemr#10058 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
…penemr#10116) * fix(health): skip auth for readyz endpoint to prevent login redirect Set $ignoreAuth = true before loading globals.php so the /meta/health/readyz endpoint returns JSON health status instead of redirecting to login page. This makes the endpoint suitable for Docker/Kubernetes readiness probes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * test(health): add API tests for health endpoints Adds tests to verify /meta/health/readyz and /meta/health/livez endpoints return JSON responses without requiring authentication. The readyz test specifically checks for the regression in openemr#10115 where the endpoint was redirecting to login instead of returning health status. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
…0062) Remove unused constructor parameters from 15 classes: - Form classes: remove unused $_prefix parameter - Library classes: remove unused $prefix parameter - SimpleRouter: remove unused class - Module classes: remove unused $type, $moduleDirectoryName, $dbAdapter, $name Fixes openemr#10061 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* chore(globals): replace $GLOBALS with OEGlobalsBag
* chore(globals): replace $srcdir with $globalsBag->get('srcdir').
* chore(globals): replace $GLOBALS with GlobalsBag
* chore(globals): replace $GLOBALS with GlobalsBag
* chore(globals): small cleanup
* chore(globals): small cleanup
* chore(globals): getBoolean improvements
* feat(globals): add getKernel and setKernel to OEGGlobalsBag, and replace usage in Portal
* chore(globals): add using compatibilityMode for all OEGlobalsBag usage in the Portal
* fix(globals): fix issue using OEGlobalsBag before autoload.
* chore(rector): fix rector complains
* chore(kernel): remove get and set Kernel from OEGlobalsBag.php and the Portal files
* chore(phpstan): rebuild of phpstan-globals-baseline.neon
* chore(phpstan): new phpstan-remaining-baseline.neon after cleanup
- Remove unused SimpleRouter.php (dead code) - Make MenuRole abstract with new MenuRoleInterface - Fix ICache::Set() docblock: @return variant → @return mixed - Fix Phreezer::GetPrimaryKeyMap() docblock: @return KeyMap|null - Remove deprecated Serializable interface from Phreezable and Reporter - Add SerializableTrait with __serialize()/__unserialize() magic methods - Fix Phreezer::SetCache() to use serialize() function instead of method 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* test(js): add jsPDF integration tests for Fax/SMS module Add Jest tests to verify jsPDF API compatibility used by the convertImagesToPdf function in messageUI.php. These tests will help catch breaking changes during jsPDF version upgrades. - pdf-utils.test.js: Unit tests with mocked jsPDF - jspdf-integration.test.js: Integration tests with real jsPDF library 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * test: add intentionally failing test for CI sanity check * test: remove intentional failure after CI sanity check passed --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
The php-fpm dockers were failing on the node ccda tests. Fixes openemr#10022
Implemented a phpunit test for verifying certification data didn't change. I went with Alice who is the most comprehensive test patient for certification. I could do Happy Child and Jeremy but I think this is sufficient without us going and implementing the entire ETT test suite for onc certification. If someone doesn't have the private files test suite and attempts to run the certification suite it just skips the test. I also implemented a much faster test that verifies the node serveccda.js without requiring that we work on the certification test data set. It uses the OpenEMR xml generated CCDA file that is sent to the serveccda which formats it to the ccda specification format. This verifies that the node server gets started and that it properly generates the correct xml file. Fixes openemr#9877
The serveccda.js was seg faulting due to invalid node version 20 when version 22 is now required for package dependencies. I updated the version. I left it at 8.3 which is what inferno has been running on. We could bump it up to 8.4 if we wanted to in the future.
On the CI engine the OPENEMR_SETTINGS_ flag does not get set as openemr.sh is skipped as part of the ci setup with the setGlobalSettings function call. Had to add it into the ci/ciLibrary.sources in order to get the setting to be enabled for the CI engine.
15fec31 to
19f40d8
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Testing ci