The most popular open source electronic health records and medical practice management solution.
This report presents the forensic synthetic code analysis of openemr/openemr, a PHP project with 5,295 GitHub stars. SynthScan v2.0 examined 1,960,660 lines of code across 6048 source files, recording 6189 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 4.7 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 6189 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | sql_upgrade.php | 273 | function startVersionCheckIfNotRunning() { | CODE |
| LOW | README-Isolated-Testing.md | 95 | public function testProcessReturnsTransformedData(): void | CODE |
| LOW | interface/eRx_xml.php | 54 | function stripSpecialCharacterFacility($str) | CODE |
| LOW | interface/eRx_xml.php | 902 | function PatientFreeformHealthplans($doc, $r, $pid): void | CODE |
| LOW | interface/eRx_xml.php | 935 | function PrescriptionRenewalResponse($doc, $r, $pid): void | CODE |
| LOW | interface/eRxXMLBuilder.php | 193 | public function getDemographicsCheckMessages() | CODE |
| LOW | interface/eRxXMLBuilder.php | 218 | public function createElementTextFieldEmpty($name, $value, $validationText) | CODE |
| LOW | interface/eRxXMLBuilder.php | 225 | public function createElementTextDemographicsCheck($name, $value, $validationText) | CODE |
| LOW | interface/eRxXMLBuilder.php | 486 | public function getLicensedPrescriberName($user, $prescriberType, $prefix = false) | CODE |
| LOW | interface/eRxXMLBuilder.php | 617 | public function getPatientCharacteristics($patient) | CODE |
| LOW | interface/eRxXMLBuilder.php | 660 | public function getPatientFreeformHealthplans($patientId) | CODE |
| LOW | interface/eRxXMLBuilder.php | 677 | public function getPatientFreeformAllergy($patientId) | CODE |
| LOW | interface/eRxPage.php | 164 | public function checkForMissingExtensions() | CODE |
| LOW | interface/eRxSOAP.php | 327 | public function updatePatientImportStatus($status) | CODE |
| LOW | interface/eRxSOAP.php | 373 | public function initializePatientInformationRequester() | CODE |
| LOW | interface/eRxSOAP.php | 460 | public function getPatientFreeFormAllergyHistory() | CODE |
| LOW | interface/eRxSOAP.php | 563 | public function updatePatientAllergyEndDate($allergyArray) | CODE |
| LOW | interface/eRxStore.php | 103 | public function getPatientVitalsByPatientId($patientId) | CODE |
| LOW | interface/eRxStore.php | 126 | public function getPatientHealthplansByPatientId($patientId) | CODE |
| LOW | interface/eRxStore.php | 146 | public function getPatientAllergiesByPatientId($patientId) | CODE |
| LOW | interface/eRxStore.php | 165 | public function getPatientDiagnosisByPatientId($patientId) | CODE |
| LOW | interface/eRxStore.php | 226 | public function updatePrescriptionsActiveByPatientId($patientId, $active = 0) | CODE |
| LOW | interface/eRxStore.php | 240 | public function updatePrescriptionsUploadActiveByPatientIdPrescriptionId($upload, $active, $patientId, $prescription | CODE |
| LOW | interface/eRxStore.php | 285 | public function selectMedicationsNotUploadedByPatientId($patientId, $uploadActive, $limit) | CODE |
| LOW | interface/eRxStore.php | 309 | public function selectPrescriptionIdsNotUploadedByPatientId($patientId, $uploadActive, $limit) | CODE |
| LOW | interface/eRxStore.php | 422 | public function selectPrescriptionIdByGuidPatientId($prescriptionGuid, $patientId) | CODE |
| LOW | interface/eRxStore.php | 568 | public function selectAllergyErxSourceByPatientIdName($patientId, $name) | CODE |
| LOW | interface/eRxStore.php | 633 | public function updateAllergyOutcomeExternalIdByPatientIdName($outcome, $externalId, $patientId, $name) | CODE |
| LOW | interface/eRxStore.php | 658 | public function updateAllergyOutcomeByPatientIdExternalIdName($outcome, $patientId, $externalId, $name) | CODE |
| LOW | interface/eRxStore.php | 676 | public function updateAllergyUploadedByPatientIdAllergyId($uploaded, $patientId, $allergyId) | CODE |
| LOW | interface/eRxStore.php | 697 | public function selectActiveAllergiesByPatientId($patientId) | CODE |
| LOW | interface/eRxStore.php | 718 | public function updateAllergyEndDateByPatientIdListId($patientId, $listId) | CODE |
| LOW | interface/eRxStore.php | 738 | public function updateErxUploadedByListId($listId, $erx = 0) | CODE |
| LOW | interface/eRxStore.php | 756 | public function getPatientImportStatusByPatientId($patientId) | CODE |
| LOW | interface/eRxStore.php | 772 | public function updatePatientImportStatusByPatientId($patientId, $status) | CODE |
| LOW | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 99 | function getCareTeamFacilityForPatient($pid) | CODE |
| LOW | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 170 | function getBillingFacilityForTemplate(FacilityService $facilityService, $default_bill_fac = null) | CODE |
| LOW | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 205 | function getVisitCategoriesForTemplate($viewmode, $encounter, $default_visit_category) | CODE |
| LOW | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 250 | function getSensitivitiesForTemplate($encounter) | CODE |
| LOW | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 342 | function getInCollectionOptionsForTemplate($encounter = null) | CODE |
| LOW | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 358 | function getDischargeDispositionsForTemplate($encounter = null) | CODE |
| LOW | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 385 | function getTherapyGroupCategoriesForTemplate() | CODE |
| LOW | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 447 | function getDuplicateEncounterRecords($viewmode, $pid) | CODE |
| LOW | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 746 | function getDefaultFacilityForNewEncounters($pid, FacilityService $facilityService) | CODE |
| LOW | interface/forms/newpatient/newpatient.js | 83 | function checkForDuplicateEncounter(config) { | CODE |
| LOW | interface/forms/clinical_notes/clinical-notes.js | 547 | function setupDocumentDialogEvents(dialog, noteIndex) { | CODE |
| LOW | interface/forms/clinical_notes/clinical-notes.js | 930 | function updateDocumentSelectedCount(count) { | CODE |
| LOW | interface/forms/clinical_notes/clinical-notes.js | 939 | function updateResultsSelectedCount(count) { | CODE |
| LOW | interface/forms/clinical_notes/clinical-notes.js | 1053 | function matchesDocumentSearchTerm(media, searchTerm) { | CODE |
| LOW | …rms/procedure_order/procedure_order_save_functions.php | 287 | function softDeleteRemovedSpecimens($formid, $order_seq, $processedIds): void | CODE |
| LOW | …rms/procedure_order/procedure_order_save_functions.php | 326 | function getOrCreateProcedureType($postData, $index): ?int | CODE |
| LOW | interface/forms/procedure_order/common.php | 682 | function addProcedureOrderSeqField(lineCount, orderSeq) { | CODE |
| LOW | …_groups/therapy_groups_models/group_statuses_model.php | 52 | public function getGroupAttendanceStatuses() | CODE |
| LOW | …erapy_groups_controllers/therapy_groups_controller.php | 53 | public static function prepareParticipantStatusesList() | CODE |
| LOW | …erapy_groups_controllers/therapy_groups_controller.php | 74 | public static function prepareGroupParticipationList() | CODE |
| LOW | …erapy_groups_controllers/therapy_groups_controller.php | 356 | private function checkIfHasApptOrEncounter($group_id) | CODE |
| LOW | interface/smart/register-app.php | 310 | function toggleSystemFunctionality(enabled) { | CODE |
| LOW | interface/smart/register-app.php | 320 | function toggleDecisionSupportTypeFields(event) { | CODE |
| LOW | interface/orders/receive_hl7_results.inc.php | 402 | function getPerformingOrganizationDetails($obx23, $obx24, $obx25, $componentdelimiter, $commentdelim) | CODE |
| LOW | interface/patient_file/front_payment_terminal.php | 100 | function fetchPaymentIntentClientSecret(amount) { | CODE |
| 4370 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | webpack.themes.js | 152 | // ── oe-styles base themes (LTR) ────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 158 | // ── oe-styles compact themes ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 164 | // ── oe-styles RTL themes ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 170 | // ── oe-styles RTL compact themes ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 176 | // ── color variant themes (LTR) ─────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 180 | // ── color variant themes (compact) ─────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 184 | // ── color variant themes (RTL) ─────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 188 | // ── color variant themes (RTL compact) ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 192 | // ── tabs themes (LTR) ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 196 | // ── tabs themes (RTL) ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 200 | // ── root-level themes (no variant transforms) ──────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 205 | // ── misc → public/themes/misc/ (LTR) ──────────────────────────────────── | COMMENT |
| MEDIUM⚡ | webpack.themes.js | 212 | // ── misc → public/themes/misc/ (RTL) ──────────────────────────────────── | COMMENT |
| MEDIUM | …/Carecoordination/Model/EncounterccdadispatchTable.php | 1437 | // ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/Carecoordination/Model/EncounterccdadispatchTable.php | 1439 | // ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/summary.sh | 2 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/summary.sh | 4 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/summary.sh | 7 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/test_suite.sh | 2 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/test_suite.sh | 4 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/test_suite.sh | 10 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/test_suite.sh | 14 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/test_suite.sh | 16 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/test_suite.sh | 80 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/test_suite.sh | 82 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/test_suite.sh | 241 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/test_suite.sh | 243 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/test_suite.sh | 288 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/test_suite.sh | 290 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/test_suite.sh | 1562 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/test_suite.sh | 1564 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/test_functionality.sh | 2 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/test_functionality.sh | 4 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/test_functionality.sh | 22 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/export_to_csv.sh | 2 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/export_to_csv.sh | 4 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/export_to_csv.sh | 8 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/benchmark.sh | 15 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/benchmark.sh | 19 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/benchmark.sh | 21 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/benchmark.sh | 561 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/benchmark.sh | 563 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/benchmark.sh | 568 | # ========================================================================= | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/benchmark.sh | 574 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/benchmark.sh | 576 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 2 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 4 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 63 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 65 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 99 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 101 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 261 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 263 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 332 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 334 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 385 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 387 | # ============================================================================ | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 681 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM | docker/container_benchmarking/benchmark.sh | 683 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/docker-compose.yml | 1 | # ============================================================================ | COMMENT |
| 380 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | CONTRIBUTING.md | 79 | - `Generated-By: Claude` — Code fully generated by Claude Code, claude.ai, etc. | CODE |
| HIGH | gacl/admin/admin_functions.js | 121 | // AI-generated code start (GitHub Copilot) | COMMENT |
| HIGH | gacl/admin/admin_functions.js | 129 | // AI-generated code end | COMMENT |
| HIGH | interface/forms/eye_mag/view.php | 4474 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH⚡ | interface/forms/eye_mag/view.php | 4506 | // AI-generated code end | COMMENT |
| HIGH⚡ | interface/forms/eye_mag/view.php | 4516 | // AI-generated code (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH⚡ | interface/forms/eye_mag/view.php | 4525 | // AI-generated code (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 147 | // GENERATED BY claude.ai January 30th 2025 -- HEADER | COMMENT |
| HIGH | …erface/forms/newpatient/C_EncounterVisitForm.class.php | 480 | // GENERATED BY claude.ai January 30th 2025 -- FOOTER | COMMENT |
| HIGH | interface/forms/newpatient/newpatient.js | 15 | // CODE GENERATED BY CLAUDE.AI - START | COMMENT |
| HIGH | interface/forms/newpatient/newpatient.js | 45 | // CODE GENERATED BY CLAUDE.AI - END | COMMENT |
| HIGH | interface/forms/newpatient/newpatient.js | 120 | // CODE GENERATED BY CLAUDE.AI - START | COMMENT |
| HIGH | interface/forms/newpatient/newpatient.js | 306 | // CODE GENERATED BY CLAUDE.AI - END | COMMENT |
| HIGH | interface/usergroup/addrbook_edit.php | 177 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/usergroup/addrbook_edit.php | 193 | // AI-generated code end | COMMENT |
| HIGH | interface/drugs/drug_inventory.php | 259 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/drugs/drug_inventory.php | 271 | // AI-generated code end | COMMENT |
| HIGH | interface/patient_tracker/patient_tracker.php | 1035 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/patient_tracker/patient_tracker.php | 1054 | // AI-generated code end | COMMENT |
| HIGH | interface/orders/procedure_provider_list.php | 57 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/orders/procedure_provider_list.php | 81 | // AI-generated code end | COMMENT |
| HIGH | interface/orders/find_order_popup.php | 111 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/orders/find_order_popup.php | 134 | // AI-generated code end | COMMENT |
| HIGH | interface/patient_file/front_payment.php | 402 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/patient_file/front_payment.php | 412 | // AI-generated code end | COMMENT |
| HIGH | interface/patient_file/pos_checkout_normal.php | 216 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/patient_file/pos_checkout_normal.php | 226 | // AI-generated code end | COMMENT |
| HIGH⚡ | interface/patient_file/pos_checkout_ippf.php | 585 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH⚡ | interface/patient_file/pos_checkout_ippf.php | 595 | // AI-generated code end | COMMENT |
| HIGH⚡ | interface/patient_file/pos_checkout_ippf.php | 604 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/patient_file/pos_checkout_ippf.php | 621 | // AI-generated code end | COMMENT |
| HIGH | interface/patient_file/transaction/add_transaction.php | 312 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/patient_file/transaction/add_transaction.php | 323 | // AI-generated code end | COMMENT |
| HIGH | interface/patient_file/report/patient_report.php | 402 | // AI-generated code (Claude Code) - start | COMMENT |
| HIGH | interface/patient_file/report/patient_report.php | 411 | // AI-generated code (Claude Code) - end | COMMENT |
| HIGH | interface/patient_file/report/patient_report.php | 478 | // AI-generated code (Claude Code) - start | COMMENT |
| HIGH | interface/patient_file/report/patient_report.php | 487 | // AI-generated code (Claude Code) - end | COMMENT |
| HIGH | interface/patient_file/summary/stats_full.php | 121 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/patient_file/summary/stats_full.php | 142 | // AI-generated code end | COMMENT |
| HIGH | interface/patient_file/summary/stats_full.php | 149 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/patient_file/summary/stats_full.php | 172 | // AI-generated code end | COMMENT |
| HIGH | interface/main/tabs/js/tabs_view_model.js | 245 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/main/tabs/js/tabs_view_model.js | 260 | // AI-generated code end | COMMENT |
| HIGH | interface/main/tabs/js/tabs_view_model.js | 264 | // AI-generated code (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/main/messages/js/reminder_appts.js | 287 | // AI-generated code start (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | interface/main/messages/js/reminder_appts.js | 301 | // AI-generated code end | COMMENT |
| HIGH | …face/main/calendar/modules/PostCalendar/common.api.php | 266 | // AI-generated code (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | …modules/zend_modules/public/js/lib/jquery-ui.custom.js | 1530 | // Format a name, short or long as requested | COMMENT |
| HIGH | …les/zend_modules/public/js/lib/jquery.ui.datepicker.js | 1192 | // Format a name, short or long as requested | COMMENT |
| HIGH | …erface/modules/zend_modules/public/js/lib/jquery-ui.js | 8906 | // Format a name, short or long as requested | COMMENT |
| HIGH | interface/billing/sl_eob_search.php | 22 | * @copyright Public Domain for the pieces that were generated by Claude.AI | COMMENT |
| HIGH | interface/billing/era_payments.php | 226 | // AI-generated code (GitHub Copilot) - Refactored to use URLSearchParams | COMMENT |
| HIGH | …ort/docs/bower/admin-lte/plugins/jQueryUI/jquery-ui.js | 5102 | // Format a name, short or long as requested | COMMENT |
| HIGH | …y/layout/bower/admin-lte/plugins/jQueryUI/jquery-ui.js | 5102 | // Format a name, short or long as requested | COMMENT |
| HIGH | tests/PHPStan/Rules/ForbiddenGlobalsAccessRule.php | 11 | * @author GitHub Copilot // AI-generated | COMMENT |
| HIGH | …erface/Forms/Observation/ObservationControllerTest.php | 11 | * @copyright Public Domain for the pieces that were generated by Claude.AI | COMMENT |
| HIGH | …ts/Tests/Unit/FHIR/SMART/ClientAdminControllerTest.php | 8 | * @copyright Public Domain, this class was generated by Claude AI and had modifications added afterwards. | COMMENT |
| HIGH | …nIDConnect/SMARTSessionTokenContextIntegrationTest.php | 20 | * This code is released into the public domain as it was entirely generated by Claude AI. | COMMENT |
| HIGH | …stControllers/Subscriber/AuthorizationListenerTest.php | 9 | * @copyright This file belongs in the public domain as most of it was generated by Claude.AI with bug fixes/changes mad | COMMENT |
| HIGH | …Common/Auth/OpenIDConnect/IdTokenSMARTResponseTest.php | 10 | * This code is released into the public domain as it was entirely generated by Claude AI. | COMMENT |
| 80 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docker/COVERAGE.md | 12 | 4. The container runs `kcov-wrapper.sh`, which does the heavy build (composer, npm, napa, webpack, phing) OUTSIDE kcov i | CODE |
| MEDIUM | docker/flex/openemr.sh | 1108 | # falling back to file sessions (which would break downstream orchestration). | COMMENT |
| MEDIUM | docker/flex/kcov-wrapper.sh | 57 | # mostly bare command invocations; the meaningful orchestration paths | COMMENT |
| MEDIUM | docker/flex/kcov-wrapper.sh | 63 | # Pass 2: orchestration under kcov, build already done. FLEX_SKIP_APACHE_EXEC | COMMENT |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 5 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$ignoreAuth\\)\\. Use dependency injection instead\\.$ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 10 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$pid\\)\\. Use dependency injection instead\\.$#', | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 15 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$pid\\)\\. Use dependency injection instead\\.$#', | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 20 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$commitchanges\\)\\. Use dependency injection instead\ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 25 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$ISSUE_TYPES\\)\\. Use dependency injection instead\\. | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 30 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$qrda_file_path\\)\\. Use dependency injection instead | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 35 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$code_external_tables\\)\\. Use dependency injection i | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 40 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$code_types, \\$code_external_tables\\)\\. Use depende | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 45 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$code_types\\)\\. Use dependency injection instead\\.$ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 50 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$ct_external_options\\)\\. Use dependency injection in | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 55 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$EXPORT_PATH\\)\\. Use dependency injection instead\\. | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 60 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$pid\\)\\. Use dependency injection instead\\.$#', | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 65 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$out, \\$indent\\)\\. Use dependency injection instead | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 70 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$encCheckUniqId, \\$from_date, \\$to_date, \\$Encounte | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 75 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$encCheckUniqId, \\$from_date, \\$to_date\\)\\. Use de | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 80 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$from_date, \\$to_date\\)\\. Use dependency injection | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 85 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$mainQrdaPayerCodeSendArr, \\$from_date, \\$to_date\\) | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 90 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$mainQrdaRaceCodeArr, \\$mainEthiCodeArr, \\$from_date | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 95 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$preDefinedUniqIDRules\\)\\. Use dependency injection | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 100 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$qrda_file_path\\)\\. Use dependency injection instead | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 105 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$facilityService\\)\\. Use dependency injection instea | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 110 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$db\\)\\. Use dependency injection instead\\.$#', | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 115 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$where, \\$eracount, \\$eraname\\)\\. Use dependency i | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 120 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$InsertionId\\)\\. Use dependency injection instead\\. | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 125 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$StringToEcho, \\$debug\\)\\. Use dependency injection | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 130 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$encount, \\$debug\\)\\. Use dependency injection inst | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 135 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$invoice_total, \\$last_code, \\$paydate\\)\\. Use dep | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 140 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$invoice_total\\)\\. Use dependency injection instead\ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 145 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$last_ptname, \\$last_invnumber, \\$last_code\\)\\. Us | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 150 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$STMT_TEMP_FILE_PDF\\)\\. Use dependency injection ins | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 155 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$where, \\$eracount, \\$eraname\\)\\. Use dependency i | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 160 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$bcodes\\)\\. Use dependency injection instead\\.$#', | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 165 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$isAuthorized\\)\\. Use dependency injection instead\\ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 170 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$srcdir, \\$isAuthorized\\)\\. Use dependency injectio | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 175 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$isAuthorized\\)\\. Use dependency injection instead\\ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 180 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$ub04_codes\\)\\. Use dependency injection instead\\.$ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 185 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$tmpl_line_no\\)\\. Use dependency injection instead\\ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 190 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$drug_id, \\$is_user_restricted\\)\\. Use dependency i | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 195 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$drug_id\\)\\. Use dependency injection instead\\.$#', | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 200 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$auth_admin, \\$auth_lots\\)\\. Use dependency injecti | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 205 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$msg, \\$facilityService\\)\\. Use dependency injectio | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 210 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$msg, \\$page\\)\\. Use dependency injection instead\\ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 215 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$msg, \\$warning_msg, \\$dem_check\\)\\. Use dependenc | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 220 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$msg\\)\\. Use dependency injection instead\\.$#', | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 225 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$faxcache\\)\\. Use dependency injection instead\\.$#' | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 230 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$cell_count, \\$CPR, \\$historical_ids, \\$USING_BOOTS | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 235 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$item_count, \\$historical_ids, \\$USING_BOOTSTRAP\\)\ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 240 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$cell_count, \\$CPR\\)\\. Use dependency injection ins | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 245 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$item_count, \\$cell_count\\)\\. Use dependency inject | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 250 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$CPR\\)\\. Use dependency injection instead\\.$#', | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 255 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$counter_header\\)\\. Use dependency injection instead | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 260 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$ISSUE_TYPES\\)\\. Use dependency injection instead\\. | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 265 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$OE_SITE_DIR\\)\\. Use dependency injection instead\\. | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 270 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$PMSFH\\)\\. Use dependency injection instead\\.$#', | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 275 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$PMSFH_titles\\)\\. Use dependency injection instead\\ | CODE |
| MEDIUM⚡ | .phpstan/baseline/openemr.forbiddenGlobalKeyword.php | 280 | 'message' => '#^Use of the "global" keyword is forbidden \\(\\$codes_found\\)\\. Use dependency injection instead\\. | CODE |
| 336 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | acl_upgrade.php | 181 | //Insert the 'state' object from the 'lists' section into the Administrators group write ACL (added in 3.0.2) | COMMENT |
| LOW | acl_upgrade.php | 381 | AclExtended::addObjectAcl('patients', 'Patients', 'amendment', 'Amendments (write,addonly optional)'); | COMMENT |
| LOW | .pre-commit-config.yaml | 1 | # See https://pre-commit.com for more information | COMMENT |
| LOW | .pre-commit-config.yaml | 81 | - id: check-json | COMMENT |
| LOW | .pre-commit-config.yaml | 161 | # | COMMENT |
| LOW | .hadolint.yaml | 1 | # Hadolint configuration for OpenEMR | COMMENT |
| LOW | .hadolint.yaml | 41 | COMMENT | |
| LOW | webpack.themes.js | 21 | * The filesystem cache writes to .webpack-cache/ (mapped by the Dockerfile's | COMMENT |
| LOW | webpack.themes.js | 121 | ], | COMMENT |
| LOW | sql_upgrade.php | 161 | <link rel="shortcut icon" href="public/images/favicon.ico" /> | COMMENT |
| LOW | version.php | 21 | COMMENT | |
| LOW | .codespell-exclude-lines.txt | 1 | # Lines to exclude from codespell checking | COMMENT |
| LOW | sql_patch.php | 1 | <?php | COMMENT |
| LOW | run-semgrep.sh | 1 | #!/bin/bash | COMMENT |
| LOW | interface/globals.php | 661 | COMMENT | |
| LOW | interface/forms/eye_mag/view.php | 4561 | // We are building the panel bar with the patient medical info | COMMENT |
| LOW | interface/forms/eye_mag/js/shorthand_eye.js | 101 | var nofield = 'error'; | COMMENT |
| LOW | interface/forms/procedure_order/common.php | 1661 | unset($order_data); ?> | COMMENT |
| LOW | interface/forms/phq9/phq9_javasrc.js | 1 | // PHQ9 form | COMMENT |
| LOW | interface/forms/CAMOS/new.php | 301 | } else { | COMMENT |
| LOW | interface/forms/gad7/gad7_javasrc.js | 1 | // GAD-7 form | COMMENT |
| LOW | interface/drugs/drugs.inc.php | 1 | <?php | COMMENT |
| LOW | interface/orders/load_compendium.php | 181 | if ($fhcsv) { | COMMENT |
| LOW | interface/orders/list_reports.php | 121 | // | COMMENT |
| LOW | interface/patient_file/encounter/trend_form.php | 41 | <?php require OEGlobalsBag::getInstance()->getSrcDir() . '/js/xl/dygraphs.js.php'; ?> | COMMENT |
| LOW | interface/main/calendar/config.php | 1 | <?php | COMMENT |
| LOW | interface/main/calendar/pntables.php | 1 | <?php | COMMENT |
| LOW | interface/main/calendar/includes/pnAPI.php | 1 | <?php | COMMENT |
| LOW | interface/main/calendar/includes/pnHTML.php | 1 | <?php | COMMENT |
| LOW | interface/main/calendar/includes/pnMod.php | 1 | <?php | COMMENT |
| LOW | interface/main/calendar/modules/PostCalendar/pnuser.php | 521 | // Only the 'default' PostCalendar template set ships with the | COMMENT |
| LOW | …alendar/modules/PostCalendar/pnincludes/PopupWindow.js | 1 | // =================================================================== | COMMENT |
| LOW | …lendar/modules/PostCalendar/pnincludes/overlib_mini.js | 1 | //\////////////////////////////////////////////////////////////////////////////////// | COMMENT |
| LOW | …lendar/modules/PostCalendar/pnincludes/ColorPicker2.js | 1 | // =================================================================== | COMMENT |
| LOW | …ndar/modules/PostCalendar/pnincludes/AnchorPosition.js | 1 | // =================================================================== | COMMENT |
| LOW | …stCalendar/pntemplates/default/views/monthSelector.php | 1 | <?php | COMMENT |
| LOW | interface/main/finder/dynamic_finder_ajax.php | 81 | } else { | COMMENT |
| LOW | …ation/src/Carecoordination/Model/ModuleconfigTable.php | 1 | <?php | COMMENT |
| LOW | …ordination/src/Carecoordination/Model/Moduleconfig.php | 1 | <?php | COMMENT |
| LOW | …romicsurveillance/Model/SyndromicsurveillanceTable.php | 321 | //"|" . // 23. Birthplace | COMMENT |
| LOW | interface/modules/zend_modules/public/index.php | 41 | // Strangler seam (PHP 8.5 migration off laminas-mvc): when the feature flag is | COMMENT |
| LOW | …/modules/zend_modules/public/js/lib/virtualpaginate.js | 1 | // ------------------------------------------------------------------- | COMMENT |
| LOW | …ace/modules/zend_modules/public/js/lib/jquery-1.8.3.js | 9461 | // since jQuery can be concatenated with other files that may use define, | COMMENT |
| LOW | …ace/modules/zend_modules/public/js/lib/jquery-1.4.3.js | 941 | // (IE uses .cssText insted) | COMMENT |
| LOW | …ules/public/js/lib/jquery.treeview-1.4.1/lib/jquery.js | 941 | // (IE uses .cssText insted) | COMMENT |
| LOW | …ink-telehealth/public/assets/js/src/conference-room.js | 441 | // { | COMMENT |
| LOW | …ustom_modules/oe-module-ehi-exporter/src/Bootstrap.php | 181 | // $value = $GLOBALS[$key] ?? $config['default']; | COMMENT |
| LOW | …-module-faxsms/library/rc_sms_notification_helpers.php | 121 | // For recurring events, the events-table dedup columns | COMMENT |
| LOW | …odules/oe-module-faxsms/src/Controller/VoiceClient.php | 61 | $this->crypto = ServiceContainer::getCrypto(); | COMMENT |
| LOW | interface/themes/color_base.scss | 21 | * @license http://opensource.org/licenses/gpl-license.php GNU Public License | COMMENT |
| LOW | interface/billing/sl_eob_search.php | 441 | } elseif (!$multiplePatients) { | COMMENT |
| LOW | interface/billing/ub04_form.php | 521 | #ub04id2{ left:26px; top:19px; width:264px; text-align:left;} | COMMENT |
| LOW | interface/billing/ub04_form.php | 541 | #ub04id22{left:885px; top:110px; width:34px; text-align:left;} | COMMENT |
| LOW | interface/billing/ub04_form.php | 561 | #ub04id42{left:741px; top:147px; width:37px; text-align:center;} | COMMENT |
| LOW | interface/billing/ub04_form.php | 581 | #ub04id62{left:159px; top:202px; width:77px; text-align:right;} | COMMENT |
| LOW | interface/billing/ub04_form.php | 601 | #ub04id82{left:631px; top:258px; width:34px; text-align:center;} | COMMENT |
| LOW | interface/billing/ub04_form.php | 621 | #ub04id102{left:507px; top:332px; width:77px; text-align:right;} | COMMENT |
| LOW | interface/billing/ub04_form.php | 641 | #ub04id122{left:891px; top:368px; width:28px; text-align:center;} | COMMENT |
| LOW | interface/billing/ub04_form.php | 661 | #ub04id142{left:507px; top:422px; width:77px; text-align:right;} | COMMENT |
| LOW | interface/billing/ub04_form.php | 681 | #ub04id162{left:891px; top:459px; width:28px; text-align:center;} | COMMENT |
| 373 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …ace/forms/eye_mag/js/jquery-ui-1-11-4/jquery-ui.min.js | 6 | (function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a, | CODE |
| CRITICAL | …ace/forms/eye_mag/js/jquery-ui-1-11-4/jquery-ui.min.js | 8 | return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String. | CODE |
| CRITICAL | interface/forms/eye_mag/js/jquery-1-10-2/jquery.min.js | 5 | }({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e. | CODE |
| CRITICAL | …estionnaire_assessments/lforms/webcomponent/scripts.js | 2 | !function(H,Je){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=H.document?Je(H,!0) | CODE |
| CRITICAL | …odules/zend_modules/public/js/lib/jquery.easyui.min.js | 8677 | $.fn.datagrid.defaults.view.onAfterRender.call(this,_66c); | CODE |
| CRITICAL | …odules/zend_modules/public/js/lib/jquery-1.10.2.min.js | 5 | }({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e. | CODE |
| CRITICAL | …ink-telehealth/public/assets/js/telehealth-calendar.js | 164 | window.top.window.parent.left_nav.setPatientEncounter(encounterData.encounterList.ids, encounterData.encounterLi | CODE |
| CRITICAL | …docs/bower/admin-lte/plugins/jQueryUI/jquery-ui.min.js | 6 | (function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a, | CODE |
| CRITICAL | …docs/bower/admin-lte/plugins/jQueryUI/jquery-ui.min.js | 8 | return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String. | CODE |
| CRITICAL | …ocs/bower/admin-lte/plugins/jQuery/jquery-2.2.3.min.js | 3 | }catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:fun | CODE |
| CRITICAL | Documentation/EHI_Export/docs/bower/jquery/jquery.js | 7591 | jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { | CODE |
| CRITICAL | …yout/bower/admin-lte/plugins/jQueryUI/jquery-ui.min.js | 6 | (function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a, | CODE |
| CRITICAL | …yout/bower/admin-lte/plugins/jQueryUI/jquery-ui.min.js | 8 | return e.datepicker._get(n,"constrainInput")?(i=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String. | CODE |
| CRITICAL | …out/bower/admin-lte/plugins/jQuery/jquery-2.2.3.min.js | 3 | }catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:fun | CODE |
| CRITICAL | …ion/EHI_Export/schemaspy/layout/bower/jquery/jquery.js | 7591 | jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | acl_upgrade.php | 97 | AclExtended::addObjectSectionAcl('placeholder', 'Placeholder'); | CODE |
| LOW | acl_upgrade.php | 126 | AclExtended::addObjectAcl('placeholder', 'Placeholder', 'filler', 'Placeholder (Maintains empty ACLs)'); | CODE |
| LOW | interface/usergroup/email_send_test.php | 125 | placeholder="admin@example.com" required> | CODE |
| LOW | …mmunization/src/Immunization/Form/ImmunizationForm.php | 49 | 'placeholder' => 'From Date', | CODE |
| LOW | …mmunization/src/Immunization/Form/ImmunizationForm.php | 61 | 'placeholder' => 'To Date', | CODE |
| LOW | …/js/lib/jquery.treeview-1.4.1/jquery.treeview.async.js | 32 | classes: "placeholder", | CODE |
| LOW | …/js/lib/jquery.treeview-1.4.1/jquery.treeview.async.js | 69 | classes: "placeholder", | CODE |
| LOW | …ort/docs/bower/datatables.net/jquery.dataTables.min.js | 41 | "":this.value;b!=e.sSearch&&(ga(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iD | CODE |
| LOW | …y/layout/bower/datatables.net/jquery.dataTables.min.js | 41 | "":this.value;b!=e.sSearch&&(ga(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iD | CODE |
| LOW | Documentation/api/AUTHENTICATION.md | 97 | "contacts": ["admin@example.org"], | CODE |
| LOW | Documentation/api/AUTHENTICATION.md | 125 | "contacts": ["admin@example.org"], | CODE |
| LOW | Documentation/api/STANDARD_API.md | 377 | "street": "123 Main St", | CODE |
| LOW | Documentation/api/STANDARD_API.md | 381 | "phone_home": "555-1234", | CODE |
| LOW | Documentation/api/SMART_ON_FHIR.md | 181 | "contacts": ["admin@example.com"] | CODE |
| LOW | docker/development-insane/docker-compose.yml | 704 | - ../library/dockers/dev-nginx/dummy-key:/etc/nginx/dummy-key:ro | CODE |
| LOW | portal/patient/scripts/app/patientdata.js | 189 | $(this).prop('placeholder', 'Invalid Date'); | CODE |
| LOW | swagger/swagger-ui.js | 1 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.am | CODE |
| LOW | swagger/swagger-ui-es-bundle-core.js | 2 | import*as e from"react-immutable-pure-component";import*as t from"remarkable/linkify";import*as r from"dompurify";import | CODE |
| LOW | swagger/swagger-ui-standalone-preset.js | 2 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.am | CODE |
| LOW | ci/compose-shared-nginx/compose.yml | 24 | - ./nginx/dummy-key:/etc/nginx/dummy-key:ro | CODE |
| LOW | …rvice/utils/demographics/populate-demographics.mock.js | 49 | facility_phone: '555-5555', | CODE |
| LOW⚡ | tests/Tests/Unit/Common/Utils/XmlUtilsTest.php | 45 | $this->assertSame('John Doe', (string) $result->name); | CODE |
| LOW | tests/Tests/Api/ApiTestClient.php | 268 | "contacts" => ["me@example.org", "them@example.org"], | CODE |
| LOW | tests/Tests/Api/BulkAPITestClient.php | 128 | "contacts" => ["me@example.org", "them@example.org"], | CODE |
| LOW | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 171 | 'phoneHome' => '555-0000' | CODE |
| LOW⚡ | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 232 | 'phoneHome' => '555-0000' | CODE |
| LOW⚡ | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 42 | $result = $verify->verify('123 Main St', '', 'Springfield', 'IL', '62701'); | CODE |
| LOW⚡ | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 100 | $verify->verify('123 Main St', '', 'City', 'ST', '12345'); | CODE |
| LOW⚡ | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 157 | $verify->verify('123 Main St', 'Apt 4B', 'Springfield', 'IL', '62701', '1234'); | CODE |
| LOW⚡ | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 160 | $this->assertEquals('123 Main St', $query['streetAddress']); | CODE |
| LOW⚡ | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 173 | $verify->verify('123 Main St', '', 'Springfield', 'IL', '', ''); | CODE |
| LOW⚡ | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 211 | $verify->verify('123 Main St', '', 'City', 'ST', '12345', '6789'); | CODE |
| LOW⚡ | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 243 | $verify->verify('123 Main St', '', 'City', 'ST', '12345'); | CODE |
| LOW⚡ | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 251 | $result = $verify->verify('123 Main St', '', 'City', 'ST', '12345'); | CODE |
| LOW⚡ | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 262 | $verify->verify('123 Main St', '', 'City', 'ST', '12345'); | CODE |
| LOW | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 189 | $verify->verify('123 Main St', '', 'City', 'ST', '12345', 'invalid'); | CODE |
| LOW | tests/Tests/Isolated/USPS/USPSAddressVerifyV3Test.php | 200 | $verify->verify('123 Main St', '', 'City', 'ST', '12345', '123'); | CODE |
| LOW⚡ | tests/Tests/Isolated/Core/OEGlobalsBagIsolatedTest.php | 27 | $key = 'dummy-key'; | CODE |
| LOW⚡ | tests/Tests/Isolated/Core/OEGlobalsBagIsolatedTest.php | 28 | $value = 'dummy-value'; | CODE |
| LOW⚡ | tests/Tests/Isolated/Core/OEGlobalsBagIsolatedTest.php | 40 | $key = 'dummy-key'; | CODE |
| LOW⚡ | tests/Tests/Isolated/Core/OEGlobalsBagIsolatedTest.php | 41 | $value = 'dummy-value'; | CODE |
| LOW⚡ | …Controllers/SMART/SMARTAuthorizationControllerTest.php | 68 | ->willReturn(['id' => '123e4567-e89b-12d3-a456-426614174000', 'name' => 'John Doe']); | CODE |
| LOW⚡ | …/Tests/Isolated/Cqm/Qdm/BaseTypes/AbstractTypeTest.php | 102 | 'street' => ['123 Main St', 'Suite 100'], | CODE |
| LOW⚡ | …/Tests/Isolated/Cqm/Qdm/BaseTypes/AbstractTypeTest.php | 110 | $this->assertSame(['123 Main St', 'Suite 100'], $address->street); | CODE |
| LOW | tests/Tests/Isolated/library/CsvEscapeTest.php | 48 | 'email in middle' => ['user@example.com', '"user@example.com"'], // @ preserved when not leading | CODE |
| LOW | tests/Tests/Isolated/library/classes/InstallerTest.php | 2635 | ['Placeholder', 'placeholder'], | CODE |
| LOW | …lated/Immunization/ImmunizationSqlInjectionFixTest.php | 60 | "John Doe", | CODE |
| LOW | …/Isolated/Common/Utils/ValidationUtilsIsolatedTest.php | 140 | 'user+tag@example.org', | CODE |
| LOW | …olated/Common/Command/PhoneNotificationCommandTest.php | 68 | string $phoneHome = '555-1234', | CODE |
| LOW | …olated/Common/Command/PhoneNotificationCommandTest.php | 148 | 'phone_map' => [3 => '555-0000'], | CODE |
| LOW⚡ | …ts/Tests/Isolated/Validators/FacilityValidatorTest.php | 161 | 'phone' => '555-0123', | CODE |
| LOW⚡ | …ts/Tests/Isolated/Validators/FacilityValidatorTest.php | 164 | 'street' => '123 Main St', | CODE |
| LOW⚡ | …ts/Tests/Isolated/Validators/FacilityValidatorTest.php | 167 | 'fax' => '555-0124', | CODE |
| LOW | …ts/Tests/Isolated/Validators/CoverageValidatorTest.php | 79 | 'subscriber_street' => '123 Main St', | CODE |
| LOW | …ts/Tests/Isolated/Validators/CoverageValidatorTest.php | 124 | 'subscriber_street' => '123 Main St', | CODE |
| LOW | …ts/Tests/Isolated/Validators/CoverageValidatorTest.php | 152 | 'subscriber_street' => '123 Main St', | CODE |
| LOW | …ts/Tests/Isolated/Validators/CoverageValidatorTest.php | 242 | 'subscriber_street' => '123 Main St', | CODE |
| LOW | …ts/Tests/Isolated/Validators/CoverageValidatorTest.php | 254 | 'subscriber_phone' => '555-1234', | CODE |
| LOW⚡ | …s/Isolated/Validators/OpenEMRParticleValidatorTest.php | 109 | $validData = ['name' => 'John Doe']; | CODE |
| LOW | …SMS/Notification/AppointmentNotificationRunnerTest.php | 241 | 'too short' => ['555-1234', null], | CODE |
| 45 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …erface/modules/zend_modules/public/js/lib/jquery-ui.js | 13433 | // IE sets focus asynchronously, so we need to check if focus | COMMENT |
| LOW | …-telehealth/public/assets/js/telehealth-appointment.js | 123 | // now we need to check if the patient is setup for telehealth | COMMENT |
| LOW | …ort/docs/bower/admin-lte/plugins/jQueryUI/jquery-ui.js | 14929 | // IE sets focus asynchronously, so we need to check if focus | COMMENT |
| LOW | …y/layout/bower/admin-lte/plugins/jQueryUI/jquery-ui.js | 14929 | // IE sets focus asynchronously, so we need to check if focus | COMMENT |
| LOW⚡ | docker/container_benchmarking/test_suite.sh | 1439 | # Step 3: Set an older version in sites/default/docker-version to trigger upgrade | COMMENT |
| LOW⚡ | docker/container_benchmarking/test_suite.sh | 1458 | # Step 4: Get log position before restart to only check new logs | COMMENT |
| LOW⚡ | docker/container_benchmarking/test_suite.sh | 1464 | # Step 5: Restart container to trigger upgrade check | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1380 | # Step 1: Start fresh installation and wait for it to complete | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1422 | # Step 2: Get current version from container and verify all version files exist | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1489 | # Step 6: Check logs for upgrade messages (only new logs since restart) | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1504 | # Step 7: Verify version marker was updated | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1517 | # Step 8: Verify OpenEMR is still configured and accessible | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 680 | # Step 1: Handle swarm mode coordination (if enabled) | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 685 | # Step 2: Configure SSL/TLS certificates | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 702 | # Step 3: Check for upgrades | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 707 | # Step 4: Verify configuration exists (critical check for worker containers) | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 717 | # Step 5: Copy SSL/TLS certificates for MySQL, Redis, LDAP, CouchDB | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 932 | # Step 12: Mark swarm completion (if in swarm mode) | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 938 | # Step 13: Signal instance ready (swarm mode only) | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 946 | # Step 14: Display support message | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 952 | # Step 15: Start Apache (if this container is an operator) | COMMENT |
| LOW | docker/release/openemr.sh | 739 | # Step 6: Run auto-configuration (if needed) | COMMENT |
| LOW | docker/release/openemr.sh | 816 | # Step 7: Update global settings if already configured | COMMENT |
| LOW | docker/release/openemr.sh | 828 | # Step 8: Configure Redis sessions (if available) | COMMENT |
| LOW | docker/release/openemr.sh | 864 | # Step 9: Finalize permissions and cleanup setup scripts | COMMENT |
| LOW | docker/release/openemr.sh | 902 | # Step 10: Fix certificate permissions (only once in swarm mode) - OPTIMIZED | COMMENT |
| LOW | docker/release/openemr.sh | 915 | # Step 11: Configure XDebug or PHP optimizations | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 683 | # Step 1: Handle swarm mode coordination (if enabled) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 688 | # Step 2: Configure SSL/TLS certificates | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 696 | # Step 3: Check for upgrades | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 701 | # Step 4: Verify configuration exists (critical check for worker containers) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 711 | # Step 5: Copy SSL/TLS certificates for MySQL, Redis, LDAP, CouchDB | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 893 | # Step 11: Configure PHP optimizations (XDebug not supported with static binaries) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 902 | # Step 12: Mark swarm completion (if in swarm mode) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 908 | # Step 13: Signal instance ready (swarm mode only) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 916 | # Step 14: Display support message | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 922 | # Step 15: Start PHP-FPM and Apache (if this container is an operator) | COMMENT |
| LOW | docker/binary/openemr.sh | 730 | # Step 6: Run auto-configuration (if needed) | COMMENT |
| LOW | docker/binary/openemr.sh | 807 | # Step 7: Update global settings if already configured | COMMENT |
| LOW | docker/binary/openemr.sh | 819 | # Step 8: Configure Redis sessions (if available) | COMMENT |
| LOW | docker/binary/openemr.sh | 837 | # Step 9: Finalize permissions and cleanup setup scripts | COMMENT |
| LOW | docker/binary/openemr.sh | 880 | # Step 10: Fix certificate permissions (only once in swarm mode) - OPTIMIZED | COMMENT |
| LOW | portal/patient/_machine_config.php | 88 | // if Multibyte support is specified then we need to check if multibyte functions are available | COMMENT |
| LOW⚡ | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 219 | // Step 1: User A logs in | COMMENT |
| LOW⚡ | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 224 | // Step 2: User A navigates to profile edit page | COMMENT |
| LOW⚡ | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 225 | // Step 3: User A modifies the request to target User B | COMMENT |
| LOW⚡ | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 235 | // Step 4: Expected result | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 665 | // Step 1: API listener creates and injects API session | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 670 | // Step 2: getActiveSession returns API session | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 674 | // Step 3: Data is accessible | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 692 | // Step 1: OAuth listener creates and injects OAuth session | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 697 | // Step 2: getActiveSession returns OAuth session | COMMENT |
| LOW | library/encounter_events.inc.php | 23 | //This section handles the events of payment screen. | COMMENT |
| LOW | library/payment_jav.inc.php | 29 | //This section handles payment related javascript functions.Add, Search and Edit screen uses these functions. | COMMENT |
| LOW | library/payment.inc.php | 60 | //This section handles the common functions of payment screens. | COMMENT |
| LOW | …/classes/rulesets/Amc/reports/AMC_315g_7/Numerator.php | 58 | // next we need to check if the referral marked that the recipient confirmed receipt... | COMMENT |
| LOW | library/ajax/payment_ajax_jav.inc.php | 4 | * This section handles ajax functions for insurance,patient and for encounters. | COMMENT |
| LOW | library/ajax/payment_ajax.php | 4 | * This section handles ajax for insurance,patient and for encounters. | COMMENT |
| LOW | sites/default/LBF/LBFathv.plugin.php | 13 | // The purpose of this function is to create JavaScript for the <head> | COMMENT |
| LOW | sites/default/LBF/LBFathv.plugin.php | 135 | // The purpose of this function is to create JavaScript that is run | COMMENT |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Documentation/api/AUTHENTICATION.md | 238 | #### Step 1: Authorization Request (GET) | COMMENT |
| LOW | Documentation/api/AUTHENTICATION.md | 269 | #### Step 2: User Authentication & Consent | COMMENT |
| LOW | Documentation/api/AUTHENTICATION.md | 276 | #### Step 3: Authorization Response | COMMENT |
| LOW | Documentation/api/AUTHENTICATION.md | 287 | #### Step 4: Token Exchange | COMMENT |
| LOW | Documentation/api/AUTHENTICATION.md | 414 | #### Step 1: EHR Initiates Launch | COMMENT |
| LOW | Documentation/api/AUTHENTICATION.md | 427 | #### Step 2: Authorization Request with Launch | COMMENT |
| LOW | Documentation/api/AUTHENTICATION.md | 450 | #### Step 3: Token Response with Context | COMMENT |
| LOW⚡ | Documentation/api/FHIR_API.md | 659 | # Step 1: Initiate export (get new token - client credentials) | COMMENT |
| LOW⚡ | Documentation/api/FHIR_API.md | 668 | # Step 2: Start export | COMMENT |
| LOW⚡ | Documentation/api/FHIR_API.md | 676 | # Step 3: Poll for completion | COMMENT |
| LOW | Documentation/api/FHIR_API.md | 691 | # Step 4: Get download URLs | COMMENT |
| LOW | Documentation/api/FHIR_API.md | 695 | # Step 5: Download files | COMMENT |
| LOW⚡ | docker/container_benchmarking/test_suite.sh | 1439 | # Step 3: Set an older version in sites/default/docker-version to trigger upgrade | COMMENT |
| LOW⚡ | docker/container_benchmarking/test_suite.sh | 1458 | # Step 4: Get log position before restart to only check new logs | COMMENT |
| LOW⚡ | docker/container_benchmarking/test_suite.sh | 1464 | # Step 5: Restart container to trigger upgrade check | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1380 | # Step 1: Start fresh installation and wait for it to complete | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1422 | # Step 2: Get current version from container and verify all version files exist | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1489 | # Step 6: Check logs for upgrade messages (only new logs since restart) | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1504 | # Step 7: Verify version marker was updated | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1517 | # Step 8: Verify OpenEMR is still configured and accessible | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 680 | # Step 1: Handle swarm mode coordination (if enabled) | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 685 | # Step 2: Configure SSL/TLS certificates | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 702 | # Step 3: Check for upgrades | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 707 | # Step 4: Verify configuration exists (critical check for worker containers) | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 717 | # Step 5: Copy SSL/TLS certificates for MySQL, Redis, LDAP, CouchDB | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 932 | # Step 12: Mark swarm completion (if in swarm mode) | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 938 | # Step 13: Signal instance ready (swarm mode only) | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 946 | # Step 14: Display support message | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 952 | # Step 15: Start Apache (if this container is an operator) | COMMENT |
| LOW | docker/release/openemr.sh | 739 | # Step 6: Run auto-configuration (if needed) | COMMENT |
| LOW | docker/release/openemr.sh | 816 | # Step 7: Update global settings if already configured | COMMENT |
| LOW | docker/release/openemr.sh | 828 | # Step 8: Configure Redis sessions (if available) | COMMENT |
| LOW | docker/release/openemr.sh | 864 | # Step 9: Finalize permissions and cleanup setup scripts | COMMENT |
| LOW | docker/release/openemr.sh | 902 | # Step 10: Fix certificate permissions (only once in swarm mode) - OPTIMIZED | COMMENT |
| LOW | docker/release/openemr.sh | 915 | # Step 11: Configure XDebug or PHP optimizations | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 683 | # Step 1: Handle swarm mode coordination (if enabled) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 688 | # Step 2: Configure SSL/TLS certificates | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 696 | # Step 3: Check for upgrades | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 701 | # Step 4: Verify configuration exists (critical check for worker containers) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 711 | # Step 5: Copy SSL/TLS certificates for MySQL, Redis, LDAP, CouchDB | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 893 | # Step 11: Configure PHP optimizations (XDebug not supported with static binaries) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 902 | # Step 12: Mark swarm completion (if in swarm mode) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 908 | # Step 13: Signal instance ready (swarm mode only) | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 916 | # Step 14: Display support message | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 922 | # Step 15: Start PHP-FPM and Apache (if this container is an operator) | COMMENT |
| LOW | docker/binary/openemr.sh | 730 | # Step 6: Run auto-configuration (if needed) | COMMENT |
| LOW | docker/binary/openemr.sh | 807 | # Step 7: Update global settings if already configured | COMMENT |
| LOW | docker/binary/openemr.sh | 819 | # Step 8: Configure Redis sessions (if available) | COMMENT |
| LOW | docker/binary/openemr.sh | 837 | # Step 9: Finalize permissions and cleanup setup scripts | COMMENT |
| LOW | docker/binary/openemr.sh | 880 | # Step 10: Fix certificate permissions (only once in swarm mode) - OPTIMIZED | COMMENT |
| LOW⚡ | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 219 | // Step 1: User A logs in | COMMENT |
| LOW⚡ | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 224 | // Step 2: User A navigates to profile edit page | COMMENT |
| LOW⚡ | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 225 | // Step 3: User A modifies the request to target User B | COMMENT |
| LOW⚡ | …ests/Isolated/Portal/PatientControllerSecurityTest.php | 235 | // Step 4: Expected result | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 665 | // Step 1: API listener creates and injects API session | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 670 | // Step 2: getActiveSession returns API session | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 674 | // Step 3: Data is accessible | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 692 | // Step 1: OAuth listener creates and injects OAuth session | COMMENT |
| LOW⚡ | …/Isolated/Common/Session/SessionWrapperFactoryTest.php | 697 | // Step 2: getActiveSession returns OAuth session | COMMENT |
| LOW | …mand/ReleasePrep/Mutator/PostReleaseTargetsMutator.php | 323 | // Step 1: drop `latest` from any other row that holds it (only on | COMMENT |
| 2 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | run-semgrep.sh | 5 | # Usage: | COMMENT |
| LOW⚡ | docker/container_benchmarking/test_functionality.sh | 9 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-6/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-5-redis/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-2/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-5/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-4/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-3/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-3-redis/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-4-redis/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-6-redis/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/library/dockers/dev-php-fpm-8-2-redis/xdebug.sh | 16 | # Usage: | COMMENT |
| LOW⚡ | docker/release/xdebug.sh | 15 | # Usage: | COMMENT |
| LOW⚡ | docker/release/ssl.sh | 15 | # Usage: | COMMENT |
| LOW⚡ | docker/release/openemr.sh | 21 | # Usage: | COMMENT |
| LOW⚡ | docker/release/kcov-wrapper.sh | 12 | # Usage: | COMMENT |
| LOW⚡ | docker/release/utilities/unlock_admin.sh | 10 | # Usage: | COMMENT |
| LOW⚡ | docker/binary/ssl.sh | 15 | # Usage: | COMMENT |
| LOW⚡ | docker/binary/openemr.sh | 23 | # Usage: | COMMENT |
| LOW⚡ | docker/binary/utilities/unlock_admin.sh | 10 | # Usage: | COMMENT |
| LOW⚡ | docker/flex/xdebug.sh | 15 | # Usage: | COMMENT |
| LOW⚡ | docker/flex/ssl.sh | 15 | # Usage: | COMMENT |
| LOW⚡ | docker/flex/openemr.sh | 40 | # Usage: | COMMENT |
| LOW⚡ | docker/flex/pcov.sh | 17 | # Usage: | COMMENT |
| LOW⚡ | docker/flex/kcov-wrapper.sh | 12 | # Usage: | COMMENT |
| LOW⚡ | docker/flex/utilities/unlock_admin.sh | 9 | # Usage: | COMMENT |
| LOW | docker/dockerhub/render.sh | 36 | # Usage: | COMMENT |
| LOW | docker/dockerhub/tests/golden-test.sh | 22 | # Usage: | COMMENT |
| LOW | docker/dockerhub/tests/sanity.sh | 26 | # Usage: | COMMENT |
| LOW | config/config.yaml | 5 | # Example usage: | COMMENT |
| LOW | …s/bats/ci-scripts/validate-byte-identical/helpers.bash | 116 | # Usage: | COMMENT |
| LOW | .github/scripts/list-manifest-paths.sh | 7 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | interface/globals.php | 662 | // Need to utilize a session since library/sql.inc.php is established before there are any globals established yet. | COMMENT |
| MEDIUM | interface/forms/eye_mag/js/eye_base.php | 2808 | //we can utilize a phoropter dial feature, we can s | COMMENT |
| MEDIUM | …ace/modules/zend_modules/public/js/lib/jquery-1.8.3.js | 9463 | // AMD modules. A named AMD is safest and most robust way to register. | COMMENT |
| MEDIUM | …r/src/TableDefinitions/ExportPersonTableDefinition.php | 44 | // instead of hunting down to figure where this is at, for now will just leverage | COMMENT |
| MEDIUM | Documentation/EHI_Export/docs/bower/jquery/jquery.js | 10202 | // understands anonymous AMD modules. A named AMD is safest and most robust | COMMENT |
| MEDIUM | …ion/EHI_Export/schemaspy/layout/bower/jquery/jquery.js | 10202 | // understands anonymous AMD modules. A named AMD is safest and most robust | COMMENT |
| MEDIUM⚡ | docker/container_benchmarking/test_suite.sh | 5 | # This script runs comprehensive functional tests for OpenEMR container | COMMENT |
| MEDIUM | docker/flex/openemr.sh | 275 | # Create auto_configure.ini to leverage opcache for faster installation | COMMENT |
| MEDIUM | ccdaservice/serveccda.js | 1146 | // not sure if the result set should be grouped better on the backend as the author information needs to be more nua | COMMENT |
| MEDIUM | .github/docker/compose.yml | 1 | # Test harness compose file used by the .github/actions/test-actions-core | COMMENT |
| MEDIUM | .github/workflows/claude-review.yml | 14 | # Reusable workflows can only reduce, not elevate, the caller job's | COMMENT |
| MEDIUM | src/PaymentProcessing/Rainforest/Api.php | 57 | // TODO: This should leverage Guzzle's abilities to make parallel | COMMENT |
| MEDIUM | src/Services/UserService.php | 186 | // TODO: eventually we'd like to leverage the inner search piece here and combine these methods | COMMENT |
| MEDIUM | src/Billing/X125010837I.php | 1067 | // (Really oughta have this for robust 835 posting!) | COMMENT |
| MEDIUM | src/Billing/X125010837P.php | 1419 | // (Really oughta have this for robust 835 posting!) | COMMENT |
| MEDIUM | sql/7_0_3-to-7_0_4_upgrade.sql | 359 | INSERT INTO `list_options` (`list_id`, `option_id`, `title`, `seq`, `activity`, `notes`) VALUES ('ecqm_2023_reporting',' | CODE |
| MEDIUM | sql/7_0_3-to-7_0_4_upgrade.sql | 512 | INSERT INTO `list_options` (`list_id`, `option_id`, `title`, `seq`, `activity`, `notes`) VALUES ('ecqm_2025_reporting',' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | interface/main/backup.php | 1005 | # Check if Eventlog Backup directory exists, if not create it with Write permission | COMMENT |
| LOW | …lowBoard/Listener/PatientFlowBoardEventsSubscriber.php | 72 | # Check if randomization has not yet been done (is random_drug_test NULL). If already done, then exit. | COMMENT |
| LOW⚡ | docker/container_benchmarking/test_suite.sh | 1440 | # Set it to version 1 (assuming current version is higher) | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 209 | # Check if OpenEMR is configured | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 384 | # Check if OpenEMR is configured | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 388 | # Check if we can access the login page | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 605 | # Check if SSL is configured (container generates selfsigned.cert.pem and webserver.cert.pem symlink) | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 728 | # Check if Redis session handler is configured | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 742 | # Check if php-redis-configured marker exists | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1166 | # Check if XDebug is configured | COMMENT |
| LOW | docker/container_benchmarking/test_suite.sh | 1170 | # Check if opcache is disabled (XDebug and opcache are incompatible) - use correct php.ini path | COMMENT |
| LOW | docker/container_benchmarking/benchmark.sh | 194 | # Check if status changed to healthy | COMMENT |
| LOW | docker/release/openemr.sh | 236 | # Check if current leader is stale | COMMENT |
| LOW | docker/release/openemr.sh | 289 | # Check if leader has died | COMMENT |
| LOW | docker/binary/openemr.sh | 238 | # Check if current leader is stale | COMMENT |
| LOW | docker/binary/openemr.sh | 291 | # Check if leader has died | COMMENT |
| LOW | docker/flex/openemr.sh | 495 | # Check if current leader is stale | COMMENT |
| LOW | docker/flex/openemr.sh | 539 | # Check if leader has died | COMMENT |
| LOW | docker/flex/openemr.sh | 704 | # Check if composer/vendor build is needed | COMMENT |
| LOW | docker/flex/openemr.sh | 709 | # Check if npm build is needed (node_modules missing/empty OR public missing/empty) | COMMENT |
| LOW | docker/flex/openemr.sh | 895 | # Set ownership to apache user (optimized: use {} + for batch operations) | COMMENT |
| LOW | ci/parse_docker_dir.sh | 49 | # Check if docker_dir ends with "_no-e2e" | COMMENT |
| LOW | ci/parse_docker_dir.sh | 68 | # Check if this is the first occurrence of this PHP version | COMMENT |
| LOW | ci/parse_docker_dir.sh | 76 | # Check if this is the first occurrence of this Node version | COMMENT |
| LOW | .github/workflows/database-version.yml | 56 | # Check if database.sql has the v_database comment | COMMENT |
| LOW | .github/workflows/database-version.yml | 75 | # Check if versions match | COMMENT |
| LOW | .github/workflows/database-version.yml | 114 | # Check if database.sql was modified in this PR | COMMENT |
| LOW | .github/workflows/database-version.yml | 120 | # Check if changes to database.sql include schema-affecting statements | COMMENT |
| LOW | .github/workflows/shellcheck.yml | 132 | # Check if we've seen this hash before | COMMENT |
| LOW | src/Services/Qdm/IndividualResult.php | 169 | # Set agg_results to true if you are collecting aggregate results for multiple patients | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | interface/main/backup.php | 1013 | # Create a new table similar to event table, rename the existing table as backup table, and rename the new table to even | COMMENT |
| MEDIUM | Documentation/EHI_Export/b10-tables.yml | 3 | # This file is the single source of truth for which database tables are in | COMMENT |
| MEDIUM⚡ | docker/release/xdebug.sh | 115 | # Create the XDebug log file with appropriate permissions. | COMMENT |
| MEDIUM⚡ | docker/release/kcov-wrapper.sh | 21 | # Create the directory where kcov will store coverage reports. | COMMENT |
| MEDIUM⚡ | docker/flex/kcov-wrapper.sh | 26 | # Create the directory where kcov will write coverage reports | COMMENT |
| MEDIUM | tests/bats/docker/helpers.bash | 94 | # Create an executable command stub in a directory. | COMMENT |
| MEDIUM | tests/bats/ci-scripts/sync-byte-identical/helpers.bash | 16 | # Create a fresh temp git repo with master + the target rel branch (default | COMMENT |
| MEDIUM | .github/workflows/shellcheck.yml | 87 | # Create a temp directory to store file hashes | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | interface/forms/CAMOS/help.html | 37 | The data provided in the three columns upon initial installation of CAMOS is for demonstration purposes only. | CODE |
| LOW | docker/library/couchdb-config-ssl-cert-keys/local.ini | 93 | ; 'username = password' lines. Don't forget to restart CouchDB after | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Documentation/EHI_Export/docs/bower/jquery/jquery.js | 4198 | function getData( data ) { | CODE |
| LOW | …ion/EHI_Export/schemaspy/layout/bower/jquery/jquery.js | 4198 | function getData( data ) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/container_benchmarking/benchmark.sh | 152 | except Exception as e: | CODE |
| LOW | docker/container_benchmarking/benchmark.sh | 220 | except Exception as e: | CODE |
| LOW | docker/container_benchmarking/benchmark.sh | 667 | except Exception as e: | CODE |
| LOW | docker/container_benchmarking/benchmark.sh | 764 | except Exception as e: | CODE |