chore: increment v_js_includes (#7029)
[openemr.git] / library / globals.inc.php
blob9ec4d304e9b420cf7a1b2bdd53d23fd1dfa52e87
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 'recent_patient_count' => [
387 xl('Maximum number of patients on Recent Patient list'),
388 'num',
389 '20',
390 xl('The maximum number of patients on the Recent Patient list'),
393 'gbl_vitals_options' => array(
394 xl('Vitals Form Options'),
395 array(
396 '0' => xl('Standard'),
397 '1' => xl('Omit circumferences'),
399 '0', // default
400 xl('Special treatment for the Vitals form')
403 'gbl_vitals_max_history_cols' => array(
404 xl('Vitals Form Max Historical Columns To Display'),
405 'num',
406 '2', // default
407 xl('The number of historical vital columns to display on medium to large screen displays')
410 'gb_how_sort_list' => array(
411 xl('How to sort a drop-lists'),
412 array(
413 '0' => xl('Sort by seq'),
414 '1' => xl('Sort alphabetically')
416 '0',
417 xl('What kind of sorting will be in the drop lists.')
420 'prevent_browser_refresh' => array(
421 xl('Prevent Web Browser Refresh') . '*',
422 array(
423 '0' => xl('Do not warn or prevent web browser refresh'),
424 '1' => xl('Warn, but do not prevent web browser refresh'),
425 '2' => xl('Warn and prevent web browser refresh')
427 '2', // default = true
428 xl('Recommended setting is warn and prevent web browser refresh. Only use other settings if needed and use at own risk.')
433 'Branding' => [
434 'openemr_name' => array(
435 xl('Application Title'),
436 'text',
437 'OpenEMR',
438 xl('Application name used throughout the user interface.')
441 'machine_name' => [
442 xl('Application Machine Name'),
443 'text',
444 'openemr',
445 xl('The machine name of the application. Used to identify the EMR in various messaging systems like HL7. Should not contain spaces'),
448 'display_main_menu_logo' => [
449 xl('Display main menu logo'),
450 'bool',
451 '1',
452 xl('Dislay main menu logo'),
455 'online_support_link' => array(
456 xl('Online Support Link'),
457 'text', // data type
458 'http://open-emr.org/',
459 xl('URL to a support page.')
462 'user_manual_link' => [
463 xl('User Manual Link Override'),
464 'text',
466 xl("Point to a custom user manual. Leave blank for the default, auto-generated URL for specific version of application"),
469 'support_phone_number' => array(
470 xl('Support Phone Number'),
471 'text',
473 xl('Phone Number for Vendor Support that Appears on the About Page.')
476 'display_acknowledgements' => [
477 xl('Display links to the acknowledgements page'),
478 'bool',
479 '1',
480 xl('Used on the login and about pages'),
483 'display_review_link' => [
484 xl('Display the Review link on the About page'),
485 'bool',
486 '1',
487 xl('Display the Review link on the About page'),
490 'display_donations_link' => [
491 xl('Display the Donations link on the About page'),
492 'bool',
493 '1',
494 xl('Display the Donations link on the About page'),
498 // Login Page
499 'Login Page' => [
500 'login_page_layout' => array(
501 xl('Login Page Layout') . '*',
502 array(
503 'login/layouts/vertical_box.html.twig' => xl("Vertical Box"),
504 'login/layouts/horizontal_box_left_logo.html.twig' => xl("Horizontal Box, Logo on Left"),
505 'login/layouts/horizontal_box_right_logo.html.twig' => xl("Horizontal Box, Logo on Right"),
506 'login/layouts/horizontal_band_right_logo.html.twig' => xl("Horizontal Band, Logo on Right"),
507 'login/layouts/horizontal_band_left_logo.html.twig' => xl("Horizontal Band, Logo on Left"),
508 "login/layouts/vertical_band.html.twig" => xl("Vertical Band"),
510 'login/layouts/vertical_band.html.twig',
511 xl('Changes the layout of the login page.')
514 'primary_logo_width' => [
515 xl('Width of primary logo compared to the container'),
517 'w-25' => '25%',
518 'w-50' => '50%',
519 'w-75' => '75%',
520 'w-100' => '100%'
522 'w-50',
523 xl('Determine the width of the primary logo compared to the container'),
526 'secondary_logo_width' => [
527 xl('Width of secondary logo compared to the container'),
529 'w-25' => '25%',
530 'w-50' => '50%',
531 'w-75' => '75%',
532 'w-100' => '100%'
534 'w-50',
535 xl('Determine the width of the secondary logo compared to the container'),
538 'logo_position' => [
539 xl('Logo Positioning'),
541 'flex-column' => 'Stacked',
542 'flex-row' => 'Side by Side',
544 'flex-column',
545 xl('How the logos will be rendered relative to each other'),
548 'display_acknowledgements_on_login' => [
549 xl('Display links to the acknowledgements page'),
550 'bool',
551 '1',
552 xl('Used on the login screen'),
555 'show_tagline_on_login' => [
556 xl('Show Tagline on Login Page') . "*",
557 'bool',
558 '1',
559 xl('Show the tagline from the login screen'),
562 'login_tagline_text' => [
563 xl('Login Page Tagline') . "*",
564 'text',
565 xl("The most popular open-source Electronic Health Record and Medical Practice Management solution."),
566 xl("Tagline text on the login page")
569 'show_labels_on_login_form' => [
570 xl('Show Username and Password Labels on Login Page') . "*",
571 'bool',
572 '1',
573 xl('Show labels on the login form'),
576 'show_label_login' => array(
577 xl('Show Title on Login'),
578 'bool', // data type
579 '0', // default = false
580 xl('Show Title on Login')
583 'show_primary_logo' => [
584 xl('Show primary logo on login'),
585 'bool',
586 '1',
587 xl('Show primary logo on login'),
590 'extra_logo_login' => array(
591 xl('Show Secondary Logo on Login'),
592 'bool', // data type
593 '0', // default = false
594 xl('Show Secondary Logo on Login')
597 'secondary_logo_position' => [
598 xl('Order of the Secondary logo'),
600 'first' => xl('First Position'),
601 'second' => xl('Second Position'),
603 'second',
604 xl('Place the secondary logo first, or second'),
607 'tiny_logo_1' => array(
608 xl('Show Mini Logo 1'),
609 'bool', // data type
610 '0', // default = false
611 xl('Show Mini Logo 1')
614 'tiny_logo_2' => array(
615 xl('Show Mini Logo 2'),
616 'bool', // data type
617 '0', // default = false
618 xl('Show Mini Logo 2')
622 // Locale Tab
624 'Locale' => array(
626 'language_default' => array(
627 xl('Default Language'),
628 'lang', // data type
629 'English (Standard)', // default = english
630 xl('Default language if no other is allowed or chosen.')
633 'language_menu_showall' => array(
634 xl('All Languages Allowed'),
635 'bool', // data type
636 '1', // default = true
637 xl('Allow all available languages as choices on menu at login.')
640 'language_menu_other' => array(
641 xl('Allowed Languages'),
642 'm_lang', // data type
643 '', // default = none
644 xl('Select which languages, if any, may be chosen at login. (only pertinent if above All Languages Allowed is turned off)')
647 'allow_debug_language' => array(
648 xl('Allow Debugging Language'),
649 'bool', // data type
650 '1', // default = true during development and false for production releases
651 xl('This will allow selection of the debugging (\'dummy\') language.')
654 'translate_no_safe_apostrophe' => array(
655 xl('Do Not Use Safe Apostrophe'),
656 'bool', // data type
657 '0', // default = false
658 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)')
661 'translate_layout' => array(
662 xl('Translate Layouts'),
663 'bool', // data type
664 '1', // default = true
665 xl('Is text from form layouts to be translated?')
668 'translate_lists' => array(
669 xl('Translate Lists'),
670 'bool', // data type
671 '1', // default = true
672 xl('Is text from lists to be translated?')
675 'translate_gacl_groups' => array(
676 xl('Translate Access Control Groups'),
677 'bool', // data type
678 '1', // default = true
679 xl('Are access control group names to be translated?')
682 'translate_form_titles' => array(
683 xl('Translate Patient Note Titles'),
684 'bool', // data type
685 '1', // default = true
686 xl('Are patient note titles to be translated?')
689 'translate_document_categories' => array(
690 xl('Translate Document Categories'),
691 'bool', // data type
692 '1', // default = true
693 xl('Are document category names to be translated?')
696 'translate_appt_categories' => array(
697 xl('Translate Appointment Categories'),
698 'bool', // data type
699 '1', // default = true
700 xl('Are appointment category names to be translated?')
703 'units_of_measurement' => array(
704 xl('Units for Visit Forms'),
705 array(
706 '1' => xl('Show both US and metric (main unit is US)'),
707 '2' => xl('Show both US and metric (main unit is metric)'),
708 '3' => xl('Show US only'),
709 '4' => xl('Show metric only'),
711 '1', // default = Both/US
712 xl('Applies to the Vitals form and Growth Chart')
715 'us_weight_format' => array(
716 xl('Display Format for US Weights'),
717 array(
718 '1' => xl('Show pounds as decimal value'),
719 '2' => xl('Show pounds and ounces')
721 '1',
722 xl('Applies to Vitals form')
725 'phone_country_code' => array(
726 xl('Telephone Country Code'),
727 'num',
728 '1', // default = North America
729 xl('1 = North America. See http://www.wtng.info/ for a list of other country codes.')
732 'date_display_format' => array(
733 xl('Date Display Format'),
734 array(
735 '0' => xl('YYYY-MM-DD'),
736 '1' => xl('MM/DD/YYYY'),
737 '2' => xl('DD/MM/YYYY'),
739 '0',
740 xl('Format used to display most dates.')
743 'time_display_format' => array(
744 xl('Time Display Format'),
745 array(
746 '0' => xl('24 hr'),
747 '1' => xl('12 hr'),
749 '0',
750 xl('Format used to display most times.')
753 'gbl_time_zone' => array(
754 xl('Time Zone'),
755 gblTimeZones(),
757 xl('If unassigned will default to php.ini setting for date.timezone.')
760 'currency_decimals' => array(
761 xl('Currency Decimal Places'),
762 array(
763 '0' => xl('0'),
764 '1' => xl('1'),
765 '2' => xl('2'),
767 '2',
768 xl('Number of digits after decimal point for currency, usually 0 or 2.')
771 'currency_dec_point' => array(
772 xl('Currency Decimal Point Symbol'),
773 array(
774 '.' => xl('Period'),
775 ',' => xl('Comma'),
777 '.',
778 xl('Symbol used as the decimal point for currency. Not used if Decimal Places is 0.')
781 'currency_thousands_sep' => array(
782 xl('Currency Thousands Separator'),
783 array(
784 ',' => xl('Comma'),
785 '.' => xl('Period'),
786 ' ' => xl('Space'),
787 '' => xl('None'),
789 ',',
790 xl('Symbol used to separate thousands for currency.')
793 'gbl_currency_symbol' => array(
794 xl('Currency Designator'),
795 'text', // data type
796 '$', // default
797 xl('Code or symbol to indicate currency')
799 'age_display_format' => array(xl('Age Display Format'),
800 array(
801 '0' => xl('Years or months'),
802 '1' => xl('Years, months and days')
804 '0',
805 xl('Format for age display')
807 'age_display_limit' => array(
808 xl('Age in Years for Display Format Change'),
809 'num',
810 '3',
811 xl('If YMD is selected for age display, switch to just Years when patients older than this value in years')
813 // Reference - https://en.wikipedia.org/wiki/Workweek_and_weekend#Around_the_world
814 'weekend_days' => array(
815 xl('Your weekend days'),
816 array(
817 '6,0' => xl('Saturday') . ' - ' . xl('Sunday'),
818 '0' => xl('Sunday'),
819 '5' => xl('Friday'),
820 '6' => xl('Saturday'),
821 '5,6' => xl('Friday') . ' - ' . xl('Saturday'),
823 '6,0'
824 , xl('which days are your weekend days?')
829 // Features Tab
831 'Features' => array(
833 'specific_application' => array(
834 xl('Specific Application'),
835 array(
836 '0' => xl('None'),
837 '2' => xl('IPPF'),
838 '3' => xl('Weight loss clinic'),
840 '0', // default
841 xl('Indicator for specialized usage')
844 'inhouse_pharmacy' => array(
845 xl('Drugs and Products'),
846 array(
847 '0' => xl('Do not inventory and sell any products'),
848 '1' => xl('Inventory and sell drugs only'),
849 '2' => xl('Inventory and sell both drugs and non-drug products'),
850 '3' => xl('Products but no prescription drugs and no templates'),
852 '0', // default
853 xl('Option to support inventory and sales of products')
856 'disable_chart_tracker' => array(
857 xl('Disable Chart Tracker'),
858 'bool', // data type
859 '0', // default = false
860 xl('Removes the Chart Tracker feature')
863 'disable_immunizations' => array(
864 xl('Disable Immunizations'),
865 'bool', // data type
866 '0', // default = false
867 xl('Removes support for immunizations')
870 'disable_prescriptions' => array(
871 xl('Disable Prescriptions'),
872 'bool', // data type
873 '0', // default = false
874 xl('Removes support for prescriptions')
877 'text_templates_enabled' => array(
878 xl('Enable Text Templates in Encounter Forms'),
879 'bool', // data type
880 '1', // default = true
881 xl('Allow Double Click to select Nation Note text template from any encounter form text area')
884 'omit_employers' => array(
885 xl('Omit Employers'),
886 'bool', // data type
887 '0', // default = false
888 xl('Omit employer information in patient demographics')
891 'select_multi_providers' => array(
892 xl('Support Multi-Provider Events'),
893 'bool', // data type
894 '0', // default = false
895 xl('Support calendar events that apply to multiple providers')
898 'disable_non_default_groups' => array(
899 xl('Disable User Groups'),
900 'bool', // data type
901 '1', // default = true
902 xl('Normally this should be checked. Not related to access control.')
905 'ignore_pnotes_authorization' => array(
906 xl('Skip Authorization of Patient Notes'),
907 'bool', // data type
908 '1', // default = true
909 xl('Do not require patient notes to be authorized')
912 'support_encounter_claims' => array(
913 xl('Allow Encounter Claims'),
914 'bool', // data type
915 '0', // default = false
916 xl('Allow creation of claims containing diagnoses but not procedures or charges. Most clinics do not want this.')
919 'advance_directives_warning' => array(
920 xl('Advance Directives Warning'),
921 'bool', // data type
922 '0', // default = false
923 xl('Display advance directives in the demographics page.')
926 'configuration_import_export' => array(
927 xl('Configuration Export/Import'),
928 'bool', // data type
929 '0', // default = false
930 xl('Support export/import of configuration data via the Backup page.')
933 'restrict_user_facility' => array(
934 xl('Restrict Users to Facilities'),
935 'bool', // data type
936 '0', // default
937 xl('Restrict non-authorized users to the Schedule Facilities set in User admin.')
940 'set_facility_cookie' => array(
941 xl('Remember Selected Facility'),
942 'bool', // data type
943 '0', // default
944 xl('Set a facility cookie to remember the selected facility between logins.')
947 'login_into_facility' => array(
948 xl('Login Into Facility'),
949 'bool', // data type
950 '0', // default
951 xl('Select your current facility in the login page')
954 'receipts_by_provider' => array(
955 xl('Print Receipts by Provider'),
956 'bool',
957 '0', // default
958 xl('Causes Receipts to Print Encounter/Primary Provider Info')
961 'discount_by_money' => array(
962 xl('Discounts as Monetary Amounts'),
963 'bool', // data type
964 '1', // default = true
965 xl('Discounts at checkout time are entered as money amounts, as opposed to percentage.')
969 'gbl_form_save_close' => array(
970 xl('Display Save and Close Visit button in LBFs'),
971 'bool', // data type
972 '0', // default = false
973 xl('This is helpful if visits usually do not have charges.')
976 'gbl_mask_patient_id' => array(
977 xl('Mask for Patient IDs'),
978 'text', // data type
979 '', // default
980 xl('Specifies formatting for the external patient ID. # = digit, @ = alpha, * = any character. Empty if not used.')
983 'gbl_mask_invoice_number' => array(
984 xl('Mask for Invoice Numbers'),
985 'text', // data type
986 '', // default
987 xl('Specifies formatting for invoice reference numbers. # = digit, @ = alpha, * = any character. Empty if not used.')
990 'gbl_mask_product_id' => array(
991 xl('Mask for Product IDs'),
992 'text', // data type
993 '', // default
994 xl('Specifies formatting for product NDC fields. # = digit, @ = alpha, * = any character. Empty if not used.')
997 'activate_ccr_ccd_report' => array(
998 xl('Activate CCR/CCD Reporting'),
999 'bool', // data type
1000 '1', // default = true
1001 xl('This will activate the CCR(Continuity of Care Record) and CCD(Continuity of Care Document) reporting.')
1004 'drive_encryption' => array(
1005 xl('Enable Encryption of Items Stored on Drive (Strongly recommend keeping this on)'),
1006 'bool', // data type
1007 '1', // default = true
1008 xl('This will enable encryption of items that are stored on the drive. Strongly recommend keeping this setting on for security purposes.')
1011 'couchdb_encryption' => array(
1012 xl('Enable Encryption of Items Stored on CouchDB'),
1013 'bool', // data type
1014 '1', // default = true
1015 xl('This will enable encryption of items that are stored on CouchDB.')
1018 'hide_document_encryption' => array(
1019 xl('Hide Encryption/Decryption Options In Document Management'),
1020 'bool', // data type
1021 '0', // default = true
1022 xl('This will deactivate document the encryption and decryption features, and hide them in the UI.')
1025 'use_custom_immun_list' => array(
1026 xl('Use Custom Immunization List'),
1027 'bool', // data type
1028 '0', // default = true
1029 xl('This will use the custom immunizations list rather than the standard CVX immunization list.')
1032 'amendments' => array(
1033 xl('Amendments'),
1034 'bool', // data type
1035 '1', // default = true
1036 xl('Enable amendments feature')
1039 'allow_pat_delete' => array(
1040 xl('Allow Administrators to Delete Patients'),
1041 'bool', // data type
1042 '0', // default = false
1043 xl('Allow Administrators to Delete Patients')
1047 'observation_results_immunization' => array(
1048 xl('Immunization Observation Results'),
1049 'bool', // data type
1050 '1', // default
1051 xl('Observation Results in Immunization')
1054 'enable_help' => array(
1055 xl('Enable Help Modal'),
1056 array(
1057 '0' => xl('Hide Help Modal'),
1058 '1' => xl('Show Help Modal'),
1059 '2' => xl('Disable Help Modal'),
1060 ), // data type
1061 '1', // default = Print End of Day Report 1
1062 xl('This will allow the display of help modal on help enabled pages')
1064 'messages_due_date' => array(
1065 xl('Messages - due date'),
1066 'bool', // data type
1067 '0', // default false
1068 xl('Enables choose due date to message')
1071 'expand_form' => array(
1072 xl('Expand Form'),
1073 'bool', // data type
1074 '1', // default true
1075 xl('Open all expandable forms in expanded state')
1078 'graph_data_warning' => array(
1079 xl('Graphing Data Warning'),
1080 'bool', // data type
1081 '0', // default false
1082 xl('Warn if not enough data to graph')
1086 // Report Tab
1088 'Report' => array(
1090 'use_custom_daysheet' => array(
1091 xl('Use Custom End of Day Report'),
1092 array(
1093 '0' => xl('None'),
1094 '1' => xl('Print End of Day Report 1'),
1095 '2' => xl('Print End of Day Report 2'),
1096 '3' => xl('Print End of Day Report 3'),
1097 ), // data type
1098 '1', // default = Print End of Day Report 1
1099 xl('This will allow the use of the custom End of Day report and indicate which report to use.')
1102 'daysheet_provider_totals' => array(
1103 xl('End of Day by Provider or allow Totals Only'),
1104 array(
1105 '0' => xl('Provider'),
1106 '1' => xl('Totals Only'),
1108 '1', // default
1109 xl('This specifies the Printing of the Custom End of Day Report grouped Provider or allow the Printing of Totals Only')
1112 'ledger_begin_date' => array(
1113 xl('Beginning Date for Ledger Report'),
1114 array(
1115 'Y1' => xl('One Year Ago'),
1116 'Y2' => xl('Two Years Ago'),
1117 'M6' => xl('Six Months Ago'),
1118 'M3' => xl('Three Months Ago'),
1119 'M1' => xl('One Month Ago'),
1120 'D1' => xl('One Day Ago'),
1122 'Y1', // default = One Year
1123 xl('This is the Beginning date for the Ledger Report.')
1126 'print_next_appointment_on_ledger' => array(
1127 xl('Print the Next Appointment on the Bottom of the Ledger'),
1128 'bool', // data type
1129 '1', // default = true
1130 xl('This Will Print the Next Appointment on the Bottom of the Patient Ledger')
1133 'sales_report_invoice' => array(
1134 xl('Display Invoice Number or Patient Name or Both in the Sales Report'),
1135 array(
1136 '0' => xl('Invoice Number'),
1137 '1' => xl('Patient Name and ID'),
1138 '2' => xl('Patient Name and Invoice'),
1140 '2', // default = 2
1141 xl('This will Display the Invoice Number in the Sales Report or the Patient Name and ID or Patient Name and Invoice Number.')
1144 'cash_receipts_report_invoice' => array(
1145 xl('Display Invoice Number or Patient Name in the Cash Receipt Report'),
1146 array(
1147 '0' => xl('Invoice Number'),
1148 '1' => xl('Patient Name'),
1150 '0', // default = 0
1151 xl('Display Invoice Number or Patient Name in the Cash Receipt Report')
1156 // Billing Tab
1158 'Billing' => array(
1160 // It would be good to eventually rename this to "billing_enabled" and inverse the setting value.
1161 'hide_billing_widget' => array(
1162 xl('Hide Billing features'),
1163 'bool', // data type
1164 '0', // default = false
1165 xl('This will hide billing features throughout the program.')
1168 'force_billing_widget_open' => array(
1169 xl('Force Billing Widget Open'),
1170 'bool', // data type
1171 '0', // default = false
1172 xl('This will force the Billing Widget in the Patient Summary screen to always be open.')
1176 'ub04_support' => array(
1177 xl('Activate UB04/837I Claim Support'),
1178 'bool', // data type
1179 '0', // default = false
1180 xl('Allow institutional claims support.')
1183 'top_ubmargin_default' => array(
1184 xl('Default top print margin for UB04'),
1185 'num', // data type
1186 '14', // default
1187 xl('This is the default top print margin for UB04. It will adjust the final printed output up or down.')
1190 'left_ubmargin_default' => array(
1191 xl('Default left print margin for UB04'),
1192 'num', // data type
1193 '11', // default
1194 xl('This is the default left print margin for UB04. It will adjust the final printed output left or right.')
1197 'cms_top_margin_default' => array(
1198 xl('Default top print margin for CMS 1500'),
1199 'num', // data type
1200 '24', // default
1201 xl('This is the default top print margin for CMS 1500. It will adjust the final printed output up or down.')
1204 'cms_left_margin_default' => array(
1205 xl('Default left print margin for CMS 1500'),
1206 'num', // data type
1207 '20', // default
1208 xl('This is the default left print margin for CMS 1500. It will adjust the final printed output left or right.')
1211 'preprinted_cms_1500' => array(
1212 xl('Prints the CMS 1500 on the Preprinted form'),
1213 'bool', // data type
1214 '0', // default = false
1215 xl('Overlay CMS 1500 on the Preprinted form')
1218 'cms_1500_box_31_format' => array(
1219 xl('CMS 1500: Box 31 Format'),
1220 array(
1221 '0' => xl('Signature on File'),
1222 '1' => xl('Firstname Lastname'),
1223 '2' => xl('None'),
1225 '0', // default
1226 xl('This specifies whether to include date in Box 31.')
1229 'cms_1500_box_31_date' => array(
1230 xl('CMS 1500: Date in Box 31 (Signature)'),
1231 array(
1232 '0' => xl('None'),
1233 '1' => xl('Date of Service'),
1234 '2' => xl('Today'),
1236 '0', // default
1237 xl('This specifies whether to include date in Box 31.')
1240 'default_search_code_type' => array(
1241 xl('Default Search Code Type'),
1242 'all_code_types', // data type
1243 'ICD10', // default
1244 xl('The default code type to search for in the Fee Sheet.')
1247 'default_rendering_provider' => array(
1248 xl('Default Rendering Provider in Fee Sheet'),
1249 array(
1250 '0' => xl('Logged in User if provider, otherwise Current Provider'),
1251 '1' => xl('Current Provider'),
1252 '2' => xl('Current Logged in User'),
1254 '1',
1255 xl('Default selection for rendering provider in fee sheet.')
1258 'posting_adj_disable' => array(
1259 xl('Disable Auto Adjustment Calculations in EOB Posting'),
1260 'bool', // data type
1261 '0', // default = false
1262 xl('Turn off auto calculations of adjustments in EOB')
1265 'force_claim_balancing' => array(
1266 xl('Force claim balancing in EOB Posting'),
1267 'bool', // data type
1268 '1', // default = true
1269 xl('Force claim balancing in EOB Posting')
1272 'show_payment_history' => array(
1273 xl('Show all payment history in Patient Ledger'),
1274 'bool', // data type
1275 '1', // default = true
1276 xl('Turn on to show all payment history in Patient Ledger')
1279 'void_checkout_reopen' => array(
1280 xl('Void Checkout and Reopen in Fee Sheet'),
1281 'bool', // data type
1282 '1', // default = true
1283 xl('Void Checkout and Reopen in Fee Sheet')
1286 'support_fee_sheet_line_item_provider' => array(
1287 xl('Support provider in line item in fee sheet'),
1288 'bool', // data type
1289 '0', // default = false
1290 xl('This Enables provider in line item in the fee sheet')
1293 'default_fee_sheet_line_item_provider' => array(
1294 xl('Default to a provider for line item in the fee sheet'),
1295 'bool', // data type
1296 '0', // default = false
1297 xl('Default to a provider for line item in the fee sheet.(only applicable if Support line item billing in option above)')
1300 'include_inactive_providers' => array(
1301 xl('Include inactive providers in the fee sheet'),
1302 'bool', // data type
1303 '0', // default = false
1304 xl('Include inactive providers in the fee sheet.')
1307 'replicate_justification' => array(
1308 xl('Automatically replicate justification codes in Fee Sheet'),
1309 'bool', // data type
1310 '0', // default = false
1311 xl('Automatically replicate justification codes in Fee Sheet (basically fills in the blanks with the justification code above it).')
1314 'display_units_in_billing' => array(
1315 xl('Display the Units Column on the Billing Screen'),
1316 'bool', // data type
1317 '0', // default = false
1318 xl('Display the Units Column on the Billing Screen')
1321 'notes_to_display_in_Billing' => array(
1322 xl('Which notes are to be displayed in the Billing Screen'),
1323 array(
1324 '0' => xl('None'),
1325 '1' => xl('Encounter Billing Note'),
1326 '2' => xl('Patient Billing Note'),
1327 '3' => xl('All'),
1329 '3',
1330 xl('Display the Encounter Billing Note or Patient Billing Note or Both in the Billing Screen.')
1333 'MedicareReferrerIsRenderer' => array(
1334 xl('Medicare Referrer Is Renderer'),
1335 'bool', // data type
1336 '0', // default = false
1337 xl('For Medicare only, forces the referring provider to be the same as the rendering provider.')
1340 'statement_logo' => array(
1341 xl('Statement Logo GIF Filename'),
1342 'text', // data type
1343 'practice_logo.gif', // data type
1344 xl('Place your logo in sites/default/images and type the filename including gif extension here.')
1347 'use_custom_statement' => array(
1348 xl('Use Custom Statement'),
1349 'bool', // data type
1350 '0', // default = false
1351 xl('This will use the custom Statement showing the description instead of the codes.')
1354 'statement_appearance' => array(
1355 xl('Statement Appearance'),
1356 array(
1357 '0' => xl('Plain Text'),
1358 '1' => xl('Modern/images')
1359 ), // data type
1360 '1', // default = true
1361 xl('Patient statements can be generated as plain text or with a modern graphical appearance.')
1364 'billing_phone_number' => array(
1365 xl('Custom Billing Phone Number'),
1366 'text', // data type
1368 xl('Phone number for billing inquiries')
1371 'show_aging_on_custom_statement' => array(
1372 xl('Show Aging on Custom Statement'),
1373 'bool', // data type
1374 '0', // default = false
1375 xl('This will Show Aging on the custom Statement.')
1378 'use_statement_print_exclusion' => array(
1379 xl('Allow Statement Exclusions from Printing'),
1380 'bool', // data type
1381 '0', // default = false
1382 xl('This will enable the Ability to Exclude Selected Patient Statements from Printing.')
1385 'minimum_amount_to_print' => array(
1386 xl('Total Minimum Amount of Statement to Allow Printing'),
1387 'num', // data type
1388 '1.00',
1389 xl('Total Minimum Dollar Amount of Statement to Allow Printing.(only applicable if Allow Statement Exclusions from Printing is enabled)')
1392 'statement_bill_note_print' => array(
1393 xl('Print Patient Billing Note'),
1394 'bool', // data type
1395 '0', // default = false
1396 xl('This will allow printing of the Patient Billing Note on the statements.')
1399 'number_appointments_on_statement' => array(
1400 xl('Number of Appointments on Statement'),
1401 'num', // data type
1402 '0', // default = 0
1403 xl('The Number of Future Appointments to Display on the Statement.')
1406 'statement_message_to_patient' => array(
1407 xl('Print Custom Message'),
1408 'bool', // data type
1409 '0', // default = false
1410 xl('This will allow printing of a custom Message on the statements.')
1413 'statement_msg_text' => array(
1414 xl('Custom Statement message'),
1415 'text', // data type
1417 xl('Text for Custom statement message.')
1420 'use_dunning_message' => array(
1421 xl('Use Custom Dunning Messages'),
1422 'bool', // data type
1423 '0', // default = false
1424 xl('This will allow use of the custom Dunning Messages on the statements.')
1427 'first_dun_msg_set' => array(
1428 xl('Number of days before showing first account message'),
1429 'num', // data type
1430 '30',
1431 xl('Number of days before showing first account message.')
1434 'first_dun_msg_text' => array(
1435 xl('First account message'),
1436 'text', // data type
1438 xl('Text for first account message.')
1441 'second_dun_msg_set' => array(
1442 xl('Number of days before showing second account message'),
1443 'num', // data type
1444 '60',
1445 xl('Number of days before showing second account message')
1448 'second_dun_msg_text' => array(
1449 xl('Second account message'),
1450 'text', // data type
1452 xl('Text for second account message.')
1455 'third_dun_msg_set' => array(
1456 xl('Number of days before showing third account message'),
1457 'num', // data type
1458 '90',
1459 xl('Number of days before showing third account message')
1462 'third_dun_msg_text' => array(
1463 xl('Third account message'),
1464 'text', // data type
1466 xl('Text for third account message.')
1469 'fourth_dun_msg_set' => array(
1470 xl('Number of days before showing fourth account message'),
1471 'num', // data type
1472 '120',
1473 xl('Number of days before showing fourth account message')
1476 'fourth_dun_msg_text' => array(
1477 xl('Fourth account message'),
1478 'text', // data type
1480 xl('Text for fourth account message.')
1483 'fifth_dun_msg_set' => array(
1484 xl('Number of days before showing fifth account message'),
1485 'num', // data type
1486 '150',
1487 xl('Number of days before showing fifth account message')
1490 'fifth_dun_msg_text' => array(
1491 xl('Fifth account message'),
1492 'text', // data type
1494 xl('Text for fifth account message.')
1497 'save_codes_history' => array(
1498 xl('Save codes history'),
1499 'bool', // data type
1500 '1', // default
1501 xl('Save codes history')
1504 'enable_percent_pricing' => array(
1505 xl('Enable percent-based price levels'),
1506 'bool', // data type
1507 '0', // default
1508 xl('Enable percent-based price levels')
1511 'gen_x12_based_on_ins_co' => array(
1512 xl('Generate X-12 Based On Insurance Company'),
1513 'bool', // data type
1514 '0', // default = false
1515 xl('For sending claims directly to insurance company, based on X12 Partner Settings')
1518 'auto_sftp_claims_to_x12_partner' => array(
1519 xl('Automatically SFTP Claims To X12 Partner'),
1520 'bool', // data type
1521 '0', // default = false
1522 xl('For automatically sending claims that are generated in EDI directory to the X12 partner using SFTP credentials X12 Partner Settings')
1525 'enable_swap_secondary_insurance' => array(
1526 xl('Enable Swap Secondary Insurance Editing Demographics'),
1527 'bool', // data type
1528 '0', // default
1529 xl('Enable swap secondary insurance')
1534 // E-Sign Tab
1536 'E-Sign' => array(
1538 'esign_all' => array(
1539 xl('Allows E-Sign on the entire encounter'),
1540 'bool', // data type
1541 '0', // default = false
1542 xl('This will enable signing an entire encounter, rather than individual forms')
1545 'lock_esign_all' => array(
1546 xl('Lock e-signed encounters and their forms'),
1547 'bool', // data type
1548 '0', // default = false
1549 xl('This will disable the Edit button on all forms whose parent encounter is e-signed')
1552 'esign_individual' => array(
1553 xl('Allows E-Signing Individual Forms'),
1554 'bool', // data type
1555 '1', // default = false
1556 xl('This will enable signing individual forms separately')
1559 'lock_esign_individual' => array(
1560 xl('Lock an e-signed form individually'),
1561 'bool', // data type
1562 '1', // default = false
1563 xl('This will disable the Edit button on any form that is e-signed')
1566 'esign_lock_toggle' => array(
1567 xl('Enable lock toggle'),
1568 'bool', // data type
1569 '0', // default = false
1570 xl('This will give the user the option to lock (separate locking and signing)')
1573 'esign_report_show_only_signed' => array(
1574 xl('Only Include E-Signed Forms On Report'),
1575 'bool', // data type
1576 '0', // default = false
1577 xl('This will hide any encounter forms not E-Signed on the patient report')
1580 'esign_report_hide_empty_sig' => array(
1581 xl('Hide Empty E-Sign Logs On Report'),
1582 'bool', // data type
1583 '1', // default = false
1584 xl('This will hide empty e-sign logs on the patient report')
1587 'esign_report_hide_all_sig' => array(
1588 xl('Exclude All E-Sign Logs On Report'),
1589 'bool', // data type
1590 '0', // default = false
1591 xl('This will hide any e-sign logs on the patient report')
1594 //Documents Tab
1595 'Documents' => array(
1597 'document_storage_method' => array(
1598 xl('Document Storage Method'),
1599 array(
1600 '0' => xl('Hard Disk'),
1601 '1' => xl('CouchDB')
1603 '0', // default
1604 xl('Option to save method of document storage.')
1607 'couchdb_host' => array(
1608 xl('CouchDB HostName'),
1609 'text',
1610 'localhost',
1611 xl('CouchDB host'),
1613 'couchdb_user' => array(
1614 xl('CouchDB UserName'),
1615 'text',
1617 xl('Username to connect to CouchDB'),
1619 'couchdb_pass' => array(
1620 xl('CouchDB Password'),
1621 'encrypted', // data type
1623 xl('Password to connect to CouchDB'),
1625 'couchdb_port' => array(
1626 xl('CouchDB Port'),
1627 'text',
1628 '6984',
1629 xl('CouchDB port'),
1631 'couchdb_dbase' => array(
1632 xl('CouchDB Database'),
1633 'text',
1635 xl('CouchDB database name'),
1637 'couchdb_connection_ssl' => array(
1638 xl('CouchDB Connection SSL'),
1639 'bool',
1640 '1',
1641 xl('Use SSL (encrypted) connection to CouchDB'),
1643 'couchdb_ssl_allow_selfsigned' => array(
1644 xl('CouchDB SSL Allow Selfsigned Certificate'),
1645 'bool',
1646 '0',
1647 xl('Allow self-signed certificate for SSL (encrypted) connection to CouchDB'),
1649 'couchdb_log' => array(
1650 xl('CouchDB Log Enable'),
1651 'bool',
1652 '0',
1653 xl('Enable log for document uploads/downloads to CouchDB'),
1656 'expand_document_tree' => array(
1657 xl('Expand All Document Categories'),
1658 'bool', // data type
1659 '0', // default = false
1660 xl('Expand All Document Categories by Default')
1663 'patient_id_category_name' => array(
1664 xl('Patient ID Category Name'),
1665 'text', // data type
1666 'Patient ID card', // default
1667 xl('Optional category name for an ID Card image that can be viewed from the patient summary page.')
1670 'patient_photo_category_name' => array(
1671 xl('Patient Photo Category Name'),
1672 'text', // data type
1673 'Patient Photograph', // default
1674 xl('Optional category name for photo images that can be viewed from the patient summary page.')
1677 'lab_results_category_name' => array(
1678 xl('Lab Results Category Name'),
1679 'text', // data type
1680 'Lab Report', // default
1681 xl('Document category name for storage of electronically received lab results.')
1684 'gbl_mdm_category_name' => array(
1685 xl('MDM Document Category Name'),
1686 'text', // data type
1687 'Lab Report', // default
1688 xl('Document category name for storage of electronically received MDM documents.')
1690 'generate_doc_thumb' => array(
1691 xl('Generate thumbnail'),
1692 'bool',
1693 '0',
1694 xl('Generate thumbnail images'),
1696 'thumb_doc_max_size' => array(
1697 xl('Thumbnail size'),
1698 'text', // data type
1699 '100', // default
1700 xl('Maximum size of thumbnail file')
1704 // Calendar Tab
1706 'Calendar' => array(
1708 'disable_calendar' => array(
1709 xl('Disable Calendar'),
1710 'bool', // data type
1711 '0', // default
1712 xl('Do not display the calendar.')
1715 'schedule_start' => array(
1716 xl('Calendar Starting Hour'),
1717 'hour',
1718 '8', // default
1719 xl('Beginning hour of day for calendar events.')
1722 'schedule_end' => array(
1723 xl('Calendar Ending Hour'),
1724 'hour',
1725 '17', // default
1726 xl('Ending hour of day for calendar events.')
1729 'calendar_interval' => array(
1730 xl('Calendar Interval'),
1731 array(
1732 '5' => '5',
1733 '10' => '10',
1734 '15' => '15',
1735 '20' => '20',
1736 '30' => '30',
1737 '60' => '60',
1739 '15', // default
1740 xl('The time granularity of the calendar and the smallest interval in minutes for an appointment slot.')
1743 'calendar_view_type' => array(
1744 xl('Default Calendar View'),
1745 array(
1746 'day' => xl('Day'),
1747 'week' => xl('Week'),
1748 'month' => xl('Month'),
1750 'day', // default
1751 xl('This sets the Default Calendar View, Default is Day.')
1754 'first_day_week' => array(
1755 xl('First day in the week'),
1756 array(
1757 '1' => xl('Monday'),
1758 '0' => xl('Sunday'),
1759 '6' => xl('Saturday')
1761 '1',
1762 xl('Your first day of the week.')
1765 'calendar_appt_style' => array(
1766 xl('Appointment Display Style'),
1767 array(
1768 '1' => xl('Last name'),
1769 '2' => xl('Last name, first name'),
1770 '3' => xl('Last name, first name (title)'),
1771 '4' => xl('Last name, first name (title: comments)'),
1773 '2', // default
1774 xl('This determines how appointments display on the calendar.')
1777 'event_color' => array(
1778 xl('Appointment/Event Color'),
1779 array(
1780 '1' => xl('Category Color Schema'),
1781 '2' => xl('Facility Color Schema'),
1782 ), // data type
1783 '1', // default
1784 xl('This determines which color schema used for appointment')
1787 'number_of_appts_to_show' => array(
1788 xl('Appointments - Patient Summary - Number to Display'),
1789 'num',
1790 '10',
1791 xl('Number of Appointments to display in the Patient Summary')
1794 'number_of_group_appts_to_show' => array(
1795 xl('Appointments - Group Summary - Number to Display'),
1796 'num',
1797 '10',
1798 xl('Number of Appointments to display in the Group Summary')
1801 'number_of_ex_appts_to_show' => array(
1802 xl('Excluded Appointments - Tooltip - Number to Display'),
1803 'num',
1804 '15',
1805 xl('Number of Excluded Appointments to display in the Tooltip')
1808 'appt_display_sets_option' => array(
1809 xl('Appointment Display Sets - Ignore Display Limit (Last Set)'),
1810 'bool', // data type
1811 '1', // default
1812 xl('Override (if necessary) the appointment display limit to allow all appointments to be displayed for the last set')
1815 'appt_display_sets_color_1' => array(
1816 xl('Appointment Display Sets - Color 1'),
1817 'color_code',
1818 '#FFFFFF',
1819 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).')
1822 'appt_display_sets_color_2' => array(
1823 xl('Appointment Display Sets - Color 2'),
1824 'color_code',
1825 '#E6E6FF',
1826 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).')
1829 'appt_display_sets_color_3' => array(
1830 xl('Appointment Display Sets - Color 3'),
1831 'color_code',
1832 '#E6FFE6',
1833 xl('Color for the last set when all member appointments are displayed and at least one subsequent scheduled appointment exists (not displayed).')
1836 'appt_display_sets_color_4' => array(
1837 xl('Appointment Display Sets - Color 4'),
1838 'color_code',
1839 '#FFE6FF',
1840 xl('Color for the last set when not all member appointments are displayed.')
1843 'appt_recurrences_widget' => array(
1844 xl('Recurrent Appointment Display Widget'),
1845 'bool', // data type
1846 '1', // default
1847 xl('Display the recurrent appointment widget in the patient summary.')
1850 'num_past_appointments_to_show' => array(
1851 xl('Past Appointment Display Widget'),
1852 'num', // data type
1853 '0', // default = false
1854 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)')
1857 'docs_see_entire_calendar' => array(
1858 xl('Providers See Entire Calendar'),
1859 'bool', // data type
1860 '0', // default
1861 xl('Check this if you want providers to see all appointments by default and not just their own.')
1864 'auto_create_new_encounters' => array(
1865 xl('Auto-Create New Encounters'),
1866 array(
1867 '0' => xl('Off'),
1868 '1' => xl('One Encounter Per Day'),
1869 '2' => xl('Allow Encounter For Each Appointment')
1871 '1',
1872 xl('Automatically create a new encounter when an appointment check in status is selected.') . " " .
1873 xl('The Each Appointment option will allow a new encounter regardless of same day visit.') . " " .
1874 xl('The appointment status changes and encounter creations are managed through the Patient Tracker.')
1877 'allow_early_check_in' => array(
1878 xl('Allow Early Check In'),
1879 'bool', // data type
1880 '1', // default
1881 xl("Allow Check In before the appointment's time.")
1884 'submit_changes_for_all_appts_at_once' => array(
1885 xl('Submit Changes For All Appts At Once'),
1886 'bool', // data type
1887 '1', // default
1888 xl('Enables to submit changes for all appointments of a recurrence at once.')
1891 'disable_pat_trkr' => array(
1892 xl('Flow Board: Disable'),
1893 'bool', // data type
1894 '0', // default
1895 xl('Completely remove the ability to display the Patient Flow Board.')
1898 'ptkr_visit_reason' => array(
1899 xl('Flow Board: Show Visit Reason'),
1900 'bool', // data type
1901 '0', // default = false
1902 xl('When Checked, Visit Reason Will Show in Patient Flow Board.')
1905 'ptkr_show_pid' => array(
1906 xl('Flow Board: Show Patient ID'),
1907 'bool', // data type
1908 '1', // default = true
1909 xl('When Checked, Patient ID Will Show in Patient Flow Board.')
1912 'ptkr_show_encounter' => array(
1913 xl('Flow Board: Show Encounter Number'),
1914 'bool', // data type
1915 '1', // default = true
1916 xl('When Checked, Patient Encounter Number Will Show in Patient Flow Board.')
1919 'ptkr_show_staff' => array(
1920 xl('Flow Board: Show Staff Action'),
1921 'bool', // data type
1922 '1', // default = true
1923 xl('When Checked, Last Staff to Update Board Will Show in Patient Flow Board.')
1926 'ptkr_date_range' => array(
1927 xl('Flow Board: Allow Date Range'),
1928 'bool', // data type
1929 '1', // default = true
1930 xl('This Allows a Date Range to be Selected in Patient Flow Board.')
1933 'ptkr_start_date' => array(
1934 xl('Flow Board: Default Starting Date'),
1935 array(
1936 'D0' => xl('Current Day'),
1937 'B0' => xl('Beginning of Current Work Week'),
1939 'D0', // default = Current Day
1940 xl('This is the default Beginning date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1943 'ptkr_end_date' => array(
1944 xl('Flow Board: Default Ending Date'),
1945 array(
1946 'Y1' => xl('One Year Ahead'),
1947 'Y2' => xl('Two Years Ahead'),
1948 'M6' => xl('Six Months Ahead'),
1949 'M3' => xl('Three Months Ahead'),
1950 'M1' => xl('One Month Ahead'),
1951 'D7' => xl('One Week Ahead'),
1952 'D1' => xl('One Day Ahead'),
1953 'D0' => xl('Current Day'),
1955 'D0', // default = One Day Ahead
1956 xl('This is the default Ending date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1959 'pat_trkr_timer' => array(
1960 xl('Flow Board: Timer Refresh Interval'),
1961 array(
1962 '0' => xl('No automatic refresh'),
1963 '0:10' => '10',
1964 '0:20' => '20',
1965 '0:30' => '30',
1966 '0:40' => '40',
1967 '0:50' => '50',
1968 '0:59' => '60',
1970 '0:20', // default
1971 xl('The screen refresh time in Seconds for the Patient Flow Board Screen.')
1974 'checkout_roll_off' => array(
1975 xl('Flow Board: display completed checkouts (minutes)'),
1976 'num',
1977 '0', // default
1978 xl('Flow Board will only display completed checkouts for this many minutes. Zero is continuous display.')
1981 'drug_screen' => array(
1982 xl('Flow Board: Enable Random Drug Testing'),
1983 'bool', // data type
1984 '0', // default
1985 xl('Allow Patient Flow Board to Select Patients for Drug Testing.')
1988 'drug_testing_percentage' => array(
1989 xl('Flow Board: Percentage of Patients to Drug Test'),
1990 'num',
1991 '33', // default
1992 xl('Percentage of Patients to select for Random Drug Testing.')
1995 'maximum_drug_test_yearly' => array(
1996 xl('Flow Board: Max tests per Patient per year'),
1997 'num',
1998 '0', // default
1999 xl('Maximum number of times a Patient can be tested in a year. Zero is no limit.')
2002 'disable_rcb' => array(
2003 xl('Recall Board: Disable'),
2004 'bool', // data type
2005 '0', // default
2006 xl('Do not display the Recall Board.')
2011 // Insurance Tab
2012 'Insurance' => array(
2013 'enable_eligibility_requests' => array(
2014 xl('Enable Insurance Eligibility'),
2015 'bool',
2016 '0',
2017 xl('Allow insurance eligibility checks using an X12 Partner')
2020 'simplified_demographics' => array(
2021 xl('Simplified Demographics'),
2022 'bool', // data type
2023 '0', // default = false
2024 xl('Omit insurance and some other things from the demographics form')
2027 'insurance_information' => array(
2028 xl('Show Additional Insurance Information'), // descriptive name
2029 array(
2030 '0' => xl('None'),
2031 '1' => xl('Address Only'),
2032 '2' => xl('Address and Postal Code'),
2033 '3' => xl('Address and State'),
2034 '4' => xl('Address, State and Postal Code'),
2035 '5' => xl('Address, City, State and Postal Code'),
2036 '6' => xl('Address, City, State, Postal Code, Payer ID'),
2037 '7' => xl('Postal Code and Box Number')
2039 '6', // default
2040 xl('Show Insurance Address Information in the Insurance Panel of Demographics.')
2043 'disable_eligibility_log' => array(
2044 xl('Disable Insurance Eligibility Reports Download'),
2045 'bool',
2046 '0',
2047 xl('Do not allow insurance eligibility report log download')
2050 'insurance_only_one' => array(
2051 xl('Allow only one insurance'),
2052 'bool', // data type
2053 '0', // default = false
2054 xl('Allow more than one insurance')
2057 // Security Tab
2059 'Security' => array(
2060 'sql_string_no_show_screen' => array(
2061 xl('Mode - Do Not Show SQL Queries'),
2062 'bool', // data type
2063 '0', // default
2064 xl('Do not allow SQL queries to be outputted to screen.')
2066 'timeout' => array(
2067 xl('Idle Session Timeout Seconds'),
2068 'num', // data type
2069 '7200', // default
2070 xl('Maximum idle time in seconds before logout. Default is 7200 (2 hours).')
2072 'portal_timeout' => array(
2073 xl('Portal Idle Session Timeout Seconds'),
2074 'num', // data type
2075 '1800', // default
2076 xl('Maximum idle time in seconds before logout. Default is 1800 (30 minutes).')
2078 'secure_upload' => array(
2079 xl('Secure Upload Files with White List'),
2080 'bool', // data type
2081 '1', // default
2082 xl('Block all files types that are not found in the White List. Can find interface to edit the White List at Administration->Files.')
2084 'secure_password' => array(
2085 xl('Require Strong Passwords'),
2086 'bool', // data type
2087 '1', // default
2088 xl('Strong password means at least one of each: a number, a lowercase letter, an uppercase letter, a special character.')
2091 'gbl_minimum_password_length' => array(
2092 xl('Minimum Password Length'),
2093 array(
2094 '0' => xl('No Minimum'),
2095 '4' => '4',
2096 '5' => '5',
2097 '6' => '6',
2098 '7' => '7',
2099 '8' => '8',
2100 '9' => '9',
2101 '10' => '10',
2102 '11' => '11',
2103 '12' => '12',
2104 '13' => '13',
2105 '14' => '14',
2106 '15' => '15',
2107 '16' => '16',
2108 '17' => '17',
2109 '18' => '18',
2110 '19' => '19',
2111 '20' => '20',
2113 '9', // default
2114 xl('Minimum length of password.')
2117 'gbl_maximum_password_length' => array(
2118 xl('Maximum Password Length'),
2119 array(
2120 '0' => xl('No Maximum'),
2121 '72' => '72',
2123 '72', // default
2124 xl('Maximum length of password (Recommend using the default value of 72 unless you know what you are doing).')
2127 'password_history' => array(
2128 xl('Require Unique Passwords'),
2129 array(
2130 '0' => xl('No'),
2131 '1' => '1',
2132 '2' => '2',
2133 '3' => '3',
2134 '4' => '4',
2135 '5' => '5',
2137 '5', // default
2138 xl('Set to the number of prior passwords that are not allowed to use when changing a password.')
2141 'password_expiration_days' => array(
2142 xl('Default Password Expiration Days'),
2143 'num', // data type
2144 '180', // default
2145 xl('Default password expiration period in days. 0 means this feature is disabled.')
2148 'password_grace_time' => array(
2149 xl('Password Expiration Grace Period'),
2150 'num', // data type
2151 '30', // default
2152 xl('Period in days where a user may login with an expired password.')
2155 'password_max_failed_logins' => array(
2156 xl('Maximum Failed Login Attempts For User'),
2157 'num', // data type
2158 '20', // default
2159 xl('Maximum Failed Login Attempts For User (0 for no maximum).')
2162 'time_reset_password_max_failed_logins' => array(
2163 xl('Time (seconds) to Reset Maximum Failed Login Attempts For User'),
2164 'num', // data type
2165 '3600', // default to 1 hour
2166 xl('Time (seconds) to Reset Maximum Failed Login Attempts Counter For User (0 for no reset).')
2169 'ip_max_failed_logins' => array(
2170 xl('Maximum Failed Login Attempts From IP Address'),
2171 'num', // data type
2172 '100', // default
2173 xl('Maximum Failed Login Attempts From IP Address (0 for no maximum).')
2176 'ip_time_reset_password_max_failed_logins' => array(
2177 xl('Time (seconds) to Reset Maximum Failed Login Attempts From IP Address'),
2178 'num', // data type
2179 '3600', // default to 1 hour
2180 xl('Time (seconds) to Reset Maximum Failed Login Attempts Counter From IP Address (0 for no reset).')
2183 'gbl_fac_warehouse_restrictions' => array(
2184 xl('Enable Facility/Warehouse Permissions'),
2185 'bool', // data type
2186 '0', // default
2187 xl('Enable facility/warehouse restrictions in the user administration form.')
2190 'is_client_ssl_enabled' => array(
2191 xl('Enable Client SSL'),
2192 'bool', // data type
2193 '0', // default
2194 xl('Enable client SSL certificate authentication.')
2197 'certificate_authority_crt' => array(
2198 xl('Path to CA Certificate File'),
2199 'text', // data type
2200 '', // default
2201 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2204 'certificate_authority_key' => array(
2205 xl('Path to CA Key File'),
2206 'text', // data type
2207 '', // default
2208 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2211 'client_certificate_valid_in_days' => array(
2212 xl('Client Certificate Expiration Days'),
2213 'num', // data type
2214 '365', // default
2215 xl('Number of days that the client certificate is valid.')
2218 'Emergency_Login_email_id' => array(
2219 xl('Emergency Login Email Address'),
2220 'text', // data type
2221 '', // default
2222 xl('Email address, if any, to receive emergency login user activation messages.')
2225 'new_validate' => array(
2226 xl('New form validation'),
2227 'bool',
2228 '1',
2229 xl('New form validation')
2232 'allow_multiple_databases' => array(
2233 xl('Allow multiple databases'),
2234 'bool',
2235 '0',
2236 xl('Allow to use with multiple database')
2239 'safe_key_database' => array(
2240 xl('Safe key database'),
2241 'text', // data type
2242 '', // default
2243 xl('Key for multiple database credentials encryption')
2246 'google_signin_enabled' => array(
2247 xl('Enable Google Sign-In'),
2248 'bool',
2249 '0',
2250 xl('Enable Authentication Using Google Sign-in')
2253 'google_signin_client_id' => array(
2254 xl('Google Sign-In Client ID'),
2255 'text',
2257 xl('This Client ID Is Provided By Google For Your App (Required For Google Sign-in)')
2260 'gbl_ldap_enabled' => array(
2261 xl('Use LDAP for Authentication'),
2262 'bool',
2263 '0',
2264 xl('If enabled, use LDAP for login and authentication.')
2266 'gbl_ldap_host' => array(
2267 xl('LDAP - Server Name or URI'),
2268 'text',
2270 xl('The hostname or URI of your LDAP or Active Directory server.')
2272 'gbl_ldap_dn' => array(
2273 xl('LDAP - Distinguished Name of User'),
2274 'text',
2276 xl('Embed {login} where the OpenEMR login name of the user is to be; for example: uid={login},dc=example,dc=com')
2278 'gbl_ldap_exclusions' => array(
2279 xl('LDAP - Login Exclusions'),
2280 'text',
2282 xl('Comma-separated list of login names to use normal authentication instead of LDAP; useful for setup and debugging.')
2285 'gbl_debug_hash_verify_execution_time' => array(
2286 xl('Debug Hash Verification Time'),
2287 'bool',
2288 '0',
2289 xl('If enabled, this will send the execution time it took to verify hash to the php error log.')
2292 'gbl_auth_hash_algo' => array(
2293 xl('Hash Algorithm for Authentication'),
2294 array(
2295 'DEFAULT' => xl('PHP Default'),
2296 'BCRYPT' => 'Bcrypt',
2297 'ARGON2I' => 'Argon2I',
2298 'ARGON2ID' => 'Argon2ID',
2299 'SHA512HASH' => 'SHA512 (ONC 2015)',
2301 'DEFAULT', // default
2302 xl('Hashing algorithm for authentication. Suggest PHP Default unless you know what you are doing.')
2305 'gbl_auth_bcrypt_hash_cost' => array(
2306 xl('Authentication Bcrypt Hash Cost'),
2307 array(
2308 'DEFAULT' => xl('PHP Default'),
2309 '5' => '5',
2310 '6' => '6',
2311 '7' => '7',
2312 '8' => '8',
2313 '9' => '9',
2314 '10' => '10',
2315 '11' => '11',
2316 '12' => '12',
2317 '13' => '13',
2318 '14' => '14',
2319 '15' => '15',
2320 '16' => '16',
2321 '17' => '17',
2322 '18' => '18',
2323 '19' => '19',
2324 '20' => '20',
2326 'DEFAULT', // default
2327 xl('Authentication bcrypt hash cost. Suggest PHP Default unless you know what you are doing.')
2330 'gbl_auth_argon_hash_memory_cost' => array(
2331 xl('Authentication Argon Hash Memory Cost'),
2332 array(
2333 'DEFAULT' => xl('PHP Default'),
2334 '512' => '512',
2335 '1024' => '1024',
2336 '2048' => '2048',
2337 '4096' => '4096',
2338 '8192' => '8192',
2339 '16384' => '16384',
2340 '32768' => '32768',
2341 '65536' => '65536',
2342 '131072' => '131072',
2343 '262144' => '262144',
2344 '524288' => '524288',
2345 '1048576' => '1048576',
2346 '2097152' => '2097152',
2348 'DEFAULT', // default
2349 xl('Authentication argon hash memory cost. Suggest PHP Default unless you know what you are doing.')
2352 'gbl_auth_argon_hash_time_cost' => array(
2353 xl('Authentication Argon Hash Time Cost'),
2354 array(
2355 'DEFAULT' => xl('PHP Default'),
2356 '1' => '1',
2357 '2' => '2',
2358 '3' => '3',
2359 '4' => '4',
2360 '5' => '5',
2361 '6' => '6',
2362 '7' => '7',
2363 '8' => '8',
2364 '9' => '9',
2365 '10' => '10',
2366 '11' => '11',
2367 '12' => '12',
2368 '13' => '13',
2369 '14' => '14',
2370 '15' => '15',
2371 '16' => '16',
2372 '17' => '17',
2373 '18' => '18',
2374 '19' => '19',
2375 '20' => '20',
2377 'DEFAULT', // default
2378 xl('Authentication argon hash time cost. Suggest PHP Default unless you know what you are doing.')
2381 'gbl_auth_argon_hash_thread_cost' => array(
2382 xl('Authentication Argon Hash Thread Number'),
2383 array(
2384 'DEFAULT' => xl('PHP Default'),
2385 '1' => '1',
2386 '2' => '2',
2387 '3' => '3',
2388 '4' => '4',
2389 '5' => '5',
2390 '6' => '6',
2391 '7' => '7',
2392 '8' => '8',
2393 '9' => '9',
2394 '10' => '10',
2395 '11' => '11',
2396 '12' => '12',
2397 '13' => '13',
2398 '14' => '14',
2399 '15' => '15',
2400 '16' => '16',
2401 '17' => '17',
2402 '18' => '18',
2403 '19' => '19',
2404 '20' => '20',
2406 'DEFAULT', // default
2407 xl('Authentication argon hash thread number. Suggest PHP Default unless you know what you are doing.')
2410 'gbl_auth_sha512_rounds' => array(
2411 xl('Authentication SHA512 Hash Rounds Number'),
2412 array(
2413 '1000' => '1000',
2414 '5000' => '5000',
2415 '10000' => '10000',
2416 '15000' => '15000',
2417 '20000' => '20000',
2418 '30000' => '30000',
2419 '40000' => '40000',
2420 '50000' => '50000',
2421 '75000' => '75000',
2422 '100000' => '100000',
2423 '200000' => '200000',
2424 '300000' => '300000',
2425 '400000' => '400000',
2426 '500000' => '500000',
2427 '750000' => '750000',
2428 '1000000' => '1000000',
2429 '2000000' => '2000000',
2430 '3000000' => '3000000',
2431 '4000000' => '4000000',
2432 '5000000' => '5000000',
2433 '6000000' => '6000000',
2434 '7000000' => '7000000',
2435 '8000000' => '8000000',
2436 '9000000' => '9000000',
2438 '100000', // default
2439 xl('Authentication SHA512 hash rounds number.')
2444 // Notifications Tab
2446 'Notifications' => array(
2448 'patient_reminder_sender_name' => array(
2449 xl('Patient Reminder Sender Name'),
2450 'text', // data type
2451 '', // default
2452 xl('Name of the sender for patient reminders.')
2455 'patient_reminder_sender_email' => array(
2456 xl('Patient Reminder Sender Email'),
2457 'text', // data type
2458 '', // default
2459 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.')
2462 'practice_return_email_path' => array(
2463 xl('Notification Email Address'),
2464 'text', // data type
2465 '', // default
2466 xl('Email address, if any, to receive administrative notifications.')
2469 'EMAIL_METHOD' => array(
2470 xl('Email Transport Method'),
2471 array(
2472 'PHPMAIL' => 'PHPMAIL',
2473 'SENDMAIL' => 'SENDMAIL',
2474 'SMTP' => 'SMTP',
2476 'SMTP', // default
2477 xl('Method for sending outgoing email.')
2480 'SMTP_HOST' => array(
2481 xl('SMTP Server Hostname'),
2482 'text', // data type
2483 'localhost', // default
2484 xl('If SMTP is used, the server`s hostname or IP address.')
2487 'SMTP_PORT' => array(
2488 xl('SMTP Server Port Number'),
2489 'num', // data type
2490 '25', // default
2491 xl('If SMTP is used, the server`s TCP port number (usually 25).')
2494 'SMTP_USER' => array(
2495 xl('SMTP User for Authentication'),
2496 'text', // data type
2497 '', // default
2498 xl('Must be empty if SMTP authentication is not used.')
2501 'SMTP_PASS' => array(
2502 xl('SMTP Password for Authentication'),
2503 'encrypted', // data type
2504 '', // default
2505 xl('Must be empty if SMTP authentication is not used.')
2508 'SMTP_SECURE' => array(
2509 xl('SMTP Security Protocol'),
2510 array(
2511 '' => xl('None'),
2512 'ssl' => 'SSL',
2513 'tls' => 'TLS'
2516 xl('SMTP security protocol to connect with. Required by some servers such as gmail.')
2519 'EMAIL_NOTIFICATION_HOUR' => array(
2520 xl('Email Notification Hours'),
2521 'num', // data type
2522 '50', // default
2523 xl('Number of hours in advance to send email notifications.')
2526 'SMS_NOTIFICATION_HOUR' => array(
2527 xl('SMS Notification Hours'),
2528 'num', // data type
2529 '50', // default
2530 xl('Number of hours in advance to send SMS notifications.')
2533 'SMS_GATEWAY_USENAME' => array(
2534 xl('SMS Gateway Username'),
2535 'text', // data type
2536 '', // default
2537 xl('Username for SMS Gateway.')
2540 'SMS_GATEWAY_PASSWORD' => array(
2541 xl('SMS Gateway Password'),
2542 'text', // data type
2543 '', // default
2544 xl('Password for SMS Gateway.')
2547 'SMS_GATEWAY_APIKEY' => array(
2548 xl('SMS Gateway API Key'),
2549 'text', // data type
2550 '', // default
2551 xl('API key for SMS Gateway.')
2554 'phone_notification_hour' => array(
2555 xl('Phone Notification Hour'),
2556 'num', // data type
2557 '50', // default
2558 xl('Number of hours in advance to send Phone notification.')
2561 'phone_gateway_username' => array(
2562 xl('Phone Gateway Username'),
2563 'text', // data type
2564 '', // default
2565 xl('Username for Phone Gateway.')
2568 'phone_gateway_password' => array(
2569 xl('Phone Gateway Password'),
2570 'encrypted', // data type
2571 '', // default
2572 xl('Password for Phone Gateway.')
2575 'phone_gateway_url' => array(
2576 xl('Phone Gateway URL'),
2577 'text', // data type
2578 '', // default
2579 xl('URL for Phone Gateway.')
2584 // CDR (Clinical Decision Rules)
2586 'CDR' => array(
2588 'enable_cdr' => array(
2589 xl('Enable Clinical Decisions Rules (CDR)'),
2590 'bool', // data type
2591 '1', // default
2592 xl('Enable Clinical Decisions Rules (CDR)')
2595 'enable_allergy_check' => array(
2596 xl('Enable Allergy Check'),
2597 'bool', // data type
2598 '1', // default
2599 xl('Enable Allergy Check Against Medications and Prescriptions')
2602 'enable_alert_log' => array(
2603 xl('Enable Alert Log'),
2604 'bool', // data type
2605 '1', // default
2606 xl('Enable Alert Logging')
2609 'enable_cdr_new_crp' => array(
2610 xl('Enable Clinical Passive New Reminder(s) Popup'),
2611 'bool', // data type
2612 '1', // default
2613 xl('Enable Clinical Passive New Reminder(s) Popup')
2616 'enable_cdr_crw' => array(
2617 xl('Enable Clinical Passive Reminder Widget'),
2618 'bool', // data type
2619 '1', // default
2620 xl('Enable Clinical Passive Reminder Widget')
2623 'enable_cdr_crp' => array(
2624 xl('Enable Clinical Active Reminder Popup'),
2625 'bool', // data type
2626 '1', // default
2627 xl('Enable Clinical Active Reminder Popup')
2630 'enable_cdr_prw' => array(
2631 xl('Enable Patient Reminder Widget'),
2632 'bool', // data type
2633 '1', // default
2634 xl('Enable Patient Reminder Widget')
2637 'enable_cqm' => array(
2638 xl('Enable CQM Reporting'),
2639 'bool', // data type
2640 '1', // default
2641 xl('Enable Clinical Quality Measure (CQM) Reporting')
2644 'pqri_registry_name' => array(
2645 xl('PQRI Registry Name'),
2646 'text', // data type
2647 'Model Registry', // default
2648 xl('PQRI Registry Name')
2651 'pqri_registry_id' => array(
2652 xl('PQRI Registry ID'),
2653 'text', // data type
2654 '125789123', // default
2655 xl('PQRI Registry ID')
2658 'cqm_performance_period' => array(
2659 xl('Eligible Clinician eCQM Performance Period'),
2660 'text', // data type
2661 '2022', // default set
2662 xl('Enter the eCQM Performance Period year. For example 2022')
2665 'enable_amc' => array(
2666 xl('Enable AMC Reporting'),
2667 'bool', // data type
2668 '1', // default
2669 xl('Enable Automated Measure Calculations (AMC) Reporting')
2672 'enable_amc_prompting' => array(
2673 xl('Enable AMC Prompting'),
2674 'bool', // data type
2675 '1', // default
2676 xl('Enable Prompting For Automated Measure Calculations (AMC) Required Data')
2679 'enable_amc_tracking' => array(
2680 xl('Enable AMC Tracking'),
2681 'bool', // data type
2682 '1', // default
2683 xl('Enable Reporting of Tracking Date For Automated Measure Calculations (AMC)')
2686 'cdr_report_nice' => array(
2687 xl('CDR Reports Processing Priority'),
2688 array(
2689 '' => xl('Default Priority'),
2690 '5' => xl('Moderate Priority'),
2691 '10' => xl('Moderate/Low Priority'),
2692 '15' => xl('Low Priority'),
2693 '20' => xl('Lowest Priority')
2695 '', // default
2696 xl('Set processing priority for CDR engine based reports.')
2699 'pat_rem_clin_nice' => array(
2700 xl('Patient Reminder Creation Processing Priority'),
2701 array(
2702 '' => xl('Default Priority'),
2703 '5' => xl('Moderate Priority'),
2704 '10' => xl('Moderate/Low Priority'),
2705 '15' => xl('Low Priority'),
2706 '20' => xl('Lowest Priority')
2708 '', // default
2709 xl('Set processing priority for creation of Patient Reminders (in full clinic mode).')
2712 'report_itemizing_standard' => array(
2713 xl('Enable Standard Report Itemization'),
2714 'bool', // data type
2715 '1', // default
2716 xl('Enable Itemization of Standard Clinical Rules Reports')
2719 'report_itemizing_cqm' => array(
2720 xl('Enable CQM Report Itemization'),
2721 'bool', // data type
2722 '1', // default
2723 xl('Enable Itemization of CQM Reports')
2726 'report_itemizing_amc' => array(
2727 xl('Enable AMC Report Itemization'),
2728 'bool', // data type
2729 '1', // default
2730 xl('Enable Itemization of AMC Reports')
2732 'dated_reminders_max_alerts_to_show' => array(
2733 xl('Dated reminders maximum alerts to show'),
2734 'num', // data type
2735 '5', // default
2736 xl('Dated reminders maximum alerts to show')
2738 'patient_birthday_alert' => array(
2739 xl('Alert on patient birthday'),
2740 array(
2741 '0' => xl('No alert'),
2742 '1' => xl('Alert only on birthday'),
2743 '2' => xl('Alert on and after birthday'),
2744 '3' => xl('Alert on and up to 28 days after birthday')
2746 '1', // default
2747 xl('Alert on patient birthday')
2749 'patient_birthday_alert_manual_off' => array(
2750 xl('Patient birthday alert requires turning off'),
2751 'bool', // data type
2752 '0', // default
2753 xl('Patient birthday alert requires turning off')
2757 // Logging
2759 'Logging' => array(
2761 'user_debug' => array(
2762 xl('User Debugging Options'),
2763 array(
2764 '0' => xl('None'),
2765 '1' => xl('Display Window Errors Only'),
2766 '2' => xl('Display Application Errors Only'),
2767 '3' => xl('All'),
2769 '0', // default
2770 xl('User Debugging Mode.')
2773 'enable_auditlog' => array(
2774 xl('Enable Audit Logging'),
2775 'bool', // data type
2776 '1', // default
2777 xl('Enable Audit Logging')
2780 'audit_events_patient-record' => array(
2781 xl('Audit Logging Patient Record'),
2782 'bool', // data type
2783 '1', // default
2784 xl('Enable logging of patient record modifications.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2787 'audit_events_scheduling' => array(
2788 xl('Audit Logging Scheduling'),
2789 'bool', // data type
2790 '1', // default
2791 xl('Enable logging of scheduling activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2794 'audit_events_order' => array(
2795 xl('Audit Logging Order'),
2796 'bool', // data type
2797 '1', // default
2798 xl('Enable logging of ordering activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2801 'audit_events_security-administration' => array(
2802 xl('Audit Logging Security Administration'),
2803 'bool', // data type
2804 '1', // default
2805 xl('Enable logging of security and administration activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2808 'audit_events_backup' => array(
2809 xl('Audit Logging Backups'),
2810 'bool', // data type
2811 '1', // default
2812 xl('Enable logging of backup related activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2815 'audit_events_other' => array(
2816 xl('Audit Logging Miscellaneous'),
2817 'bool', // data type
2818 '1', // default
2819 xl('Enable logging of miscellaneous activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2822 'audit_events_query' => array(
2823 xl('Audit Logging SELECT Query'),
2824 'bool', // data type
2825 '1', // default
2826 xl('Enable logging of all SQL SELECT queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2829 'audit_events_cdr' => array(
2830 xl('Audit CDR Engine Queries'),
2831 'bool', // data type
2832 '0', // default
2833 xl('Enable logging of CDR Engine Queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2836 'gbl_force_log_breakglass' => array(
2837 xl('Audit all Emergency User Queries'),
2838 'bool', // data type
2839 '1', // default
2840 xl('Force logging of all Emergency User (ie. breakglass) activities.')
2843 'enable_atna_audit' => array(
2844 xl('Enable ATNA Auditing'),
2845 'bool', // data type
2846 '0', // default
2847 xl('Enable Audit Trail and Node Authentication (ATNA).')
2850 'atna_audit_host' => array(
2851 xl('ATNA audit host'),
2852 'text', // data type
2853 '', // default
2854 xl('The hostname of the ATNA audit repository machine.')
2857 'atna_audit_port' => array(
2858 xl('ATNA audit port'),
2859 'text', // data type
2860 '6514', // default
2861 xl('Listening port of the RFC 5425 TLS syslog server.')
2864 'atna_audit_localcert' => array(
2865 xl('ATNA audit local certificate'),
2866 'text', // data type
2867 '', // default
2868 xl('Certificate to send to RFC 5425 TLS syslog server.')
2871 'atna_audit_cacert' => array(
2872 xl('ATNA audit CA certificate'),
2873 'text', // data type
2874 '', // default
2875 xl('CA Certificate for verifying the RFC 5425 TLS syslog server.')
2878 'enable_auditlog_encryption' => array(
2879 xl('Enable Audit Log Encryption'),
2880 'bool', // data type
2881 '0', // default
2882 xl('Enable Audit Log Encryption')
2885 'api_log_option' => array(
2886 xl('API Log Option'),
2887 array(
2888 '0' => xl('No logging'),
2889 '1' => xl('Minimal Logging'),
2890 '2' => xl('Full Logging'),
2892 '2', // default
2893 xl('API Log Option (Full includes requests and responses).')
2896 'billing_log_option' => array(
2897 xl('Billing Log Option'),
2898 array(
2899 '1' => xl('Billing Log Append'),
2900 '2' => xl('Billing Log Overwrite')
2902 '1', // default
2903 xl('Billing log setting to append or overwrite the log file.')
2906 'gbl_print_log_option' => array(
2907 xl('Printing Log Option'),
2908 array(
2909 '0' => xl('No logging'),
2910 '1' => xl('Hide print feature'),
2911 '2' => xl('Log entire document'),
2913 '2', // default
2914 xl('Individual pages can override 2nd and 3rd options by implementing a log message.')
2917 'system_error_logging' => array(
2918 xl('System Error Logging Options'),
2919 array(
2920 'WARNING' => xl('Standard Error Logging'),
2921 'DEBUG' => xl('Debug Error Logging'),
2923 'WARNING', // default
2924 xl('System Error Logging Options.')
2929 // Miscellaneous Tab
2931 'Miscellaneous' => array(
2933 'enable_database_connection_pooling' => array(
2934 xl('Enable Database Connection Pooling'),
2935 'bool', // data type
2936 '1', // default
2937 xl('Enable Database Connection Pooling')
2940 'mysql_bin_dir' => array(
2941 xl('Path to MySQL Binaries'),
2942 'text', // data type
2943 $mysql_bin_dir, // default
2944 xl('Full path to directory containing MySQL executables.')
2947 'perl_bin_dir' => array(
2948 xl('Path to Perl Binaries'),
2949 'text', // data type
2950 $perl_bin_dir, // default
2951 xl('Full path to directory containing Perl executables.')
2954 'temporary_files_dir' => array(
2955 xl('Path to Temporary Files'),
2956 'text', // data type
2957 $temporary_files_dir, // default
2958 xl('Full path to directory used for temporary files.')
2961 'backup_log_dir' => array(
2962 xl('Path for Event Log Backup'),
2963 'text', // data type
2964 $backup_log_dir, // default
2965 xl('Full path to directory for event log backup.')
2968 'state_data_type' => array(
2969 xl('State Data Type'),
2970 array(
2971 '2' => xl('Text field'),
2972 '1' => xl('Single-selection list'),
2973 '26' => xl('Single-selection list with ability to add to the list'),
2975 '26', // default
2976 xl('Field type to use for employer or subscriber state in demographics.')
2979 'state_list' => array(
2980 xl('State list'),
2981 'text', // data type
2982 'state', // default
2983 xl('List used by above State Data Type option.')
2986 'state_custom_addlist_widget' => array(
2987 xl('State List Widget Custom Fields'),
2988 'bool', // data type
2989 '1', // default
2990 xl('Show the custom state form for the add list widget (will ask for title and abbreviation).')
2993 'country_data_type' => array(
2994 xl('Country Data Type'),
2995 array(
2996 '2' => xl('Text field'),
2997 '1' => xl('Single-selection list'),
2998 '26' => xl('Single-selection list with ability to add to the list'),
3000 '26', // default
3001 xl('Field type to use for employer or subscriber country in demographics.')
3004 'country_list' => array(
3005 xl('Country list'),
3006 'text', // data type
3007 'country', // default
3008 xl('List used by above Country Data Type option.')
3011 'post_to_date_benchmark' => array(
3012 xl('Financial Close Date (yyyy-mm-dd)'),
3013 'text', // data type
3014 date('Y-m-d', time() - (10 * 24 * 60 * 60)), // default
3015 xl('The payments posted cannot go below this date.This ensures that after taking the final report nobody post for previous dates.')
3018 'enable_hylafax' => array(
3019 xl('Enable Hylafax Support'),
3020 'bool', // data type
3021 '0', // default
3022 xl('Enable Hylafax Support')
3025 'hylafax_server' => array(
3026 xl('Hylafax Server'),
3027 'text', // data type
3028 'localhost', // default
3029 xl('Hylafax server hostname.')
3032 'hylafax_basedir' => array(
3033 xl('Hylafax Directory'),
3034 'text', // data type
3035 '/var/spool/hylafax', // default
3036 xl('Location where Hylafax stores faxes.')
3039 'enable_scanner' => array(
3040 xl('Enable Scanner Support'),
3041 'bool', // data type
3042 '0', // default
3043 xl('Enable Scanner Support')
3046 'scanner_output_directory' => array(
3047 xl('Scanner Directory'),
3048 'text', // data type
3049 '/mnt/scan_docs', // default
3050 xl('Location where scans are stored.')
3053 'unique_installation_id' => array(
3054 xl('Unique Installation ID'),
3055 'if_empty_create_random_uuid', // data type
3056 '', // default
3057 xl('Unique installation ID. Creates a random UUID if empty.')
3061 // Portal Tab
3063 'Portal' => array(
3065 'portal_onsite_two_enable' => array(
3066 xl('Enable Patient Portal'),
3067 'bool', // data type
3068 '0',
3069 xl('Enable Patient Portal')
3072 'portal_onsite_two_address' => array(
3073 xl('Patient Portal Site Address'),
3074 'text', // data type
3075 'https://your_web_site.com/openemr/portal',
3076 xl('Website link for the Patient Portal.')
3079 'portal_css_header' => array(
3080 xl('Portal Default Theme'),
3081 array(
3082 'style_light.css' => xl('Light'),
3083 'style_dark.css' => xl('Dark')
3085 'style_light.css',
3086 xl('Pick a default portal theme.')
3089 'portal_force_credential_reset' => array(
3090 xl('Portal Login Forced Credential Reset'),
3091 array(
3092 '0' => xl('Allow (Recommended)'),
3093 '1' => xl('Disable'),
3094 '2' => xl('User optional from credential dialog.')
3096 '0',
3097 xl('Select the credentials create or reset behavior for forcing patient to change password on portal login.') .
3098 xl('User optional persists the options checkbox state in the credential dialog to allow deciding on a patient by patient basis.')
3101 'portal_onsite_two_basepath' => array(
3102 xl('Portal Uses Server Base Path (internal)'),
3103 'bool',
3104 '0',
3105 xl('Use servers protocol and host in urls (portal internal only).')
3108 'enforce_signin_email' => array(
3109 xl('Enforce E-Mail in Portal Log On Dialog'),
3110 'bool', // data type
3111 '1',
3112 xl('Patient is required to enter their contact e-mail if present in Demographics Contact.')
3115 'google_recaptcha_site_key' => array(
3116 xl('Google reCAPTCHA V2 site key'),
3117 'text',
3119 xl('Google reCAPTCHA V2 site key')
3122 'google_recaptcha_secret_key' => array(
3123 xl('Google reCAPTCHA V2 secret key'),
3124 'encrypted',
3126 xl('Google reCAPTCHA V2 secret key')
3129 'portal_primary_menu_logo_height' => [
3130 xl('Primary Menu Logo Height'),
3131 'text',
3132 '30',
3133 xl('The height of the portal logo located on the primary navbar in pixels without a suffix'),
3136 'portal_onsite_two_register' => array(
3137 xl('Allow New Patient Registration Widget') . ' ' . xl('This requires reCAPTCHA to be setup'),
3138 'bool', // data type
3139 '0',
3140 xl('Enable Patient Portal new patient to self register.')
3143 'allow_portal_appointments' => array(
3144 xl('Allow Online Appointments'),
3145 'bool', // data type
3146 '1',
3147 xl('Allow Patient to make and view appointments online.')
3150 'allow_portal_chat' => array(
3151 xl('Allow Online Secure Chat'),
3152 'bool', // data type
3153 '1',
3154 xl('Allow Patient to use Secure Chat Application.')
3157 'portal_two_ledger' => array(
3158 xl('Allow Patient Ledger'),
3159 'bool', // data type
3160 '1',
3161 xl('Allow Patient to view their accounting ledger online.')
3164 'portal_two_payments' => array(
3165 xl('Allow Online Payments'),
3166 'bool', // data type
3167 '0',
3168 xl('Allow Patient to make payments online.')
3171 'portal_two_pass_reset' => array(
3172 xl('Allow Patients to Reset Credentials') . ' ' . xl('This requires reCAPTCHA to be setup'),
3173 'bool', // data type
3174 '0',
3175 xl('Patient may change their logon from portal login dialog.')
3178 'portal_onsite_document_download' => array(
3179 xl('Enable Patient Portal Document Download'),
3180 'bool', // data type
3181 '1',
3182 xl('Enables the ability to download documents in the Patient Portal by the user.')
3186 // Connectors Tab
3188 'Connectors' => array(
3190 'site_addr_oath' => array(
3191 xl('Site Address Override (if needed for OAuth2, FHIR, CCDA, or Payment Processing)'),
3192 'text',
3194 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 .'
3197 'rest_fhir_api' => array(
3198 xl('Enable OpenEMR Standard FHIR REST API'),
3199 'bool',
3200 '0',
3201 xl('Enable OpenEMR Standard FHIR RESTful API.')
3204 'rest_system_scopes_api' => array(
3205 xl('Enable OpenEMR FHIR System Scopes (Turn on only if you know what you are doing)'),
3206 'bool',
3207 '0',
3208 xl('Enable OpenEMR FHIR System Scopes.')
3211 'rest_api' => array(
3212 xl('Enable OpenEMR Standard REST API'),
3213 'bool',
3214 '0',
3215 xl('Enable OpenEMR Standard RESTful API.')
3218 'rest_portal_api' => array(
3219 xl('Enable OpenEMR Patient Portal REST API (EXPERIMENTAL)'),
3220 'bool',
3221 '0',
3222 xl('Enable OpenEMR Patient Portal RESTful API.')
3225 'oauth_password_grant' => array(
3226 xl('Enable OAuth2 Password Grant (Not considered secure)'),
3227 array(
3228 0 => xl('Off (Recommended setting)'),
3229 1 => xl('On for Users Role'),
3230 2 => xl('On for Patient Role'),
3231 3 => xl('On for Both Roles')
3233 '0',
3234 xl('Enable OAuth2 Password Grant. Recommend turning this setting off for production server. Recommend only using for testing.')
3236 'oauth_app_manual_approval' => array(
3237 xl('OAuth2 App Manual Approval Settings'),
3238 array(
3239 0 => xl('Patient standalone apps Auto Approved, EHR-Launch,Provider&System Apps require manual approval')
3240 , 1 => xl('Manually Approve All Apps (USA jurisdictions must approve all patient standalone apps within 48 hours)')
3241 // ,2 => xl('All apps Auto Approved') we could add this setting at a latter date
3243 '0',
3244 xl('Approval settings for 3rd party app/api access')
3246 'oauth_ehr_launch_authorization_flow_skip' => array(
3247 xl('OAuth2 EHR-Launch Authorization Flow Skip Enable App Setting'),
3248 'bool',
3249 '0',
3250 xl('Enable an OAuth2 Client application to be configured to skip the login screen and the scope authorization screen if the user is already logged into the EHR.')
3253 'cc_front_payments' => array(
3254 xl('Accept Credit Card transactions from Front Payments'),
3255 'bool',
3256 '0',
3257 xl('Allow manual entry and authorise credit card payments. Ensure a gateway is enabled.')
3259 'cc_stripe_terminal' => array(
3260 xl('In person payments with Stripe Verifone P400'),
3261 'bool',
3262 '0',
3263 xl('Allow in person credit card payments using Stripe Verifone P400. Ensure Stripe gateway is enabled.')
3265 'payment_gateway' => array(
3266 xl('Select Credit Card Payment Gateway'),
3267 array(
3268 'InHouse' => xl('In House Authorize Payments'),
3269 'AuthorizeNet' => xl('Gateway for AuthorizeNet Manual Payments'),
3270 'Sphere' => xl('Gateway for Sphere Payments'),
3271 'Stripe' => xl('Gateway for Stripe Manual Payments')
3273 'InHouse',
3274 xl('Enable a Payment Gateway Service for processing credit card transactions')
3277 'gateway_mode_production' => array(
3278 xl('Set Gateway to Production Mode'),
3279 'bool', // data type
3280 '0',
3281 xl('Check this to go live. Not checked is testing mode.')
3284 'gateway_public_key' => array(
3285 xl('Gateway Publishable Key'),
3286 'encrypted',
3288 xl('The public access key for secure tokenize of credit or debit card authorization. PCI compliance')
3291 'gateway_api_key' => array(
3292 xl('Gateway API Login Auth Name or Secret'),
3293 'encrypted',
3295 xl('The Auth Name or API key for selected account. Auth Name for Authorize.Net and API Secret for Stripe.')
3298 'gateway_transaction_key' => array(
3299 xl('Gateway Transaction Key'),
3300 'encrypted',
3302 xl('Mainly Authorize.Net uses two keys')
3305 'sphere_clinicfront_trxcustid' => array(
3306 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID'),
3307 'encrypted',
3309 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID')
3312 'sphere_clinicfront_trxcustid_licensekey' => array(
3313 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key'),
3314 'encrypted',
3316 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key')
3319 'sphere_moto_tc_link_pass' => array(
3320 xl('Sphere MOTO TC Link Password'),
3321 'encrypted',
3323 xl('Sphere MOTO TC Link Password')
3326 'sphere_clinicfront_retail_trxcustid' => array(
3327 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID'),
3328 'encrypted',
3330 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID')
3333 'sphere_clinicfront_retail_trxcustid_licensekey' => array(
3334 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key'),
3335 'encrypted',
3337 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key')
3340 'sphere_retail_tc_link_pass' => array(
3341 xl('Sphere RETAIL TC Link Password'),
3342 'encrypted',
3344 xl('Sphere RETAIL TC Link Password')
3347 'sphere_patientfront_trxcustid' => array(
3348 xl('Sphere Patientfront (Ecomm) Transaction CustID'),
3349 'encrypted',
3351 xl('Sphere Patientfront (Ecomm) Transaction CustID')
3354 'sphere_patientfront_trxcustid_licensekey' => array(
3355 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key'),
3356 'encrypted',
3358 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key')
3361 'sphere_ecomm_tc_link_pass' => array(
3362 xl('Sphere Ecomm TC Link Password'),
3363 'encrypted',
3365 xl('Sphere Ecomm TC Link Password')
3368 'sphere_credit_void_confirm_pin' => array(
3369 xl('Sphere Void/Credit Confirmation PIN'),
3370 'encrypted_hash',
3372 xl('Sphere Void/Credit Confirmation Password. OpenEMR confirms pin/password before proceeding with void/credit.')
3375 'medex_enable' => array(
3376 xl('Enable MedEx Communication Service'),
3377 'bool', // data type
3378 '0',
3379 xl('Enable MedEx Communication Service')
3382 'erx_enable' => array(
3383 xl('Enable NewCrop eRx Service'),
3384 'bool',
3385 '0',
3386 xl('Enable NewCrop eRx Service.') . ' ' .
3387 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.')
3390 'erx_newcrop_path' => array(
3391 xl('NewCrop eRx Site Address'),
3392 'text',
3393 'https://secure.newcropaccounts.com/InterfaceV7/RxEntry.aspx',
3394 xl('URL for NewCrop eRx Site Address.')
3397 'erx_newcrop_path_soap' => array(
3398 xl('NewCrop eRx Web Service Address'),
3399 'text',
3400 'https://secure.newcropaccounts.com/v7/WebServices/Update1.asmx?WSDL;https://secure.newcropaccounts.com/v7/WebServices/Patient.asmx?WSDL',
3401 xl('URLs for NewCrop eRx Service Address, separated by a semi-colon.')
3404 'erx_soap_ttl_allergies' => array(
3405 xl('NewCrop eRx SOAP Request Time-To-Live for Allergies'),
3406 'num',
3407 '21600',
3408 xl('Time-To-Live for NewCrop eRx Allergies SOAP Request in seconds.')
3411 'erx_soap_ttl_medications' => array(
3412 xl('NewCrop eRx SOAP Request Time-To-Live for Medications'),
3413 'num',
3414 '21600',
3415 xl('Time-To-Live for NewCrop eRx Medications SOAP Request in seconds.')
3418 'erx_account_partner_name' => array(
3419 xl('NewCrop eRx Partner Name'),
3420 'text',
3422 xl('Partner Name issued for NewCrop eRx service.')
3425 'erx_account_name' => array(
3426 xl('NewCrop eRx Name'),
3427 'text',
3429 xl('Account Name issued for NewCrop eRx service.')
3432 'erx_account_password' => array(
3433 xl('NewCrop eRx Password'),
3434 'encrypted',
3436 xl('Account Password issued for NewCrop eRx service.')
3439 'erx_account_id' => array(
3440 xl('NewCrop eRx Account Id'),
3441 'text',
3442 '1',
3443 xl('Account Id issued for NewCrop eRx service, used to separate multi-facility accounts.')
3446 'erx_upload_active' => array(
3447 xl('Only upload active prescriptions'),
3448 'bool',
3449 '0',
3450 xl('Only upload active prescriptions to NewCrop eRx.')
3453 'erx_import_status_message' => array(
3454 xl('Enable NewCrop eRx import status message'),
3455 'bool',
3456 '0',
3457 xl('Enable import status message after visiting NewCrop eRx.')
3460 'erx_medication_display' => array(
3461 xl('Do not display NewCrop eRx Medications uploaded'),
3462 'bool',
3463 '0',
3464 xl('Do not display Medications uploaded after visiting NewCrop eRx.')
3467 'erx_allergy_display' => array(
3468 xl('Do not display NewCrop eRx Allergy uploaded'),
3469 'bool',
3470 '0',
3471 xl('Do not display Allergies uploaded after visiting NewCrop eRx.')
3474 'erx_default_patient_country' => array(
3475 xl('NewCrop eRx Default Patient Country'),
3476 array(
3477 '' => '',
3478 'US' => xl('USA'),
3479 'CA' => xl('Canada'),
3480 'MX' => xl('Mexico'),
3483 xl('Default Patient Country sent to NewCrop eRx, only if patient country is not set.'),
3486 'erx_debug_setting' => array(
3487 xl('NewCrop eRx Debug Setting'),
3488 array(
3489 0 => xl('None'),
3490 1 => xl('Request Only'),
3491 2 => xl('Response Only'),
3492 3 => xl('Request & Response'),
3494 '0',
3495 xl('Log all NewCrop eRx Requests and / or Responses.'),
3498 'weno_rx_enable' => array(
3499 xl('Enable Weno eRx Service'),
3500 'bool',
3501 '0',
3502 xl('Enable Weno eRx Service') . ' ' . xl('Contact https://online.wenoexchange.com to sign up for Weno Free eRx service.')
3505 'weno_rx_enable_test' => array(
3506 xl('Enable Weno eRx Service Test mode'),
3507 'bool',
3508 '1',
3509 xl('Enable Weno eRx Service Test mode')
3512 'weno_encryption_key' => array(
3513 xl('Weno Encryption Key'),
3514 'encrypted', // data type
3516 xl('Encryption key issued by Weno eRx service.')
3519 'weno_provider_password' => array(
3520 xl('Weno Provider Account Password'),
3521 'encrypted', // data type
3523 xl('Each provider needs to set this under user settings. This should be blank')
3526 'ccda_alt_service_enable' => array(
3527 xl('Enable C-CDA Service'),
3528 array(
3529 0 => xl('Off'),
3530 1 => xl('Care Coordination Only'),
3531 2 => xl('Portal Only'),
3532 3 => xl('Both'),
3534 '0',
3535 xl('Enable C-CDA Service')
3538 'phimail_enable' => array(
3539 xl('Enable phiMail Direct Messaging Service'),
3540 'bool', // data type
3541 '0',
3542 xl('Enable phiMail Direct Messaging Service')
3544 'phimail_testmode_disabled' => array(
3545 xl('Disable phiMail Test Mode'),
3546 'bool', // data type
3547 '0',
3548 xl('When you are ready to run phiMail in production mode. Turn on this flag.')
3550 'phimail_verifyrecipientreceived_enable' => array(
3551 xl("phiMail default force message receipt confirmation to on"),
3552 'bool',
3553 '0',
3554 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")
3557 'phimail_server_address' => array(
3558 xl('phiMail Server Address'),
3559 'text', // data type
3560 'https://phimail.example.com:32541',
3561 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3564 'phimail_username' => array(
3565 xl('phiMail Username'),
3566 'text', // data type
3568 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3571 'phimail_password' => array(
3572 xl('phiMail Password'),
3573 'encrypted', // data type
3575 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3578 'phimail_notify' => array(
3579 xl('phiMail notification user'),
3580 'text', // data type
3581 'admin',
3582 xl('This user will receive notification of new incoming Direct messages')
3585 'phimail_interval' => array(
3586 xl('phiMail Message Check Interval (minutes)'),
3587 'num', // data type
3588 '5',
3589 xl('Interval between message checks (set to zero for manual checks only)')
3592 'phimail_ccd_enable' => array(
3593 xl('phiMail Allow CCD Send'),
3594 'bool', // data type
3595 '0',
3596 xl('phiMail Allow CCD Send')
3599 'phimail_ccr_enable' => array(
3600 xl('phiMail Allow CCR Send'),
3601 'bool', // data type
3602 '0',
3603 xl('phiMail Allow CCR Send')
3606 'easipro_enable' => array(
3607 xl('Enable Easipro'),
3608 'bool', // data type
3609 '0',
3610 xl('Enable Easipro. For licensing options for this feature, please contact') . ' api@assessmentcenter.net'
3613 'easipro_server' => array(
3614 xl('Easipro Server'),
3615 'text', // data type
3617 xl('Easipro Server')
3620 'easipro_name' => array(
3621 xl('Easipro Server Username'),
3622 'text', // data type
3624 xl('Easipro Server Username')
3627 'easipro_pass' => array(
3628 xl('Easipro Server Password'),
3629 'encrypted', // data type
3631 xl('Easipro Server Password')
3634 'usps_webtools_enable' => array(
3635 xl('Enable USPS Web Tools API'),
3636 'bool', // data type
3637 '0',
3638 xl('Enable USPS Web Tools API')
3641 'usps_webtools_username' => array(
3642 xl('USPS Web Tools API Username'),
3643 'text', // data type
3645 xl('USPS Web Tools API Username')
3648 'ccda_validation_disable' => array(
3649 xl('Disable All import CDA Validation Reporting'),
3650 'bool', // data type
3651 '0',
3652 xl('Disable All CDA conformance and validation services to improve import performance')
3655 'mdht_conformance_server_enable' => array(
3656 xl('Use MDHT External Validation Service'),
3657 'bool', // data type
3658 '0',
3659 xl('Enable CCDA conformance and validation API service')
3662 'mdht_conformance_server' => array(
3663 xl('CCDA MDHT Validation API Server Address'),
3664 'text', // data type
3666 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.')
3670 'Rx' => array(
3671 'rx_enable_DEA' => array(
3672 xl('Rx Enable DEA #'),
3673 'bool', // data type
3674 '1',
3675 xl('Rx Enable DEA #')
3677 'rx_show_DEA' => array(
3678 xl('Rx Show DEA #'),
3679 'bool', // data type
3680 '0',
3681 xl('Rx Show DEA #')
3683 'rx_enable_NPI' => array(
3684 xl('Rx Enable NPI'),
3685 'bool', // data type
3686 '0',
3687 xl('Rx Enable NPI')
3689 'rx_show_NPI' => array(
3690 xl('Rx Show NPI'),
3691 'bool', // data type
3692 '0',
3693 xl('Rx Show NPI')
3695 'rx_enable_SLN' => array(
3696 xl('Rx Enable State Lic. #'),
3697 'bool', // data type
3698 '0',
3699 xl('Rx Enable State Lic. #')
3701 'rx_show_SLN' => array(
3702 xl('Rx Show State Lic. #'),
3703 'bool', // data type
3704 '0',
3705 xl('Rx Show State Lic. #')
3707 'rx_show_drug_drug' => array(
3708 xl('Rx NLM Drug-Drug'),
3709 'bool', // data type
3710 '0',
3711 xl('Rx NLM Drug-Drug')
3713 'rx_paper_size' => array(
3714 xl('Rx Paper Size'), // descriptive name
3715 array(
3716 'LETTER' => xl('Letter Paper Size'),
3717 'LEGAL' => xl('Legal Paper Size'),
3718 'FOLIO' => xl('Folio Paper Size'),
3719 'EXECUTIVE' => xl('Executive Paper Size'),
3720 '4A0' => ('4A0' . " " . xl('Paper Size')),
3721 '2A0' => ('2A0' . " " . xl('Paper Size')),
3722 'A0' => ('A0' . " " . xl('Paper Size')),
3723 'A1' => ('A1' . " " . xl('Paper Size')),
3724 'A2' => ('A2' . " " . xl('Paper Size')),
3725 'A3' => ('A3' . " " . xl('Paper Size')),
3726 'A4' => ('A4' . " " . xl('Paper Size')),
3727 'A5' => ('A5' . " " . xl('Paper Size')),
3728 'A6' => ('A6' . " " . xl('Paper Size')),
3729 'A7' => ('A7' . " " . xl('Paper Size')),
3730 'A8' => ('A8' . " " . xl('Paper Size')),
3731 'A9' => ('A9' . " " . xl('Paper Size')),
3732 'A10' => ('A10' . " " . xl('Paper Size')),
3733 'B0' => ('B0' . " " . xl('Paper Size')),
3734 'B1' => ('B1' . " " . xl('Paper Size')),
3735 'B2' => ('B2' . " " . xl('Paper Size')),
3736 'B3' => ('B3' . " " . xl('Paper Size')),
3737 'B4' => ('B4' . " " . xl('Paper Size')),
3738 'B5' => ('B5' . " " . xl('Paper Size')),
3739 'B6' => ('B6' . " " . xl('Paper Size')),
3740 'B7' => ('B7' . " " . xl('Paper Size')),
3741 'B8' => ('B8' . " " . xl('Paper Size')),
3742 'B9' => ('B9' . " " . xl('Paper Size')),
3743 'B10' => ('B10' . " " . xl('Paper Size')),
3744 'C0' => ('C0' . " " . xl('Paper Size')),
3745 'C1' => ('C1' . " " . xl('Paper Size')),
3746 'C2' => ('C2' . " " . xl('Paper Size')),
3747 'C3' => ('C3' . " " . xl('Paper Size')),
3748 'C4' => ('C4' . " " . xl('Paper Size')),
3749 'C5' => ('C5' . " " . xl('Paper Size')),
3750 'C6' => ('C6' . " " . xl('Paper Size')),
3751 'C7' => ('C7' . " " . xl('Paper Size')),
3752 'C8' => ('C8' . " " . xl('Paper Size')),
3753 'C9' => ('C9' . " " . xl('Paper Size')),
3754 'C10' => ('C10' . " " . xl('Paper Size')),
3755 'RA0' => ('RA0' . " " . xl('Paper Size')),
3756 'RA1' => ('RA1' . " " . xl('Paper Size')),
3757 'RA2' => ('RA2' . " " . xl('Paper Size')),
3758 'RA3' => ('RA3' . " " . xl('Paper Size')),
3759 'RA4' => ('RA4' . " " . xl('Paper Size')),
3760 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
3761 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
3762 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
3763 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
3764 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
3766 'LETTER', // default = tree menu
3767 xl('Rx Paper Size')
3769 'rx_left_margin' => array(
3770 xl('Rx Left Margin (px)'),
3771 'num',
3772 '30',
3773 xl('Rx Left Margin (px)')
3775 'rx_right_margin' => array(
3776 xl('Rx Right Margin (px)'),
3777 'num',
3778 '30',
3779 xl('Rx Right Margin (px)')
3781 'rx_top_margin' => array(
3782 xl('Rx Top Margin (px)'),
3783 'num',
3784 '72',
3785 xl('Rx Top Margin (px)')
3787 'rx_bottom_margin' => array(
3788 xl('Rx Bottom Margin (px)'),
3789 'num',
3790 '30',
3791 xl('Rx Bottom Margin (px)')
3793 'rx_use_fax_template' => array(
3794 xl('Show button for download fax template'),
3795 'bool', // data type
3796 '1', // default = true
3797 xl('Show button in the prescription list for download fax template')
3799 'rx_zend_html_template' => array(
3800 xl('Rx html print - zend module'),
3801 'bool', // data type
3802 '0', // default = false
3803 xl('Use an html template from zend module')
3805 'rx_zend_html_action' => array(
3806 xl('Name of zend template for html print'),
3807 'text', // data type
3808 'default',
3809 xl('Name of zend template for html print, possible to add custom template in the PrescriptionTemplate module')
3811 'rx_zend_pdf_template' => array(
3812 xl('Rx pdf - zend template'),
3813 'bool', // data type
3814 '0', // default = false
3815 xl('Use a pdf template from zend module')
3817 'rx_zend_pdf_action' => array(
3818 xl('Name of zend template for pdf export'),
3819 'text', // data type
3820 'default',
3821 xl('Name of zend template for pdf export, possible to add custom template in the PrescriptionTemplate module')
3824 'PDF' => array(
3825 'pdf_layout' => array(
3826 xl('Layout'),
3827 array(
3828 'P' => xl('Portrait'),
3829 'L' => xl('Landscape')
3831 'P', //defaut
3832 xl("Choose Layout Direction"),
3834 'pdf_language' => array(
3835 xl('PDF Language'),
3836 array(
3837 'aa' => xl('Afar'),
3838 'af' => xl('Afrikaans'),
3839 'ak' => xl('Akan'),
3840 'sq' => xl('Albanian'),
3841 'am' => xl('Amharic'),
3842 'ar' => xl('Arabic'),
3843 'an' => xl('Aragonese'),
3844 'hy' => xl('Armenian'),
3845 'as' => xl('Assamese'),
3846 'av' => xl('Avaric'),
3847 'ae' => xl('Avestan'),
3848 'ay' => xl('Aymara'),
3849 'az' => xl('Azerbaijani'),
3850 'bm' => xl('Bambara'),
3851 'ba' => xl('Bashkir'),
3852 'eu' => xl('Basque'),
3853 'be' => xl('Belarusian'),
3854 'bn' => xl('Bengali- Bangla'),
3855 'bh' => xl('Bihari'),
3856 'bi' => xl('Bislama'),
3857 'bs' => xl('Bosnian'),
3858 'br' => xl('Breton'),
3859 'bg' => xl('Bulgarian'),
3860 'my' => xl('Burmese'),
3861 'ca' => xl('Catalan- Valencian'),
3862 'ch' => xl('Chamorro'),
3863 'ce' => xl('Chechen'),
3864 'ny' => xl('Chichewa- Chewa- Nyanja'),
3865 'zh' => xl('Chinese'),
3866 'cv' => xl('Chuvash'),
3867 'kw' => xl('Cornish'),
3868 'co' => xl('Corsican'),
3869 'cr' => xl('Cree'),
3870 'hr' => xl('Croatian'),
3871 'cs' => xl('Czech'),
3872 'da' => xl('Danish'),
3873 'dv' => xl('Divehi- Dhivehi- Maldivian-'),
3874 'nl' => xl('Dutch'),
3875 'dz' => xl('Dzongkha'),
3876 'en' => xl('English'),
3877 'eo' => xl('Esperanto'),
3878 'et' => xl('Estonian'),
3879 'ee' => xl('Ewe'),
3880 'fo' => xl('Faroese'),
3881 'fj' => xl('Fijian'),
3882 'fi' => xl('Finnish'),
3883 'fr' => xl('French'),
3884 'ff' => xl('Fula- Fulah- Pulaar- Pular'),
3885 'gl' => xl('Galician'),
3886 'ka' => xl('Georgian'),
3887 'de' => xl('German'),
3888 'el' => xl('Greek, Modern'),
3889 'gn' => xl('Guarani'),
3890 'gu' => xl('Gujarati'),
3891 'ht' => xl('Haitian- Haitian Creole'),
3892 'ha' => xl('Hausa'),
3893 'he' => xl('Hebrew (modern)'),
3894 'hz' => xl('Herero'),
3895 'hi' => xl('Hindi'),
3896 'ho' => xl('Hiri Motu'),
3897 'hu' => xl('Hungarian'),
3898 'ia' => xl('Interlingua'),
3899 'id' => xl('Indonesian'),
3900 'ie' => xl('Interlingue'),
3901 'ga' => xl('Irish'),
3902 'ig' => xl('Igbo'),
3903 'ik' => xl('Inupiaq'),
3904 'io' => xl('Ido'),
3905 'is' => xl('Icelandic'),
3906 'it' => xl('Italian'),
3907 'iu' => xl('Inuktitut'),
3908 'ja' => xl('Japanese'),
3909 'jv' => xl('Javanese'),
3910 'kl' => xl('Kalaallisut, Greenlandic'),
3911 'kn' => xl('Kannada'),
3912 'kr' => xl('Kanuri'),
3913 'ks' => xl('Kashmiri'),
3914 'kk' => xl('Kazakh'),
3915 'km' => xl('Khmer'),
3916 'ki' => xl('Kikuyu, Gikuyu'),
3917 'rw' => xl('Kinyarwanda'),
3918 'ky' => xl('Kyrgyz'),
3919 'kv' => xl('Komi'),
3920 'kg' => xl('Kongo'),
3921 'ko' => xl('Korean'),
3922 'ku' => xl('Kurdish'),
3923 'kj' => xl('Kwanyama, Kuanyama'),
3924 'la' => xl('Latin'),
3925 'lb' => xl('Luxembourgish, Letzeburgesch'),
3926 'lg' => xl('Ganda'),
3927 'li' => xl('Limburgish, Limburgan, Limburger'),
3928 'ln' => xl('Lingala'),
3929 'lo' => xl('Lao'),
3930 'lt' => xl('Lithuanian'),
3931 'lu' => xl('Luba-Katanga'),
3932 'lv' => xl('Latvian'),
3933 'gv' => xl('Manx'),
3934 'mk' => xl('Macedonian'),
3935 'mg' => xl('Malagasy'),
3936 'ms' => xl('Malay'),
3937 'ml' => xl('Malayalam'),
3938 'mt' => xl('Maltese'),
3939 'mi' => xl('Maori'),
3940 'mr' => xl('Marathi (Marathi)'),
3941 'mh' => xl('Marshallese'),
3942 'mn' => xl('Mongolian'),
3943 'na' => xl('Nauru'),
3944 'nv' => xl('Navajo, Navaho'),
3945 'nb' => xl('Norwegian Bokmal'),
3946 'nd' => xl('North Ndebele'),
3947 'ne' => xl('Nepali'),
3948 'ng' => xl('Ndonga'),
3949 'nn' => xl('Norwegian Nynorsk'),
3950 'no' => xl('Norwegian'),
3951 'ii' => xl('Nuosu'),
3952 'nr' => xl('South Ndebele'),
3953 'oc' => xl('Occitan'),
3954 'oj' => xl('Ojibwe, Ojibwa'),
3955 'cu' => xl('Old Church Slavonic, Church Slavonic, Old Bulgarian'),
3956 'om' => xl('Oromo'),
3957 'or' => xl('Oriya'),
3958 'os' => xl('Ossetian, Ossetic'),
3959 'pa' => xl('Panjabi, Punjabi'),
3960 'pi' => xl('Pali'),
3961 'fa' => xl('Persian (Farsi)'),
3962 'pl' => xl('Polish'),
3963 'ps' => xl('Pashto, Pushto'),
3964 'pt' => xl('Portuguese'),
3965 'qu' => xl('Quechua'),
3966 'rm' => xl('Romansh'),
3967 'rn' => xl('Kirundi'),
3968 'ro' => xl('Romanian'),
3969 'ru' => xl('Russian'),
3970 'sa' => xl('Sanskrit (Samskrta)'),
3971 'sc' => xl('Sardinian'),
3972 'sd' => xl('Sindhi'),
3973 'se' => xl('Northern Sami'),
3974 'sm' => xl('Samoan'),
3975 'sg' => xl('Sango'),
3976 'sr' => xl('Serbian'),
3977 'gd' => xl('Scottish Gaelic- Gaelic'),
3978 'sn' => xl('Shona'),
3979 'si' => xl('Sinhala, Sinhalese'),
3980 'sk' => xl('Slovak'),
3981 'sl' => xl('Slovene'),
3982 'so' => xl('Somali'),
3983 'st' => xl('Southern Sotho'),
3984 'es' => xl('Spanish- Castilian'),
3985 'su' => xl('Sundanese'),
3986 'sw' => xl('Swahili'),
3987 'ss' => xl('Swati'),
3988 'sv' => xl('Swedish'),
3989 'ta' => xl('Tamil'),
3990 'te' => xl('Telugu'),
3991 'tg' => xl('Tajik'),
3992 'th' => xl('Thai'),
3993 'ti' => xl('Tigrinya'),
3994 'bo' => xl('Tibetan Standard, Tibetan, Central'),
3995 'tk' => xl('Turkmen'),
3996 'tl' => xl('Tagalog'),
3997 'tn' => xl('Tswana'),
3998 'to' => xl('Tonga (Tonga Islands)'),
3999 'tr' => xl('Turkish'),
4000 'ts' => xl('Tsonga'),
4001 'tt' => xl('Tatar'),
4002 'tw' => xl('Twi'),
4003 'ty' => xl('Tahitian'),
4004 'ug' => xl('Uyghur, Uighur'),
4005 'uk' => xl('Ukrainian'),
4006 'ur' => xl('Urdu'),
4007 'uz' => xl('Uzbek'),
4008 've' => xl('Venda'),
4009 'vi' => xl('Vietnamese'),
4010 'vo' => xl('Volapuk'),
4011 'wa' => xl('Walloon'),
4012 'cy' => xl('Welsh'),
4013 'wo' => xl('Wolof'),
4014 'fy' => xl('Western Frisian'),
4015 'xh' => xl('Xhosa'),
4016 'yi' => xl('Yiddish'),
4017 'yo' => xl('Yoruba'),
4018 'za' => xl('Zhuang, Chuang'),
4019 'zu' => xl('Zulu'),
4021 'en', // default English
4022 xl('Choose PDF languange Preference'),
4024 'pdf_size' => array(
4025 xl('Paper Size'), // Descriptive Name
4026 array(
4027 'LETTER' => xl('Letter Paper Size'),
4028 'LEGAL' => xl('Legal Paper Size'),
4029 'FOLIO' => xl('Folio Paper Size'),
4030 'EXECUTIVE' => xl('Executive Paper Size'),
4031 '4A0' => ('4A0' . " " . xl('Paper Size')),
4032 '2A0' => ('2A0' . " " . xl('Paper Size')),
4033 'A0' => ('A0' . " " . xl('Paper Size')),
4034 'A1' => ('A1' . " " . xl('Paper Size')),
4035 'A2' => ('A2' . " " . xl('Paper Size')),
4036 'A3' => ('A3' . " " . xl('Paper Size')),
4037 'A4' => ('A4' . " " . xl('Paper Size')),
4038 'A5' => ('A5' . " " . xl('Paper Size')),
4039 'A6' => ('A6' . " " . xl('Paper Size')),
4040 'A7' => ('A7' . " " . xl('Paper Size')),
4041 'A8' => ('A8' . " " . xl('Paper Size')),
4042 'A9' => ('A9' . " " . xl('Paper Size')),
4043 'A10' => ('A10' . " " . xl('Paper Size')),
4044 'B0' => ('B0' . " " . xl('Paper Size')),
4045 'B1' => ('B1' . " " . xl('Paper Size')),
4046 'B2' => ('B2' . " " . xl('Paper Size')),
4047 'B3' => ('B3' . " " . xl('Paper Size')),
4048 'B4' => ('B4' . " " . xl('Paper Size')),
4049 'B5' => ('B5' . " " . xl('Paper Size')),
4050 'B6' => ('B6' . " " . xl('Paper Size')),
4051 'B7' => ('B7' . " " . xl('Paper Size')),
4052 'B8' => ('B8' . " " . xl('Paper Size')),
4053 'B9' => ('B9' . " " . xl('Paper Size')),
4054 'B10' => ('B10' . " " . xl('Paper Size')),
4055 'C0' => ('C0' . " " . xl('Paper Size')),
4056 'C1' => ('C1' . " " . xl('Paper Size')),
4057 'C2' => ('C2' . " " . xl('Paper Size')),
4058 'C3' => ('C3' . " " . xl('Paper Size')),
4059 'C4' => ('C4' . " " . xl('Paper Size')),
4060 'C5' => ('C5' . " " . xl('Paper Size')),
4061 'C6' => ('C6' . " " . xl('Paper Size')),
4062 'C7' => ('C7' . " " . xl('Paper Size')),
4063 'C8' => ('C8' . " " . xl('Paper Size')),
4064 'C9' => ('C9' . " " . xl('Paper Size')),
4065 'C10' => ('C10' . " " . xl('Paper Size')),
4066 'RA0' => ('RA0' . " " . xl('Paper Size')),
4067 'RA1' => ('RA1' . " " . xl('Paper Size')),
4068 'RA2' => ('RA2' . " " . xl('Paper Size')),
4069 'RA3' => ('RA3' . " " . xl('Paper Size')),
4070 'RA4' => ('RA4' . " " . xl('Paper Size')),
4071 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
4072 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
4073 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
4074 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
4075 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
4077 'LETTER',
4078 xl('Choose Paper Size')
4080 'pdf_left_margin' => array(
4081 xl('Left Margin (mm)'),
4082 'num',
4083 '5',
4084 xl('Left Margin (mm)')
4086 'pdf_right_margin' => array(
4087 xl('Right Margin (mm)'),
4088 'num',
4089 '5',
4090 xl('Right Margin (mm)')
4092 'pdf_top_margin' => array(
4093 xl('Top Margin (mm)'),
4094 'num',
4095 '5',
4096 xl('Top Margin (mm)')
4098 'pdf_bottom_margin' => array(
4099 xl('Bottom Margin (px)'),
4100 'num',
4101 '8',
4102 xl('Bottom Margin (px)')
4104 'pdf_output' => array(
4105 xl('Output Type'),
4106 array(
4107 'D' => xl('Download'),
4108 'I' => xl('Inline')
4110 'D', //defaut
4111 xl("Choose Download or Display Inline"),
4114 'chart_label_type' => array(
4115 xl('Patient Label Type'),
4116 array(
4117 '0' => xl('None'),
4118 '1' => '5160',
4119 '2' => '5161',
4120 '3' => '5162'
4122 '1', // default
4123 xl('Avery Label type for printing patient labels from popups in left nav screen'),
4126 'barcode_label_type' => array(
4127 xl('Barcode Label Type'),
4128 array(
4129 '0' => xl('None'),
4130 '1' => 'std25',
4131 '2' => 'int25',
4132 '3' => 'ean8',
4133 '4' => 'ean13',
4134 '5' => 'upc',
4135 '6' => 'code11',
4136 '7' => 'code39',
4137 '8' => 'code93',
4138 '9' => 'code128',
4139 '10' => 'codabar',
4140 '11' => 'msi',
4141 '12' => 'datamatrix'
4143 '9', // default = None
4144 xl('Barcode type for printing barcode labels from popups in left nav screen.')
4147 'addr_label_type' => array(
4148 xl('Print Patient Address Label'),
4149 'bool', // data type
4150 '1', // default = false
4151 xl('Select to print patient address labels from popups in left nav screen.')
4154 'env_x_width' => array(
4155 xl('Envelope Width in mm'),
4156 'num', // data type
4157 '104.775',
4158 xl('In Portrait mode, determines the width of the envelope along the x-axis in mm')
4161 'env_y_height' => array(
4162 xl('Envelope Height in mm'),
4163 'num', // data type
4164 '241.3',
4165 xl('In Portrait mode, determines the height of the envelope along the y-axis in mm')
4168 'env_font_size' => array(
4169 xl('Font Size in Pt'),
4170 'num', // data type
4171 '14',
4172 xl('Sets the font of the address text on the envelope in mm')
4175 'env_x_dist' => array(
4176 xl('Envelope x-axis starting pt'),
4177 'num', // data type
4178 '65',
4179 xl('Distance from the \'top\' of the envelope in mm')
4182 'env_y_dist' => array(
4183 xl('Envelope y-axis starting pt'),
4184 'num', // data type
4185 '220',
4186 xl('Distance from the right most edge of the envelope in portrait position in mm')
4191 'Patient Banner Bar' => [
4192 'patient_name_display' => [
4193 xl('Patient Name Display'),
4195 'btn' => xl('As Button'),
4196 'text' => xl('As Text Link'),
4197 'text-large' => xl('As Large Text Link'),
4199 'text-large',
4200 xl('How to display the patient name'),
4204 'Encounter Form' => [
4205 'default_chief_complaint' => array(
4206 xl('Default Reason for Visit'),
4207 'text', // data type
4209 xl('You may put text here as the default complaint in the New Patient Encounter form.')
4212 'default_visit_category' => [
4213 xl('Default Visit Category'),
4214 'default_visit_category',
4215 '_blank',
4216 xl('Define a default visit category'),
4219 'enable_follow_up_encounters' => [
4220 xl('Enable follow-up encounters'),
4221 'bool',
4222 '0',
4223 xl('Enable follow-up encounters feature')
4226 'gbl_visit_referral_source' => array(
4227 xl('Referral Source for Encounters'),
4228 'bool', // data type
4229 '0', // default = false
4230 xl('A referral source may be specified for each visit.')
4233 'gbl_visit_onset_date' => array(
4234 xl('Onset/Hosp Date for Encounters'),
4235 'bool', // data type
4236 '1', // default = true
4237 xl('An onset/hospitalization date may be specified for each visit.')
4240 'set_pos_code_encounter' => [
4241 xl('Set POS code in Encounter'),
4242 'bool', // data type
4243 '0', // default = false
4244 xl('This feature will allow the default POS facility code to be overridden from the encounter.')
4247 'set_service_facility_encounter' => array(
4248 xl('Set Service Facility in Encounter'),
4249 'bool', // data type
4250 '0', // default = false
4251 xl('This feature will allow the default service facility to be selected by the care team facility in Choices.')
4254 'enc_service_date' => [
4255 xl('Show Date of Service on Encounter Form'),
4256 getDefaultRenderListOptions(),
4257 RenderFormFieldHelper::SHOW_ALL,
4258 xl('How to display the Date of Service on the Encounter form. Defaults to the current time on a new form'),
4261 'enc_sensitivity_visibility' => [
4262 xl('Show Sensitivity on Encounter Form'),
4263 getDefaultRenderListOptions(),
4264 RenderFormFieldHelper::SHOW_ALL,
4265 xl('How to display the sensitivity option'),
4268 'enc_in_collection' => [
4269 xl('Show In Collection on Encounter Form'),
4270 getDefaultRenderListOptions(),
4271 RenderFormFieldHelper::SHOW_ALL,
4272 xl("How to display the 'In Collection' option. May be overriden by Hide Billing Widget setting"),
4275 'enc_enable_issues' => [
4276 xl('Allow Linking/Adding Issues on Encounter'),
4277 getDefaultRenderListOptions(),
4278 RenderFormFieldHelper::SHOW_ALL,
4279 xl('Allow issues to be linked or added to an encounter'),
4282 'enc_enable_referring_provider' => [
4283 xl('Show Referring Provider option on Encounters'),
4284 getDefaultRenderListOptions(),
4285 RenderFormFieldHelper::SHOW_ALL,
4286 xl('Display the Referring Provider option on Encounters'),
4289 'enc_enable_facility' => [
4290 xl('Show Facility option on Encounters'),
4291 getDefaultRenderListOptions(),
4292 RenderFormFieldHelper::SHOW_ALL,
4293 xl('Display the Referring Provider option on Encounters'),
4296 'enc_enable_discharge_disposition' => [
4297 xl('Show Discharge Disposition option on Encounters'),
4298 getDefaultRenderListOptions(),
4299 RenderFormFieldHelper::SHOW_ALL,
4300 xl('Display the Discharge Disposition option on the Encounter form'),
4303 'enc_enable_visit_category' => [
4304 xl('Show Visit Category option on Encounters'),
4305 getDefaultRenderListOptions(),
4306 RenderFormFieldHelper::SHOW_ALL,
4307 xl('Show Visit Category option on Encounters'),
4310 'enc_enable_class' => [
4311 xl('Show Encounter Class option on Encounters'),
4312 getDefaultRenderListOptions(),
4313 RenderFormFieldHelper::SHOW_ALL,
4314 xl('Show Encounter Class option on Encounters'),
4317 'enc_enable_type' => [
4318 xl('Show Encounter Type option on Encounters'),
4319 getDefaultRenderListOptions(),
4320 RenderFormFieldHelper::SHOW_ALL,
4321 xl('Show Encounter Class option on Encounters'),
4327 if (!empty($GLOBALS['ippf_specific'])) {
4328 $GLOBALS['GLOBALS_METADATA']['IPPF Menu'] = array(
4330 'gbl_menu_stats_ippf' => array(
4331 xl('IPPF Statistics Reporting'),
4332 'bool', // data type
4333 '1', // default
4334 xl('IPPF statistical reports.')
4337 'gbl_menu_stats_gcac' => array(
4338 xl('GCAC Statistics Reporting'),
4339 'bool', // data type
4340 '0', // default
4341 xl('GCAC statistical reports.')
4344 'gbl_menu_stats_ma' => array(
4345 xl('MA Statistics Reporting'),
4346 'bool', // data type
4347 '1', // default
4348 xl('MA statistical reports.')
4351 'gbl_menu_stats_cyp' => array(
4352 xl('CYP Statistics Reporting'),
4353 'bool', // data type
4354 '1', // default
4355 xl('CYP statistical reports.')
4358 'gbl_menu_stats_daily' => array(
4359 xl('Daily Statistics Reporting'),
4360 'bool', // data type
4361 '0', // default
4362 xl('Daily statistical reports.')
4365 'gbl_menu_stats_c3' => array(
4366 xl('C3 Statistics Reporting'),
4367 'bool', // data type
4368 '0', // default
4369 xl('C3 statistical reports.')
4372 'gbl_menu_stats_cc' => array(
4373 xl('Cervical Cancer Reporting'),
4374 'bool', // data type
4375 '0', // default
4376 xl('Cervical cancer statistical reports.')
4379 'gbl_menu_stats_sinadi' => array(
4380 xl('SINADI Report'),
4381 'bool', // data type
4382 '0', // default
4383 xl('Uruguay SINADI statistical report.')
4386 'gbl_menu_visits_by_item' => array(
4387 xl('Visits by Item Report'),
4388 'bool', // data type
4389 '0', // default
4390 xl('Visits by Item Report')
4393 'gbl_menu_acct_trans' => array(
4394 xl('Accounting Transactions Export'),
4395 'bool', // data type
4396 '0', // default
4397 xl('Accounting transactions export to CSV')
4400 'gbl_menu_projects' => array(
4401 xl('Restricted Projects Reporting'),
4402 'bool', // data type
4403 '0', // default
4404 xl('For IPPF Belize and maybe others')
4407 'gbl_menu_surinam_insurance' => array(
4408 xl('LOBI Insurers Report'),
4409 'bool', // data type
4410 '0', // default
4411 xl('For IPPF Suriname and maybe others')
4414 'gbl_menu_netsuite' => array(
4415 xl('NetSuite Reports'),
4416 'bool', // data type
4417 '0', // default
4418 xl('For NetSuite financial integration')
4421 'gbl_menu_ive_clients' => array(
4422 xl('IVE Client List'),
4423 'bool', // data type
4424 '0', // default
4425 xl('Client List of IVE Activity')
4428 'gbl_menu_shifts' => array(
4429 xl('Shifts Reporting'),
4430 'bool', // data type
4431 '0', // default
4432 xl('For IPPF Argentina and maybe others')
4435 'gbl_menu_service_and_client_volume' => array(
4436 xl('Service and Client Volume Report'),
4437 'bool', // data type
4438 '1', // default
4439 xl('Service and Client Volume Report')
4443 $GLOBALS['GLOBALS_METADATA']['IPPF Features'] = array(
4445 'gbl_rapid_workflow' => array(
4446 xl('Rapid Workflow Option'),
4447 array(
4448 '0' => xl('None'),
4449 'LBFmsivd' => xl('MSI (requires LBFmsivd form)'),
4450 'fee_sheet' => xl('Fee Sheet and Checkout'),
4452 '0', // default
4453 xl('Activates custom work flow logic')
4456 'gbl_new_acceptor_policy' => array(
4457 xl('New Acceptor Policy'),
4458 array(
4459 '0' => xl('Not applicable'),
4460 '1' => xl('Simplified; Contraceptive Start Date on Tally Sheet'),
4461 '3' => xl('Contraception Form; Acceptors New to Modern Contraception'),
4463 '1', // default
4464 xl('Applicable only for family planning clinics')
4467 'gbl_min_max_months' => array(
4468 xl('Min/Max Inventory as Months'),
4469 'bool', // data type
4470 '1', // default = true
4471 xl('Min/max inventory is expressed as months of supply instead of units')
4474 'gbl_restrict_provider_facility' => array(
4475 xl('Restrict Providers by Facility'),
4476 'bool', // data type
4477 '0', // default
4478 xl('Limit service provider selection according to the facility of the logged-in user.')
4481 'gbl_checkout_line_adjustments' => array(
4482 xl('Adjustments at Checkout'),
4483 array(
4484 '0' => xl('Invoice Level Only'),
4485 '1' => xl('Line Items Only'),
4486 '2' => xl('Invoice and Line Levels'),
4488 '1', // default = line items only
4489 xl('Discounts at checkout time may be entered per invoice or per line item or both.')
4492 'gbl_checkout_charges' => array(
4493 xl('Unit Price in Checkout and Receipt'),
4494 'bool', // data type
4495 '0', // default = false
4496 xl('Include line item unit price amounts in checkout and receipts.')
4499 'gbl_charge_categories' => array(
4500 xl('Customers in Checkout and Receipt'),
4501 'bool', // data type
4502 '0', // default = false
4503 xl('Include Customers in checkout and receipts. See the Customers list.')
4506 'gbl_auto_create_rx' => array(
4507 xl('Automatically Create Prescriptions'),
4508 'bool', // data type
4509 '0', // default = false
4510 xl('Prescriptions may be created from the Fee Sheet.')
4513 'gbl_checkout_receipt_note' => array(
4514 xl('Checkout Receipt Note'),
4515 'text', // data type
4517 xl('This note goes on the bottom of every checkout receipt.')
4520 'gbl_custom_receipt' => array(
4521 xl('Custom Checkout Receipt'),
4522 array(
4523 '0' => xl('None'),
4524 'checkout_receipt_general.inc.php' => xl('POS Printer'),
4525 'checkout_receipt_panama.inc.php' => xl('Panama'),
4527 '0', // default
4528 xl('Present an additional PDF custom receipt after checkout.')
4531 'gbl_ma_ippf_code_restriction' => array(
4532 xl('Allow More than one MA/IPPF code mapping'),
4533 'bool', // data type
4534 '0', // default = false
4535 xl('Disable the restriction of only one IPPF code per MA code in superbill')
4538 'gbl_uruguay_asse_url' => array(
4539 xl('Uruguay ASSE URL'),
4540 'text', // data type
4542 xl('URL of ASSE SOAP server. Must be blank if not a Uruguay site. Enter "test" for dummy data.')
4545 'gbl_uruguay_asse_token' => array(
4546 xl('Uruguay ASSE Token'),
4547 'text', // data type
4549 xl('Token for connection to ASSE SOAP server')
4552 } // end if ippf_specific
4554 if (empty($skipGlobalEvent)) {
4555 $globalsInitEvent = new GlobalsInitializedEvent(new GlobalsService($GLOBALS_METADATA, $USER_SPECIFIC_GLOBALS, $USER_SPECIFIC_TABS));
4556 $globalsInitEvent = $GLOBALS["kernel"]->getEventDispatcher()->dispatch($globalsInitEvent, GlobalsInitializedEvent::EVENT_HANDLE, 10);
4557 $globalsService = $globalsInitEvent->getGlobalsService()->save();