feat: Fixes #6634 CORS content-encoding (#6636)
[openemr.git] / library / globals.inc.php
blob3121b0b80871d69c925b7694c0395c6030226074
1 <?php
3 /*
4 * This program sets the global variables.
6 * @package OpenEMR
7 * @link https://www.open-emr.org
8 * @author Rod Roark <rod@sunsetsystems.com>
9 * @author Stephen Waite <stephen.waite@cmsvt.com>
10 * @author Brady Miller <brady.g.miller@gmail.com>
11 * @copyright Copyright (c) 2010-2021 Rod Roark <rod@sunsetsystems.com>
12 * @copyright Copyright (c) 2018 Stephen Waite <stephen.waite@cmsvt.com>
13 * @copyright Copyright (c) 2019 Brady Miller <brady.g.miller@gmail.com>
14 * @copyright Copyright (c) 2021-2023 Robert Down <robertdown@live.com>
15 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
18 // Current supported languages: // Allow capture of term for translation:
19 // Albanian // xl('Albanian')
20 // Amharic // xl('Amharic')
21 // Arabic // xl('Arabic')
22 // Armenian // xl('Armenian')
23 // Bahasa Indonesia // xl('Bahasa Indonesia')
24 // Bengali // xl('Bengali')
25 // Bosnian // xl('Bosnian')
26 // Bulgarian // xl('Bulgarian')
27 // Chinese (Simplified) // xl('Chinese (Simplified)')
28 // Chinese (Traditional) // xl('Chinese (Traditional)')
29 // Croatian // xl('Croatian')
30 // Czech // xl('Czech')
31 // Danish // xl('Danish')
32 // Dutch // xl('Dutch')
33 // English (Australian) // xl('English (Australian)')
34 // English (Indian) // xl('English (Indian)')
35 // English (Standard) // xl('English (Standard)')
36 // Estonian // xl('Estonian')
37 // Filipino // xl('Filipino')
38 // Finnish // xl('Finnish')
39 // French // xl('French (Standard)')
40 // French // xl('French (Canadian)')
41 // Georgian // xl('Georgian')
42 // German // xl('German')
43 // Greek // xl('Greek')
44 // Gujarati // xl('Gujarati')
45 // Hebrew // xl('Hebrew')
46 // Hindi // xl('Hindi')
47 // Hungarian // xl('Hungarian')
48 // Italian // xl('Italian')
49 // Japanese // xl('Japanese')
50 // Korean // xl('Korean')
51 // Lao // xl('Lao')
52 // Lithuanian // xl('Lithuanian')
53 // Marathi // xl('Marathi')
54 // Mongolian // xl('Mongolian')
55 // Norwegian // xl('Norwegian')
56 // Persian // xl('Persian')
57 // Polish // xl('Polish')
58 // Portuguese (Brazilian) // xl('Portuguese (Brazilian)')
59 // Portuguese (European) // xl('Portuguese (European)')
60 // Portuguese (European) // xl('Portuguese (Angolan)')
61 // Romanian // xl('Romanian')
62 // Russian // xl('Russian')
63 // Serbian // xl('Serbian')
64 // Sinhala // xl('Sinhala')
65 // Slovak // xl('Slovak')
66 // Somali // xl('Somali')
67 // Spanish (Latin American) // xl('Spanish (Latin American)')
68 // Spanish (Spain) // xl('Spanish (Spain)')
69 // Swedish // xl('Swedish')
70 // Tamil // xl('Tamil')
71 // Telugu // xl('Telugu')
72 // Thai // xl('Thai')
73 // Turkish // xl('Turkish')
74 // Ukrainian // xl('Ukrainian')
75 // Urdu // xl('Urdu')
76 // Uzbek // xl('Uzbek')
77 // Vietnamese // xl('Vietnamese')
79 use OpenEMR\Events\Globals\GlobalsInitializedEvent;
80 use OpenEMR\OeUI\RenderFormFieldHelper;
81 use OpenEMR\Services\Globals\GlobalsService;
83 // OS-dependent stuff.
84 if (stristr(PHP_OS, 'WIN')) {
85 // MS Windows
86 $mysql_bin_dir = 'C:/xampp/mysql/bin';
87 $perl_bin_dir = 'C:/xampp/perl/bin';
88 $temporary_files_dir = 'C:/windows/temp';
89 $backup_log_dir = 'C:/windows/temp';
90 } else {
91 // Everything else
92 $mysql_bin_dir = '/usr/bin';
93 $perl_bin_dir = '/usr/bin';
94 $temporary_files_dir = '/tmp';
95 $backup_log_dir = '/tmp';
98 function getDefaultRenderListOptions()
100 return [
101 RenderFormFieldHelper::SHOW_ON_NEW_ONLY => xl('Show on New Form Only'),
102 RenderFormFieldHelper::SHOW_ON_EDIT_ONLY => xl('Show on Edit Form Only'),
103 RenderFormFieldHelper::SHOW_ALL => xl('Show on New and Edit Form'),
104 RenderFormFieldHelper::HIDE_ALL => xl('Hide on New and Edit Form'),
108 // Language constant declarations:
109 // xl('Appearance')
110 // xl('Locale')
111 // xl('Features')
112 // xl('Calendar')
113 // xl('Security')
114 // xl('Notifications')
115 // xl('Miscellaneous')
117 // List of user specific tabs and globals
118 $USER_SPECIFIC_TABS = array('Appearance',
119 'Locale',
120 'Features',
121 'Billing',
122 'Report',
123 'Calendar',
124 'CDR',
125 'Connectors');
126 $USER_SPECIFIC_GLOBALS = array('default_top_pane',
127 'default_second_tab',
128 'theme_tabs_layout',
129 'css_header',
130 'enable_compact_mode',
131 'vertical_responsive_menu',
132 'menu_styling_vertical',
133 'search_any_patient',
134 'default_encounter_view',
135 'gbl_pt_list_page_size',
136 'gbl_pt_list_new_window',
137 'units_of_measurement',
138 'us_weight_format',
139 'date_display_format',
140 'time_display_format',
141 'enable_help',
142 'text_templates_enabled',
143 'posting_adj_disable',
144 'messages_due_date',
145 'expand_form',
146 'ledger_begin_date',
147 'print_next_appointment_on_ledger',
148 'calendar_view_type',
149 'event_color',
150 'pat_trkr_timer',
151 'ptkr_visit_reason',
152 'ptkr_date_range',
153 'ptkr_start_date',
154 'ptkr_end_date',
155 'checkout_roll_off',
156 'patient_birthday_alert',
157 'patient_birthday_alert_manual_off',
158 'erx_import_status_message',
159 'weno_provider_password');
161 // Gets array of time zones supported by PHP.
163 function gblTimeZones()
165 $zones = timezone_identifiers_list();
166 $arr = array('' => xl('Unassigned'));
167 foreach ($zones as $zone) {
168 $arr[$zone] = str_replace('_', ' ', $zone);
171 return $arr;
174 $GLOBALS_METADATA = array(
176 // Appearance Tab
178 'Appearance' => array(
180 'theme_tabs_layout' => array(
181 xl('Tabs Layout Theme') . '*',
182 'tabs_css',
183 'tabs_style_full.css',
184 xl('Theme of the tabs layout (need to logout and then login to see this new setting).')
187 'css_header' => array(
188 // Note: Do not change this as it is only for theme defaults and adding themes here does nothing
189 xl('General Theme') . '*',
190 'css',
191 'style_light.css',
192 xl('Pick a general theme (need to logout/login after changing this setting).')
195 'window_title_add_patient_name' => array(
196 xl('Add Patient Name To Window Title'),
197 'bool', // data type
198 '0', // default = false
199 xl('Adds the patient name to the end of the window title.')
202 'enable_compact_mode' => array(
203 xl('Enable Compact Mode'),
204 'bool', // data type
205 '0', // default = false
206 xl('Changes the current theme to be more compact.')
209 'menu_styling_vertical' => array(
210 xl('Vertical Menu Style for Frames'),
211 array(
212 '0' => xl('Tree'),
213 '1' => xl('Sliding'),
215 '1',
216 xl('Vertical Menu Style for frame based layouts')
219 'search_any_patient' => array(
220 xl('Search Patient By Any Demographics'),
221 array(
222 'dual' => xl('Dual'),
223 'comprehensive' => xl('Comprehensive'),
224 'fixed' => xl('Fixed'),
225 'none' => xl('None'),
227 'dual', // default
228 xl('Search Patient By Any Demographics, Dual additionally lets direct access to Patient Finder, Comprehensive has collapsed input box, Fixed is similar to Dual with fixed size, None is do not show')
231 'default_encounter_view' => array(
232 xl('Default Encounter View'), // descriptive name
233 array(
234 '0' => xl('Clinical View'),
235 '1' => xl('Billing View'),
237 '0', // default = tree menu
238 xl('Choose your default encounter view')
241 'enable_group_therapy' => array(
242 xl('Enable Group Therapy'),
243 'bool', // data type
244 '0', // default = false
245 xl('Enables groups module in system.')
248 'full_new_patient_form' => array(
249 xl('New Patient Form'),
251 array(
252 '0' => xl('Old-style static form without search or duplication check'),
253 '1' => xl('All demographics fields, with search and duplication check'),
254 '2' => xl('Mandatory or specified fields only, search and dup check'),
255 '3' => xl('Mandatory or specified fields only, dup check, no search'),
256 '4' => xl('Mandatory or specified fields only, use patient validation Zend module'),
258 '1', // default
259 xl('Style of form used for adding new patients')
262 'gbl_edit_patient_form' => array(
263 xl('Modify Patient Form'),
265 array(
266 '0' => xl('Standard check'),
267 '1' => xl('Zend Module check in addition to standard check')
269 '0', // default
270 xl('Validation mechanism for when modifying patient demographics.')
273 'patient_search_results_style' => array(
274 xl('Patient Search Results Style'),
275 array(
276 '0' => xl('Encounter statistics'),
277 '1' => xl('Mandatory and specified fields'),
279 '0', // default
280 xl('Type of columns displayed for patient search results')
283 'gbl_nav_visit_forms' => array(
284 xl('Navigation Area Visit Forms'),
285 'bool', // data type
286 '1', // default = true
287 xl('Navigation area includes encounter forms')
290 'simplified_prescriptions' => array(
291 xl('Simplified Prescriptions'),
292 'bool', // data type
293 '0', // default = false
294 xl('Omit form, route and interval which then become part of dosage')
297 'simplified_copay' => array(
298 xl('Simplified Co-Pay'),
299 'bool', // data type
300 '0', // default = false
301 xl('Omit method of payment from the co-pay panel')
304 'use_charges_panel' => array(
305 xl('Use Charges Panel'),
306 'bool', // data type
307 '0', // default = false
308 xl('Enables the old Charges panel for entering billing codes and payments. Not recommended, use the Fee Sheet instead.')
311 // TajEmo Work BY CB 2012/06/21 10:42:31 AM added option to Hide Fees
312 'enable_fees_in_left_menu' => array(
313 xl('Enable Fees Submenu'),
314 'bool', // data type
315 '1', // default = true
316 xl('Enable Fees Submenu')
318 'enable_batch_payment' => array(
319 xl('Enable Batch Payment'),
320 'bool', // data type
321 '1', // default = true
322 xl('Enable Batch Payment')
324 'enable_posting' => array(
325 xl('Enable Posting'),
326 'bool', // data type
327 '1', // default = true
328 xl('Enable Posting')
330 // EDI history 2012-09-13
331 'enable_edihistory_in_left_menu' => array(
332 xl('Enable EDI History'),
333 'bool', // data type
334 '1', // default = true
335 xl('EDI History (under Fees) for storing and interpreting EDI claim response files')
338 'encounter_page_size' => array(
339 xl('Encounter Page Size'),
340 array(
341 '0' => xl('Show All'),
342 '5' => '5',
343 '10' => '10',
344 '15' => '15',
345 '20' => '20',
346 '25' => '25',
347 '50' => '50',
349 '20',
350 xl('Number of encounters to display per page.')
353 'gbl_pt_list_page_size' => array(
354 xl('Patient List Page Size'),
355 array(
356 '10' => '10',
357 '25' => '25',
358 '50' => '50',
359 '100' => '100',
361 '10',
362 xl('Number of patients to display per page in the patient list.')
365 'gbl_pt_list_new_window' => array(
366 xl('Patient List New Window'),
367 'bool', // data type
368 '0', // default = false
369 xl('Default state of New Window checkbox in the patient list.')
372 'right_justify_labels_demographics' => array(
373 xl('Right Justify Labels in Demographics'),
374 'bool', // data type
375 '0', // default = false
376 xl('Right justify labels in Demographics for easier readability.')
379 'num_of_messages_displayed' => array(
380 xl('Number of Messages Displayed in Patient Summary'),
381 'num',
382 '3',
383 xl('This is the number of messages that will be displayed in the messages widget in the patient summary screen.')
386 'gbl_vitals_options' => array(
387 xl('Vitals Form Options'),
388 array(
389 '0' => xl('Standard'),
390 '1' => xl('Omit circumferences'),
392 '0', // default
393 xl('Special treatment for the Vitals form')
396 'gbl_vitals_max_history_cols' => array(
397 xl('Vitals Form Max Historical Columns To Display'),
398 'num',
399 '2', // default
400 xl('The number of historical vital columns to display on medium to large screen displays')
403 'gb_how_sort_list' => array(
404 xl('How to sort a drop-lists'),
405 array(
406 '0' => xl('Sort by seq'),
407 '1' => xl('Sort alphabetically')
409 '0',
410 xl('What kind of sorting will be in the drop lists.')
413 'prevent_browser_refresh' => array(
414 xl('Prevent Web Browser Refresh') . '*',
415 array(
416 '0' => xl('Do not warn or prevent web browser refresh'),
417 '1' => xl('Warn, but do not prevent web browser refresh'),
418 '2' => xl('Warn and prevent web browser refresh')
420 '2', // default = true
421 xl('Recommended setting is warn and prevent web browser refresh. Only use other settings if needed and use at own risk.')
426 'Branding' => [
427 'openemr_name' => array(
428 xl('Application Title'),
429 'text',
430 'OpenEMR',
431 xl('Application name used throughout the user interface.')
434 'machine_name' => [
435 xl('Application Machine Name'),
436 'text',
437 'openemr',
438 xl('The machine name of the application. Used to identify the EMR in various messaging systems like HL7. Should not contain spaces'),
441 'display_main_menu_logo' => [
442 xl('Display main menu logo'),
443 'bool',
444 '1',
445 xl('Dislay main menu logo'),
448 'online_support_link' => array(
449 xl('Online Support Link'),
450 'text', // data type
451 'http://open-emr.org/',
452 xl('URL to a support page.')
455 'user_manual_link' => [
456 xl('User Manual Link Override'),
457 'text',
459 xl("Point to a custom user manual. Leave blank for the default, auto-generated URL for specific version of application"),
462 'support_phone_number' => array(
463 xl('Support Phone Number'),
464 'text',
466 xl('Phone Number for Vendor Support that Appears on the About Page.')
469 'display_acknowledgements' => [
470 xl('Display links to the acknowledgements page'),
471 'bool',
472 '1',
473 xl('Used on the login and about pages'),
476 'display_review_link' => [
477 xl('Display the Review link on the About page'),
478 'bool',
479 '1',
480 xl('Display the Review link on the About page'),
483 'display_donations_link' => [
484 xl('Display the Donations link on the About page'),
485 'bool',
486 '1',
487 xl('Display the Donations link on the About page'),
491 // Login Page
492 'Login Page' => [
493 'login_page_layout' => array(
494 xl('Login Page Layout') . '*',
495 array(
496 'login/layouts/vertical_box.html.twig' => xl("Vertical Box"),
497 'login/layouts/horizontal_box_left_logo.html.twig' => xl("Horizontal Box, Logo on Left"),
498 'login/layouts/horizontal_box_right_logo.html.twig' => xl("Horizontal Box, Logo on Right"),
499 'login/layouts/horizontal_band_right_logo.html.twig' => xl("Horizontal Band, Logo on Right"),
500 'login/layouts/horizontal_band_left_logo.html.twig' => xl("Horizontal Band, Logo on Left"),
501 "login/layouts/vertical_band.html.twig" => xl("Vertical Band"),
503 'login/layouts/vertical_band.html.twig',
504 xl('Changes the layout of the login page.')
507 'display_acknowledgements_on_login' => [
508 xl('Display links to the acknowledgements page'),
509 'bool',
510 '1',
511 xl('Used on the login screen'),
514 'show_tagline_on_login' => [
515 xl('Show Tagline on Login Page') . "*",
516 'bool',
517 '1',
518 xl('Show the tagline from the login screen'),
521 'login_tagline_text' => [
522 xl('Login Page Tagline') . "*",
523 'text',
524 xl("The most popular open-source Electronic Health Record and Medical Practice Management solution."),
525 xl("Tagline text on the login page")
528 'show_labels_on_login_form' => [
529 xl('Show Username and Password Labels on Login Page') . "*",
530 'bool',
531 '1',
532 xl('Show labels on the login form'),
535 'show_label_login' => array(
536 xl('Show Title on Login'),
537 'bool', // data type
538 '0', // default = false
539 xl('Show Title on Login')
542 'extra_logo_login' => array(
543 xl('Show Secondary Logo on Login'),
544 'bool', // data type
545 '0', // default = false
546 xl('Show Secondary Logo on Login')
549 'secondary_logo_position' => [
550 xl('Order of the Secondary logo'),
552 'first' => xl('First Position'),
553 'second' => xl('Second Position'),
555 'second',
556 xl('Place the secondary logo first, or second'),
559 'tiny_logo_1' => array(
560 xl('Show Mini Logo 1'),
561 'bool', // data type
562 '0', // default = false
563 xl('Show Mini Logo 1')
566 'tiny_logo_2' => array(
567 xl('Show Mini Logo 2'),
568 'bool', // data type
569 '0', // default = false
570 xl('Show Mini Logo 2')
574 // Locale Tab
576 'Locale' => array(
578 'language_default' => array(
579 xl('Default Language'),
580 'lang', // data type
581 'English (Standard)', // default = english
582 xl('Default language if no other is allowed or chosen.')
585 'language_menu_showall' => array(
586 xl('All Languages Allowed'),
587 'bool', // data type
588 '1', // default = true
589 xl('Allow all available languages as choices on menu at login.')
592 'language_menu_other' => array(
593 xl('Allowed Languages'),
594 'm_lang', // data type
595 '', // default = none
596 xl('Select which languages, if any, may be chosen at login. (only pertinent if above All Languages Allowed is turned off)')
599 'allow_debug_language' => array(
600 xl('Allow Debugging Language'),
601 'bool', // data type
602 '1', // default = true during development and false for production releases
603 xl('This will allow selection of the debugging (\'dummy\') language.')
606 'translate_no_safe_apostrophe' => array(
607 xl('Do Not Use Safe Apostrophe'),
608 'bool', // data type
609 '0', // default = false
610 xl('This will turn off use of safe apostrophe, which is done by converting \' and " to `.(it is highly recommended that this setting is turned off and that safe apostrophe\'s are used)')
613 'translate_layout' => array(
614 xl('Translate Layouts'),
615 'bool', // data type
616 '1', // default = true
617 xl('Is text from form layouts to be translated?')
620 'translate_lists' => array(
621 xl('Translate Lists'),
622 'bool', // data type
623 '1', // default = true
624 xl('Is text from lists to be translated?')
627 'translate_gacl_groups' => array(
628 xl('Translate Access Control Groups'),
629 'bool', // data type
630 '1', // default = true
631 xl('Are access control group names to be translated?')
634 'translate_form_titles' => array(
635 xl('Translate Patient Note Titles'),
636 'bool', // data type
637 '1', // default = true
638 xl('Are patient note titles to be translated?')
641 'translate_document_categories' => array(
642 xl('Translate Document Categories'),
643 'bool', // data type
644 '1', // default = true
645 xl('Are document category names to be translated?')
648 'translate_appt_categories' => array(
649 xl('Translate Appointment Categories'),
650 'bool', // data type
651 '1', // default = true
652 xl('Are appointment category names to be translated?')
655 'units_of_measurement' => array(
656 xl('Units for Visit Forms'),
657 array(
658 '1' => xl('Show both US and metric (main unit is US)'),
659 '2' => xl('Show both US and metric (main unit is metric)'),
660 '3' => xl('Show US only'),
661 '4' => xl('Show metric only'),
663 '1', // default = Both/US
664 xl('Applies to the Vitals form and Growth Chart')
667 'us_weight_format' => array(
668 xl('Display Format for US Weights'),
669 array(
670 '1' => xl('Show pounds as decimal value'),
671 '2' => xl('Show pounds and ounces')
673 '1',
674 xl('Applies to Vitals form')
677 'phone_country_code' => array(
678 xl('Telephone Country Code'),
679 'num',
680 '1', // default = North America
681 xl('1 = North America. See http://www.wtng.info/ for a list of other country codes.')
684 'date_display_format' => array(
685 xl('Date Display Format'),
686 array(
687 '0' => xl('YYYY-MM-DD'),
688 '1' => xl('MM/DD/YYYY'),
689 '2' => xl('DD/MM/YYYY'),
691 '0',
692 xl('Format used to display most dates.')
695 'time_display_format' => array(
696 xl('Time Display Format'),
697 array(
698 '0' => xl('24 hr'),
699 '1' => xl('12 hr'),
701 '0',
702 xl('Format used to display most times.')
705 'gbl_time_zone' => array(
706 xl('Time Zone'),
707 gblTimeZones(),
709 xl('If unassigned will default to php.ini setting for date.timezone.')
712 'currency_decimals' => array(
713 xl('Currency Decimal Places'),
714 array(
715 '0' => xl('0'),
716 '1' => xl('1'),
717 '2' => xl('2'),
719 '2',
720 xl('Number of digits after decimal point for currency, usually 0 or 2.')
723 'currency_dec_point' => array(
724 xl('Currency Decimal Point Symbol'),
725 array(
726 '.' => xl('Period'),
727 ',' => xl('Comma'),
729 '.',
730 xl('Symbol used as the decimal point for currency. Not used if Decimal Places is 0.')
733 'currency_thousands_sep' => array(
734 xl('Currency Thousands Separator'),
735 array(
736 ',' => xl('Comma'),
737 '.' => xl('Period'),
738 ' ' => xl('Space'),
739 '' => xl('None'),
741 ',',
742 xl('Symbol used to separate thousands for currency.')
745 'gbl_currency_symbol' => array(
746 xl('Currency Designator'),
747 'text', // data type
748 '$', // default
749 xl('Code or symbol to indicate currency')
751 'age_display_format' => array(xl('Age Display Format'),
752 array(
753 '0' => xl('Years or months'),
754 '1' => xl('Years, months and days')
756 '0',
757 xl('Format for age display')
759 'age_display_limit' => array(
760 xl('Age in Years for Display Format Change'),
761 'num',
762 '3',
763 xl('If YMD is selected for age display, switch to just Years when patients older than this value in years')
765 // Reference - https://en.wikipedia.org/wiki/Workweek_and_weekend#Around_the_world
766 'weekend_days' => array(
767 xl('Your weekend days'),
768 array(
769 '6,0' => xl('Saturday') . ' - ' . xl('Sunday'),
770 '0' => xl('Sunday'),
771 '5' => xl('Friday'),
772 '6' => xl('Saturday'),
773 '5,6' => xl('Friday') . ' - ' . xl('Saturday'),
775 '6,0'
776 , xl('which days are your weekend days?')
781 // Features Tab
783 'Features' => array(
785 'specific_application' => array(
786 xl('Specific Application'),
787 array(
788 '0' => xl('None'),
789 '2' => xl('IPPF'),
790 '3' => xl('Weight loss clinic'),
792 '0', // default
793 xl('Indicator for specialized usage')
796 'inhouse_pharmacy' => array(
797 xl('Drugs and Products'),
798 array(
799 '0' => xl('Do not inventory and sell any products'),
800 '1' => xl('Inventory and sell drugs only'),
801 '2' => xl('Inventory and sell both drugs and non-drug products'),
802 '3' => xl('Products but no prescription drugs and no templates'),
804 '0', // default
805 xl('Option to support inventory and sales of products')
808 'disable_chart_tracker' => array(
809 xl('Disable Chart Tracker'),
810 'bool', // data type
811 '0', // default = false
812 xl('Removes the Chart Tracker feature')
815 'disable_immunizations' => array(
816 xl('Disable Immunizations'),
817 'bool', // data type
818 '0', // default = false
819 xl('Removes support for immunizations')
822 'disable_prescriptions' => array(
823 xl('Disable Prescriptions'),
824 'bool', // data type
825 '0', // default = false
826 xl('Removes support for prescriptions')
829 'text_templates_enabled' => array(
830 xl('Enable Text Templates in Encounter Forms'),
831 'bool', // data type
832 '1', // default = true
833 xl('Allow Double Click to select Nation Note text template from any encounter form text area')
836 'omit_employers' => array(
837 xl('Omit Employers'),
838 'bool', // data type
839 '0', // default = false
840 xl('Omit employer information in patient demographics')
843 'select_multi_providers' => array(
844 xl('Support Multi-Provider Events'),
845 'bool', // data type
846 '0', // default = false
847 xl('Support calendar events that apply to multiple providers')
850 'disable_non_default_groups' => array(
851 xl('Disable User Groups'),
852 'bool', // data type
853 '1', // default = true
854 xl('Normally this should be checked. Not related to access control.')
857 'ignore_pnotes_authorization' => array(
858 xl('Skip Authorization of Patient Notes'),
859 'bool', // data type
860 '1', // default = true
861 xl('Do not require patient notes to be authorized')
864 'support_encounter_claims' => array(
865 xl('Allow Encounter Claims'),
866 'bool', // data type
867 '0', // default = false
868 xl('Allow creation of claims containing diagnoses but not procedures or charges. Most clinics do not want this.')
871 'advance_directives_warning' => array(
872 xl('Advance Directives Warning'),
873 'bool', // data type
874 '0', // default = false
875 xl('Display advance directives in the demographics page.')
878 'configuration_import_export' => array(
879 xl('Configuration Export/Import'),
880 'bool', // data type
881 '0', // default = false
882 xl('Support export/import of configuration data via the Backup page.')
885 'restrict_user_facility' => array(
886 xl('Restrict Users to Facilities'),
887 'bool', // data type
888 '0', // default
889 xl('Restrict non-authorized users to the Schedule Facilities set in User admin.')
892 'set_facility_cookie' => array(
893 xl('Remember Selected Facility'),
894 'bool', // data type
895 '0', // default
896 xl('Set a facility cookie to remember the selected facility between logins.')
899 'login_into_facility' => array(
900 xl('Login Into Facility'),
901 'bool', // data type
902 '0', // default
903 xl('Select your current facility in the login page')
906 'receipts_by_provider' => array(
907 xl('Print Receipts by Provider'),
908 'bool',
909 '0', // default
910 xl('Causes Receipts to Print Encounter/Primary Provider Info')
913 'discount_by_money' => array(
914 xl('Discounts as Monetary Amounts'),
915 'bool', // data type
916 '1', // default = true
917 xl('Discounts at checkout time are entered as money amounts, as opposed to percentage.')
921 'gbl_form_save_close' => array(
922 xl('Display Save and Close Visit button in LBFs'),
923 'bool', // data type
924 '0', // default = false
925 xl('This is helpful if visits usually do not have charges.')
928 'gbl_mask_patient_id' => array(
929 xl('Mask for Patient IDs'),
930 'text', // data type
931 '', // default
932 xl('Specifies formatting for the external patient ID. # = digit, @ = alpha, * = any character. Empty if not used.')
935 'gbl_mask_invoice_number' => array(
936 xl('Mask for Invoice Numbers'),
937 'text', // data type
938 '', // default
939 xl('Specifies formatting for invoice reference numbers. # = digit, @ = alpha, * = any character. Empty if not used.')
942 'gbl_mask_product_id' => array(
943 xl('Mask for Product IDs'),
944 'text', // data type
945 '', // default
946 xl('Specifies formatting for product NDC fields. # = digit, @ = alpha, * = any character. Empty if not used.')
949 'activate_ccr_ccd_report' => array(
950 xl('Activate CCR/CCD Reporting'),
951 'bool', // data type
952 '1', // default = true
953 xl('This will activate the CCR(Continuity of Care Record) and CCD(Continuity of Care Document) reporting.')
956 'drive_encryption' => array(
957 xl('Enable Encryption of Items Stored on Drive (Strongly recommend keeping this on)'),
958 'bool', // data type
959 '1', // default = true
960 xl('This will enable encryption of items that are stored on the drive. Strongly recommend keeping this setting on for security purposes.')
963 'couchdb_encryption' => array(
964 xl('Enable Encryption of Items Stored on CouchDB'),
965 'bool', // data type
966 '1', // default = true
967 xl('This will enable encryption of items that are stored on CouchDB.')
970 'hide_document_encryption' => array(
971 xl('Hide Encryption/Decryption Options In Document Management'),
972 'bool', // data type
973 '0', // default = true
974 xl('This will deactivate document the encryption and decryption features, and hide them in the UI.')
977 'use_custom_immun_list' => array(
978 xl('Use Custom Immunization List'),
979 'bool', // data type
980 '0', // default = true
981 xl('This will use the custom immunizations list rather than the standard CVX immunization list.')
984 'amendments' => array(
985 xl('Amendments'),
986 'bool', // data type
987 '1', // default = true
988 xl('Enable amendments feature')
991 'allow_pat_delete' => array(
992 xl('Allow Administrators to Delete Patients'),
993 'bool', // data type
994 '0', // default = false
995 xl('Allow Administrators to Delete Patients')
999 'observation_results_immunization' => array(
1000 xl('Immunization Observation Results'),
1001 'bool', // data type
1002 '1', // default
1003 xl('Observation Results in Immunization')
1006 'enable_help' => array(
1007 xl('Enable Help Modal'),
1008 array(
1009 '0' => xl('Hide Help Modal'),
1010 '1' => xl('Show Help Modal'),
1011 '2' => xl('Disable Help Modal'),
1012 ), // data type
1013 '1', // default = Print End of Day Report 1
1014 xl('This will allow the display of help modal on help enabled pages')
1016 'messages_due_date' => array(
1017 xl('Messages - due date'),
1018 'bool', // data type
1019 '0', // default false
1020 xl('Enables choose due date to message')
1023 'expand_form' => array(
1024 xl('Expand Form'),
1025 'bool', // data type
1026 '1', // default true
1027 xl('Open all expandable forms in expanded state')
1030 'graph_data_warning' => array(
1031 xl('Graphing Data Warning'),
1032 'bool', // data type
1033 '0', // default false
1034 xl('Warn if not enough data to graph')
1038 // Report Tab
1040 'Report' => array(
1042 'use_custom_daysheet' => array(
1043 xl('Use Custom End of Day Report'),
1044 array(
1045 '0' => xl('None'),
1046 '1' => xl('Print End of Day Report 1'),
1047 '2' => xl('Print End of Day Report 2'),
1048 '3' => xl('Print End of Day Report 3'),
1049 ), // data type
1050 '1', // default = Print End of Day Report 1
1051 xl('This will allow the use of the custom End of Day report and indicate which report to use.')
1054 'daysheet_provider_totals' => array(
1055 xl('End of Day by Provider or allow Totals Only'),
1056 array(
1057 '0' => xl('Provider'),
1058 '1' => xl('Totals Only'),
1060 '1', // default
1061 xl('This specifies the Printing of the Custom End of Day Report grouped Provider or allow the Printing of Totals Only')
1064 'ledger_begin_date' => array(
1065 xl('Beginning Date for Ledger Report'),
1066 array(
1067 'Y1' => xl('One Year Ago'),
1068 'Y2' => xl('Two Years Ago'),
1069 'M6' => xl('Six Months Ago'),
1070 'M3' => xl('Three Months Ago'),
1071 'M1' => xl('One Month Ago'),
1072 'D1' => xl('One Day Ago'),
1074 'Y1', // default = One Year
1075 xl('This is the Beginning date for the Ledger Report.')
1078 'print_next_appointment_on_ledger' => array(
1079 xl('Print the Next Appointment on the Bottom of the Ledger'),
1080 'bool', // data type
1081 '1', // default = true
1082 xl('This Will Print the Next Appointment on the Bottom of the Patient Ledger')
1085 'sales_report_invoice' => array(
1086 xl('Display Invoice Number or Patient Name or Both in the Sales Report'),
1087 array(
1088 '0' => xl('Invoice Number'),
1089 '1' => xl('Patient Name and ID'),
1090 '2' => xl('Patient Name and Invoice'),
1092 '2', // default = 2
1093 xl('This will Display the Invoice Number in the Sales Report or the Patient Name and ID or Patient Name and Invoice Number.')
1096 'cash_receipts_report_invoice' => array(
1097 xl('Display Invoice Number or Patient Name in the Cash Receipt Report'),
1098 array(
1099 '0' => xl('Invoice Number'),
1100 '1' => xl('Patient Name'),
1102 '0', // default = 0
1103 xl('Display Invoice Number or Patient Name in the Cash Receipt Report')
1108 // Billing Tab
1110 'Billing' => array(
1112 // It would be good to eventually rename this to "billing_enabled" and inverse the setting value.
1113 'hide_billing_widget' => array(
1114 xl('Hide Billing features'),
1115 'bool', // data type
1116 '0', // default = false
1117 xl('This will hide billing features throughout the program.')
1120 'force_billing_widget_open' => array(
1121 xl('Force Billing Widget Open'),
1122 'bool', // data type
1123 '0', // default = false
1124 xl('This will force the Billing Widget in the Patient Summary screen to always be open.')
1128 'ub04_support' => array(
1129 xl('Activate UB04/837I Claim Support'),
1130 'bool', // data type
1131 '0', // default = false
1132 xl('Allow institutional claims support.')
1135 'top_ubmargin_default' => array(
1136 xl('Default top print margin for UB04'),
1137 'num', // data type
1138 '14', // default
1139 xl('This is the default top print margin for UB04. It will adjust the final printed output up or down.')
1142 'left_ubmargin_default' => array(
1143 xl('Default left print margin for UB04'),
1144 'num', // data type
1145 '11', // default
1146 xl('This is the default left print margin for UB04. It will adjust the final printed output left or right.')
1149 'cms_top_margin_default' => array(
1150 xl('Default top print margin for CMS 1500'),
1151 'num', // data type
1152 '24', // default
1153 xl('This is the default top print margin for CMS 1500. It will adjust the final printed output up or down.')
1156 'cms_left_margin_default' => array(
1157 xl('Default left print margin for CMS 1500'),
1158 'num', // data type
1159 '20', // default
1160 xl('This is the default left print margin for CMS 1500. It will adjust the final printed output left or right.')
1163 'preprinted_cms_1500' => array(
1164 xl('Prints the CMS 1500 on the Preprinted form'),
1165 'bool', // data type
1166 '0', // default = false
1167 xl('Overlay CMS 1500 on the Preprinted form')
1170 'cms_1500_box_31_format' => array(
1171 xl('CMS 1500: Box 31 Format'),
1172 array(
1173 '0' => xl('Signature on File'),
1174 '1' => xl('Firstname Lastname'),
1175 '2' => xl('None'),
1177 '0', // default
1178 xl('This specifies whether to include date in Box 31.')
1181 'cms_1500_box_31_date' => array(
1182 xl('CMS 1500: Date in Box 31 (Signature)'),
1183 array(
1184 '0' => xl('None'),
1185 '1' => xl('Date of Service'),
1186 '2' => xl('Today'),
1188 '0', // default
1189 xl('This specifies whether to include date in Box 31.')
1192 'default_search_code_type' => array(
1193 xl('Default Search Code Type'),
1194 'all_code_types', // data type
1195 'ICD10', // default
1196 xl('The default code type to search for in the Fee Sheet.')
1199 'default_rendering_provider' => array(
1200 xl('Default Rendering Provider in Fee Sheet'),
1201 array(
1202 '0' => xl('Logged in User if provider, otherwise Current Provider'),
1203 '1' => xl('Current Provider'),
1204 '2' => xl('Current Logged in User'),
1206 '1',
1207 xl('Default selection for rendering provider in fee sheet.')
1210 'posting_adj_disable' => array(
1211 xl('Disable Auto Adjustment Calculations in EOB Posting'),
1212 'bool', // data type
1213 '0', // default = false
1214 xl('Turn off auto calculations of adjustments in EOB')
1217 'force_claim_balancing' => array(
1218 xl('Force claim balancing in EOB Posting'),
1219 'bool', // data type
1220 '1', // default = true
1221 xl('Force claim balancing in EOB Posting')
1224 'show_payment_history' => array(
1225 xl('Show all payment history in Patient Ledger'),
1226 'bool', // data type
1227 '1', // default = true
1228 xl('Turn on to show all payment history in Patient Ledger')
1231 'void_checkout_reopen' => array(
1232 xl('Void Checkout and Reopen in Fee Sheet'),
1233 'bool', // data type
1234 '1', // default = true
1235 xl('Void Checkout and Reopen in Fee Sheet')
1238 'support_fee_sheet_line_item_provider' => array(
1239 xl('Support provider in line item in fee sheet'),
1240 'bool', // data type
1241 '0', // default = false
1242 xl('This Enables provider in line item in the fee sheet')
1245 'default_fee_sheet_line_item_provider' => array(
1246 xl('Default to a provider for line item in the fee sheet'),
1247 'bool', // data type
1248 '0', // default = false
1249 xl('Default to a provider for line item in the fee sheet.(only applicable if Support line item billing in option above)')
1252 'include_inactive_providers' => array(
1253 xl('Include inactive providers in the fee sheet'),
1254 'bool', // data type
1255 '0', // default = false
1256 xl('Include inactive providers in the fee sheet.')
1259 'replicate_justification' => array(
1260 xl('Automatically replicate justification codes in Fee Sheet'),
1261 'bool', // data type
1262 '0', // default = false
1263 xl('Automatically replicate justification codes in Fee Sheet (basically fills in the blanks with the justification code above it).')
1266 'display_units_in_billing' => array(
1267 xl('Display the Units Column on the Billing Screen'),
1268 'bool', // data type
1269 '0', // default = false
1270 xl('Display the Units Column on the Billing Screen')
1273 'notes_to_display_in_Billing' => array(
1274 xl('Which notes are to be displayed in the Billing Screen'),
1275 array(
1276 '0' => xl('None'),
1277 '1' => xl('Encounter Billing Note'),
1278 '2' => xl('Patient Billing Note'),
1279 '3' => xl('All'),
1281 '3',
1282 xl('Display the Encounter Billing Note or Patient Billing Note or Both in the Billing Screen.')
1285 'MedicareReferrerIsRenderer' => array(
1286 xl('Medicare Referrer Is Renderer'),
1287 'bool', // data type
1288 '0', // default = false
1289 xl('For Medicare only, forces the referring provider to be the same as the rendering provider.')
1292 'statement_logo' => array(
1293 xl('Statement Logo GIF Filename'),
1294 'text', // data type
1295 'practice_logo.gif', // data type
1296 xl('Place your logo in sites/default/images and type the filename including gif extension here.')
1299 'use_custom_statement' => array(
1300 xl('Use Custom Statement'),
1301 'bool', // data type
1302 '0', // default = false
1303 xl('This will use the custom Statement showing the description instead of the codes.')
1306 'statement_appearance' => array(
1307 xl('Statement Appearance'),
1308 array(
1309 '0' => xl('Plain Text'),
1310 '1' => xl('Modern/images')
1311 ), // data type
1312 '1', // default = true
1313 xl('Patient statements can be generated as plain text or with a modern graphical appearance.')
1316 'billing_phone_number' => array(
1317 xl('Custom Billing Phone Number'),
1318 'text', // data type
1320 xl('Phone number for billing inquiries')
1323 'show_aging_on_custom_statement' => array(
1324 xl('Show Aging on Custom Statement'),
1325 'bool', // data type
1326 '0', // default = false
1327 xl('This will Show Aging on the custom Statement.')
1330 'use_statement_print_exclusion' => array(
1331 xl('Allow Statement Exclusions from Printing'),
1332 'bool', // data type
1333 '0', // default = false
1334 xl('This will enable the Ability to Exclude Selected Patient Statements from Printing.')
1337 'minimum_amount_to_print' => array(
1338 xl('Total Minimum Amount of Statement to Allow Printing'),
1339 'num', // data type
1340 '1.00',
1341 xl('Total Minimum Dollar Amount of Statement to Allow Printing.(only applicable if Allow Statement Exclusions from Printing is enabled)')
1344 'statement_bill_note_print' => array(
1345 xl('Print Patient Billing Note'),
1346 'bool', // data type
1347 '0', // default = false
1348 xl('This will allow printing of the Patient Billing Note on the statements.')
1351 'number_appointments_on_statement' => array(
1352 xl('Number of Appointments on Statement'),
1353 'num', // data type
1354 '0', // default = 0
1355 xl('The Number of Future Appointments to Display on the Statement.')
1358 'statement_message_to_patient' => array(
1359 xl('Print Custom Message'),
1360 'bool', // data type
1361 '0', // default = false
1362 xl('This will allow printing of a custom Message on the statements.')
1365 'statement_msg_text' => array(
1366 xl('Custom Statement message'),
1367 'text', // data type
1369 xl('Text for Custom statement message.')
1372 'use_dunning_message' => array(
1373 xl('Use Custom Dunning Messages'),
1374 'bool', // data type
1375 '0', // default = false
1376 xl('This will allow use of the custom Dunning Messages on the statements.')
1379 'first_dun_msg_set' => array(
1380 xl('Number of days before showing first account message'),
1381 'num', // data type
1382 '30',
1383 xl('Number of days before showing first account message.')
1386 'first_dun_msg_text' => array(
1387 xl('First account message'),
1388 'text', // data type
1390 xl('Text for first account message.')
1393 'second_dun_msg_set' => array(
1394 xl('Number of days before showing second account message'),
1395 'num', // data type
1396 '60',
1397 xl('Number of days before showing second account message')
1400 'second_dun_msg_text' => array(
1401 xl('Second account message'),
1402 'text', // data type
1404 xl('Text for second account message.')
1407 'third_dun_msg_set' => array(
1408 xl('Number of days before showing third account message'),
1409 'num', // data type
1410 '90',
1411 xl('Number of days before showing third account message')
1414 'third_dun_msg_text' => array(
1415 xl('Third account message'),
1416 'text', // data type
1418 xl('Text for third account message.')
1421 'fourth_dun_msg_set' => array(
1422 xl('Number of days before showing fourth account message'),
1423 'num', // data type
1424 '120',
1425 xl('Number of days before showing fourth account message')
1428 'fourth_dun_msg_text' => array(
1429 xl('Fourth account message'),
1430 'text', // data type
1432 xl('Text for fourth account message.')
1435 'fifth_dun_msg_set' => array(
1436 xl('Number of days before showing fifth account message'),
1437 'num', // data type
1438 '150',
1439 xl('Number of days before showing fifth account message')
1442 'fifth_dun_msg_text' => array(
1443 xl('Fifth account message'),
1444 'text', // data type
1446 xl('Text for fifth account message.')
1449 'save_codes_history' => array(
1450 xl('Save codes history'),
1451 'bool', // data type
1452 '1', // default
1453 xl('Save codes history')
1456 'enable_percent_pricing' => array(
1457 xl('Enable percent-based price levels'),
1458 'bool', // data type
1459 '0', // default
1460 xl('Enable percent-based price levels')
1463 'gen_x12_based_on_ins_co' => array(
1464 xl('Generate X-12 Based On Insurance Company'),
1465 'bool', // data type
1466 '0', // default = false
1467 xl('For sending claims directly to insurance company, based on X12 Partner Settings')
1470 'auto_sftp_claims_to_x12_partner' => array(
1471 xl('Automatically SFTP Claims To X12 Partner'),
1472 'bool', // data type
1473 '0', // default = false
1474 xl('For automatically sending claims that are generated in EDI directory to the X12 partner using SFTP credentials X12 Partner Settings')
1477 'enable_swap_secondary_insurance' => array(
1478 xl('Enable Swap Secondary Insurance Editing Demographics'),
1479 'bool', // data type
1480 '0', // default
1481 xl('Enable swap secondary insurance')
1486 // E-Sign Tab
1488 'E-Sign' => array(
1490 'esign_all' => array(
1491 xl('Allows E-Sign on the entire encounter'),
1492 'bool', // data type
1493 '0', // default = false
1494 xl('This will enable signing an entire encounter, rather than individual forms')
1497 'lock_esign_all' => array(
1498 xl('Lock e-signed encounters and their forms'),
1499 'bool', // data type
1500 '0', // default = false
1501 xl('This will disable the Edit button on all forms whose parent encounter is e-signed')
1504 'esign_individual' => array(
1505 xl('Allows E-Signing Individual Forms'),
1506 'bool', // data type
1507 '1', // default = false
1508 xl('This will enable signing individual forms separately')
1511 'lock_esign_individual' => array(
1512 xl('Lock an e-signed form individually'),
1513 'bool', // data type
1514 '1', // default = false
1515 xl('This will disable the Edit button on any form that is e-signed')
1518 'esign_lock_toggle' => array(
1519 xl('Enable lock toggle'),
1520 'bool', // data type
1521 '0', // default = false
1522 xl('This will give the user the option to lock (separate locking and signing)')
1525 'esign_report_show_only_signed' => array(
1526 xl('Only Include E-Signed Forms On Report'),
1527 'bool', // data type
1528 '0', // default = false
1529 xl('This will hide any encounter forms not E-Signed on the patient report')
1532 'esign_report_hide_empty_sig' => array(
1533 xl('Hide Empty E-Sign Logs On Report'),
1534 'bool', // data type
1535 '1', // default = false
1536 xl('This will hide empty e-sign logs on the patient report')
1539 'esign_report_hide_all_sig' => array(
1540 xl('Exclude All E-Sign Logs On Report'),
1541 'bool', // data type
1542 '0', // default = false
1543 xl('This will hide any e-sign logs on the patient report')
1546 //Documents Tab
1547 'Documents' => array(
1549 'document_storage_method' => array(
1550 xl('Document Storage Method'),
1551 array(
1552 '0' => xl('Hard Disk'),
1553 '1' => xl('CouchDB')
1555 '0', // default
1556 xl('Option to save method of document storage.')
1559 'couchdb_host' => array(
1560 xl('CouchDB HostName'),
1561 'text',
1562 'localhost',
1563 xl('CouchDB host'),
1565 'couchdb_user' => array(
1566 xl('CouchDB UserName'),
1567 'text',
1569 xl('Username to connect to CouchDB'),
1571 'couchdb_pass' => array(
1572 xl('CouchDB Password'),
1573 'encrypted', // data type
1575 xl('Password to connect to CouchDB'),
1577 'couchdb_port' => array(
1578 xl('CouchDB Port'),
1579 'text',
1580 '6984',
1581 xl('CouchDB port'),
1583 'couchdb_dbase' => array(
1584 xl('CouchDB Database'),
1585 'text',
1587 xl('CouchDB database name'),
1589 'couchdb_connection_ssl' => array(
1590 xl('CouchDB Connection SSL'),
1591 'bool',
1592 '1',
1593 xl('Use SSL (encrypted) connection to CouchDB'),
1595 'couchdb_ssl_allow_selfsigned' => array(
1596 xl('CouchDB SSL Allow Selfsigned Certificate'),
1597 'bool',
1598 '0',
1599 xl('Allow self-signed certificate for SSL (encrypted) connection to CouchDB'),
1601 'couchdb_log' => array(
1602 xl('CouchDB Log Enable'),
1603 'bool',
1604 '0',
1605 xl('Enable log for document uploads/downloads to CouchDB'),
1608 'expand_document_tree' => array(
1609 xl('Expand All Document Categories'),
1610 'bool', // data type
1611 '0', // default = false
1612 xl('Expand All Document Categories by Default')
1615 'patient_id_category_name' => array(
1616 xl('Patient ID Category Name'),
1617 'text', // data type
1618 'Patient ID card', // default
1619 xl('Optional category name for an ID Card image that can be viewed from the patient summary page.')
1622 'patient_photo_category_name' => array(
1623 xl('Patient Photo Category Name'),
1624 'text', // data type
1625 'Patient Photograph', // default
1626 xl('Optional category name for photo images that can be viewed from the patient summary page.')
1629 'lab_results_category_name' => array(
1630 xl('Lab Results Category Name'),
1631 'text', // data type
1632 'Lab Report', // default
1633 xl('Document category name for storage of electronically received lab results.')
1636 'gbl_mdm_category_name' => array(
1637 xl('MDM Document Category Name'),
1638 'text', // data type
1639 'Lab Report', // default
1640 xl('Document category name for storage of electronically received MDM documents.')
1642 'generate_doc_thumb' => array(
1643 xl('Generate thumbnail'),
1644 'bool',
1645 '0',
1646 xl('Generate thumbnail images'),
1648 'thumb_doc_max_size' => array(
1649 xl('Thumbnail size'),
1650 'text', // data type
1651 '100', // default
1652 xl('Maximum size of thumbnail file')
1656 // Calendar Tab
1658 'Calendar' => array(
1660 'disable_calendar' => array(
1661 xl('Disable Calendar'),
1662 'bool', // data type
1663 '0', // default
1664 xl('Do not display the calendar.')
1667 'schedule_start' => array(
1668 xl('Calendar Starting Hour'),
1669 'hour',
1670 '8', // default
1671 xl('Beginning hour of day for calendar events.')
1674 'schedule_end' => array(
1675 xl('Calendar Ending Hour'),
1676 'hour',
1677 '17', // default
1678 xl('Ending hour of day for calendar events.')
1681 'calendar_interval' => array(
1682 xl('Calendar Interval'),
1683 array(
1684 '5' => '5',
1685 '10' => '10',
1686 '15' => '15',
1687 '20' => '20',
1688 '30' => '30',
1689 '60' => '60',
1691 '15', // default
1692 xl('The time granularity of the calendar and the smallest interval in minutes for an appointment slot.')
1695 'calendar_view_type' => array(
1696 xl('Default Calendar View'),
1697 array(
1698 'day' => xl('Day'),
1699 'week' => xl('Week'),
1700 'month' => xl('Month'),
1702 'day', // default
1703 xl('This sets the Default Calendar View, Default is Day.')
1706 'first_day_week' => array(
1707 xl('First day in the week'),
1708 array(
1709 '1' => xl('Monday'),
1710 '0' => xl('Sunday'),
1711 '6' => xl('Saturday')
1713 '1',
1714 xl('Your first day of the week.')
1717 'calendar_appt_style' => array(
1718 xl('Appointment Display Style'),
1719 array(
1720 '1' => xl('Last name'),
1721 '2' => xl('Last name, first name'),
1722 '3' => xl('Last name, first name (title)'),
1723 '4' => xl('Last name, first name (title: comments)'),
1725 '2', // default
1726 xl('This determines how appointments display on the calendar.')
1729 'event_color' => array(
1730 xl('Appointment/Event Color'),
1731 array(
1732 '1' => xl('Category Color Schema'),
1733 '2' => xl('Facility Color Schema'),
1734 ), // data type
1735 '1', // default
1736 xl('This determines which color schema used for appointment')
1739 'number_of_appts_to_show' => array(
1740 xl('Appointments - Patient Summary - Number to Display'),
1741 'num',
1742 '10',
1743 xl('Number of Appointments to display in the Patient Summary')
1746 'number_of_group_appts_to_show' => array(
1747 xl('Appointments - Group Summary - Number to Display'),
1748 'num',
1749 '10',
1750 xl('Number of Appointments to display in the Group Summary')
1753 'number_of_ex_appts_to_show' => array(
1754 xl('Excluded Appointments - Tooltip - Number to Display'),
1755 'num',
1756 '15',
1757 xl('Number of Excluded Appointments to display in the Tooltip')
1760 'appt_display_sets_option' => array(
1761 xl('Appointment Display Sets - Ignore Display Limit (Last Set)'),
1762 'bool', // data type
1763 '1', // default
1764 xl('Override (if necessary) the appointment display limit to allow all appointments to be displayed for the last set')
1767 'appt_display_sets_color_1' => array(
1768 xl('Appointment Display Sets - Color 1'),
1769 'color_code',
1770 '#FFFFFF',
1771 xl('Color for odd sets (except when last set is odd and all member appointments are displayed and at least one subsequent scheduled appointment exists (not displayed) or not all member appointments are displayed).')
1774 'appt_display_sets_color_2' => array(
1775 xl('Appointment Display Sets - Color 2'),
1776 'color_code',
1777 '#E6E6FF',
1778 xl('Color for even sets (except when last set is even and all member appointments are displayed and at least one subsequent scheduled appointment exists (not displayed) or not all member appointments are displayed).')
1781 'appt_display_sets_color_3' => array(
1782 xl('Appointment Display Sets - Color 3'),
1783 'color_code',
1784 '#E6FFE6',
1785 xl('Color for the last set when all member appointments are displayed and at least one subsequent scheduled appointment exists (not displayed).')
1788 'appt_display_sets_color_4' => array(
1789 xl('Appointment Display Sets - Color 4'),
1790 'color_code',
1791 '#FFE6FF',
1792 xl('Color for the last set when not all member appointments are displayed.')
1795 'appt_recurrences_widget' => array(
1796 xl('Recurrent Appointment Display Widget'),
1797 'bool', // data type
1798 '1', // default
1799 xl('Display the recurrent appointment widget in the patient summary.')
1802 'num_past_appointments_to_show' => array(
1803 xl('Past Appointment Display Widget'),
1804 'num', // data type
1805 '0', // default = false
1806 xl('A positive number will show that many past appointments on a Widget in the Patient Summary screen (a negative number will show the past appointments in descending order)')
1809 'docs_see_entire_calendar' => array(
1810 xl('Providers See Entire Calendar'),
1811 'bool', // data type
1812 '0', // default
1813 xl('Check this if you want providers to see all appointments by default and not just their own.')
1816 'auto_create_new_encounters' => array(
1817 xl('Auto-Create New Encounters'),
1818 array(
1819 '0' => xl('Off'),
1820 '1' => xl('One Encounter Per Day'),
1821 '2' => xl('Allow Encounter For Each Appointment')
1823 '1',
1824 xl('Automatically create a new encounter when an appointment check in status is selected.') . " " .
1825 xl('The Each Appointment option will allow a new encounter regardless of same day visit.') . " " .
1826 xl('The appointment status changes and encounter creations are managed through the Patient Tracker.')
1829 'allow_early_check_in' => array(
1830 xl('Allow Early Check In'),
1831 'bool', // data type
1832 '1', // default
1833 xl("Allow Check In before the appointment's time.")
1836 'submit_changes_for_all_appts_at_once' => array(
1837 xl('Submit Changes For All Appts At Once'),
1838 'bool', // data type
1839 '1', // default
1840 xl('Enables to submit changes for all appointments of a recurrence at once.')
1843 'disable_pat_trkr' => array(
1844 xl('Flow Board: Disable'),
1845 'bool', // data type
1846 '0', // default
1847 xl('Completely remove the ability to display the Patient Flow Board.')
1850 'ptkr_visit_reason' => array(
1851 xl('Flow Board: Show Visit Reason'),
1852 'bool', // data type
1853 '0', // default = false
1854 xl('When Checked, Visit Reason Will Show in Patient Flow Board.')
1857 'ptkr_show_pid' => array(
1858 xl('Flow Board: Show Patient ID'),
1859 'bool', // data type
1860 '1', // default = true
1861 xl('When Checked, Patient ID Will Show in Patient Flow Board.')
1864 'ptkr_show_encounter' => array(
1865 xl('Flow Board: Show Encounter Number'),
1866 'bool', // data type
1867 '1', // default = true
1868 xl('When Checked, Patient Encounter Number Will Show in Patient Flow Board.')
1871 'ptkr_show_staff' => array(
1872 xl('Flow Board: Show Staff Action'),
1873 'bool', // data type
1874 '1', // default = true
1875 xl('When Checked, Last Staff to Update Board Will Show in Patient Flow Board.')
1878 'ptkr_date_range' => array(
1879 xl('Flow Board: Allow Date Range'),
1880 'bool', // data type
1881 '1', // default = true
1882 xl('This Allows a Date Range to be Selected in Patient Flow Board.')
1885 'ptkr_start_date' => array(
1886 xl('Flow Board: Default Starting Date'),
1887 array(
1888 'D0' => xl('Current Day'),
1889 'B0' => xl('Beginning of Current Work Week'),
1891 'D0', // default = Current Day
1892 xl('This is the default Beginning date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1895 'ptkr_end_date' => array(
1896 xl('Flow Board: Default Ending Date'),
1897 array(
1898 'Y1' => xl('One Year Ahead'),
1899 'Y2' => xl('Two Years Ahead'),
1900 'M6' => xl('Six Months Ahead'),
1901 'M3' => xl('Three Months Ahead'),
1902 'M1' => xl('One Month Ahead'),
1903 'D7' => xl('One Week Ahead'),
1904 'D1' => xl('One Day Ahead'),
1905 'D0' => xl('Current Day'),
1907 'D0', // default = One Day Ahead
1908 xl('This is the default Ending date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1911 'pat_trkr_timer' => array(
1912 xl('Flow Board: Timer Refresh Interval'),
1913 array(
1914 '0' => xl('No automatic refresh'),
1915 '0:10' => '10',
1916 '0:20' => '20',
1917 '0:30' => '30',
1918 '0:40' => '40',
1919 '0:50' => '50',
1920 '0:59' => '60',
1922 '0:20', // default
1923 xl('The screen refresh time in Seconds for the Patient Flow Board Screen.')
1926 'checkout_roll_off' => array(
1927 xl('Flow Board: display completed checkouts (minutes)'),
1928 'num',
1929 '0', // default
1930 xl('Flow Board will only display completed checkouts for this many minutes. Zero is continuous display.')
1933 'drug_screen' => array(
1934 xl('Flow Board: Enable Random Drug Testing'),
1935 'bool', // data type
1936 '0', // default
1937 xl('Allow Patient Flow Board to Select Patients for Drug Testing.')
1940 'drug_testing_percentage' => array(
1941 xl('Flow Board: Percentage of Patients to Drug Test'),
1942 'num',
1943 '33', // default
1944 xl('Percentage of Patients to select for Random Drug Testing.')
1947 'maximum_drug_test_yearly' => array(
1948 xl('Flow Board: Max tests per Patient per year'),
1949 'num',
1950 '0', // default
1951 xl('Maximum number of times a Patient can be tested in a year. Zero is no limit.')
1954 'disable_rcb' => array(
1955 xl('Recall Board: Disable'),
1956 'bool', // data type
1957 '0', // default
1958 xl('Do not display the Recall Board.')
1965 // Insurance Tab
1966 'Insurance' => array(
1967 'enable_oa' => array(
1968 xl('Enable Office Ally Insurance Eligibility'),
1969 'bool',
1970 '0',
1971 xl('Allow insurance eligibility checks using Office Ally')
1974 'simplified_demographics' => array(
1975 xl('Simplified Demographics'),
1976 'bool', // data type
1977 '0', // default = false
1978 xl('Omit insurance and some other things from the demographics form')
1981 'insurance_information' => array(
1982 xl('Show Additional Insurance Information'), // descriptive name
1983 array(
1984 '0' => xl('None'),
1985 '1' => xl('Address Only'),
1986 '2' => xl('Address and Postal Code'),
1987 '3' => xl('Address and State'),
1988 '4' => xl('Address, State and Postal Code'),
1989 '5' => xl('Address, City, State and Postal Code'),
1990 '6' => xl('Address, City, State, Postal Code, Payer ID'),
1991 '7' => xl('Postal Code and Box Number')
1993 '6', // default
1994 xl('Show Insurance Address Information in the Insurance Panel of Demographics.')
1997 'disable_eligibility_log' => array(
1998 xl('Disable Insurance Eligibility Reports Download'),
1999 'bool',
2000 '0',
2001 xl('Do not allow insurance eligibility report log download')
2004 'insurance_only_one' => array(
2005 xl('Allow only one insurance'),
2006 'bool', // data type
2007 '0', // default = false
2008 xl('Allow more than one insurance')
2011 // Security Tab
2013 'Security' => array(
2014 'sql_string_no_show_screen' => array(
2015 xl('Mode - Do Not Show SQL Queries'),
2016 'bool', // data type
2017 '0', // default
2018 xl('Do not allow SQL queries to be outputted to screen.')
2020 'timeout' => array(
2021 xl('Idle Session Timeout Seconds'),
2022 'num', // data type
2023 '7200', // default
2024 xl('Maximum idle time in seconds before logout. Default is 7200 (2 hours).')
2026 'portal_timeout' => array(
2027 xl('Portal Idle Session Timeout Seconds'),
2028 'num', // data type
2029 '1800', // default
2030 xl('Maximum idle time in seconds before logout. Default is 1800 (30 minutes).')
2032 'secure_upload' => array(
2033 xl('Secure Upload Files with White List'),
2034 'bool', // data type
2035 '1', // default
2036 xl('Block all files types that are not found in the White List. Can find interface to edit the White List at Administration->Files.')
2038 'secure_password' => array(
2039 xl('Require Strong Passwords'),
2040 'bool', // data type
2041 '1', // default
2042 xl('Strong password means at least one of each: a number, a lowercase letter, an uppercase letter, a special character.')
2045 'gbl_minimum_password_length' => array(
2046 xl('Minimum Password Length'),
2047 array(
2048 '0' => xl('No Minimum'),
2049 '4' => '4',
2050 '5' => '5',
2051 '6' => '6',
2052 '7' => '7',
2053 '8' => '8',
2054 '9' => '9',
2055 '10' => '10',
2056 '11' => '11',
2057 '12' => '12',
2058 '13' => '13',
2059 '14' => '14',
2060 '15' => '15',
2061 '16' => '16',
2062 '17' => '17',
2063 '18' => '18',
2064 '19' => '19',
2065 '20' => '20',
2067 '9', // default
2068 xl('Minimum length of password.')
2071 'gbl_maximum_password_length' => array(
2072 xl('Maximum Password Length'),
2073 array(
2074 '0' => xl('No Maximum'),
2075 '72' => '72',
2077 '72', // default
2078 xl('Maximum length of password (Recommend using the default value of 72 unless you know what you are doing).')
2081 'password_history' => array(
2082 xl('Require Unique Passwords'),
2083 array(
2084 '0' => xl('No'),
2085 '1' => '1',
2086 '2' => '2',
2087 '3' => '3',
2088 '4' => '4',
2089 '5' => '5',
2091 '5', // default
2092 xl('Set to the number of prior passwords that are not allowed to use when changing a password.')
2095 'password_expiration_days' => array(
2096 xl('Default Password Expiration Days'),
2097 'num', // data type
2098 '180', // default
2099 xl('Default password expiration period in days. 0 means this feature is disabled.')
2102 'password_grace_time' => array(
2103 xl('Password Expiration Grace Period'),
2104 'num', // data type
2105 '30', // default
2106 xl('Period in days where a user may login with an expired password.')
2109 'password_max_failed_logins' => array(
2110 xl('Maximum Failed Login Attempts For User'),
2111 'num', // data type
2112 '20', // default
2113 xl('Maximum Failed Login Attempts For User (0 for no maximum).')
2116 'time_reset_password_max_failed_logins' => array(
2117 xl('Time (seconds) to Reset Maximum Failed Login Attempts For User'),
2118 'num', // data type
2119 '3600', // default to 1 hour
2120 xl('Time (seconds) to Reset Maximum Failed Login Attempts Counter For User (0 for no reset).')
2123 'ip_max_failed_logins' => array(
2124 xl('Maximum Failed Login Attempts From IP Address'),
2125 'num', // data type
2126 '100', // default
2127 xl('Maximum Failed Login Attempts From IP Address (0 for no maximum).')
2130 'ip_time_reset_password_max_failed_logins' => array(
2131 xl('Time (seconds) to Reset Maximum Failed Login Attempts From IP Address'),
2132 'num', // data type
2133 '3600', // default to 1 hour
2134 xl('Time (seconds) to Reset Maximum Failed Login Attempts Counter From IP Address (0 for no reset).')
2137 'gbl_fac_warehouse_restrictions' => array(
2138 xl('Enable Facility/Warehouse Permissions'),
2139 'bool', // data type
2140 '0', // default
2141 xl('Enable facility/warehouse restrictions in the user administration form.')
2144 'is_client_ssl_enabled' => array(
2145 xl('Enable Client SSL'),
2146 'bool', // data type
2147 '0', // default
2148 xl('Enable client SSL certificate authentication.')
2151 'certificate_authority_crt' => array(
2152 xl('Path to CA Certificate File'),
2153 'text', // data type
2154 '', // default
2155 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2158 'certificate_authority_key' => array(
2159 xl('Path to CA Key File'),
2160 'text', // data type
2161 '', // default
2162 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2165 'client_certificate_valid_in_days' => array(
2166 xl('Client Certificate Expiration Days'),
2167 'num', // data type
2168 '365', // default
2169 xl('Number of days that the client certificate is valid.')
2172 'Emergency_Login_email_id' => array(
2173 xl('Emergency Login Email Address'),
2174 'text', // data type
2175 '', // default
2176 xl('Email address, if any, to receive emergency login user activation messages.')
2179 'new_validate' => array(
2180 xl('New form validation'),
2181 'bool',
2182 '1',
2183 xl('New form validation')
2186 'allow_multiple_databases' => array(
2187 xl('Allow multiple databases'),
2188 'bool',
2189 '0',
2190 xl('Allow to use with multiple database')
2193 'safe_key_database' => array(
2194 xl('Safe key database'),
2195 'text', // data type
2196 '', // default
2197 xl('Key for multiple database credentials encryption')
2200 'google_signin_enabled' => array(
2201 xl('Enable Google Sign-In'),
2202 'bool',
2203 '0',
2204 xl('Enable Authentication Using Google Sign-in')
2207 'google_signin_client_id' => array(
2208 xl('Google Sign-In Client ID'),
2209 'text',
2211 xl('This Client ID Is Provided By Google For Your App (Required For Google Sign-in)')
2214 'gbl_ldap_enabled' => array(
2215 xl('Use LDAP for Authentication'),
2216 'bool',
2217 '0',
2218 xl('If enabled, use LDAP for login and authentication.')
2220 'gbl_ldap_host' => array(
2221 xl('LDAP - Server Name or URI'),
2222 'text',
2224 xl('The hostname or URI of your LDAP or Active Directory server.')
2226 'gbl_ldap_dn' => array(
2227 xl('LDAP - Distinguished Name of User'),
2228 'text',
2230 xl('Embed {login} where the OpenEMR login name of the user is to be; for example: uid={login},dc=example,dc=com')
2232 'gbl_ldap_exclusions' => array(
2233 xl('LDAP - Login Exclusions'),
2234 'text',
2236 xl('Comma-separated list of login names to use normal authentication instead of LDAP; useful for setup and debugging.')
2239 'gbl_debug_hash_verify_execution_time' => array(
2240 xl('Debug Hash Verification Time'),
2241 'bool',
2242 '0',
2243 xl('If enabled, this will send the execution time it took to verify hash to the php error log.')
2246 'gbl_auth_hash_algo' => array(
2247 xl('Hash Algorithm for Authentication'),
2248 array(
2249 'DEFAULT' => xl('PHP Default'),
2250 'BCRYPT' => 'Bcrypt',
2251 'ARGON2I' => 'Argon2I',
2252 'ARGON2ID' => 'Argon2ID',
2253 'SHA512HASH' => 'SHA512 (ONC 2015)',
2255 'DEFAULT', // default
2256 xl('Hashing algorithm for authentication. Suggest PHP Default unless you know what you are doing.')
2259 'gbl_auth_bcrypt_hash_cost' => array(
2260 xl('Authentication Bcrypt Hash Cost'),
2261 array(
2262 'DEFAULT' => xl('PHP Default'),
2263 '5' => '5',
2264 '6' => '6',
2265 '7' => '7',
2266 '8' => '8',
2267 '9' => '9',
2268 '10' => '10',
2269 '11' => '11',
2270 '12' => '12',
2271 '13' => '13',
2272 '14' => '14',
2273 '15' => '15',
2274 '16' => '16',
2275 '17' => '17',
2276 '18' => '18',
2277 '19' => '19',
2278 '20' => '20',
2280 'DEFAULT', // default
2281 xl('Authentication bcrypt hash cost. Suggest PHP Default unless you know what you are doing.')
2284 'gbl_auth_argon_hash_memory_cost' => array(
2285 xl('Authentication Argon Hash Memory Cost'),
2286 array(
2287 'DEFAULT' => xl('PHP Default'),
2288 '512' => '512',
2289 '1024' => '1024',
2290 '2048' => '2048',
2291 '4096' => '4096',
2292 '8192' => '8192',
2293 '16384' => '16384',
2294 '32768' => '32768',
2295 '65536' => '65536',
2296 '131072' => '131072',
2297 '262144' => '262144',
2298 '524288' => '524288',
2299 '1048576' => '1048576',
2300 '2097152' => '2097152',
2302 'DEFAULT', // default
2303 xl('Authentication argon hash memory cost. Suggest PHP Default unless you know what you are doing.')
2306 'gbl_auth_argon_hash_time_cost' => array(
2307 xl('Authentication Argon Hash Time Cost'),
2308 array(
2309 'DEFAULT' => xl('PHP Default'),
2310 '1' => '1',
2311 '2' => '2',
2312 '3' => '3',
2313 '4' => '4',
2314 '5' => '5',
2315 '6' => '6',
2316 '7' => '7',
2317 '8' => '8',
2318 '9' => '9',
2319 '10' => '10',
2320 '11' => '11',
2321 '12' => '12',
2322 '13' => '13',
2323 '14' => '14',
2324 '15' => '15',
2325 '16' => '16',
2326 '17' => '17',
2327 '18' => '18',
2328 '19' => '19',
2329 '20' => '20',
2331 'DEFAULT', // default
2332 xl('Authentication argon hash time cost. Suggest PHP Default unless you know what you are doing.')
2335 'gbl_auth_argon_hash_thread_cost' => array(
2336 xl('Authentication Argon Hash Thread Number'),
2337 array(
2338 'DEFAULT' => xl('PHP Default'),
2339 '1' => '1',
2340 '2' => '2',
2341 '3' => '3',
2342 '4' => '4',
2343 '5' => '5',
2344 '6' => '6',
2345 '7' => '7',
2346 '8' => '8',
2347 '9' => '9',
2348 '10' => '10',
2349 '11' => '11',
2350 '12' => '12',
2351 '13' => '13',
2352 '14' => '14',
2353 '15' => '15',
2354 '16' => '16',
2355 '17' => '17',
2356 '18' => '18',
2357 '19' => '19',
2358 '20' => '20',
2360 'DEFAULT', // default
2361 xl('Authentication argon hash thread number. Suggest PHP Default unless you know what you are doing.')
2364 'gbl_auth_sha512_rounds' => array(
2365 xl('Authentication SHA512 Hash Rounds Number'),
2366 array(
2367 '1000' => '1000',
2368 '5000' => '5000',
2369 '10000' => '10000',
2370 '15000' => '15000',
2371 '20000' => '20000',
2372 '30000' => '30000',
2373 '40000' => '40000',
2374 '50000' => '50000',
2375 '75000' => '75000',
2376 '100000' => '100000',
2377 '200000' => '200000',
2378 '300000' => '300000',
2379 '400000' => '400000',
2380 '500000' => '500000',
2381 '750000' => '750000',
2382 '1000000' => '1000000',
2383 '2000000' => '2000000',
2384 '3000000' => '3000000',
2385 '4000000' => '4000000',
2386 '5000000' => '5000000',
2387 '6000000' => '6000000',
2388 '7000000' => '7000000',
2389 '8000000' => '8000000',
2390 '9000000' => '9000000',
2392 '100000', // default
2393 xl('Authentication SHA512 hash rounds number.')
2398 // Notifications Tab
2400 'Notifications' => array(
2402 'patient_reminder_sender_name' => array(
2403 xl('Patient Reminder Sender Name'),
2404 'text', // data type
2405 '', // default
2406 xl('Name of the sender for patient reminders.')
2409 'patient_reminder_sender_email' => array(
2410 xl('Patient Reminder Sender Email'),
2411 'text', // data type
2412 '', // default
2413 xl('Email address of the sender for patient reminders. Replies to patient reminders will be directed to this address. It is important to use an address from your clinic\'s domain to avoid help prevent patient reminders from going to junk mail folders.')
2416 'practice_return_email_path' => array(
2417 xl('Notification Email Address'),
2418 'text', // data type
2419 '', // default
2420 xl('Email address, if any, to receive administrative notifications.')
2423 'EMAIL_METHOD' => array(
2424 xl('Email Transport Method'),
2425 array(
2426 'PHPMAIL' => 'PHPMAIL',
2427 'SENDMAIL' => 'SENDMAIL',
2428 'SMTP' => 'SMTP',
2430 'SMTP', // default
2431 xl('Method for sending outgoing email.')
2434 'SMTP_HOST' => array(
2435 xl('SMTP Server Hostname'),
2436 'text', // data type
2437 'localhost', // default
2438 xl('If SMTP is used, the server`s hostname or IP address.')
2441 'SMTP_PORT' => array(
2442 xl('SMTP Server Port Number'),
2443 'num', // data type
2444 '25', // default
2445 xl('If SMTP is used, the server`s TCP port number (usually 25).')
2448 'SMTP_USER' => array(
2449 xl('SMTP User for Authentication'),
2450 'text', // data type
2451 '', // default
2452 xl('Must be empty if SMTP authentication is not used.')
2455 'SMTP_PASS' => array(
2456 xl('SMTP Password for Authentication'),
2457 'encrypted', // data type
2458 '', // default
2459 xl('Must be empty if SMTP authentication is not used.')
2462 'SMTP_SECURE' => array(
2463 xl('SMTP Security Protocol'),
2464 array(
2465 '' => xl('None'),
2466 'ssl' => 'SSL',
2467 'tls' => 'TLS'
2470 xl('SMTP security protocol to connect with. Required by some servers such as gmail.')
2473 'EMAIL_NOTIFICATION_HOUR' => array(
2474 xl('Email Notification Hours'),
2475 'num', // data type
2476 '50', // default
2477 xl('Number of hours in advance to send email notifications.')
2480 'SMS_NOTIFICATION_HOUR' => array(
2481 xl('SMS Notification Hours'),
2482 'num', // data type
2483 '50', // default
2484 xl('Number of hours in advance to send SMS notifications.')
2487 'SMS_GATEWAY_USENAME' => array(
2488 xl('SMS Gateway Username'),
2489 'text', // data type
2490 '', // default
2491 xl('Username for SMS Gateway.')
2494 'SMS_GATEWAY_PASSWORD' => array(
2495 xl('SMS Gateway Password'),
2496 'text', // data type
2497 '', // default
2498 xl('Password for SMS Gateway.')
2501 'SMS_GATEWAY_APIKEY' => array(
2502 xl('SMS Gateway API Key'),
2503 'text', // data type
2504 '', // default
2505 xl('API key for SMS Gateway.')
2508 'phone_notification_hour' => array(
2509 xl('Phone Notification Hour'),
2510 'num', // data type
2511 '50', // default
2512 xl('Number of hours in advance to send Phone notification.')
2515 'phone_gateway_username' => array(
2516 xl('Phone Gateway Username'),
2517 'text', // data type
2518 '', // default
2519 xl('Username for Phone Gateway.')
2522 'phone_gateway_password' => array(
2523 xl('Phone Gateway Password'),
2524 'encrypted', // data type
2525 '', // default
2526 xl('Password for Phone Gateway.')
2529 'phone_gateway_url' => array(
2530 xl('Phone Gateway URL'),
2531 'text', // data type
2532 '', // default
2533 xl('URL for Phone Gateway.')
2538 // CDR (Clinical Decision Rules)
2540 'CDR' => array(
2542 'enable_cdr' => array(
2543 xl('Enable Clinical Decisions Rules (CDR)'),
2544 'bool', // data type
2545 '1', // default
2546 xl('Enable Clinical Decisions Rules (CDR)')
2549 'enable_allergy_check' => array(
2550 xl('Enable Allergy Check'),
2551 'bool', // data type
2552 '1', // default
2553 xl('Enable Allergy Check Against Medications and Prescriptions')
2556 'enable_alert_log' => array(
2557 xl('Enable Alert Log'),
2558 'bool', // data type
2559 '1', // default
2560 xl('Enable Alert Logging')
2563 'enable_cdr_new_crp' => array(
2564 xl('Enable Clinical Passive New Reminder(s) Popup'),
2565 'bool', // data type
2566 '1', // default
2567 xl('Enable Clinical Passive New Reminder(s) Popup')
2570 'enable_cdr_crw' => array(
2571 xl('Enable Clinical Passive Reminder Widget'),
2572 'bool', // data type
2573 '1', // default
2574 xl('Enable Clinical Passive Reminder Widget')
2577 'enable_cdr_crp' => array(
2578 xl('Enable Clinical Active Reminder Popup'),
2579 'bool', // data type
2580 '1', // default
2581 xl('Enable Clinical Active Reminder Popup')
2584 'enable_cdr_prw' => array(
2585 xl('Enable Patient Reminder Widget'),
2586 'bool', // data type
2587 '1', // default
2588 xl('Enable Patient Reminder Widget')
2591 'enable_cqm' => array(
2592 xl('Enable CQM Reporting'),
2593 'bool', // data type
2594 '1', // default
2595 xl('Enable Clinical Quality Measure (CQM) Reporting')
2598 'pqri_registry_name' => array(
2599 xl('PQRI Registry Name'),
2600 'text', // data type
2601 'Model Registry', // default
2602 xl('PQRI Registry Name')
2605 'pqri_registry_id' => array(
2606 xl('PQRI Registry ID'),
2607 'text', // data type
2608 '125789123', // default
2609 xl('PQRI Registry ID')
2612 'cqm_performance_period' => array(
2613 xl('Eligible Clinician eCQM Performance Period'),
2614 'text', // data type
2615 '2022', // default set
2616 xl('Enter the eCQM Performance Period year. For example 2022')
2619 'enable_amc' => array(
2620 xl('Enable AMC Reporting'),
2621 'bool', // data type
2622 '1', // default
2623 xl('Enable Automated Measure Calculations (AMC) Reporting')
2626 'enable_amc_prompting' => array(
2627 xl('Enable AMC Prompting'),
2628 'bool', // data type
2629 '1', // default
2630 xl('Enable Prompting For Automated Measure Calculations (AMC) Required Data')
2633 'enable_amc_tracking' => array(
2634 xl('Enable AMC Tracking'),
2635 'bool', // data type
2636 '1', // default
2637 xl('Enable Reporting of Tracking Date For Automated Measure Calculations (AMC)')
2640 'cdr_report_nice' => array(
2641 xl('CDR Reports Processing Priority'),
2642 array(
2643 '' => xl('Default Priority'),
2644 '5' => xl('Moderate Priority'),
2645 '10' => xl('Moderate/Low Priority'),
2646 '15' => xl('Low Priority'),
2647 '20' => xl('Lowest Priority')
2649 '', // default
2650 xl('Set processing priority for CDR engine based reports.')
2653 'pat_rem_clin_nice' => array(
2654 xl('Patient Reminder Creation Processing Priority'),
2655 array(
2656 '' => xl('Default Priority'),
2657 '5' => xl('Moderate Priority'),
2658 '10' => xl('Moderate/Low Priority'),
2659 '15' => xl('Low Priority'),
2660 '20' => xl('Lowest Priority')
2662 '', // default
2663 xl('Set processing priority for creation of Patient Reminders (in full clinic mode).')
2666 'report_itemizing_standard' => array(
2667 xl('Enable Standard Report Itemization'),
2668 'bool', // data type
2669 '1', // default
2670 xl('Enable Itemization of Standard Clinical Rules Reports')
2673 'report_itemizing_cqm' => array(
2674 xl('Enable CQM Report Itemization'),
2675 'bool', // data type
2676 '1', // default
2677 xl('Enable Itemization of CQM Reports')
2680 'report_itemizing_amc' => array(
2681 xl('Enable AMC Report Itemization'),
2682 'bool', // data type
2683 '1', // default
2684 xl('Enable Itemization of AMC Reports')
2686 'dated_reminders_max_alerts_to_show' => array(
2687 xl('Dated reminders maximum alerts to show'),
2688 'num', // data type
2689 '5', // default
2690 xl('Dated reminders maximum alerts to show')
2692 'patient_birthday_alert' => array(
2693 xl('Alert on patient birthday'),
2694 array(
2695 '0' => xl('No alert'),
2696 '1' => xl('Alert only on birthday'),
2697 '2' => xl('Alert on and after birthday'),
2698 '3' => xl('Alert on and up to 28 days after birthday')
2700 '1', // default
2701 xl('Alert on patient birthday')
2703 'patient_birthday_alert_manual_off' => array(
2704 xl('Patient birthday alert requires turning off'),
2705 'bool', // data type
2706 '0', // default
2707 xl('Patient birthday alert requires turning off')
2711 // Logging
2713 'Logging' => array(
2715 'user_debug' => array(
2716 xl('User Debugging Options'),
2717 array(
2718 '0' => xl('None'),
2719 '1' => xl('Display Window Errors Only'),
2720 '2' => xl('Display Application Errors Only'),
2721 '3' => xl('All'),
2723 '0', // default
2724 xl('User Debugging Mode.')
2727 'enable_auditlog' => array(
2728 xl('Enable Audit Logging'),
2729 'bool', // data type
2730 '1', // default
2731 xl('Enable Audit Logging')
2734 'audit_events_patient-record' => array(
2735 xl('Audit Logging Patient Record'),
2736 'bool', // data type
2737 '1', // default
2738 xl('Enable logging of patient record modifications.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2741 'audit_events_scheduling' => array(
2742 xl('Audit Logging Scheduling'),
2743 'bool', // data type
2744 '1', // default
2745 xl('Enable logging of scheduling activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2748 'audit_events_order' => array(
2749 xl('Audit Logging Order'),
2750 'bool', // data type
2751 '1', // default
2752 xl('Enable logging of ordering activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2755 'audit_events_security-administration' => array(
2756 xl('Audit Logging Security Administration'),
2757 'bool', // data type
2758 '1', // default
2759 xl('Enable logging of security and administration activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2762 'audit_events_backup' => array(
2763 xl('Audit Logging Backups'),
2764 'bool', // data type
2765 '1', // default
2766 xl('Enable logging of backup related activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2769 'audit_events_other' => array(
2770 xl('Audit Logging Miscellaneous'),
2771 'bool', // data type
2772 '1', // default
2773 xl('Enable logging of miscellaneous activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2776 'audit_events_query' => array(
2777 xl('Audit Logging SELECT Query'),
2778 'bool', // data type
2779 '1', // default
2780 xl('Enable logging of all SQL SELECT queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2783 'audit_events_cdr' => array(
2784 xl('Audit CDR Engine Queries'),
2785 'bool', // data type
2786 '0', // default
2787 xl('Enable logging of CDR Engine Queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2790 'gbl_force_log_breakglass' => array(
2791 xl('Audit all Emergency User Queries'),
2792 'bool', // data type
2793 '1', // default
2794 xl('Force logging of all Emergency User (ie. breakglass) activities.')
2797 'enable_atna_audit' => array(
2798 xl('Enable ATNA Auditing'),
2799 'bool', // data type
2800 '0', // default
2801 xl('Enable Audit Trail and Node Authentication (ATNA).')
2804 'atna_audit_host' => array(
2805 xl('ATNA audit host'),
2806 'text', // data type
2807 '', // default
2808 xl('The hostname of the ATNA audit repository machine.')
2811 'atna_audit_port' => array(
2812 xl('ATNA audit port'),
2813 'text', // data type
2814 '6514', // default
2815 xl('Listening port of the RFC 5425 TLS syslog server.')
2818 'atna_audit_localcert' => array(
2819 xl('ATNA audit local certificate'),
2820 'text', // data type
2821 '', // default
2822 xl('Certificate to send to RFC 5425 TLS syslog server.')
2825 'atna_audit_cacert' => array(
2826 xl('ATNA audit CA certificate'),
2827 'text', // data type
2828 '', // default
2829 xl('CA Certificate for verifying the RFC 5425 TLS syslog server.')
2832 'enable_auditlog_encryption' => array(
2833 xl('Enable Audit Log Encryption'),
2834 'bool', // data type
2835 '0', // default
2836 xl('Enable Audit Log Encryption')
2839 'api_log_option' => array(
2840 xl('API Log Option'),
2841 array(
2842 '0' => xl('No logging'),
2843 '1' => xl('Minimal Logging'),
2844 '2' => xl('Full Logging'),
2846 '2', // default
2847 xl('API Log Option (Full includes requests and responses).')
2850 'billing_log_option' => array(
2851 xl('Billing Log Option'),
2852 array(
2853 '1' => xl('Billing Log Append'),
2854 '2' => xl('Billing Log Overwrite')
2856 '1', // default
2857 xl('Billing log setting to append or overwrite the log file.')
2860 'gbl_print_log_option' => array(
2861 xl('Printing Log Option'),
2862 array(
2863 '0' => xl('No logging'),
2864 '1' => xl('Hide print feature'),
2865 '2' => xl('Log entire document'),
2867 '2', // default
2868 xl('Individual pages can override 2nd and 3rd options by implementing a log message.')
2871 'system_error_logging' => array(
2872 xl('System Error Logging Options'),
2873 array(
2874 'WARNING' => xl('Standard Error Logging'),
2875 'DEBUG' => xl('Debug Error Logging'),
2877 'WARNING', // default
2878 xl('System Error Logging Options.')
2883 // Miscellaneous Tab
2885 'Miscellaneous' => array(
2887 'enable_database_connection_pooling' => array(
2888 xl('Enable Database Connection Pooling'),
2889 'bool', // data type
2890 '1', // default
2891 xl('Enable Database Connection Pooling')
2894 'mysql_bin_dir' => array(
2895 xl('Path to MySQL Binaries'),
2896 'text', // data type
2897 $mysql_bin_dir, // default
2898 xl('Full path to directory containing MySQL executables.')
2901 'perl_bin_dir' => array(
2902 xl('Path to Perl Binaries'),
2903 'text', // data type
2904 $perl_bin_dir, // default
2905 xl('Full path to directory containing Perl executables.')
2908 'temporary_files_dir' => array(
2909 xl('Path to Temporary Files'),
2910 'text', // data type
2911 $temporary_files_dir, // default
2912 xl('Full path to directory used for temporary files.')
2915 'backup_log_dir' => array(
2916 xl('Path for Event Log Backup'),
2917 'text', // data type
2918 $backup_log_dir, // default
2919 xl('Full path to directory for event log backup.')
2922 'state_data_type' => array(
2923 xl('State Data Type'),
2924 array(
2925 '2' => xl('Text field'),
2926 '1' => xl('Single-selection list'),
2927 '26' => xl('Single-selection list with ability to add to the list'),
2929 '26', // default
2930 xl('Field type to use for employer or subscriber state in demographics.')
2933 'state_list' => array(
2934 xl('State list'),
2935 'text', // data type
2936 'state', // default
2937 xl('List used by above State Data Type option.')
2940 'state_custom_addlist_widget' => array(
2941 xl('State List Widget Custom Fields'),
2942 'bool', // data type
2943 '1', // default
2944 xl('Show the custom state form for the add list widget (will ask for title and abbreviation).')
2947 'country_data_type' => array(
2948 xl('Country Data Type'),
2949 array(
2950 '2' => xl('Text field'),
2951 '1' => xl('Single-selection list'),
2952 '26' => xl('Single-selection list with ability to add to the list'),
2954 '26', // default
2955 xl('Field type to use for employer or subscriber country in demographics.')
2958 'country_list' => array(
2959 xl('Country list'),
2960 'text', // data type
2961 'country', // default
2962 xl('List used by above Country Data Type option.')
2965 'post_to_date_benchmark' => array(
2966 xl('Financial Close Date (yyyy-mm-dd)'),
2967 'text', // data type
2968 date('Y-m-d', time() - (10 * 24 * 60 * 60)), // default
2969 xl('The payments posted cannot go below this date.This ensures that after taking the final report nobody post for previous dates.')
2972 'enable_hylafax' => array(
2973 xl('Enable Hylafax Support'),
2974 'bool', // data type
2975 '0', // default
2976 xl('Enable Hylafax Support')
2979 'hylafax_server' => array(
2980 xl('Hylafax Server'),
2981 'text', // data type
2982 'localhost', // default
2983 xl('Hylafax server hostname.')
2986 'hylafax_basedir' => array(
2987 xl('Hylafax Directory'),
2988 'text', // data type
2989 '/var/spool/hylafax', // default
2990 xl('Location where Hylafax stores faxes.')
2993 'enable_scanner' => array(
2994 xl('Enable Scanner Support'),
2995 'bool', // data type
2996 '0', // default
2997 xl('Enable Scanner Support')
3000 'scanner_output_directory' => array(
3001 xl('Scanner Directory'),
3002 'text', // data type
3003 '/mnt/scan_docs', // default
3004 xl('Location where scans are stored.')
3007 'unique_installation_id' => array(
3008 xl('Unique Installation ID'),
3009 'if_empty_create_random_uuid', // data type
3010 '', // default
3011 xl('Unique installation ID. Creates a random UUID if empty.')
3015 // Portal Tab
3017 'Portal' => array(
3019 'portal_onsite_two_enable' => array(
3020 xl('Enable Patient Portal'),
3021 'bool', // data type
3022 '0',
3023 xl('Enable Patient Portal')
3026 'portal_onsite_two_address' => array(
3027 xl('Patient Portal Site Address'),
3028 'text', // data type
3029 'https://your_web_site.com/openemr/portal',
3030 xl('Website link for the Patient Portal.')
3033 'portal_css_header' => array(
3034 xl('Portal Default Theme'),
3035 array(
3036 'style_light.css' => xl('Light'),
3037 'style_dark.css' => xl('Dark')
3039 'style_light.css',
3040 xl('Pick a default portal theme.')
3043 'portal_onsite_two_basepath' => array(
3044 xl('Portal Uses Server Base Path (internal)'),
3045 'bool',
3046 '0',
3047 xl('Use servers protocol and host in urls (portal internal only).')
3050 'enforce_signin_email' => array(
3051 xl('Enforce E-Mail in Portal Log On Dialog'),
3052 'bool', // data type
3053 '1',
3054 xl('Patient is required to enter their contact e-mail if present in Demographics Contact.')
3057 'google_recaptcha_site_key' => array(
3058 xl('Google reCAPTCHA V2 site key'),
3059 'text',
3061 xl('Google reCAPTCHA V2 site key')
3064 'google_recaptcha_secret_key' => array(
3065 xl('Google reCAPTCHA V2 secret key'),
3066 'encrypted',
3068 xl('Google reCAPTCHA V2 secret key')
3071 'portal_onsite_two_register' => array(
3072 xl('Allow New Patient Registration Widget') . ' ' . xl('This requires reCAPTCHA to be setup'),
3073 'bool', // data type
3074 '0',
3075 xl('Enable Patient Portal new patient to self register.')
3078 'allow_portal_appointments' => array(
3079 xl('Allow Online Appointments'),
3080 'bool', // data type
3081 '1',
3082 xl('Allow Patient to make and view appointments online.')
3085 'allow_portal_chat' => array(
3086 xl('Allow Online Secure Chat'),
3087 'bool', // data type
3088 '1',
3089 xl('Allow Patient to use Secure Chat Application.')
3092 'portal_two_ledger' => array(
3093 xl('Allow Patient Ledger'),
3094 'bool', // data type
3095 '1',
3096 xl('Allow Patient to view their accounting ledger online.')
3099 'portal_two_payments' => array(
3100 xl('Allow Online Payments'),
3101 'bool', // data type
3102 '0',
3103 xl('Allow Patient to make payments online.')
3106 'portal_two_pass_reset' => array(
3107 xl('Allow Patients to Reset Credentials') . ' ' . xl('This requires reCAPTCHA to be setup'),
3108 'bool', // data type
3109 '0',
3110 xl('Patient may change their logon from portal login dialog.')
3113 'portal_onsite_document_download' => array(
3114 xl('Enable Patient Portal Document Download'),
3115 'bool', // data type
3116 '1',
3117 xl('Enables the ability to download documents in the Patient Portal by the user.')
3121 // Connectors Tab
3123 'Connectors' => array(
3125 'site_addr_oath' => array(
3126 xl('Site Address Override (if needed for OAuth2, FHIR, CCDA, or Payment Processing)'),
3127 'text',
3129 xl('Only need to set this if the server is not providing the correct host for OAuth2, FHIR, CCDA, or Payment Processing. Example is') . ' https://localhost:8300 .'
3132 'rest_fhir_api' => array(
3133 xl('Enable OpenEMR Standard FHIR REST API'),
3134 'bool',
3135 '0',
3136 xl('Enable OpenEMR Standard FHIR RESTful API.')
3139 'rest_system_scopes_api' => array(
3140 xl('Enable OpenEMR FHIR System Scopes (Turn on only if you know what you are doing)'),
3141 'bool',
3142 '0',
3143 xl('Enable OpenEMR FHIR System Scopes.')
3146 'rest_api' => array(
3147 xl('Enable OpenEMR Standard REST API'),
3148 'bool',
3149 '0',
3150 xl('Enable OpenEMR Standard RESTful API.')
3153 'rest_portal_api' => array(
3154 xl('Enable OpenEMR Patient Portal REST API (EXPERIMENTAL)'),
3155 'bool',
3156 '0',
3157 xl('Enable OpenEMR Patient Portal RESTful API.')
3160 'oauth_password_grant' => array(
3161 xl('Enable OAuth2 Password Grant (Not considered secure)'),
3162 array(
3163 0 => xl('Off (Recommended setting)'),
3164 1 => xl('On for Users Role'),
3165 2 => xl('On for Patient Role'),
3166 3 => xl('On for Both Roles')
3168 '0',
3169 xl('Enable OAuth2 Password Grant. Recommend turning this setting off for production server. Recommend only using for testing.')
3171 'oauth_app_manual_approval' => array(
3172 xl('OAuth2 App Manual Approval Settings'),
3173 array(
3174 0 => xl('Patient standalone apps Auto Approved, EHR-Launch,Provider&System Apps require manual approval')
3175 ,1 => xl('Manually Approve All Apps (USA jurisdictions must approve all patient standalone apps within 48 hours)')
3176 // ,2 => xl('All apps Auto Approved') we could add this setting at a latter date
3178 '0',
3179 xl('Approval settings for 3rd party app/api access')
3182 'cc_front_payments' => array(
3183 xl('Accept Credit Card transactions from Front Payments'),
3184 'bool',
3185 '0',
3186 xl('Allow manual entry and authorise credit card payments. Ensure a gateway is enabled.')
3188 'cc_stripe_terminal' => array(
3189 xl('In person payments with Stripe Verifone P400'),
3190 'bool',
3191 '0',
3192 xl('Allow in person credit card payments using Stripe Verifone P400. Ensure Stripe gateway is enabled.')
3194 'payment_gateway' => array(
3195 xl('Select Credit Card Payment Gateway'),
3196 array(
3197 'InHouse' => xl('In House Authorize Payments'),
3198 'AuthorizeNet' => xl('Gateway for AuthorizeNet Manual Payments'),
3199 'Sphere' => xl('Gateway for Sphere Payments'),
3200 'Stripe' => xl('Gateway for Stripe Manual Payments')
3202 'InHouse',
3203 xl('Enable a Payment Gateway Service for processing credit card transactions')
3206 'gateway_mode_production' => array(
3207 xl('Set Gateway to Production Mode'),
3208 'bool', // data type
3209 '0',
3210 xl('Check this to go live. Not checked is testing mode.')
3213 'gateway_public_key' => array(
3214 xl('Gateway Publishable Key'),
3215 'encrypted',
3217 xl('The public access key for secure tokenize of credit or debit card authorization. PCI compliance')
3220 'gateway_api_key' => array(
3221 xl('Gateway API Login Auth Name or Secret'),
3222 'encrypted',
3224 xl('The Auth Name or API key for selected account. Auth Name for Authorize.Net and API Secret for Stripe.')
3227 'gateway_transaction_key' => array(
3228 xl('Gateway Transaction Key'),
3229 'encrypted',
3231 xl('Mainly Authorize.Net uses two keys')
3234 'sphere_clinicfront_trxcustid' => array(
3235 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID'),
3236 'encrypted',
3238 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID')
3241 'sphere_clinicfront_trxcustid_licensekey' => array(
3242 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key'),
3243 'encrypted',
3245 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key')
3248 'sphere_moto_tc_link_pass' => array(
3249 xl('Sphere MOTO TC Link Password'),
3250 'encrypted',
3252 xl('Sphere MOTO TC Link Password')
3255 'sphere_clinicfront_retail_trxcustid' => array(
3256 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID'),
3257 'encrypted',
3259 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID')
3262 'sphere_clinicfront_retail_trxcustid_licensekey' => array(
3263 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key'),
3264 'encrypted',
3266 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key')
3269 'sphere_retail_tc_link_pass' => array(
3270 xl('Sphere RETAIL TC Link Password'),
3271 'encrypted',
3273 xl('Sphere RETAIL TC Link Password')
3276 'sphere_patientfront_trxcustid' => array(
3277 xl('Sphere Patientfront (Ecomm) Transaction CustID'),
3278 'encrypted',
3280 xl('Sphere Patientfront (Ecomm) Transaction CustID')
3283 'sphere_patientfront_trxcustid_licensekey' => array(
3284 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key'),
3285 'encrypted',
3287 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key')
3290 'sphere_ecomm_tc_link_pass' => array(
3291 xl('Sphere Ecomm TC Link Password'),
3292 'encrypted',
3294 xl('Sphere Ecomm TC Link Password')
3297 'sphere_credit_void_confirm_pin' => array(
3298 xl('Sphere Void/Credit Confirmation PIN'),
3299 'encrypted_hash',
3301 xl('Sphere Void/Credit Confirmation Password. OpenEMR confirms pin/password before proceeding with void/credit.')
3304 'medex_enable' => array(
3305 xl('Enable MedEx Communication Service'),
3306 'bool', // data type
3307 '0',
3308 xl('Enable MedEx Communication Service')
3311 'erx_enable' => array(
3312 xl('Enable NewCrop eRx Service'),
3313 'bool',
3314 '0',
3315 xl('Enable NewCrop eRx Service.') . ' ' .
3316 xl('Contact mi-squared at http://www.mi-squared.com/products-services/openemr/ or ZH Healthcare at https://blueehr.com/contact-us/ for subscribing to the NewCrop eRx service.')
3319 'erx_newcrop_path' => array(
3320 xl('NewCrop eRx Site Address'),
3321 'text',
3322 'https://secure.newcropaccounts.com/InterfaceV7/RxEntry.aspx',
3323 xl('URL for NewCrop eRx Site Address.')
3326 'erx_newcrop_path_soap' => array(
3327 xl('NewCrop eRx Web Service Address'),
3328 'text',
3329 'https://secure.newcropaccounts.com/v7/WebServices/Update1.asmx?WSDL;https://secure.newcropaccounts.com/v7/WebServices/Patient.asmx?WSDL',
3330 xl('URLs for NewCrop eRx Service Address, separated by a semi-colon.')
3333 'erx_soap_ttl_allergies' => array(
3334 xl('NewCrop eRx SOAP Request Time-To-Live for Allergies'),
3335 'num',
3336 '21600',
3337 xl('Time-To-Live for NewCrop eRx Allergies SOAP Request in seconds.')
3340 'erx_soap_ttl_medications' => array(
3341 xl('NewCrop eRx SOAP Request Time-To-Live for Medications'),
3342 'num',
3343 '21600',
3344 xl('Time-To-Live for NewCrop eRx Medications SOAP Request in seconds.')
3347 'erx_account_partner_name' => array(
3348 xl('NewCrop eRx Partner Name'),
3349 'text',
3351 xl('Partner Name issued for NewCrop eRx service.')
3354 'erx_account_name' => array(
3355 xl('NewCrop eRx Name'),
3356 'text',
3358 xl('Account Name issued for NewCrop eRx service.')
3361 'erx_account_password' => array(
3362 xl('NewCrop eRx Password'),
3363 'encrypted',
3365 xl('Account Password issued for NewCrop eRx service.')
3368 'erx_account_id' => array(
3369 xl('NewCrop eRx Account Id'),
3370 'text',
3371 '1',
3372 xl('Account Id issued for NewCrop eRx service, used to separate multi-facility accounts.')
3375 'erx_upload_active' => array(
3376 xl('Only upload active prescriptions'),
3377 'bool',
3378 '0',
3379 xl('Only upload active prescriptions to NewCrop eRx.')
3382 'erx_import_status_message' => array(
3383 xl('Enable NewCrop eRx import status message'),
3384 'bool',
3385 '0',
3386 xl('Enable import status message after visiting NewCrop eRx.')
3389 'erx_medication_display' => array(
3390 xl('Do not display NewCrop eRx Medications uploaded'),
3391 'bool',
3392 '0',
3393 xl('Do not display Medications uploaded after visiting NewCrop eRx.')
3396 'erx_allergy_display' => array(
3397 xl('Do not display NewCrop eRx Allergy uploaded'),
3398 'bool',
3399 '0',
3400 xl('Do not display Allergies uploaded after visiting NewCrop eRx.')
3403 'erx_default_patient_country' => array(
3404 xl('NewCrop eRx Default Patient Country'),
3405 array(
3406 '' => '',
3407 'US' => xl('USA'),
3408 'CA' => xl('Canada'),
3409 'MX' => xl('Mexico'),
3412 xl('Default Patient Country sent to NewCrop eRx, only if patient country is not set.'),
3415 'erx_debug_setting' => array(
3416 xl('NewCrop eRx Debug Setting'),
3417 array(
3418 0 => xl('None'),
3419 1 => xl('Request Only'),
3420 2 => xl('Response Only'),
3421 3 => xl('Request & Response'),
3423 '0',
3424 xl('Log all NewCrop eRx Requests and / or Responses.'),
3427 'weno_rx_enable' => array(
3428 xl('Enable Weno eRx Service'),
3429 'bool',
3430 '0',
3431 xl('Enable Weno eRx Service') . ' ' . xl('Contact https://online.wenoexchange.com to sign up for Weno Free eRx service.')
3434 'weno_rx_enable_test' => array(
3435 xl('Enable Weno eRx Service Test mode'),
3436 'bool',
3437 '1',
3438 xl('Enable Weno eRx Service Test mode')
3441 'weno_encryption_key' => array(
3442 xl('Weno Encryption Key'),
3443 'encrypted', // data type
3445 xl('Encryption key issued by Weno eRx service.')
3448 'weno_provider_password' => array(
3449 xl('Weno Provider Account Password'),
3450 'encrypted', // data type
3452 xl('Each provider needs to set this under user settings. This should be blank')
3455 'ccda_alt_service_enable' => array(
3456 xl('Enable C-CDA Service'),
3457 array(
3458 0 => xl('Off'),
3459 1 => xl('Care Coordination Only'),
3460 2 => xl('Portal Only'),
3461 3 => xl('Both'),
3463 '0',
3464 xl('Enable C-CDA Service')
3467 'phimail_enable' => array(
3468 xl('Enable phiMail Direct Messaging Service'),
3469 'bool', // data type
3470 '0',
3471 xl('Enable phiMail Direct Messaging Service')
3473 'phimail_testmode_disabled' => array(
3474 xl('Disable phiMail Test Mode'),
3475 'bool', // data type
3476 '0',
3477 xl('When you are ready to run phiMail in production mode. Turn on this flag.')
3479 'phimail_verifyrecipientreceived_enable' => array(
3480 xl("phiMail default force message receipt confirmation to on"),
3481 'bool',
3482 '0',
3483 xl("Marks a message as succesful only if recipient confirms they received the message. This can fail messages that otherwise would have been received if the recipient's system does not support confirmation receipt")
3486 'phimail_server_address' => array(
3487 xl('phiMail Server Address'),
3488 'text', // data type
3489 'https://phimail.example.com:32541',
3490 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3493 'phimail_username' => array(
3494 xl('phiMail Username'),
3495 'text', // data type
3497 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3500 'phimail_password' => array(
3501 xl('phiMail Password'),
3502 'encrypted', // data type
3504 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3507 'phimail_notify' => array(
3508 xl('phiMail notification user'),
3509 'text', // data type
3510 'admin',
3511 xl('This user will receive notification of new incoming Direct messages')
3514 'phimail_interval' => array(
3515 xl('phiMail Message Check Interval (minutes)'),
3516 'num', // data type
3517 '5',
3518 xl('Interval between message checks (set to zero for manual checks only)')
3521 'phimail_ccd_enable' => array(
3522 xl('phiMail Allow CCD Send'),
3523 'bool', // data type
3524 '0',
3525 xl('phiMail Allow CCD Send')
3528 'phimail_ccr_enable' => array(
3529 xl('phiMail Allow CCR Send'),
3530 'bool', // data type
3531 '0',
3532 xl('phiMail Allow CCR Send')
3535 'easipro_enable' => array(
3536 xl('Enable Easipro'),
3537 'bool', // data type
3538 '0',
3539 xl('Enable Easipro. For licensing options for this feature, please contact') . ' api@assessmentcenter.net'
3542 'easipro_server' => array(
3543 xl('Easipro Server'),
3544 'text', // data type
3546 xl('Easipro Server')
3549 'easipro_name' => array(
3550 xl('Easipro Server Username'),
3551 'text', // data type
3553 xl('Easipro Server Username')
3556 'easipro_pass' => array(
3557 xl('Easipro Server Password'),
3558 'encrypted', // data type
3560 xl('Easipro Server Password')
3563 'usps_webtools_enable' => array(
3564 xl('Enable USPS Web Tools API'),
3565 'bool', // data type
3566 '0',
3567 xl('Enable USPS Web Tools API')
3570 'usps_webtools_username' => array(
3571 xl('USPS Web Tools API Username'),
3572 'text', // data type
3574 xl('USPS Web Tools API Username')
3577 'ccda_validation_disable' => array(
3578 xl('Disable All import CDA Validation Reporting'),
3579 'bool', // data type
3580 '0',
3581 xl('Disable All CDA conformance and validation services to improve import performance')
3584 'mdht_conformance_server_enable' => array(
3585 xl('Use MDHT External Validation Service'),
3586 'bool', // data type
3587 '0',
3588 xl('Enable CCDA conformance and validation API service')
3591 'mdht_conformance_server' => array(
3592 xl('CCDA MDHT Validation API Server Address'),
3593 'text', // data type
3595 xl('CCDA conformance and validation API service URL. For testing (using ONLY test data) you can default to http://ccda.healthit.gov which should not be used to transmit PHI. Production sites can deploy their own by following instructions here https://github.com/onc-healthit/reference-ccda-validator.')
3599 'Rx' => array(
3600 'rx_enable_DEA' => array(
3601 xl('Rx Enable DEA #'),
3602 'bool', // data type
3603 '1',
3604 xl('Rx Enable DEA #')
3606 'rx_show_DEA' => array(
3607 xl('Rx Show DEA #'),
3608 'bool', // data type
3609 '0',
3610 xl('Rx Show DEA #')
3612 'rx_enable_NPI' => array(
3613 xl('Rx Enable NPI'),
3614 'bool', // data type
3615 '0',
3616 xl('Rx Enable NPI')
3618 'rx_show_NPI' => array(
3619 xl('Rx Show NPI'),
3620 'bool', // data type
3621 '0',
3622 xl('Rx Show NPI')
3624 'rx_enable_SLN' => array(
3625 xl('Rx Enable State Lic. #'),
3626 'bool', // data type
3627 '0',
3628 xl('Rx Enable State Lic. #')
3630 'rx_show_SLN' => array(
3631 xl('Rx Show State Lic. #'),
3632 'bool', // data type
3633 '0',
3634 xl('Rx Show State Lic. #')
3636 'rx_show_drug_drug' => array(
3637 xl('Rx NLM Drug-Drug'),
3638 'bool', // data type
3639 '0',
3640 xl('Rx NLM Drug-Drug')
3642 'rx_paper_size' => array(
3643 xl('Rx Paper Size'), // descriptive name
3644 array(
3645 'LETTER' => xl('Letter Paper Size'),
3646 'LEGAL' => xl('Legal Paper Size'),
3647 'FOLIO' => xl('Folio Paper Size'),
3648 'EXECUTIVE' => xl('Executive Paper Size'),
3649 '4A0' => ('4A0' . " " . xl('Paper Size')),
3650 '2A0' => ('2A0' . " " . xl('Paper Size')),
3651 'A0' => ('A0' . " " . xl('Paper Size')),
3652 'A1' => ('A1' . " " . xl('Paper Size')),
3653 'A2' => ('A2' . " " . xl('Paper Size')),
3654 'A3' => ('A3' . " " . xl('Paper Size')),
3655 'A4' => ('A4' . " " . xl('Paper Size')),
3656 'A5' => ('A5' . " " . xl('Paper Size')),
3657 'A6' => ('A6' . " " . xl('Paper Size')),
3658 'A7' => ('A7' . " " . xl('Paper Size')),
3659 'A8' => ('A8' . " " . xl('Paper Size')),
3660 'A9' => ('A9' . " " . xl('Paper Size')),
3661 'A10' => ('A10' . " " . xl('Paper Size')),
3662 'B0' => ('B0' . " " . xl('Paper Size')),
3663 'B1' => ('B1' . " " . xl('Paper Size')),
3664 'B2' => ('B2' . " " . xl('Paper Size')),
3665 'B3' => ('B3' . " " . xl('Paper Size')),
3666 'B4' => ('B4' . " " . xl('Paper Size')),
3667 'B5' => ('B5' . " " . xl('Paper Size')),
3668 'B6' => ('B6' . " " . xl('Paper Size')),
3669 'B7' => ('B7' . " " . xl('Paper Size')),
3670 'B8' => ('B8' . " " . xl('Paper Size')),
3671 'B9' => ('B9' . " " . xl('Paper Size')),
3672 'B10' => ('B10' . " " . xl('Paper Size')),
3673 'C0' => ('C0' . " " . xl('Paper Size')),
3674 'C1' => ('C1' . " " . xl('Paper Size')),
3675 'C2' => ('C2' . " " . xl('Paper Size')),
3676 'C3' => ('C3' . " " . xl('Paper Size')),
3677 'C4' => ('C4' . " " . xl('Paper Size')),
3678 'C5' => ('C5' . " " . xl('Paper Size')),
3679 'C6' => ('C6' . " " . xl('Paper Size')),
3680 'C7' => ('C7' . " " . xl('Paper Size')),
3681 'C8' => ('C8' . " " . xl('Paper Size')),
3682 'C9' => ('C9' . " " . xl('Paper Size')),
3683 'C10' => ('C10' . " " . xl('Paper Size')),
3684 'RA0' => ('RA0' . " " . xl('Paper Size')),
3685 'RA1' => ('RA1' . " " . xl('Paper Size')),
3686 'RA2' => ('RA2' . " " . xl('Paper Size')),
3687 'RA3' => ('RA3' . " " . xl('Paper Size')),
3688 'RA4' => ('RA4' . " " . xl('Paper Size')),
3689 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
3690 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
3691 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
3692 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
3693 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
3695 'LETTER', // default = tree menu
3696 xl('Rx Paper Size')
3698 'rx_left_margin' => array(
3699 xl('Rx Left Margin (px)'),
3700 'num',
3701 '30',
3702 xl('Rx Left Margin (px)')
3704 'rx_right_margin' => array(
3705 xl('Rx Right Margin (px)'),
3706 'num',
3707 '30',
3708 xl('Rx Right Margin (px)')
3710 'rx_top_margin' => array(
3711 xl('Rx Top Margin (px)'),
3712 'num',
3713 '72',
3714 xl('Rx Top Margin (px)')
3716 'rx_bottom_margin' => array(
3717 xl('Rx Bottom Margin (px)'),
3718 'num',
3719 '30',
3720 xl('Rx Bottom Margin (px)')
3722 'rx_use_fax_template' => array(
3723 xl('Show button for download fax template'),
3724 'bool', // data type
3725 '1', // default = true
3726 xl('Show button in the prescription list for download fax template')
3728 'rx_zend_html_template' => array(
3729 xl('Rx html print - zend module'),
3730 'bool', // data type
3731 '0', // default = false
3732 xl('Use an html template from zend module')
3734 'rx_zend_html_action' => array(
3735 xl('Name of zend template for html print'),
3736 'text', // data type
3737 'default',
3738 xl('Name of zend template for html print, possible to add custom template in the PrescriptionTemplate module')
3740 'rx_zend_pdf_template' => array(
3741 xl('Rx pdf - zend template'),
3742 'bool', // data type
3743 '0', // default = false
3744 xl('Use a pdf template from zend module')
3746 'rx_zend_pdf_action' => array(
3747 xl('Name of zend template for pdf export'),
3748 'text', // data type
3749 'default',
3750 xl('Name of zend template for pdf export, possible to add custom template in the PrescriptionTemplate module')
3753 'PDF' => array(
3754 'pdf_layout' => array(
3755 xl('Layout'),
3756 array(
3757 'P' => xl('Portrait'),
3758 'L' => xl('Landscape')
3760 'P', //defaut
3761 xl("Choose Layout Direction"),
3763 'pdf_language' => array(
3764 xl('PDF Language'),
3765 array(
3766 'aa' => xl('Afar'),
3767 'af' => xl('Afrikaans'),
3768 'ak' => xl('Akan'),
3769 'sq' => xl('Albanian'),
3770 'am' => xl('Amharic'),
3771 'ar' => xl('Arabic'),
3772 'an' => xl('Aragonese'),
3773 'hy' => xl('Armenian'),
3774 'as' => xl('Assamese'),
3775 'av' => xl('Avaric'),
3776 'ae' => xl('Avestan'),
3777 'ay' => xl('Aymara'),
3778 'az' => xl('Azerbaijani'),
3779 'bm' => xl('Bambara'),
3780 'ba' => xl('Bashkir'),
3781 'eu' => xl('Basque'),
3782 'be' => xl('Belarusian'),
3783 'bn' => xl('Bengali- Bangla'),
3784 'bh' => xl('Bihari'),
3785 'bi' => xl('Bislama'),
3786 'bs' => xl('Bosnian'),
3787 'br' => xl('Breton'),
3788 'bg' => xl('Bulgarian'),
3789 'my' => xl('Burmese'),
3790 'ca' => xl('Catalan- Valencian'),
3791 'ch' => xl('Chamorro'),
3792 'ce' => xl('Chechen'),
3793 'ny' => xl('Chichewa- Chewa- Nyanja'),
3794 'zh' => xl('Chinese'),
3795 'cv' => xl('Chuvash'),
3796 'kw' => xl('Cornish'),
3797 'co' => xl('Corsican'),
3798 'cr' => xl('Cree'),
3799 'hr' => xl('Croatian'),
3800 'cs' => xl('Czech'),
3801 'da' => xl('Danish'),
3802 'dv' => xl('Divehi- Dhivehi- Maldivian-'),
3803 'nl' => xl('Dutch'),
3804 'dz' => xl('Dzongkha'),
3805 'en' => xl('English'),
3806 'eo' => xl('Esperanto'),
3807 'et' => xl('Estonian'),
3808 'ee' => xl('Ewe'),
3809 'fo' => xl('Faroese'),
3810 'fj' => xl('Fijian'),
3811 'fi' => xl('Finnish'),
3812 'fr' => xl('French'),
3813 'ff' => xl('Fula- Fulah- Pulaar- Pular'),
3814 'gl' => xl('Galician'),
3815 'ka' => xl('Georgian'),
3816 'de' => xl('German'),
3817 'el' => xl('Greek, Modern'),
3818 'gn' => xl('Guarani'),
3819 'gu' => xl('Gujarati'),
3820 'ht' => xl('Haitian- Haitian Creole'),
3821 'ha' => xl('Hausa'),
3822 'he' => xl('Hebrew (modern)'),
3823 'hz' => xl('Herero'),
3824 'hi' => xl('Hindi'),
3825 'ho' => xl('Hiri Motu'),
3826 'hu' => xl('Hungarian'),
3827 'ia' => xl('Interlingua'),
3828 'id' => xl('Indonesian'),
3829 'ie' => xl('Interlingue'),
3830 'ga' => xl('Irish'),
3831 'ig' => xl('Igbo'),
3832 'ik' => xl('Inupiaq'),
3833 'io' => xl('Ido'),
3834 'is' => xl('Icelandic'),
3835 'it' => xl('Italian'),
3836 'iu' => xl('Inuktitut'),
3837 'ja' => xl('Japanese'),
3838 'jv' => xl('Javanese'),
3839 'kl' => xl('Kalaallisut, Greenlandic'),
3840 'kn' => xl('Kannada'),
3841 'kr' => xl('Kanuri'),
3842 'ks' => xl('Kashmiri'),
3843 'kk' => xl('Kazakh'),
3844 'km' => xl('Khmer'),
3845 'ki' => xl('Kikuyu, Gikuyu'),
3846 'rw' => xl('Kinyarwanda'),
3847 'ky' => xl('Kyrgyz'),
3848 'kv' => xl('Komi'),
3849 'kg' => xl('Kongo'),
3850 'ko' => xl('Korean'),
3851 'ku' => xl('Kurdish'),
3852 'kj' => xl('Kwanyama, Kuanyama'),
3853 'la' => xl('Latin'),
3854 'lb' => xl('Luxembourgish, Letzeburgesch'),
3855 'lg' => xl('Ganda'),
3856 'li' => xl('Limburgish, Limburgan, Limburger'),
3857 'ln' => xl('Lingala'),
3858 'lo' => xl('Lao'),
3859 'lt' => xl('Lithuanian'),
3860 'lu' => xl('Luba-Katanga'),
3861 'lv' => xl('Latvian'),
3862 'gv' => xl('Manx'),
3863 'mk' => xl('Macedonian'),
3864 'mg' => xl('Malagasy'),
3865 'ms' => xl('Malay'),
3866 'ml' => xl('Malayalam'),
3867 'mt' => xl('Maltese'),
3868 'mi' => xl('Maori'),
3869 'mr' => xl('Marathi (Marathi)'),
3870 'mh' => xl('Marshallese'),
3871 'mn' => xl('Mongolian'),
3872 'na' => xl('Nauru'),
3873 'nv' => xl('Navajo, Navaho'),
3874 'nb' => xl('Norwegian Bokmal'),
3875 'nd' => xl('North Ndebele'),
3876 'ne' => xl('Nepali'),
3877 'ng' => xl('Ndonga'),
3878 'nn' => xl('Norwegian Nynorsk'),
3879 'no' => xl('Norwegian'),
3880 'ii' => xl('Nuosu'),
3881 'nr' => xl('South Ndebele'),
3882 'oc' => xl('Occitan'),
3883 'oj' => xl('Ojibwe, Ojibwa'),
3884 'cu' => xl('Old Church Slavonic, Church Slavonic, Old Bulgarian'),
3885 'om' => xl('Oromo'),
3886 'or' => xl('Oriya'),
3887 'os' => xl('Ossetian, Ossetic'),
3888 'pa' => xl('Panjabi, Punjabi'),
3889 'pi' => xl('Pali'),
3890 'fa' => xl('Persian (Farsi)'),
3891 'pl' => xl('Polish'),
3892 'ps' => xl('Pashto, Pushto'),
3893 'pt' => xl('Portuguese'),
3894 'qu' => xl('Quechua'),
3895 'rm' => xl('Romansh'),
3896 'rn' => xl('Kirundi'),
3897 'ro' => xl('Romanian'),
3898 'ru' => xl('Russian'),
3899 'sa' => xl('Sanskrit (Samskrta)'),
3900 'sc' => xl('Sardinian'),
3901 'sd' => xl('Sindhi'),
3902 'se' => xl('Northern Sami'),
3903 'sm' => xl('Samoan'),
3904 'sg' => xl('Sango'),
3905 'sr' => xl('Serbian'),
3906 'gd' => xl('Scottish Gaelic- Gaelic'),
3907 'sn' => xl('Shona'),
3908 'si' => xl('Sinhala, Sinhalese'),
3909 'sk' => xl('Slovak'),
3910 'sl' => xl('Slovene'),
3911 'so' => xl('Somali'),
3912 'st' => xl('Southern Sotho'),
3913 'es' => xl('Spanish- Castilian'),
3914 'su' => xl('Sundanese'),
3915 'sw' => xl('Swahili'),
3916 'ss' => xl('Swati'),
3917 'sv' => xl('Swedish'),
3918 'ta' => xl('Tamil'),
3919 'te' => xl('Telugu'),
3920 'tg' => xl('Tajik'),
3921 'th' => xl('Thai'),
3922 'ti' => xl('Tigrinya'),
3923 'bo' => xl('Tibetan Standard, Tibetan, Central'),
3924 'tk' => xl('Turkmen'),
3925 'tl' => xl('Tagalog'),
3926 'tn' => xl('Tswana'),
3927 'to' => xl('Tonga (Tonga Islands)'),
3928 'tr' => xl('Turkish'),
3929 'ts' => xl('Tsonga'),
3930 'tt' => xl('Tatar'),
3931 'tw' => xl('Twi'),
3932 'ty' => xl('Tahitian'),
3933 'ug' => xl('Uyghur, Uighur'),
3934 'uk' => xl('Ukrainian'),
3935 'ur' => xl('Urdu'),
3936 'uz' => xl('Uzbek'),
3937 've' => xl('Venda'),
3938 'vi' => xl('Vietnamese'),
3939 'vo' => xl('Volapuk'),
3940 'wa' => xl('Walloon'),
3941 'cy' => xl('Welsh'),
3942 'wo' => xl('Wolof'),
3943 'fy' => xl('Western Frisian'),
3944 'xh' => xl('Xhosa'),
3945 'yi' => xl('Yiddish'),
3946 'yo' => xl('Yoruba'),
3947 'za' => xl('Zhuang, Chuang'),
3948 'zu' => xl('Zulu'),
3950 'en', // default English
3951 xl('Choose PDF languange Preference'),
3953 'pdf_size' => array(
3954 xl('Paper Size'), // Descriptive Name
3955 array(
3956 'LETTER' => xl('Letter Paper Size'),
3957 'LEGAL' => xl('Legal Paper Size'),
3958 'FOLIO' => xl('Folio Paper Size'),
3959 'EXECUTIVE' => xl('Executive Paper Size'),
3960 '4A0' => ('4A0' . " " . xl('Paper Size')),
3961 '2A0' => ('2A0' . " " . xl('Paper Size')),
3962 'A0' => ('A0' . " " . xl('Paper Size')),
3963 'A1' => ('A1' . " " . xl('Paper Size')),
3964 'A2' => ('A2' . " " . xl('Paper Size')),
3965 'A3' => ('A3' . " " . xl('Paper Size')),
3966 'A4' => ('A4' . " " . xl('Paper Size')),
3967 'A5' => ('A5' . " " . xl('Paper Size')),
3968 'A6' => ('A6' . " " . xl('Paper Size')),
3969 'A7' => ('A7' . " " . xl('Paper Size')),
3970 'A8' => ('A8' . " " . xl('Paper Size')),
3971 'A9' => ('A9' . " " . xl('Paper Size')),
3972 'A10' => ('A10' . " " . xl('Paper Size')),
3973 'B0' => ('B0' . " " . xl('Paper Size')),
3974 'B1' => ('B1' . " " . xl('Paper Size')),
3975 'B2' => ('B2' . " " . xl('Paper Size')),
3976 'B3' => ('B3' . " " . xl('Paper Size')),
3977 'B4' => ('B4' . " " . xl('Paper Size')),
3978 'B5' => ('B5' . " " . xl('Paper Size')),
3979 'B6' => ('B6' . " " . xl('Paper Size')),
3980 'B7' => ('B7' . " " . xl('Paper Size')),
3981 'B8' => ('B8' . " " . xl('Paper Size')),
3982 'B9' => ('B9' . " " . xl('Paper Size')),
3983 'B10' => ('B10' . " " . xl('Paper Size')),
3984 'C0' => ('C0' . " " . xl('Paper Size')),
3985 'C1' => ('C1' . " " . xl('Paper Size')),
3986 'C2' => ('C2' . " " . xl('Paper Size')),
3987 'C3' => ('C3' . " " . xl('Paper Size')),
3988 'C4' => ('C4' . " " . xl('Paper Size')),
3989 'C5' => ('C5' . " " . xl('Paper Size')),
3990 'C6' => ('C6' . " " . xl('Paper Size')),
3991 'C7' => ('C7' . " " . xl('Paper Size')),
3992 'C8' => ('C8' . " " . xl('Paper Size')),
3993 'C9' => ('C9' . " " . xl('Paper Size')),
3994 'C10' => ('C10' . " " . xl('Paper Size')),
3995 'RA0' => ('RA0' . " " . xl('Paper Size')),
3996 'RA1' => ('RA1' . " " . xl('Paper Size')),
3997 'RA2' => ('RA2' . " " . xl('Paper Size')),
3998 'RA3' => ('RA3' . " " . xl('Paper Size')),
3999 'RA4' => ('RA4' . " " . xl('Paper Size')),
4000 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
4001 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
4002 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
4003 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
4004 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
4006 'LETTER',
4007 xl('Choose Paper Size')
4009 'pdf_left_margin' => array(
4010 xl('Left Margin (mm)'),
4011 'num',
4012 '5',
4013 xl('Left Margin (mm)')
4015 'pdf_right_margin' => array(
4016 xl('Right Margin (mm)'),
4017 'num',
4018 '5',
4019 xl('Right Margin (mm)')
4021 'pdf_top_margin' => array(
4022 xl('Top Margin (mm)'),
4023 'num',
4024 '5',
4025 xl('Top Margin (mm)')
4027 'pdf_bottom_margin' => array(
4028 xl('Bottom Margin (px)'),
4029 'num',
4030 '8',
4031 xl('Bottom Margin (px)')
4033 'pdf_output' => array(
4034 xl('Output Type'),
4035 array(
4036 'D' => xl('Download'),
4037 'I' => xl('Inline')
4039 'D', //defaut
4040 xl("Choose Download or Display Inline"),
4043 'chart_label_type' => array(
4044 xl('Patient Label Type'),
4045 array(
4046 '0' => xl('None'),
4047 '1' => '5160',
4048 '2' => '5161',
4049 '3' => '5162'
4051 '1', // default
4052 xl('Avery Label type for printing patient labels from popups in left nav screen'),
4055 'barcode_label_type' => array(
4056 xl('Barcode Label Type'),
4057 array(
4058 '0' => xl('None'),
4059 '1' => 'std25',
4060 '2' => 'int25',
4061 '3' => 'ean8',
4062 '4' => 'ean13',
4063 '5' => 'upc',
4064 '6' => 'code11',
4065 '7' => 'code39',
4066 '8' => 'code93',
4067 '9' => 'code128',
4068 '10' => 'codabar',
4069 '11' => 'msi',
4070 '12' => 'datamatrix'
4072 '9', // default = None
4073 xl('Barcode type for printing barcode labels from popups in left nav screen.')
4076 'addr_label_type' => array(
4077 xl('Print Patient Address Label'),
4078 'bool', // data type
4079 '1', // default = false
4080 xl('Select to print patient address labels from popups in left nav screen.')
4083 'env_x_width' => array(
4084 xl('Envelope Width in mm'),
4085 'num', // data type
4086 '104.775',
4087 xl('In Portrait mode, determines the width of the envelope along the x-axis in mm')
4090 'env_y_height' => array(
4091 xl('Envelope Height in mm'),
4092 'num', // data type
4093 '241.3',
4094 xl('In Portrait mode, determines the height of the envelope along the y-axis in mm')
4097 'env_font_size' => array(
4098 xl('Font Size in Pt'),
4099 'num', // data type
4100 '14',
4101 xl('Sets the font of the address text on the envelope in mm')
4104 'env_x_dist' => array(
4105 xl('Envelope x-axis starting pt'),
4106 'num', // data type
4107 '65',
4108 xl('Distance from the \'top\' of the envelope in mm')
4111 'env_y_dist' => array(
4112 xl('Envelope y-axis starting pt'),
4113 'num', // data type
4114 '220',
4115 xl('Distance from the right most edge of the envelope in portrait position in mm')
4120 'Patient Banner Bar' => [
4121 'patient_name_display' => [
4122 xl('Patient Name Display'),
4124 'btn' => xl('As Button'),
4125 'text' => xl('As Text Link'),
4126 'text-large' => xl('As Large Text Link'),
4128 'text-large',
4129 xl('How to display the patient name'),
4133 'Encounter Form' => [
4134 'default_chief_complaint' => array(
4135 xl('Default Reason for Visit'),
4136 'text', // data type
4138 xl('You may put text here as the default complaint in the New Patient Encounter form.')
4141 'default_visit_category' => [
4142 xl('Default Visit Category'),
4143 'default_visit_category',
4144 '_blank',
4145 xl('Define a default visit category'),
4148 'enable_follow_up_encounters' => [
4149 xl('Enable follow-up encounters'),
4150 'bool',
4151 '0',
4152 xl('Enable follow-up encounters feature')
4155 'gbl_visit_referral_source' => array(
4156 xl('Referral Source for Encounters'),
4157 'bool', // data type
4158 '0', // default = false
4159 xl('A referral source may be specified for each visit.')
4162 'gbl_visit_onset_date' => array(
4163 xl('Onset/Hosp Date for Encounters'),
4164 'bool', // data type
4165 '1', // default = true
4166 xl('An onset/hospitalization date may be specified for each visit.')
4169 'set_pos_code_encounter' => [
4170 xl('Set POS code in Encounter'),
4171 'bool', // data type
4172 '0', // default = false
4173 xl('This feature will allow the default POS facility code to be overridden from the encounter.')
4176 'set_service_facility_encounter' => array(
4177 xl('Set Service Facility in Encounter'),
4178 'bool', // data type
4179 '0', // default = false
4180 xl('This feature will allow the default service facility to be selected by the care team facility in Choices.')
4183 'enc_service_date' => [
4184 xl('Show Date of Service on Encounter Form'),
4185 getDefaultRenderListOptions(),
4186 RenderFormFieldHelper::SHOW_ALL,
4187 xl('How to display the Date of Service on the Encounter form. Defaults to the current time on a new form'),
4190 'enc_sensitivity_visibility' => [
4191 xl('Show Sensitivity on Encounter Form'),
4192 getDefaultRenderListOptions(),
4193 RenderFormFieldHelper::SHOW_ALL,
4194 xl('How to display the sensitivity option'),
4197 'enc_enable_issues' => [
4198 xl('Allow Linking/Adding Issues on Encounter'),
4199 getDefaultRenderListOptions(),
4200 RenderFormFieldHelper::SHOW_ALL,
4201 xl('Allow issues to be linked or added to an encounter'),
4204 'enc_enable_referring_provider' => [
4205 xl('Show Referring Provider option on Encounters'),
4206 getDefaultRenderListOptions(),
4207 RenderFormFieldHelper::SHOW_ALL,
4208 xl('Display the Referring Provider option on Encounters'),
4211 'enc_enable_facility' => [
4212 xl('Show Facility option on Encounters'),
4213 getDefaultRenderListOptions(),
4214 RenderFormFieldHelper::SHOW_ALL,
4215 xl('Display the Referring Provider option on Encounters'),
4218 'enc_enable_discharge_disposition' => [
4219 xl('Show Discharge Disposition option on Encounters'),
4220 getDefaultRenderListOptions(),
4221 RenderFormFieldHelper::SHOW_ALL,
4222 xl('Display the Discharge Disposition option on the Encounter form'),
4225 'enc_enable_visit_category' => [
4226 xl('Show Visit Category option on Encounters'),
4227 getDefaultRenderListOptions(),
4228 RenderFormFieldHelper::SHOW_ALL,
4229 xl('Show Visit Category option on Encounters'),
4232 'enc_enable_class' => [
4233 xl('Show Encounter Class option on Encounters'),
4234 getDefaultRenderListOptions(),
4235 RenderFormFieldHelper::SHOW_ALL,
4236 xl('Show Encounter Class option on Encounters'),
4239 'enc_enable_type' => [
4240 xl('Show Encounter Type option on Encounters'),
4241 getDefaultRenderListOptions(),
4242 RenderFormFieldHelper::SHOW_ALL,
4243 xl('Show Encounter Class option on Encounters'),
4249 if (!empty($GLOBALS['ippf_specific'])) {
4250 $GLOBALS['GLOBALS_METADATA']['IPPF Menu'] = array(
4252 'gbl_menu_stats_ippf' => array(
4253 xl('IPPF Statistics Reporting'),
4254 'bool', // data type
4255 '1', // default
4256 xl('IPPF statistical reports.')
4259 'gbl_menu_stats_gcac' => array(
4260 xl('GCAC Statistics Reporting'),
4261 'bool', // data type
4262 '0', // default
4263 xl('GCAC statistical reports.')
4266 'gbl_menu_stats_ma' => array(
4267 xl('MA Statistics Reporting'),
4268 'bool', // data type
4269 '1', // default
4270 xl('MA statistical reports.')
4273 'gbl_menu_stats_cyp' => array(
4274 xl('CYP Statistics Reporting'),
4275 'bool', // data type
4276 '1', // default
4277 xl('CYP statistical reports.')
4280 'gbl_menu_stats_daily' => array(
4281 xl('Daily Statistics Reporting'),
4282 'bool', // data type
4283 '0', // default
4284 xl('Daily statistical reports.')
4287 'gbl_menu_stats_c3' => array(
4288 xl('C3 Statistics Reporting'),
4289 'bool', // data type
4290 '0', // default
4291 xl('C3 statistical reports.')
4294 'gbl_menu_stats_cc' => array(
4295 xl('Cervical Cancer Reporting'),
4296 'bool', // data type
4297 '0', // default
4298 xl('Cervical cancer statistical reports.')
4301 'gbl_menu_stats_sinadi' => array(
4302 xl('SINADI Report'),
4303 'bool', // data type
4304 '0', // default
4305 xl('Uruguay SINADI statistical report.')
4308 'gbl_menu_visits_by_item' => array(
4309 xl('Visits by Item Report'),
4310 'bool', // data type
4311 '0', // default
4312 xl('Visits by Item Report')
4315 'gbl_menu_acct_trans' => array(
4316 xl('Accounting Transactions Export'),
4317 'bool', // data type
4318 '0', // default
4319 xl('Accounting transactions export to CSV')
4322 'gbl_menu_projects' => array(
4323 xl('Restricted Projects Reporting'),
4324 'bool', // data type
4325 '0', // default
4326 xl('For IPPF Belize and maybe others')
4329 'gbl_menu_surinam_insurance' => array(
4330 xl('LOBI Insurers Report'),
4331 'bool', // data type
4332 '0', // default
4333 xl('For IPPF Suriname and maybe others')
4336 'gbl_menu_netsuite' => array(
4337 xl('NetSuite Reports'),
4338 'bool', // data type
4339 '0', // default
4340 xl('For NetSuite financial integration')
4343 'gbl_menu_ive_clients' => array(
4344 xl('IVE Client List'),
4345 'bool', // data type
4346 '0', // default
4347 xl('Client List of IVE Activity')
4350 'gbl_menu_shifts' => array(
4351 xl('Shifts Reporting'),
4352 'bool', // data type
4353 '0', // default
4354 xl('For IPPF Argentina and maybe others')
4357 'gbl_menu_service_and_client_volume' => array(
4358 xl('Service and Client Volume Report'),
4359 'bool', // data type
4360 '1', // default
4361 xl('Service and Client Volume Report')
4365 $GLOBALS['GLOBALS_METADATA']['IPPF Features'] = array(
4367 'gbl_rapid_workflow' => array(
4368 xl('Rapid Workflow Option'),
4369 array(
4370 '0' => xl('None'),
4371 'LBFmsivd' => xl('MSI (requires LBFmsivd form)'),
4372 'fee_sheet' => xl('Fee Sheet and Checkout'),
4374 '0', // default
4375 xl('Activates custom work flow logic')
4378 'gbl_new_acceptor_policy' => array(
4379 xl('New Acceptor Policy'),
4380 array(
4381 '0' => xl('Not applicable'),
4382 '1' => xl('Simplified; Contraceptive Start Date on Tally Sheet'),
4383 '3' => xl('Contraception Form; Acceptors New to Modern Contraception'),
4385 '1', // default
4386 xl('Applicable only for family planning clinics')
4389 'gbl_min_max_months' => array(
4390 xl('Min/Max Inventory as Months'),
4391 'bool', // data type
4392 '1', // default = true
4393 xl('Min/max inventory is expressed as months of supply instead of units')
4396 'gbl_restrict_provider_facility' => array(
4397 xl('Restrict Providers by Facility'),
4398 'bool', // data type
4399 '0', // default
4400 xl('Limit service provider selection according to the facility of the logged-in user.')
4403 'gbl_checkout_line_adjustments' => array(
4404 xl('Adjustments at Checkout'),
4405 array(
4406 '0' => xl('Invoice Level Only'),
4407 '1' => xl('Line Items Only'),
4408 '2' => xl('Invoice and Line Levels'),
4410 '1', // default = line items only
4411 xl('Discounts at checkout time may be entered per invoice or per line item or both.')
4414 'gbl_checkout_charges' => array(
4415 xl('Unit Price in Checkout and Receipt'),
4416 'bool', // data type
4417 '0', // default = false
4418 xl('Include line item unit price amounts in checkout and receipts.')
4421 'gbl_charge_categories' => array(
4422 xl('Customers in Checkout and Receipt'),
4423 'bool', // data type
4424 '0', // default = false
4425 xl('Include Customers in checkout and receipts. See the Customers list.')
4428 'gbl_auto_create_rx' => array(
4429 xl('Automatically Create Prescriptions'),
4430 'bool', // data type
4431 '0', // default = false
4432 xl('Prescriptions may be created from the Fee Sheet.')
4435 'gbl_checkout_receipt_note' => array(
4436 xl('Checkout Receipt Note'),
4437 'text', // data type
4439 xl('This note goes on the bottom of every checkout receipt.')
4442 'gbl_custom_receipt' => array(
4443 xl('Custom Checkout Receipt'),
4444 array(
4445 '0' => xl('None'),
4446 'checkout_receipt_general.inc.php' => xl('POS Printer'),
4447 'checkout_receipt_panama.inc.php' => xl('Panama'),
4449 '0', // default
4450 xl('Present an additional PDF custom receipt after checkout.')
4453 'gbl_ma_ippf_code_restriction' => array(
4454 xl('Allow More than one MA/IPPF code mapping'),
4455 'bool', // data type
4456 '0', // default = false
4457 xl('Disable the restriction of only one IPPF code per MA code in superbill')
4460 'gbl_uruguay_asse_url' => array(
4461 xl('Uruguay ASSE URL'),
4462 'text', // data type
4464 xl('URL of ASSE SOAP server. Must be blank if not a Uruguay site. Enter "test" for dummy data.')
4467 'gbl_uruguay_asse_token' => array(
4468 xl('Uruguay ASSE Token'),
4469 'text', // data type
4471 xl('Token for connection to ASSE SOAP server')
4474 } // end if ippf_specific
4476 if (empty($skipGlobalEvent)) {
4477 $globalsInitEvent = new GlobalsInitializedEvent(new GlobalsService($GLOBALS_METADATA, $USER_SPECIFIC_GLOBALS, $USER_SPECIFIC_TABS));
4478 $globalsInitEvent = $GLOBALS["kernel"]->getEventDispatcher()->dispatch($globalsInitEvent, GlobalsInitializedEvent::EVENT_HANDLE, 10);
4479 $globalsService = $globalsInitEvent->getGlobalsService()->save();