Change support desk contact information (#7561)
[openemr.git] / library / globals.inc.php
blobec939e5c0c7a820d03137ddcb32f26a9a2076ad5
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\Common\Forms\FormActionBarSettings;
80 use OpenEMR\Events\Globals\GlobalsInitializedEvent;
81 use OpenEMR\OeUI\RenderFormFieldHelper;
82 use OpenEMR\Services\Globals\GlobalsService;
84 // OS-dependent stuff.
85 if (stristr(PHP_OS, 'WIN')) {
86 // MS Windows
87 $mysql_bin_dir = 'C:/xampp/mysql/bin';
88 $perl_bin_dir = 'C:/xampp/perl/bin';
89 $temporary_files_dir = 'C:/windows/temp';
90 $backup_log_dir = 'C:/windows/temp';
91 } else {
92 // Everything else
93 $mysql_bin_dir = '/usr/bin';
94 $perl_bin_dir = '/usr/bin';
95 $temporary_files_dir = '/tmp';
96 $backup_log_dir = '/tmp';
99 function getDefaultRenderListOptions()
101 return [
102 RenderFormFieldHelper::SHOW_ON_NEW_ONLY => xl('Show on New Form Only'),
103 RenderFormFieldHelper::SHOW_ON_EDIT_ONLY => xl('Show on Edit Form Only'),
104 RenderFormFieldHelper::SHOW_ALL => xl('Show on New and Edit Form'),
105 RenderFormFieldHelper::HIDE_ALL => xl('Hide on New and Edit Form'),
109 // Language constant declarations:
110 // xl('Appearance')
111 // xl('Locale')
112 // xl('Features')
113 // xl('Calendar')
114 // xl('Security')
115 // xl('Notifications')
116 // xl('Miscellaneous')
118 // List of user specific tabs and globals
119 $USER_SPECIFIC_TABS = array('Appearance',
120 'Locale',
121 'Features',
122 'Billing',
123 'Report',
124 'Calendar',
125 'CDR',
126 'Connectors');
127 $USER_SPECIFIC_GLOBALS = array('default_top_pane',
128 'default_second_tab',
129 'theme_tabs_layout',
130 'css_header',
131 'enable_compact_mode',
132 'vertical_responsive_menu',
133 'menu_styling_vertical',
134 'search_any_patient',
135 'default_encounter_view',
136 'gbl_pt_list_page_size',
137 'gbl_pt_list_new_window',
138 'units_of_measurement',
139 'us_weight_format',
140 'date_display_format',
141 'time_display_format',
142 'enable_help',
143 'text_templates_enabled',
144 'posting_adj_disable',
145 'messages_due_date',
146 'expand_form',
147 'ledger_begin_date',
148 'print_next_appointment_on_ledger',
149 'calendar_view_type',
150 'event_color',
151 'pat_trkr_timer',
152 'ptkr_visit_reason',
153 'ptkr_date_range',
154 'ptkr_start_date',
155 'ptkr_end_date',
156 'checkout_roll_off',
157 'patient_birthday_alert',
158 'patient_birthday_alert_manual_off',
159 'erx_import_status_message'
162 // Gets array of time zones supported by PHP.
164 function gblTimeZones()
166 $zones = timezone_identifiers_list();
167 $arr = array('' => xl('Unassigned'));
168 foreach ($zones as $zone) {
169 $arr[$zone] = str_replace('_', ' ', $zone);
172 return $arr;
175 $GLOBALS_METADATA = array(
177 // Appearance Tab
179 'Appearance' => array(
181 'theme_tabs_layout' => array(
182 xl('Tabs Layout Theme') . '*',
183 'tabs_css',
184 'tabs_style_full.css',
185 xl('Theme of the tabs layout (need to logout and then login to see this new setting).')
188 'css_header' => array(
189 // Note: Do not change this as it is only for theme defaults and adding themes here does nothing
190 xl('General Theme') . '*',
191 'css',
192 'style_light.css',
193 xl('Pick a general theme (need to logout/login after changing this setting).')
195 'hide_dashboard_cards' => array(
196 xl('Hide selected cards on patient dashboard'),
197 'm_dashboard_cards',
199 xl('Multi (Shift or CTRL) Select the cards you want to hide on the patient dashboard.')
201 'window_title_add_patient_name' => array(
202 xl('Add Patient Name To Window Title'),
203 'bool', // data type
204 '0', // default = false
205 xl('Adds the patient name to the end of the window title.')
208 'enable_compact_mode' => array(
209 xl('Enable Compact Mode'),
210 'bool', // data type
211 '0', // default = false
212 xl('Changes the current theme to be more compact.')
215 'menu_styling_vertical' => array(
216 xl('Vertical Menu Style for Frames'),
217 array(
218 '0' => xl('Tree'),
219 '1' => xl('Sliding'),
221 '1',
222 xl('Vertical Menu Style for frame based layouts')
225 'search_any_patient' => array(
226 xl('Search Patient By Any Demographics'),
227 array(
228 'dual' => xl('Dual'),
229 'comprehensive' => xl('Comprehensive'),
230 'fixed' => xl('Fixed'),
231 'none' => xl('None'),
233 'dual', // default
234 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')
237 'default_encounter_view' => array(
238 xl('Default Encounter View'), // descriptive name
239 array(
240 '0' => xl('Clinical View'),
241 '1' => xl('Billing View'),
243 '0', // default = tree menu
244 xl('Choose your default encounter view')
247 'enable_group_therapy' => array(
248 xl('Enable Group Therapy'),
249 'bool', // data type
250 '0', // default = false
251 xl('Enables groups module in system.')
254 'full_new_patient_form' => array(
255 xl('New Patient Form'),
257 array(
258 '0' => xl('Old-style static form without search or duplication check'),
259 '1' => xl('All demographics fields, with search and duplication check'),
260 '2' => xl('Mandatory or specified fields only, search and dup check'),
261 '3' => xl('Mandatory or specified fields only, dup check, no search'),
262 '4' => xl('Mandatory or specified fields only, use patient validation Zend module'),
264 '1', // default
265 xl('Style of form used for adding new patients')
268 'gbl_edit_patient_form' => array(
269 xl('Modify Patient Form'),
271 array(
272 '0' => xl('Standard check'),
273 '1' => xl('Zend Module check in addition to standard check')
275 '0', // default
276 xl('Validation mechanism for when modifying patient demographics.')
279 'patient_search_results_style' => array(
280 xl('Patient Search Results Style'),
281 array(
282 '0' => xl('Encounter statistics'),
283 '1' => xl('Mandatory and specified fields'),
285 '0', // default
286 xl('Type of columns displayed for patient search results')
289 'gbl_nav_visit_forms' => array(
290 xl('Navigation Area Visit Forms'),
291 'bool', // data type
292 '1', // default = true
293 xl('Navigation area includes encounter forms')
296 'simplified_prescriptions' => array(
297 xl('Simplified Prescriptions'),
298 'bool', // data type
299 '0', // default = false
300 xl('Omit form, route and interval which then become part of dosage')
303 'simplified_copay' => array(
304 xl('Simplified Co-Pay'),
305 'bool', // data type
306 '0', // default = false
307 xl('Omit method of payment from the co-pay panel')
310 'use_charges_panel' => array(
311 xl('Use Charges Panel'),
312 'bool', // data type
313 '0', // default = false
314 xl('Enables the old Charges panel for entering billing codes and payments. Not recommended, use the Fee Sheet instead.')
317 // TajEmo Work BY CB 2012/06/21 10:42:31 AM added option to Hide Fees
318 'enable_fees_in_left_menu' => array(
319 xl('Enable Fees Submenu'),
320 'bool', // data type
321 '1', // default = true
322 xl('Enable Fees Submenu')
324 'enable_batch_payment' => array(
325 xl('Enable Batch Payment'),
326 'bool', // data type
327 '1', // default = true
328 xl('Enable Batch Payment')
330 'enable_posting' => array(
331 xl('Enable Posting'),
332 'bool', // data type
333 '1', // default = true
334 xl('Enable Posting')
336 // EDI history 2012-09-13
337 'enable_edihistory_in_left_menu' => array(
338 xl('Enable EDI History'),
339 'bool', // data type
340 '1', // default = true
341 xl('EDI History (under Fees) for storing and interpreting EDI claim response files')
344 'encounter_page_size' => array(
345 xl('Encounter Page Size'),
346 array(
347 '0' => xl('Show All'),
348 '5' => '5',
349 '10' => '10',
350 '15' => '15',
351 '20' => '20',
352 '25' => '25',
353 '50' => '50',
355 '20',
356 xl('Number of encounters to display per page.')
359 'gbl_pt_list_page_size' => array(
360 xl('Patient List Page Size'),
361 array(
362 '10' => '10',
363 '25' => '25',
364 '50' => '50',
365 '100' => '100',
367 '10',
368 xl('Number of patients to display per page in the patient list.')
371 'gbl_pt_list_new_window' => array(
372 xl('Patient List New Window'),
373 'bool', // data type
374 '0', // default = false
375 xl('Default state of New Window checkbox in the patient list.')
378 'right_justify_labels_demographics' => array(
379 xl('Right Justify Labels in Demographics'),
380 'bool', // data type
381 '0', // default = false
382 xl('Right justify labels in Demographics for easier readability.')
385 'num_of_messages_displayed' => array(
386 xl('Number of Messages Displayed in Patient Summary'),
387 'num',
388 '3',
389 xl('This is the number of messages that will be displayed in the messages widget in the patient summary screen.')
392 'recent_patient_count' => [
393 xl('Maximum number of patients on Recent Patient list'),
394 'num',
395 '20',
396 xl('The maximum number of patients on the Recent Patient list'),
399 'gbl_vitals_options' => array(
400 xl('Vitals Form Options'),
401 array(
402 '0' => xl('Standard'),
403 '1' => xl('Omit circumferences'),
405 '0', // default
406 xl('Special treatment for the Vitals form')
409 'gbl_vitals_max_history_cols' => array(
410 xl('Vitals Form Max Historical Columns To Display'),
411 'num',
412 '2', // default
413 xl('The number of historical vital columns to display on medium to large screen displays')
416 'gb_how_sort_list' => array(
417 xl('How to sort a drop-lists'),
418 array(
419 '0' => xl('Sort by seq'),
420 '1' => xl('Sort alphabetically')
422 '0',
423 xl('What kind of sorting will be in the drop lists.')
426 'prevent_browser_refresh' => array(
427 xl('Prevent Web Browser Refresh') . '*',
428 array(
429 '0' => xl('Do not warn or prevent web browser refresh'),
430 '1' => xl('Warn, but do not prevent web browser refresh'),
431 '2' => xl('Warn and prevent web browser refresh')
433 '2', // default = true
434 xl('Recommended setting is warn and prevent web browser refresh. Only use other settings if needed and use at own risk.')
437 'form_actionbar_position' => array(
438 xl('Form ActionBar (save, cancel, etc) position')
439 ,FormActionBarSettings::getGlobalSettingsList()
440 ,FormActionBarSettings::getDefaultSetting() // default = top of the form
441 ,xl('Placement of the save/cancel, and other bottons where supported (Demographics, Encounter Forms, etc).')
446 'Branding' => [
447 'openemr_name' => array(
448 xl('Application Title'),
449 'text',
450 'OpenEMR',
451 xl('Application name used throughout the user interface.')
454 'machine_name' => [
455 xl('Application Machine Name'),
456 'text',
457 'openemr',
458 xl('The machine name of the application. Used to identify the EMR in various messaging systems like HL7. Should not contain spaces'),
461 'display_main_menu_logo' => [
462 xl('Display main menu logo'),
463 'bool',
464 '1',
465 xl('Dislay main menu logo'),
468 'online_support_link' => array(
469 xl('Online Support Link'),
470 'text', // data type
471 'http://open-emr.org/',
472 xl('URL to a support page.')
475 'user_manual_link' => [
476 xl('User Manual Link Override'),
477 'text',
479 xl("Point to a custom user manual. Leave blank for the default, auto-generated URL for specific version of application"),
482 'support_phone_number' => array(
483 xl('Support Phone Number'),
484 'text',
486 xl('Phone Number for Vendor Support that Appears on the About Page.')
489 'display_acknowledgements' => [
490 xl('Display links to the acknowledgements page'),
491 'bool',
492 '1',
493 xl('Used on the login and about pages'),
496 'display_review_link' => [
497 xl('Display the Review link on the About page'),
498 'bool',
499 '1',
500 xl('Display the Review link on the About page'),
503 'display_donations_link' => [
504 xl('Display the Donations link on the About page'),
505 'bool',
506 '1',
507 xl('Display the Donations link on the About page'),
511 // Login Page
512 'Login Page' => [
513 'login_page_layout' => array(
514 xl('Login Page Layout') . '*',
515 array(
516 'login/layouts/vertical_box.html.twig' => xl("Vertical Box"),
517 'login/layouts/horizontal_box_left_logo.html.twig' => xl("Horizontal Box, Logo on Left"),
518 'login/layouts/horizontal_box_right_logo.html.twig' => xl("Horizontal Box, Logo on Right"),
519 'login/layouts/horizontal_band_right_logo.html.twig' => xl("Horizontal Band, Logo on Right"),
520 'login/layouts/horizontal_band_left_logo.html.twig' => xl("Horizontal Band, Logo on Left"),
521 "login/layouts/vertical_band.html.twig" => xl("Vertical Band"),
523 'login/layouts/vertical_band.html.twig',
524 xl('Changes the layout of the login page.')
527 'primary_logo_width' => [
528 xl('Width of primary logo compared to the container'),
530 'w-25' => '25%',
531 'w-50' => '50%',
532 'w-75' => '75%',
533 'w-100' => '100%'
535 'w-50',
536 xl('Determine the width of the primary logo compared to the container'),
539 'secondary_logo_width' => [
540 xl('Width of secondary logo compared to the container'),
542 'w-25' => '25%',
543 'w-50' => '50%',
544 'w-75' => '75%',
545 'w-100' => '100%'
547 'w-50',
548 xl('Determine the width of the secondary logo compared to the container'),
551 'logo_position' => [
552 xl('Logo Positioning'),
554 'flex-column' => 'Stacked',
555 'flex-row' => 'Side by Side',
557 'flex-column',
558 xl('How the logos will be rendered relative to each other'),
561 'display_acknowledgements_on_login' => [
562 xl('Display links to the acknowledgements page'),
563 'bool',
564 '1',
565 xl('Used on the login screen'),
568 'show_tagline_on_login' => [
569 xl('Show Tagline on Login Page') . "*",
570 'bool',
571 '1',
572 xl('Show the tagline from the login screen'),
575 'login_tagline_text' => [
576 xl('Login Page Tagline') . "*",
577 'text',
578 xl("The most popular open-source Electronic Health Record and Medical Practice Management solution."),
579 xl("Tagline text on the login page")
582 'show_labels_on_login_form' => [
583 xl('Show Username and Password Labels on Login Page') . "*",
584 'bool',
585 '1',
586 xl('Show labels on the login form'),
589 'show_label_login' => array(
590 xl('Show Title on Login'),
591 'bool', // data type
592 '0', // default = false
593 xl('Show Title on Login')
596 'show_primary_logo' => [
597 xl('Show primary logo on login'),
598 'bool',
599 '1',
600 xl('Show primary logo on login'),
603 'extra_logo_login' => array(
604 xl('Show Secondary Logo on Login'),
605 'bool', // data type
606 '0', // default = false
607 xl('Show Secondary Logo on Login')
610 'secondary_logo_position' => [
611 xl('Order of the Secondary logo'),
613 'first' => xl('First Position'),
614 'second' => xl('Second Position'),
616 'second',
617 xl('Place the secondary logo first, or second'),
620 'tiny_logo_1' => array(
621 xl('Show Mini Logo 1'),
622 'bool', // data type
623 '0', // default = false
624 xl('Show Mini Logo 1')
627 'tiny_logo_2' => array(
628 xl('Show Mini Logo 2'),
629 'bool', // data type
630 '0', // default = false
631 xl('Show Mini Logo 2')
635 // Locale Tab
637 'Locale' => array(
639 'language_default' => array(
640 xl('Default Language'),
641 'lang', // data type
642 'English (Standard)', // default = english
643 xl('Default language if no other is allowed or chosen.')
646 'language_menu_showall' => array(
647 xl('All Languages Allowed'),
648 'bool', // data type
649 '1', // default = true
650 xl('Allow all available languages as choices on menu at login.')
653 'language_menu_other' => array(
654 xl('Allowed Languages'),
655 'm_lang', // data type
656 '', // default = none
657 xl('Select which languages, if any, may be chosen at login. (only pertinent if above All Languages Allowed is turned off)')
660 'allow_debug_language' => array(
661 xl('Allow Debugging Language'),
662 'bool', // data type
663 '1', // default = true during development and false for production releases
664 xl('This will allow selection of the debugging (\'dummy\') language.')
667 'translate_no_safe_apostrophe' => array(
668 xl('Do Not Use Safe Apostrophe'),
669 'bool', // data type
670 '0', // default = false
671 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)')
674 'translate_layout' => array(
675 xl('Translate Layouts'),
676 'bool', // data type
677 '1', // default = true
678 xl('Is text from form layouts to be translated?')
681 'translate_lists' => array(
682 xl('Translate Lists'),
683 'bool', // data type
684 '1', // default = true
685 xl('Is text from lists to be translated?')
688 'translate_gacl_groups' => array(
689 xl('Translate Access Control Groups'),
690 'bool', // data type
691 '1', // default = true
692 xl('Are access control group names to be translated?')
695 'translate_form_titles' => array(
696 xl('Translate Patient Note Titles'),
697 'bool', // data type
698 '1', // default = true
699 xl('Are patient note titles to be translated?')
702 'translate_document_categories' => array(
703 xl('Translate Document Categories'),
704 'bool', // data type
705 '1', // default = true
706 xl('Are document category names to be translated?')
709 'translate_appt_categories' => array(
710 xl('Translate Appointment Categories'),
711 'bool', // data type
712 '1', // default = true
713 xl('Are appointment category names to be translated?')
716 'units_of_measurement' => array(
717 xl('Units for Visit Forms'),
718 array(
719 '1' => xl('Show both US and metric (main unit is US)'),
720 '2' => xl('Show both US and metric (main unit is metric)'),
721 '3' => xl('Show US only'),
722 '4' => xl('Show metric only'),
724 '1', // default = Both/US
725 xl('Applies to the Vitals form and Growth Chart')
728 'us_weight_format' => array(
729 xl('Display Format for US Weights'),
730 array(
731 '1' => xl('Show pounds as decimal value'),
732 '2' => xl('Show pounds and ounces')
734 '1',
735 xl('Applies to Vitals form')
738 'phone_country_code' => array(
739 xl('Telephone Country Code'),
740 'num',
741 '1', // default = North America
742 xl('1 = North America. See http://www.wtng.info/ for a list of other country codes.')
745 'date_display_format' => array(
746 xl('Date Display Format'),
747 array(
748 '0' => xl('YYYY-MM-DD'),
749 '1' => xl('MM/DD/YYYY'),
750 '2' => xl('DD/MM/YYYY'),
752 '0',
753 xl('Format used to display most dates.')
756 'time_display_format' => array(
757 xl('Time Display Format'),
758 array(
759 '0' => xl('24 hr'),
760 '1' => xl('12 hr'),
762 '0',
763 xl('Format used to display most times.')
766 'gbl_time_zone' => array(
767 xl('Time Zone'),
768 gblTimeZones(),
770 xl('If unassigned will default to php.ini setting for date.timezone.')
773 'currency_decimals' => array(
774 xl('Currency Decimal Places'),
775 array(
776 '0' => xl('0'),
777 '1' => xl('1'),
778 '2' => xl('2'),
780 '2',
781 xl('Number of digits after decimal point for currency, usually 0 or 2.')
784 'currency_dec_point' => array(
785 xl('Currency Decimal Point Symbol'),
786 array(
787 '.' => xl('Period'),
788 ',' => xl('Comma'),
790 '.',
791 xl('Symbol used as the decimal point for currency. Not used if Decimal Places is 0.')
794 'currency_thousands_sep' => array(
795 xl('Currency Thousands Separator'),
796 array(
797 ',' => xl('Comma'),
798 '.' => xl('Period'),
799 ' ' => xl('Space'),
800 '' => xl('None'),
802 ',',
803 xl('Symbol used to separate thousands for currency.')
806 'gbl_currency_symbol' => array(
807 xl('Currency Designator'),
808 'text', // data type
809 '$', // default
810 xl('Code or symbol to indicate currency')
812 'age_display_format' => array(xl('Age Display Format'),
813 array(
814 '0' => xl('Years or months'),
815 '1' => xl('Years, months and days')
817 '0',
818 xl('Format for age display')
820 'age_display_limit' => array(
821 xl('Age in Years for Display Format Change'),
822 'num',
823 '3',
824 xl('If YMD is selected for age display, switch to just Years when patients older than this value in years')
826 // Reference - https://en.wikipedia.org/wiki/Workweek_and_weekend#Around_the_world
827 'weekend_days' => array(
828 xl('Your weekend days'),
829 array(
830 '6,0' => xl('Saturday') . ' - ' . xl('Sunday'),
831 '0' => xl('Sunday'),
832 '5' => xl('Friday'),
833 '6' => xl('Saturday'),
834 '5,6' => xl('Friday') . ' - ' . xl('Saturday'),
836 '6,0'
837 , xl('which days are your weekend days?')
842 // Features Tab
844 'Features' => array(
846 'specific_application' => array(
847 xl('Specific Application'),
848 array(
849 '0' => xl('None'),
850 '2' => xl('IPPF'),
851 '3' => xl('Weight loss clinic'),
853 '0', // default
854 xl('Indicator for specialized usage')
857 'inhouse_pharmacy' => array(
858 xl('Drugs and Products'),
859 array(
860 '0' => xl('Do not inventory and sell any products'),
861 '1' => xl('Inventory and sell drugs only'),
862 '2' => xl('Inventory and sell both drugs and non-drug products'),
863 '3' => xl('Products but no prescription drugs and no templates'),
865 '0', // default
866 xl('Option to support inventory and sales of products')
869 'disable_chart_tracker' => array(
870 xl('Disable Chart Tracker'),
871 'bool', // data type
872 '0', // default = false
873 xl('Removes the Chart Tracker feature')
876 'disable_immunizations' => array(
877 xl('Disable Immunizations'),
878 'bool', // data type
879 '0', // default = false
880 xl('Removes support for immunizations')
883 'disable_prescriptions' => array(
884 xl('Disable Prescriptions'),
885 'bool', // data type
886 '0', // default = false
887 xl('Removes support for prescriptions')
890 'text_templates_enabled' => array(
891 xl('Enable Text Templates in Encounter Forms'),
892 'bool', // data type
893 '1', // default = true
894 xl('Allow Double Click to select Nation Note text template from any encounter form text area')
897 'omit_employers' => array(
898 xl('Omit Employers'),
899 'bool', // data type
900 '0', // default = false
901 xl('Omit employer information in patient demographics')
904 'select_multi_providers' => array(
905 xl('Support Multi-Provider Events'),
906 'bool', // data type
907 '0', // default = false
908 xl('Support calendar events that apply to multiple providers')
911 'disable_non_default_groups' => array(
912 xl('Disable User Groups'),
913 'bool', // data type
914 '1', // default = true
915 xl('Normally this should be checked. Not related to access control.')
918 'ignore_pnotes_authorization' => array(
919 xl('Skip Authorization of Patient Notes'),
920 'bool', // data type
921 '1', // default = true
922 xl('Do not require patient notes to be authorized')
925 'support_encounter_claims' => array(
926 xl('Allow Encounter Claims'),
927 'bool', // data type
928 '0', // default = false
929 xl('Allow creation of claims containing diagnoses but not procedures or charges. Most clinics do not want this.')
932 'advance_directives_warning' => array(
933 xl('Advance Directives Warning'),
934 'bool', // data type
935 '0', // default = false
936 xl('Display advance directives in the demographics page.')
939 'configuration_import_export' => array(
940 xl('Configuration Export/Import'),
941 'bool', // data type
942 '0', // default = false
943 xl('Support export/import of configuration data via the Backup page.')
946 'restrict_user_facility' => array(
947 xl('Restrict Users to Facilities'),
948 'bool', // data type
949 '0', // default
950 xl('Restrict non-authorized users to the Schedule Facilities set in User admin.')
953 'set_facility_cookie' => array(
954 xl('Remember Selected Facility'),
955 'bool', // data type
956 '0', // default
957 xl('Set a facility cookie to remember the selected facility between logins.')
960 'login_into_facility' => array(
961 xl('Login Into Facility'),
962 'bool', // data type
963 '0', // default
964 xl('Select your current facility in the login page')
967 'receipts_by_provider' => array(
968 xl('Print Receipts by Provider'),
969 'bool',
970 '0', // default
971 xl('Causes Receipts to Print Encounter/Primary Provider Info')
974 'discount_by_money' => array(
975 xl('Discounts as Monetary Amounts'),
976 'bool', // data type
977 '1', // default = true
978 xl('Discounts at checkout time are entered as money amounts, as opposed to percentage.')
982 'gbl_form_save_close' => array(
983 xl('Display Save and Close Visit button in LBFs'),
984 'bool', // data type
985 '0', // default = false
986 xl('This is helpful if visits usually do not have charges.')
989 'gbl_mask_patient_id' => array(
990 xl('Mask for Patient IDs'),
991 'text', // data type
992 '', // default
993 xl('Specifies formatting for the external patient ID. # = digit, @ = alpha, * = any character. Empty if not used.')
996 'gbl_mask_invoice_number' => array(
997 xl('Mask for Invoice Numbers'),
998 'text', // data type
999 '', // default
1000 xl('Specifies formatting for invoice reference numbers. # = digit, @ = alpha, * = any character. Empty if not used.')
1003 'gbl_mask_product_id' => array(
1004 xl('Mask for Product IDs'),
1005 'text', // data type
1006 '', // default
1007 xl('Specifies formatting for product NDC fields. # = digit, @ = alpha, * = any character. Empty if not used.')
1010 'activate_ccr_ccd_report' => array(
1011 xl('Activate CCR/CCD Reporting'),
1012 'bool', // data type
1013 '1', // default = true
1014 xl('This will activate the CCR(Continuity of Care Record) and CCD(Continuity of Care Document) reporting.')
1017 'drive_encryption' => array(
1018 xl('Enable Encryption of Items Stored on Drive (Strongly recommend keeping this on)'),
1019 'bool', // data type
1020 '1', // default = true
1021 xl('This will enable encryption of items that are stored on the drive. Strongly recommend keeping this setting on for security purposes.')
1024 'couchdb_encryption' => array(
1025 xl('Enable Encryption of Items Stored on CouchDB'),
1026 'bool', // data type
1027 '1', // default = true
1028 xl('This will enable encryption of items that are stored on CouchDB.')
1031 'hide_document_encryption' => array(
1032 xl('Hide Encryption/Decryption Options In Document Management'),
1033 'bool', // data type
1034 '0', // default = true
1035 xl('This will deactivate document the encryption and decryption features, and hide them in the UI.')
1038 'use_custom_immun_list' => array(
1039 xl('Use Custom Immunization List'),
1040 'bool', // data type
1041 '0', // default = true
1042 xl('This will use the custom immunizations list rather than the standard CVX immunization list.')
1045 'amendments' => array(
1046 xl('Amendments'),
1047 'bool', // data type
1048 '1', // default = true
1049 xl('Enable amendments feature')
1052 'allow_pat_delete' => array(
1053 xl('Allow Administrators to Delete Patients'),
1054 'bool', // data type
1055 '0', // default = false
1056 xl('Allow Administrators to Delete Patients')
1060 'observation_results_immunization' => array(
1061 xl('Immunization Observation Results'),
1062 'bool', // data type
1063 '1', // default
1064 xl('Observation Results in Immunization')
1067 'enable_help' => array(
1068 xl('Enable Help Modal'),
1069 array(
1070 '0' => xl('Hide Help Modal'),
1071 '1' => xl('Show Help Modal'),
1072 '2' => xl('Disable Help Modal'),
1073 ), // data type
1074 '1', // default = Print End of Day Report 1
1075 xl('This will allow the display of help modal on help enabled pages')
1077 'messages_due_date' => array(
1078 xl('Messages - due date'),
1079 'bool', // data type
1080 '0', // default false
1081 xl('Enables choose due date to message')
1084 'expand_form' => array(
1085 xl('Expand Form'),
1086 'bool', // data type
1087 '1', // default true
1088 xl('Open all expandable forms in expanded state')
1091 'graph_data_warning' => array(
1092 xl('Graphing Data Warning'),
1093 'bool', // data type
1094 '0', // default false
1095 xl('Warn if not enough data to graph')
1099 // Report Tab
1101 'Report' => array(
1103 'use_custom_daysheet' => array(
1104 xl('Use Custom End of Day Report'),
1105 array(
1106 '0' => xl('None'),
1107 '1' => xl('Print End of Day Report 1'),
1108 '2' => xl('Print End of Day Report 2'),
1109 '3' => xl('Print End of Day Report 3'),
1110 ), // data type
1111 '1', // default = Print End of Day Report 1
1112 xl('This will allow the use of the custom End of Day report and indicate which report to use.')
1115 'daysheet_provider_totals' => array(
1116 xl('End of Day by Provider or allow Totals Only'),
1117 array(
1118 '0' => xl('Provider'),
1119 '1' => xl('Totals Only'),
1121 '1', // default
1122 xl('This specifies the Printing of the Custom End of Day Report grouped Provider or allow the Printing of Totals Only')
1125 'ledger_begin_date' => array(
1126 xl('Beginning Date for Ledger Report'),
1127 array(
1128 'Y1' => xl('One Year Ago'),
1129 'Y2' => xl('Two Years Ago'),
1130 'M6' => xl('Six Months Ago'),
1131 'M3' => xl('Three Months Ago'),
1132 'M1' => xl('One Month Ago'),
1133 'D1' => xl('One Day Ago'),
1135 'Y1', // default = One Year
1136 xl('This is the Beginning date for the Ledger Report.')
1139 'print_next_appointment_on_ledger' => array(
1140 xl('Print the Next Appointment on the Bottom of the Ledger'),
1141 'bool', // data type
1142 '1', // default = true
1143 xl('This Will Print the Next Appointment on the Bottom of the Patient Ledger')
1146 'sales_report_invoice' => array(
1147 xl('Display Invoice Number or Patient Name or Both in the Sales Report'),
1148 array(
1149 '0' => xl('Invoice Number'),
1150 '1' => xl('Patient Name and ID'),
1151 '2' => xl('Patient Name and Invoice'),
1153 '2', // default = 2
1154 xl('This will Display the Invoice Number in the Sales Report or the Patient Name and ID or Patient Name and Invoice Number.')
1157 'cash_receipts_report_invoice' => array(
1158 xl('Display Invoice Number or Patient Name in the Cash Receipt Report'),
1159 array(
1160 '0' => xl('Invoice Number'),
1161 '1' => xl('Patient Name'),
1163 '0', // default = 0
1164 xl('Display Invoice Number or Patient Name in the Cash Receipt Report')
1169 // Billing Tab
1171 'Billing' => array(
1173 // It would be good to eventually rename this to "billing_enabled" and inverse the setting value.
1174 'hide_billing_widget' => array(
1175 xl('Hide Billing features'),
1176 'bool', // data type
1177 '0', // default = false
1178 xl('This will hide billing features throughout the program.')
1181 'force_billing_widget_open' => array(
1182 xl('Force Billing Widget Open'),
1183 'bool', // data type
1184 '0', // default = false
1185 xl('This will force the Billing Widget in the Patient Summary screen to always be open.')
1189 'ub04_support' => array(
1190 xl('Activate UB04/837I Claim Support'),
1191 'bool', // data type
1192 '0', // default = false
1193 xl('Allow institutional claims support.')
1196 'top_ubmargin_default' => array(
1197 xl('Default top print margin for UB04'),
1198 'num', // data type
1199 '14', // default
1200 xl('This is the default top print margin for UB04. It will adjust the final printed output up or down.')
1203 'left_ubmargin_default' => array(
1204 xl('Default left print margin for UB04'),
1205 'num', // data type
1206 '11', // default
1207 xl('This is the default left print margin for UB04. It will adjust the final printed output left or right.')
1210 'cms_top_margin_default' => array(
1211 xl('Default top print margin for CMS 1500'),
1212 'num', // data type
1213 '24', // default
1214 xl('This is the default top print margin for CMS 1500. It will adjust the final printed output up or down.')
1217 'cms_left_margin_default' => array(
1218 xl('Default left print margin for CMS 1500'),
1219 'num', // data type
1220 '20', // default
1221 xl('This is the default left print margin for CMS 1500. It will adjust the final printed output left or right.')
1224 'preprinted_cms_1500' => array(
1225 xl('Prints the CMS 1500 on the Preprinted form'),
1226 'bool', // data type
1227 '0', // default = false
1228 xl('Overlay CMS 1500 on the Preprinted form')
1231 'cms_1500_box_31_format' => array(
1232 xl('CMS 1500: Box 31 Format'),
1233 array(
1234 '0' => xl('Signature on File'),
1235 '1' => xl('Firstname Lastname'),
1236 '2' => xl('None'),
1238 '0', // default
1239 xl('This specifies whether to include date in Box 31.')
1242 'cms_1500_box_31_date' => array(
1243 xl('CMS 1500: Date in Box 31 (Signature)'),
1244 array(
1245 '0' => xl('None'),
1246 '1' => xl('Date of Service'),
1247 '2' => xl('Today'),
1249 '0', // default
1250 xl('This specifies whether to include date in Box 31.')
1253 'default_search_code_type' => array(
1254 xl('Default Search Code Type'),
1255 'all_code_types', // data type
1256 'ICD10', // default
1257 xl('The default code type to search for in the Fee Sheet.')
1260 'default_rendering_provider' => array(
1261 xl('Default Rendering Provider in Fee Sheet'),
1262 array(
1263 '0' => xl('Logged in User if provider, otherwise Current Provider'),
1264 '1' => xl('Current Provider'),
1265 '2' => xl('Current Logged in User'),
1267 '1',
1268 xl('Default selection for rendering provider in fee sheet.')
1271 'posting_adj_disable' => array(
1272 xl('Disable Auto Adjustment Calculations in EOB Posting'),
1273 'bool', // data type
1274 '0', // default = false
1275 xl('Turn off auto calculations of adjustments in EOB')
1278 'force_claim_balancing' => array(
1279 xl('Force claim balancing in EOB Posting'),
1280 'bool', // data type
1281 '1', // default = true
1282 xl('Force claim balancing in EOB Posting')
1285 'show_payment_history' => array(
1286 xl('Show all payment history in Patient Ledger'),
1287 'bool', // data type
1288 '1', // default = true
1289 xl('Turn on to show all payment history in Patient Ledger')
1292 'void_checkout_reopen' => array(
1293 xl('Void Checkout and Reopen in Fee Sheet'),
1294 'bool', // data type
1295 '1', // default = true
1296 xl('Void Checkout and Reopen in Fee Sheet')
1299 'support_fee_sheet_line_item_provider' => array(
1300 xl('Support provider in line item in fee sheet'),
1301 'bool', // data type
1302 '0', // default = false
1303 xl('This Enables provider in line item in the fee sheet')
1306 'default_fee_sheet_line_item_provider' => array(
1307 xl('Default to a provider for line item in the fee sheet'),
1308 'bool', // data type
1309 '0', // default = false
1310 xl('Default to a provider for line item in the fee sheet.(only applicable if Support line item billing in option above)')
1313 'include_inactive_providers' => array(
1314 xl('Include inactive providers in the fee sheet'),
1315 'bool', // data type
1316 '0', // default = false
1317 xl('Include inactive providers in the fee sheet.')
1320 'replicate_justification' => array(
1321 xl('Automatically replicate justification codes in Fee Sheet'),
1322 'bool', // data type
1323 '0', // default = false
1324 xl('Automatically replicate justification codes in Fee Sheet (basically fills in the blanks with the justification code above it).')
1327 'display_units_in_billing' => array(
1328 xl('Display the Units Column on the Billing Screen'),
1329 'bool', // data type
1330 '0', // default = false
1331 xl('Display the Units Column on the Billing Screen')
1334 'notes_to_display_in_Billing' => array(
1335 xl('Which notes are to be displayed in the Billing Screen'),
1336 array(
1337 '0' => xl('None'),
1338 '1' => xl('Encounter Billing Note'),
1339 '2' => xl('Patient Billing Note'),
1340 '3' => xl('All'),
1342 '3',
1343 xl('Display the Encounter Billing Note or Patient Billing Note or Both in the Billing Screen.')
1346 'MedicareReferrerIsRenderer' => array(
1347 xl('Medicare Referrer Is Renderer'),
1348 'bool', // data type
1349 '0', // default = false
1350 xl('For Medicare only, forces the referring provider to be the same as the rendering provider.')
1353 'statement_logo' => array(
1354 xl('Statement Logo GIF Filename'),
1355 'text', // data type
1356 'practice_logo.gif', // data type
1357 xl('Place your logo in sites/default/images and type the filename including gif extension here.')
1360 'use_custom_statement' => array(
1361 xl('Use Custom Statement'),
1362 'bool', // data type
1363 '0', // default = false
1364 xl('This will use the custom Statement showing the description instead of the codes.')
1367 'statement_appearance' => array(
1368 xl('Statement Appearance'),
1369 array(
1370 '0' => xl('Plain Text'),
1371 '1' => xl('Modern/images')
1372 ), // data type
1373 '1', // default = true
1374 xl('Patient statements can be generated as plain text or with a modern graphical appearance.')
1377 'billing_phone_number' => array(
1378 xl('Custom Billing Phone Number'),
1379 'text', // data type
1381 xl('Phone number for billing inquiries')
1384 'show_aging_on_custom_statement' => array(
1385 xl('Show Aging on Custom Statement'),
1386 'bool', // data type
1387 '0', // default = false
1388 xl('This will Show Aging on the custom Statement.')
1391 'use_statement_print_exclusion' => array(
1392 xl('Allow Statement Exclusions from Printing'),
1393 'bool', // data type
1394 '0', // default = false
1395 xl('This will enable the Ability to Exclude Selected Patient Statements from Printing.')
1398 'minimum_amount_to_print' => array(
1399 xl('Total Minimum Amount of Statement to Allow Printing'),
1400 'num', // data type
1401 '1.00',
1402 xl('Total Minimum Dollar Amount of Statement to Allow Printing.(only applicable if Allow Statement Exclusions from Printing is enabled)')
1405 'statement_bill_note_print' => array(
1406 xl('Print Patient Billing Note'),
1407 'bool', // data type
1408 '0', // default = false
1409 xl('This will allow printing of the Patient Billing Note on the statements.')
1412 'number_appointments_on_statement' => array(
1413 xl('Number of Appointments on Statement'),
1414 'num', // data type
1415 '0', // default = 0
1416 xl('The Number of Future Appointments to Display on the Statement.')
1419 'statement_message_to_patient' => array(
1420 xl('Print Custom Message'),
1421 'bool', // data type
1422 '0', // default = false
1423 xl('This will allow printing of a custom Message on the statements.')
1426 'statement_msg_text' => array(
1427 xl('Custom Statement message'),
1428 'text', // data type
1430 xl('Text for Custom statement message.')
1433 'use_dunning_message' => array(
1434 xl('Use Custom Dunning Messages'),
1435 'bool', // data type
1436 '0', // default = false
1437 xl('This will allow use of the custom Dunning Messages on the statements.')
1440 'first_dun_msg_set' => array(
1441 xl('Number of days before showing first account message'),
1442 'num', // data type
1443 '30',
1444 xl('Number of days before showing first account message.')
1447 'first_dun_msg_text' => array(
1448 xl('First account message'),
1449 'text', // data type
1451 xl('Text for first account message.')
1454 'second_dun_msg_set' => array(
1455 xl('Number of days before showing second account message'),
1456 'num', // data type
1457 '60',
1458 xl('Number of days before showing second account message')
1461 'second_dun_msg_text' => array(
1462 xl('Second account message'),
1463 'text', // data type
1465 xl('Text for second account message.')
1468 'third_dun_msg_set' => array(
1469 xl('Number of days before showing third account message'),
1470 'num', // data type
1471 '90',
1472 xl('Number of days before showing third account message')
1475 'third_dun_msg_text' => array(
1476 xl('Third account message'),
1477 'text', // data type
1479 xl('Text for third account message.')
1482 'fourth_dun_msg_set' => array(
1483 xl('Number of days before showing fourth account message'),
1484 'num', // data type
1485 '120',
1486 xl('Number of days before showing fourth account message')
1489 'fourth_dun_msg_text' => array(
1490 xl('Fourth account message'),
1491 'text', // data type
1493 xl('Text for fourth account message.')
1496 'fifth_dun_msg_set' => array(
1497 xl('Number of days before showing fifth account message'),
1498 'num', // data type
1499 '150',
1500 xl('Number of days before showing fifth account message')
1503 'fifth_dun_msg_text' => array(
1504 xl('Fifth account message'),
1505 'text', // data type
1507 xl('Text for fifth account message.')
1510 'save_codes_history' => array(
1511 xl('Save codes history'),
1512 'bool', // data type
1513 '1', // default
1514 xl('Save codes history')
1517 'enable_percent_pricing' => array(
1518 xl('Enable percent-based price levels'),
1519 'bool', // data type
1520 '0', // default
1521 xl('Enable percent-based price levels')
1524 'gen_x12_based_on_ins_co' => array(
1525 xl('Generate X-12 Based On Insurance Company'),
1526 'bool', // data type
1527 '0', // default = false
1528 xl('For sending claims directly to insurance company, based on X12 Partner Settings')
1531 'auto_sftp_claims_to_x12_partner' => array(
1532 xl('Automatically SFTP Claims To X12 Partner'),
1533 'bool', // data type
1534 '0', // default = false
1535 xl('For automatically sending claims that are generated in EDI directory to the X12 partner using SFTP credentials X12 Partner Settings')
1538 'enable_swap_secondary_insurance' => array(
1539 xl('Enable Swap Secondary Insurance Editing Demographics'),
1540 'bool', // data type
1541 '0', // default
1542 xl('Enable swap secondary insurance')
1545 'add_unmatched_code_from_ins_co_era_to_billing' => array(
1546 xl('Enable adding unmatched code from insurance company to billing table'),
1547 'bool', // data type
1548 '0', // default
1549 xl('Enable adding unmatched code from insurance company to billing table')
1554 // E-Sign Tab
1556 'E-Sign' => array(
1558 'esign_all' => array(
1559 xl('Allows E-Sign on the entire encounter'),
1560 'bool', // data type
1561 '0', // default = false
1562 xl('This will enable signing an entire encounter, rather than individual forms')
1565 'lock_esign_all' => array(
1566 xl('Lock e-signed encounters and their forms'),
1567 'bool', // data type
1568 '0', // default = false
1569 xl('This will disable the Edit button on all forms whose parent encounter is e-signed')
1572 'esign_individual' => array(
1573 xl('Allows E-Signing Individual Forms'),
1574 'bool', // data type
1575 '1', // default = false
1576 xl('This will enable signing individual forms separately')
1579 'lock_esign_individual' => array(
1580 xl('Lock an e-signed form individually'),
1581 'bool', // data type
1582 '1', // default = false
1583 xl('This will disable the Edit button on any form that is e-signed')
1586 'esign_lock_toggle' => array(
1587 xl('Enable lock toggle'),
1588 'bool', // data type
1589 '0', // default = false
1590 xl('This will give the user the option to lock (separate locking and signing)')
1593 'esign_report_show_only_signed' => array(
1594 xl('Only Include E-Signed Forms On Report'),
1595 'bool', // data type
1596 '0', // default = false
1597 xl('This will hide any encounter forms not E-Signed on the patient report')
1600 'esign_report_hide_empty_sig' => array(
1601 xl('Hide Empty E-Sign Logs On Report'),
1602 'bool', // data type
1603 '1', // default = false
1604 xl('This will hide empty e-sign logs on the patient report')
1607 'esign_report_hide_all_sig' => array(
1608 xl('Exclude All E-Sign Logs On Report'),
1609 'bool', // data type
1610 '0', // default = false
1611 xl('This will hide any e-sign logs on the patient report')
1614 //Documents Tab
1615 'Documents' => array(
1617 'document_storage_method' => array(
1618 xl('Document Storage Method'),
1619 array(
1620 '0' => xl('Hard Disk'),
1621 '1' => xl('CouchDB')
1623 '0', // default
1624 xl('Option to save method of document storage.')
1627 'couchdb_host' => array(
1628 xl('CouchDB HostName'),
1629 'text',
1630 'localhost',
1631 xl('CouchDB host'),
1633 'couchdb_user' => array(
1634 xl('CouchDB UserName'),
1635 'text',
1637 xl('Username to connect to CouchDB'),
1639 'couchdb_pass' => array(
1640 xl('CouchDB Password'),
1641 'encrypted', // data type
1643 xl('Password to connect to CouchDB'),
1645 'couchdb_port' => array(
1646 xl('CouchDB Port'),
1647 'text',
1648 '6984',
1649 xl('CouchDB port'),
1651 'couchdb_dbase' => array(
1652 xl('CouchDB Database'),
1653 'text',
1655 xl('CouchDB database name'),
1657 'couchdb_connection_ssl' => array(
1658 xl('CouchDB Connection SSL'),
1659 'bool',
1660 '1',
1661 xl('Use SSL (encrypted) connection to CouchDB'),
1663 'couchdb_ssl_allow_selfsigned' => array(
1664 xl('CouchDB SSL Allow Selfsigned Certificate'),
1665 'bool',
1666 '0',
1667 xl('Allow self-signed certificate for SSL (encrypted) connection to CouchDB'),
1669 'couchdb_log' => array(
1670 xl('CouchDB Log Enable'),
1671 'bool',
1672 '0',
1673 xl('Enable log for document uploads/downloads to CouchDB'),
1676 'expand_document_tree' => array(
1677 xl('Expand All Document Categories'),
1678 'bool', // data type
1679 '0', // default = false
1680 xl('Expand All Document Categories by Default')
1683 'patient_id_category_name' => array(
1684 xl('Patient ID Category Name'),
1685 'text', // data type
1686 'Patient ID card', // default
1687 xl('Optional category name for an ID Card image that can be viewed from the patient summary page.')
1690 'patient_photo_category_name' => array(
1691 xl('Patient Photo Category Name'),
1692 'text', // data type
1693 'Patient Photograph', // default
1694 xl('Optional category name for photo images that can be viewed from the patient summary page.')
1697 'lab_results_category_name' => array(
1698 xl('Lab Results Category Name'),
1699 'text', // data type
1700 'Lab Report', // default
1701 xl('Document category name for storage of electronically received lab results.')
1704 'gbl_mdm_category_name' => array(
1705 xl('MDM Document Category Name'),
1706 'text', // data type
1707 'Lab Report', // default
1708 xl('Document category name for storage of electronically received MDM documents.')
1710 'generate_doc_thumb' => array(
1711 xl('Generate thumbnail'),
1712 'bool',
1713 '0',
1714 xl('Generate thumbnail images'),
1716 'thumb_doc_max_size' => array(
1717 xl('Thumbnail size'),
1718 'text', // data type
1719 '100', // default
1720 xl('Maximum size of thumbnail file')
1724 // Calendar Tab
1726 'Calendar' => array(
1728 'disable_calendar' => array(
1729 xl('Disable Calendar'),
1730 'bool', // data type
1731 '0', // default
1732 xl('Do not display the calendar.')
1735 'schedule_start' => array(
1736 xl('Calendar Starting Hour'),
1737 'hour',
1738 '8', // default
1739 xl('Beginning hour of day for calendar events.')
1742 'schedule_end' => array(
1743 xl('Calendar Ending Hour'),
1744 'hour',
1745 '17', // default
1746 xl('Ending hour of day for calendar events.')
1749 'calendar_interval' => array(
1750 xl('Calendar Interval'),
1751 array(
1752 '5' => '5',
1753 '10' => '10',
1754 '15' => '15',
1755 '20' => '20',
1756 '30' => '30',
1757 '60' => '60',
1759 '15', // default
1760 xl('The time granularity of the calendar and the smallest interval in minutes for an appointment slot.')
1763 'calendar_view_type' => array(
1764 xl('Default Calendar View'),
1765 array(
1766 'day' => xl('Day'),
1767 'week' => xl('Week'),
1768 'month' => xl('Month'),
1770 'day', // default
1771 xl('This sets the Default Calendar View, Default is Day.')
1774 'first_day_week' => array(
1775 xl('First day in the week'),
1776 array(
1777 '1' => xl('Monday'),
1778 '0' => xl('Sunday'),
1779 '6' => xl('Saturday')
1781 '1',
1782 xl('Your first day of the week.')
1785 'calendar_appt_style' => array(
1786 xl('Appointment Display Style'),
1787 array(
1788 '1' => xl('Last name'),
1789 '2' => xl('Last name, first name'),
1790 '3' => xl('Last name, first name (title)'),
1791 '4' => xl('Last name, first name (title: comments)'),
1793 '2', // default
1794 xl('This determines how appointments display on the calendar.')
1797 'event_color' => array(
1798 xl('Appointment/Event Color'),
1799 array(
1800 '1' => xl('Category Color Schema'),
1801 '2' => xl('Facility Color Schema'),
1802 ), // data type
1803 '1', // default
1804 xl('This determines which color schema used for appointment')
1807 'number_of_appts_to_show' => array(
1808 xl('Appointments - Patient Summary - Number to Display'),
1809 'num',
1810 '10',
1811 xl('Number of Appointments to display in the Patient Summary')
1814 'number_of_group_appts_to_show' => array(
1815 xl('Appointments - Group Summary - Number to Display'),
1816 'num',
1817 '10',
1818 xl('Number of Appointments to display in the Group Summary')
1821 'number_of_ex_appts_to_show' => array(
1822 xl('Excluded Appointments - Tooltip - Number to Display'),
1823 'num',
1824 '15',
1825 xl('Number of Excluded Appointments to display in the Tooltip')
1828 'appt_display_sets_option' => array(
1829 xl('Appointment Display Sets - Ignore Display Limit (Last Set)'),
1830 'bool', // data type
1831 '1', // default
1832 xl('Override (if necessary) the appointment display limit to allow all appointments to be displayed for the last set')
1835 'appt_display_sets_color_1' => array(
1836 xl('Appointment Display Sets - Color 1'),
1837 'color_code',
1838 '#FFFFFF',
1839 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).')
1842 'appt_display_sets_color_2' => array(
1843 xl('Appointment Display Sets - Color 2'),
1844 'color_code',
1845 '#E6E6FF',
1846 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).')
1849 'appt_display_sets_color_3' => array(
1850 xl('Appointment Display Sets - Color 3'),
1851 'color_code',
1852 '#E6FFE6',
1853 xl('Color for the last set when all member appointments are displayed and at least one subsequent scheduled appointment exists (not displayed).')
1856 'appt_display_sets_color_4' => array(
1857 xl('Appointment Display Sets - Color 4'),
1858 'color_code',
1859 '#FFE6FF',
1860 xl('Color for the last set when not all member appointments are displayed.')
1863 'appt_recurrences_widget' => array(
1864 xl('Recurrent Appointment Display Widget'),
1865 'bool', // data type
1866 '1', // default
1867 xl('Display the recurrent appointment widget in the patient summary.')
1870 'num_past_appointments_to_show' => array(
1871 xl('Past Appointment Display Widget'),
1872 'num', // data type
1873 '0', // default = false
1874 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)')
1877 'docs_see_entire_calendar' => array(
1878 xl('Providers See Entire Calendar'),
1879 'bool', // data type
1880 '0', // default
1881 xl('Check this if you want providers to see all appointments by default and not just their own.')
1884 'auto_create_new_encounters' => array(
1885 xl('Auto-Create New Encounters'),
1886 array(
1887 '0' => xl('Off'),
1888 '1' => xl('One Encounter Per Day'),
1889 '2' => xl('Allow Encounter For Each Appointment')
1891 '1',
1892 xl('Automatically create a new encounter when an appointment check in status is selected.') . " " .
1893 xl('The Each Appointment option will allow a new encounter regardless of same day visit.') . " " .
1894 xl('The appointment status changes and encounter creations are managed through the Patient Tracker.')
1897 'allow_early_check_in' => array(
1898 xl('Allow Early Check In'),
1899 'bool', // data type
1900 '1', // default
1901 xl("Allow Check In before the appointment's time.")
1904 'submit_changes_for_all_appts_at_once' => array(
1905 xl('Submit Changes For All Appts At Once'),
1906 'bool', // data type
1907 '1', // default
1908 xl('Enables to submit changes for all appointments of a recurrence at once.')
1911 'disable_pat_trkr' => array(
1912 xl('Flow Board: Disable'),
1913 'bool', // data type
1914 '0', // default
1915 xl('Completely remove the ability to display the Patient Flow Board.')
1918 'ptkr_visit_reason' => array(
1919 xl('Flow Board: Show Visit Reason'),
1920 'bool', // data type
1921 '0', // default = false
1922 xl('When Checked, Visit Reason Will Show in Patient Flow Board.')
1925 'ptkr_show_pid' => array(
1926 xl('Flow Board: Show Patient ID'),
1927 'bool', // data type
1928 '1', // default = true
1929 xl('When Checked, Patient ID Will Show in Patient Flow Board.')
1932 'ptkr_show_encounter' => array(
1933 xl('Flow Board: Show Encounter Number'),
1934 'bool', // data type
1935 '1', // default = true
1936 xl('When Checked, Patient Encounter Number Will Show in Patient Flow Board.')
1939 'ptkr_show_staff' => array(
1940 xl('Flow Board: Show Staff Action'),
1941 'bool', // data type
1942 '1', // default = true
1943 xl('When Checked, Last Staff to Update Board Will Show in Patient Flow Board.')
1946 'ptkr_date_range' => array(
1947 xl('Flow Board: Allow Date Range'),
1948 'bool', // data type
1949 '1', // default = true
1950 xl('This Allows a Date Range to be Selected in Patient Flow Board.')
1953 'ptkr_start_date' => array(
1954 xl('Flow Board: Default Starting Date'),
1955 array(
1956 'D0' => xl('Current Day'),
1957 'B0' => xl('Beginning of Current Work Week'),
1959 'D0', // default = Current Day
1960 xl('This is the default Beginning date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1963 'ptkr_end_date' => array(
1964 xl('Flow Board: Default Ending Date'),
1965 array(
1966 'Y1' => xl('One Year Ahead'),
1967 'Y2' => xl('Two Years Ahead'),
1968 'M6' => xl('Six Months Ahead'),
1969 'M3' => xl('Three Months Ahead'),
1970 'M1' => xl('One Month Ahead'),
1971 'D7' => xl('One Week Ahead'),
1972 'D1' => xl('One Day Ahead'),
1973 'D0' => xl('Current Day'),
1975 'D0', // default = One Day Ahead
1976 xl('This is the default Ending date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1979 'pat_trkr_timer' => array(
1980 xl('Flow Board: Timer Refresh Interval'),
1981 array(
1982 '0' => xl('No automatic refresh'),
1983 '0:10' => '10',
1984 '0:20' => '20',
1985 '0:30' => '30',
1986 '0:40' => '40',
1987 '0:50' => '50',
1988 '0:59' => '60',
1990 '0:20', // default
1991 xl('The screen refresh time in Seconds for the Patient Flow Board Screen.')
1994 'checkout_roll_off' => array(
1995 xl('Flow Board: display completed checkouts (minutes)'),
1996 'num',
1997 '0', // default
1998 xl('Flow Board will only display completed checkouts for this many minutes. Zero is continuous display.')
2001 'drug_screen' => array(
2002 xl('Flow Board: Enable Random Drug Testing'),
2003 'bool', // data type
2004 '0', // default
2005 xl('Allow Patient Flow Board to Select Patients for Drug Testing.')
2008 'drug_testing_percentage' => array(
2009 xl('Flow Board: Percentage of Patients to Drug Test'),
2010 'num',
2011 '33', // default
2012 xl('Percentage of Patients to select for Random Drug Testing.')
2015 'maximum_drug_test_yearly' => array(
2016 xl('Flow Board: Max tests per Patient per year'),
2017 'num',
2018 '0', // default
2019 xl('Maximum number of times a Patient can be tested in a year. Zero is no limit.')
2022 'disable_rcb' => array(
2023 xl('Recall Board: Disable'),
2024 'bool', // data type
2025 '0', // default
2026 xl('Do not display the Recall Board.')
2031 // Insurance Tab
2032 'Insurance' => array(
2033 'enable_eligibility_requests' => array(
2034 xl('Enable Insurance Eligibility'),
2035 'bool',
2036 '0',
2037 xl('Allow insurance eligibility checks using an X12 Partner')
2040 'simplified_demographics' => array(
2041 xl('Simplified Demographics'),
2042 'bool', // data type
2043 '0', // default = false
2044 xl('Omit insurance and some other things from the demographics form')
2047 'insurance_information' => array(
2048 xl('Show Additional Insurance Information'), // descriptive name
2049 array(
2050 '0' => xl('None'),
2051 '1' => xl('Address Only'),
2052 '2' => xl('Address and Postal Code'),
2053 '3' => xl('Address and State'),
2054 '4' => xl('Address, State and Postal Code'),
2055 '5' => xl('Address, City, State and Postal Code'),
2056 '6' => xl('Address, City, State, Postal Code, Payer ID'),
2057 '7' => xl('Postal Code and Box Number')
2059 '6', // default
2060 xl('Show Insurance Address Information in the Insurance Panel of Demographics.')
2063 'disable_eligibility_log' => array(
2064 xl('Disable Insurance Eligibility Reports Download'),
2065 'bool',
2066 '0',
2067 xl('Do not allow insurance eligibility report log download')
2070 'insurance_only_one' => array(
2071 xl('Allow only one insurance'),
2072 'bool', // data type
2073 '0', // default = false
2074 xl('Allow more than one insurance')
2077 // Security Tab
2079 'Security' => array(
2080 'sql_string_no_show_screen' => array(
2081 xl('Mode - Do Not Show SQL Queries'),
2082 'bool', // data type
2083 '0', // default
2084 xl('Do not allow SQL queries to be outputted to screen.')
2086 'timeout' => array(
2087 xl('Idle Session Timeout Seconds'),
2088 'num', // data type
2089 '7200', // default
2090 xl('Maximum idle time in seconds before logout. Default is 7200 (2 hours).')
2092 'portal_timeout' => array(
2093 xl('Portal Idle Session Timeout Seconds'),
2094 'num', // data type
2095 '1800', // default
2096 xl('Maximum idle time in seconds before logout. Default is 1800 (30 minutes).')
2098 'secure_upload' => array(
2099 xl('Secure Upload Files with White List'),
2100 'bool', // data type
2101 '1', // default
2102 xl('Block all files types that are not found in the White List. Can find interface to edit the White List at Administration->Files.')
2104 'secure_password' => array(
2105 xl('Require Strong Passwords'),
2106 'bool', // data type
2107 '1', // default
2108 xl('Strong password means at least one of each: a number, a lowercase letter, an uppercase letter, a special character.')
2111 'gbl_minimum_password_length' => array(
2112 xl('Minimum Password Length'),
2113 array(
2114 '0' => xl('No Minimum'),
2115 '4' => '4',
2116 '5' => '5',
2117 '6' => '6',
2118 '7' => '7',
2119 '8' => '8',
2120 '9' => '9',
2121 '10' => '10',
2122 '11' => '11',
2123 '12' => '12',
2124 '13' => '13',
2125 '14' => '14',
2126 '15' => '15',
2127 '16' => '16',
2128 '17' => '17',
2129 '18' => '18',
2130 '19' => '19',
2131 '20' => '20',
2133 '9', // default
2134 xl('Minimum length of password.')
2137 'gbl_maximum_password_length' => array(
2138 xl('Maximum Password Length'),
2139 array(
2140 '0' => xl('No Maximum'),
2141 '72' => '72',
2143 '72', // default
2144 xl('Maximum length of password (Recommend using the default value of 72 unless you know what you are doing).')
2147 'password_history' => array(
2148 xl('Require Unique Passwords'),
2149 array(
2150 '0' => xl('No'),
2151 '1' => '1',
2152 '2' => '2',
2153 '3' => '3',
2154 '4' => '4',
2155 '5' => '5',
2157 '5', // default
2158 xl('Set to the number of prior passwords that are not allowed to use when changing a password.')
2161 'password_expiration_days' => array(
2162 xl('Default Password Expiration Days'),
2163 'num', // data type
2164 '180', // default
2165 xl('Default password expiration period in days. 0 means this feature is disabled.')
2168 'password_grace_time' => array(
2169 xl('Password Expiration Grace Period'),
2170 'num', // data type
2171 '30', // default
2172 xl('Period in days where a user may login with an expired password.')
2175 'password_max_failed_logins' => array(
2176 xl('Maximum Failed Login Attempts For User'),
2177 'num', // data type
2178 '20', // default
2179 xl('Maximum Failed Login Attempts For User (0 for no maximum).')
2182 'time_reset_password_max_failed_logins' => array(
2183 xl('Time (seconds) to Reset Maximum Failed Login Attempts For User'),
2184 'num', // data type
2185 '3600', // default to 1 hour
2186 xl('Time (seconds) to Reset Maximum Failed Login Attempts Counter For User (0 for no reset).')
2189 'ip_max_failed_logins' => array(
2190 xl('Maximum Failed Login Attempts From IP Address'),
2191 'num', // data type
2192 '100', // default
2193 xl('Maximum Failed Login Attempts From IP Address (0 for no maximum).')
2196 'ip_time_reset_password_max_failed_logins' => array(
2197 xl('Time (seconds) to Reset Maximum Failed Login Attempts From IP Address'),
2198 'num', // data type
2199 '3600', // default to 1 hour
2200 xl('Time (seconds) to Reset Maximum Failed Login Attempts Counter From IP Address (0 for no reset).')
2203 'gbl_fac_warehouse_restrictions' => array(
2204 xl('Enable Facility/Warehouse Permissions'),
2205 'bool', // data type
2206 '0', // default
2207 xl('Enable facility/warehouse restrictions in the user administration form.')
2210 'is_client_ssl_enabled' => array(
2211 xl('Enable Client SSL'),
2212 'bool', // data type
2213 '0', // default
2214 xl('Enable client SSL certificate authentication.')
2217 'certificate_authority_crt' => array(
2218 xl('Path to CA Certificate File'),
2219 'text', // data type
2220 '', // default
2221 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2224 'certificate_authority_key' => array(
2225 xl('Path to CA Key File'),
2226 'text', // data type
2227 '', // default
2228 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2231 'client_certificate_valid_in_days' => array(
2232 xl('Client Certificate Expiration Days'),
2233 'num', // data type
2234 '365', // default
2235 xl('Number of days that the client certificate is valid.')
2238 'Emergency_Login_email_id' => array(
2239 xl('Emergency Login Email Address'),
2240 'text', // data type
2241 '', // default
2242 xl('Email address, if any, to receive emergency login user activation messages.')
2245 'new_validate' => array(
2246 xl('New form validation'),
2247 'bool',
2248 '1',
2249 xl('New form validation')
2252 'allow_multiple_databases' => array(
2253 xl('Allow multiple databases'),
2254 'bool',
2255 '0',
2256 xl('Allow to use with multiple database')
2259 'safe_key_database' => array(
2260 xl('Safe key database'),
2261 'text', // data type
2262 '', // default
2263 xl('Key for multiple database credentials encryption')
2266 'google_signin_enabled' => array(
2267 xl('Enable Google Sign-In'),
2268 'bool',
2269 '0',
2270 xl('Enable Authentication Using Google Sign-in')
2273 'google_signin_client_id' => array(
2274 xl('Google Sign-In Client ID'),
2275 'text',
2277 xl('This Client ID Is Provided By Google For Your App (Required For Google Sign-in)')
2280 'gbl_ldap_enabled' => array(
2281 xl('Use LDAP for Authentication'),
2282 'bool',
2283 '0',
2284 xl('If enabled, use LDAP for login and authentication.')
2286 'gbl_ldap_host' => array(
2287 xl('LDAP - Server Name or URI'),
2288 'text',
2290 xl('The hostname or URI of your LDAP or Active Directory server.')
2292 'gbl_ldap_dn' => array(
2293 xl('LDAP - Distinguished Name of User'),
2294 'text',
2296 xl('Embed {login} where the OpenEMR login name of the user is to be; for example: uid={login},dc=example,dc=com')
2298 'gbl_ldap_exclusions' => array(
2299 xl('LDAP - Login Exclusions'),
2300 'text',
2302 xl('Comma-separated list of login names to use normal authentication instead of LDAP; useful for setup and debugging.')
2305 'gbl_debug_hash_verify_execution_time' => array(
2306 xl('Debug Hash Verification Time'),
2307 'bool',
2308 '0',
2309 xl('If enabled, this will send the execution time it took to verify hash to the php error log.')
2312 'gbl_auth_hash_algo' => array(
2313 xl('Hash Algorithm for Authentication'),
2314 array(
2315 'DEFAULT' => xl('PHP Default'),
2316 'BCRYPT' => 'Bcrypt',
2317 'ARGON2I' => 'Argon2I',
2318 'ARGON2ID' => 'Argon2ID',
2319 'SHA512HASH' => 'SHA512 (ONC 2015)',
2321 'DEFAULT', // default
2322 xl('Hashing algorithm for authentication. Suggest PHP Default unless you know what you are doing.')
2325 'gbl_auth_bcrypt_hash_cost' => array(
2326 xl('Authentication Bcrypt Hash Cost'),
2327 array(
2328 'DEFAULT' => xl('PHP Default'),
2329 '5' => '5',
2330 '6' => '6',
2331 '7' => '7',
2332 '8' => '8',
2333 '9' => '9',
2334 '10' => '10',
2335 '11' => '11',
2336 '12' => '12',
2337 '13' => '13',
2338 '14' => '14',
2339 '15' => '15',
2340 '16' => '16',
2341 '17' => '17',
2342 '18' => '18',
2343 '19' => '19',
2344 '20' => '20',
2346 'DEFAULT', // default
2347 xl('Authentication bcrypt hash cost. Suggest PHP Default unless you know what you are doing.')
2350 'gbl_auth_argon_hash_memory_cost' => array(
2351 xl('Authentication Argon Hash Memory Cost'),
2352 array(
2353 'DEFAULT' => xl('PHP Default'),
2354 '512' => '512',
2355 '1024' => '1024',
2356 '2048' => '2048',
2357 '4096' => '4096',
2358 '8192' => '8192',
2359 '16384' => '16384',
2360 '32768' => '32768',
2361 '65536' => '65536',
2362 '131072' => '131072',
2363 '262144' => '262144',
2364 '524288' => '524288',
2365 '1048576' => '1048576',
2366 '2097152' => '2097152',
2368 'DEFAULT', // default
2369 xl('Authentication argon hash memory cost. Suggest PHP Default unless you know what you are doing.')
2372 'gbl_auth_argon_hash_time_cost' => array(
2373 xl('Authentication Argon Hash Time Cost'),
2374 array(
2375 'DEFAULT' => xl('PHP Default'),
2376 '1' => '1',
2377 '2' => '2',
2378 '3' => '3',
2379 '4' => '4',
2380 '5' => '5',
2381 '6' => '6',
2382 '7' => '7',
2383 '8' => '8',
2384 '9' => '9',
2385 '10' => '10',
2386 '11' => '11',
2387 '12' => '12',
2388 '13' => '13',
2389 '14' => '14',
2390 '15' => '15',
2391 '16' => '16',
2392 '17' => '17',
2393 '18' => '18',
2394 '19' => '19',
2395 '20' => '20',
2397 'DEFAULT', // default
2398 xl('Authentication argon hash time cost. Suggest PHP Default unless you know what you are doing.')
2401 'gbl_auth_argon_hash_thread_cost' => array(
2402 xl('Authentication Argon Hash Thread Number'),
2403 array(
2404 'DEFAULT' => xl('PHP Default'),
2405 '1' => '1',
2406 '2' => '2',
2407 '3' => '3',
2408 '4' => '4',
2409 '5' => '5',
2410 '6' => '6',
2411 '7' => '7',
2412 '8' => '8',
2413 '9' => '9',
2414 '10' => '10',
2415 '11' => '11',
2416 '12' => '12',
2417 '13' => '13',
2418 '14' => '14',
2419 '15' => '15',
2420 '16' => '16',
2421 '17' => '17',
2422 '18' => '18',
2423 '19' => '19',
2424 '20' => '20',
2426 'DEFAULT', // default
2427 xl('Authentication argon hash thread number. Suggest PHP Default unless you know what you are doing.')
2430 'gbl_auth_sha512_rounds' => array(
2431 xl('Authentication SHA512 Hash Rounds Number'),
2432 array(
2433 '1000' => '1000',
2434 '5000' => '5000',
2435 '10000' => '10000',
2436 '15000' => '15000',
2437 '20000' => '20000',
2438 '30000' => '30000',
2439 '40000' => '40000',
2440 '50000' => '50000',
2441 '75000' => '75000',
2442 '100000' => '100000',
2443 '200000' => '200000',
2444 '300000' => '300000',
2445 '400000' => '400000',
2446 '500000' => '500000',
2447 '750000' => '750000',
2448 '1000000' => '1000000',
2449 '2000000' => '2000000',
2450 '3000000' => '3000000',
2451 '4000000' => '4000000',
2452 '5000000' => '5000000',
2453 '6000000' => '6000000',
2454 '7000000' => '7000000',
2455 '8000000' => '8000000',
2456 '9000000' => '9000000',
2458 '100000', // default
2459 xl('Authentication SHA512 hash rounds number.')
2464 // Notifications Tab
2466 'Notifications' => array(
2468 'patient_reminder_sender_name' => array(
2469 xl('Patient Reminder Sender Name'),
2470 'text', // data type
2471 '', // default
2472 xl('Name of the sender for patient reminders.')
2475 'patient_reminder_sender_email' => array(
2476 xl('Patient Reminder Sender Email'),
2477 'text', // data type
2478 '', // default
2479 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.')
2482 'practice_return_email_path' => array(
2483 xl('Notification Email Address'),
2484 'text', // data type
2485 '', // default
2486 xl('Email address, if any, to receive administrative notifications.')
2489 'EMAIL_METHOD' => array(
2490 xl('Email Transport Method'),
2491 array(
2492 'PHPMAIL' => 'PHPMAIL',
2493 'SENDMAIL' => 'SENDMAIL',
2494 'SMTP' => 'SMTP',
2496 'SMTP', // default
2497 xl('Method for sending outgoing email.')
2500 'SMTP_HOST' => array(
2501 xl('SMTP Server Hostname'),
2502 'text', // data type
2503 'localhost', // default
2504 xl('If SMTP is used, the server`s hostname or IP address.')
2507 'SMTP_PORT' => array(
2508 xl('SMTP Server Port Number'),
2509 'num', // data type
2510 '25', // default
2511 xl('If SMTP is used, the server`s TCP port number (usually 25).')
2514 'SMTP_USER' => array(
2515 xl('SMTP User for Authentication'),
2516 'text', // data type
2517 '', // default
2518 xl('Must be empty if SMTP authentication is not used.')
2521 'SMTP_PASS' => array(
2522 xl('SMTP Password for Authentication'),
2523 'encrypted', // data type
2524 '', // default
2525 xl('Must be empty if SMTP authentication is not used.')
2528 'SMTP_SECURE' => array(
2529 xl('SMTP Security Protocol'),
2530 array(
2531 '' => xl('None'),
2532 'ssl' => 'SSL',
2533 'tls' => 'TLS'
2536 xl('SMTP security protocol to connect with. Required by some servers such as gmail.')
2539 'EMAIL_NOTIFICATION_HOUR' => array(
2540 xl('Email Notification Hours'),
2541 'num', // data type
2542 '50', // default
2543 xl('Number of hours in advance to send email notifications.')
2546 'SMS_NOTIFICATION_HOUR' => array(
2547 xl('SMS Notification Hours'),
2548 'num', // data type
2549 '50', // default
2550 xl('Number of hours in advance to send SMS notifications.')
2553 'SMS_GATEWAY_USENAME' => array(
2554 xl('SMS Gateway Username'),
2555 'text', // data type
2556 '', // default
2557 xl('Username for SMS Gateway.')
2560 'SMS_GATEWAY_PASSWORD' => array(
2561 xl('SMS Gateway Password'),
2562 'text', // data type
2563 '', // default
2564 xl('Password for SMS Gateway.')
2567 'SMS_GATEWAY_APIKEY' => array(
2568 xl('SMS Gateway API Key'),
2569 'text', // data type
2570 '', // default
2571 xl('API key for SMS Gateway.')
2574 'phone_notification_hour' => array(
2575 xl('Phone Notification Hour'),
2576 'num', // data type
2577 '50', // default
2578 xl('Number of hours in advance to send Phone notification.')
2581 'phone_gateway_username' => array(
2582 xl('Phone Gateway Username'),
2583 'text', // data type
2584 '', // default
2585 xl('Username for Phone Gateway.')
2588 'phone_gateway_password' => array(
2589 xl('Phone Gateway Password'),
2590 'encrypted', // data type
2591 '', // default
2592 xl('Password for Phone Gateway.')
2595 'phone_gateway_url' => array(
2596 xl('Phone Gateway URL'),
2597 'text', // data type
2598 '', // default
2599 xl('URL for Phone Gateway.')
2604 // CDR (Clinical Decision Rules)
2606 'CDR' => array(
2608 'enable_cdr' => array(
2609 xl('Enable Clinical Decisions Rules (CDR)'),
2610 'bool', // data type
2611 '1', // default
2612 xl('Enable Clinical Decisions Rules (CDR)')
2615 'enable_allergy_check' => array(
2616 xl('Enable Allergy Check'),
2617 'bool', // data type
2618 '1', // default
2619 xl('Enable Allergy Check Against Medications and Prescriptions')
2622 'enable_alert_log' => array(
2623 xl('Enable Alert Log'),
2624 'bool', // data type
2625 '1', // default
2626 xl('Enable Alert Logging')
2629 'enable_cdr_new_crp' => array(
2630 xl('Enable Clinical Passive New Reminder(s) Popup'),
2631 'bool', // data type
2632 '1', // default
2633 xl('Enable Clinical Passive New Reminder(s) Popup')
2636 'enable_cdr_crw' => array(
2637 xl('Enable Clinical Passive Reminder Widget'),
2638 'bool', // data type
2639 '1', // default
2640 xl('Enable Clinical Passive Reminder Widget')
2643 'enable_cdr_crp' => array(
2644 xl('Enable Clinical Active Reminder Popup'),
2645 'bool', // data type
2646 '1', // default
2647 xl('Enable Clinical Active Reminder Popup')
2650 'enable_cdr_prw' => array(
2651 xl('Enable Patient Reminder Widget'),
2652 'bool', // data type
2653 '1', // default
2654 xl('Enable Patient Reminder Widget')
2657 'enable_cqm' => array(
2658 xl('Enable CQM Reporting'),
2659 'bool', // data type
2660 '1', // default
2661 xl('Enable Clinical Quality Measure (CQM) Reporting')
2664 'pqri_registry_name' => array(
2665 xl('PQRI Registry Name'),
2666 'text', // data type
2667 'Model Registry', // default
2668 xl('PQRI Registry Name')
2671 'pqri_registry_id' => array(
2672 xl('PQRI Registry ID'),
2673 'text', // data type
2674 '125789123', // default
2675 xl('PQRI Registry ID')
2678 'cqm_performance_period' => array(
2679 xl('Eligible Clinician eCQM Performance Period'),
2680 'text', // data type
2681 '2022', // default set
2682 xl('Enter the eCQM Performance Period year. For example 2022')
2685 'enable_amc' => array(
2686 xl('Enable AMC Reporting'),
2687 'bool', // data type
2688 '1', // default
2689 xl('Enable Automated Measure Calculations (AMC) Reporting')
2692 'enable_amc_prompting' => array(
2693 xl('Enable AMC Prompting'),
2694 'bool', // data type
2695 '1', // default
2696 xl('Enable Prompting For Automated Measure Calculations (AMC) Required Data')
2699 'enable_amc_tracking' => array(
2700 xl('Enable AMC Tracking'),
2701 'bool', // data type
2702 '1', // default
2703 xl('Enable Reporting of Tracking Date For Automated Measure Calculations (AMC)')
2706 'cdr_report_nice' => array(
2707 xl('CDR Reports Processing Priority'),
2708 array(
2709 '' => xl('Default Priority'),
2710 '5' => xl('Moderate Priority'),
2711 '10' => xl('Moderate/Low Priority'),
2712 '15' => xl('Low Priority'),
2713 '20' => xl('Lowest Priority')
2715 '', // default
2716 xl('Set processing priority for CDR engine based reports.')
2719 'pat_rem_clin_nice' => array(
2720 xl('Patient Reminder Creation Processing Priority'),
2721 array(
2722 '' => xl('Default Priority'),
2723 '5' => xl('Moderate Priority'),
2724 '10' => xl('Moderate/Low Priority'),
2725 '15' => xl('Low Priority'),
2726 '20' => xl('Lowest Priority')
2728 '', // default
2729 xl('Set processing priority for creation of Patient Reminders (in full clinic mode).')
2732 'report_itemizing_standard' => array(
2733 xl('Enable Standard Report Itemization'),
2734 'bool', // data type
2735 '1', // default
2736 xl('Enable Itemization of Standard Clinical Rules Reports')
2739 'report_itemizing_cqm' => array(
2740 xl('Enable CQM Report Itemization'),
2741 'bool', // data type
2742 '1', // default
2743 xl('Enable Itemization of CQM Reports')
2746 'report_itemizing_amc' => array(
2747 xl('Enable AMC Report Itemization'),
2748 'bool', // data type
2749 '1', // default
2750 xl('Enable Itemization of AMC Reports')
2752 'dated_reminders_max_alerts_to_show' => array(
2753 xl('Dated reminders maximum alerts to show'),
2754 'num', // data type
2755 '5', // default
2756 xl('Dated reminders maximum alerts to show')
2758 'patient_birthday_alert' => array(
2759 xl('Alert on patient birthday'),
2760 array(
2761 '0' => xl('No alert'),
2762 '1' => xl('Alert only on birthday'),
2763 '2' => xl('Alert on and after birthday'),
2764 '3' => xl('Alert on and up to 28 days after birthday')
2766 '1', // default
2767 xl('Alert on patient birthday')
2769 'patient_birthday_alert_manual_off' => array(
2770 xl('Patient birthday alert requires turning off'),
2771 'bool', // data type
2772 '0', // default
2773 xl('Patient birthday alert requires turning off')
2777 // Logging
2779 'Logging' => array(
2781 'user_debug' => array(
2782 xl('User Debugging Options'),
2783 array(
2784 '0' => xl('None'),
2785 '1' => xl('Display Window Errors Only'),
2786 '2' => xl('Display Application Errors Only'),
2787 '3' => xl('All'),
2789 '0', // default
2790 xl('User Debugging Mode.')
2793 'enable_auditlog' => array(
2794 xl('Enable Audit Logging'),
2795 'bool', // data type
2796 '1', // default
2797 xl('Enable Audit Logging')
2800 'audit_events_patient-record' => array(
2801 xl('Audit Logging Patient Record'),
2802 'bool', // data type
2803 '1', // default
2804 xl('Enable logging of patient record modifications.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2807 'audit_events_scheduling' => array(
2808 xl('Audit Logging Scheduling'),
2809 'bool', // data type
2810 '1', // default
2811 xl('Enable logging of scheduling activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2814 'audit_events_order' => array(
2815 xl('Audit Logging Order'),
2816 'bool', // data type
2817 '1', // default
2818 xl('Enable logging of ordering activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2821 'audit_events_security-administration' => array(
2822 xl('Audit Logging Security Administration'),
2823 'bool', // data type
2824 '1', // default
2825 xl('Enable logging of security and administration activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2828 'audit_events_backup' => array(
2829 xl('Audit Logging Backups'),
2830 'bool', // data type
2831 '1', // default
2832 xl('Enable logging of backup related activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2835 'audit_events_other' => array(
2836 xl('Audit Logging Miscellaneous'),
2837 'bool', // data type
2838 '1', // default
2839 xl('Enable logging of miscellaneous activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2842 'audit_events_query' => array(
2843 xl('Audit Logging SELECT Query'),
2844 'bool', // data type
2845 '1', // default
2846 xl('Enable logging of all SQL SELECT queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2849 'audit_events_cdr' => array(
2850 xl('Audit CDR Engine Queries'),
2851 'bool', // data type
2852 '0', // default
2853 xl('Enable logging of CDR Engine Queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2856 'gbl_force_log_breakglass' => array(
2857 xl('Audit all Emergency User Queries'),
2858 'bool', // data type
2859 '1', // default
2860 xl('Force logging of all Emergency User (ie. breakglass) activities.')
2863 'enable_atna_audit' => array(
2864 xl('Enable ATNA Auditing'),
2865 'bool', // data type
2866 '0', // default
2867 xl('Enable Audit Trail and Node Authentication (ATNA).')
2870 'atna_audit_host' => array(
2871 xl('ATNA audit host'),
2872 'text', // data type
2873 '', // default
2874 xl('The hostname of the ATNA audit repository machine.')
2877 'atna_audit_port' => array(
2878 xl('ATNA audit port'),
2879 'text', // data type
2880 '6514', // default
2881 xl('Listening port of the RFC 5425 TLS syslog server.')
2884 'atna_audit_localcert' => array(
2885 xl('ATNA audit local certificate'),
2886 'text', // data type
2887 '', // default
2888 xl('Certificate to send to RFC 5425 TLS syslog server.')
2891 'atna_audit_cacert' => array(
2892 xl('ATNA audit CA certificate'),
2893 'text', // data type
2894 '', // default
2895 xl('CA Certificate for verifying the RFC 5425 TLS syslog server.')
2898 'enable_auditlog_encryption' => array(
2899 xl('Enable Audit Log Encryption'),
2900 'bool', // data type
2901 '0', // default
2902 xl('Enable Audit Log Encryption')
2905 'api_log_option' => array(
2906 xl('API Log Option'),
2907 array(
2908 '0' => xl('No logging'),
2909 '1' => xl('Minimal Logging'),
2910 '2' => xl('Full Logging'),
2912 '2', // default
2913 xl('API Log Option (Full includes requests and responses).')
2916 'billing_log_option' => array(
2917 xl('Billing Log Option'),
2918 array(
2919 '1' => xl('Billing Log Append'),
2920 '2' => xl('Billing Log Overwrite')
2922 '1', // default
2923 xl('Billing log setting to append or overwrite the log file.')
2926 'gbl_print_log_option' => array(
2927 xl('Printing Log Option'),
2928 array(
2929 '0' => xl('No logging'),
2930 '1' => xl('Hide print feature'),
2931 '2' => xl('Log entire document'),
2933 '2', // default
2934 xl('Individual pages can override 2nd and 3rd options by implementing a log message.')
2937 'system_error_logging' => array(
2938 xl('System Error Logging Options'),
2939 array(
2940 'WARNING' => xl('Standard Error Logging'),
2941 'DEBUG' => xl('Debug Error Logging'),
2943 'WARNING', // default
2944 xl('System Error Logging Options.')
2949 // Miscellaneous Tab
2951 'Miscellaneous' => array(
2953 'enable_database_connection_pooling' => array(
2954 xl('Enable Database Connection Pooling'),
2955 'bool', // data type
2956 '1', // default
2957 xl('Enable Database Connection Pooling')
2960 'mysql_bin_dir' => array(
2961 xl('Path to MySQL Binaries'),
2962 'text', // data type
2963 $mysql_bin_dir, // default
2964 xl('Full path to directory containing MySQL executables.')
2967 'perl_bin_dir' => array(
2968 xl('Path to Perl Binaries'),
2969 'text', // data type
2970 $perl_bin_dir, // default
2971 xl('Full path to directory containing Perl executables.')
2974 'temporary_files_dir' => array(
2975 xl('Path to Temporary Files'),
2976 'text', // data type
2977 $temporary_files_dir, // default
2978 xl('Full path to directory used for temporary files.')
2981 'backup_log_dir' => array(
2982 xl('Path for Event Log Backup'),
2983 'text', // data type
2984 $backup_log_dir, // default
2985 xl('Full path to directory for event log backup.')
2988 'state_data_type' => array(
2989 xl('State Data Type'),
2990 array(
2991 '2' => xl('Text field'),
2992 '1' => xl('Single-selection list'),
2993 '26' => xl('Single-selection list with ability to add to the list'),
2995 '26', // default
2996 xl('Field type to use for employer or subscriber state in demographics.')
2999 'state_list' => array(
3000 xl('State list'),
3001 'text', // data type
3002 'state', // default
3003 xl('List used by above State Data Type option.')
3006 'state_custom_addlist_widget' => array(
3007 xl('State List Widget Custom Fields'),
3008 'bool', // data type
3009 '1', // default
3010 xl('Show the custom state form for the add list widget (will ask for title and abbreviation).')
3013 'country_data_type' => array(
3014 xl('Country Data Type'),
3015 array(
3016 '2' => xl('Text field'),
3017 '1' => xl('Single-selection list'),
3018 '26' => xl('Single-selection list with ability to add to the list'),
3020 '26', // default
3021 xl('Field type to use for employer or subscriber country in demographics.')
3024 'country_list' => array(
3025 xl('Country list'),
3026 'text', // data type
3027 'country', // default
3028 xl('List used by above Country Data Type option.')
3031 'post_to_date_benchmark' => array(
3032 xl('Financial Close Date (yyyy-mm-dd)'),
3033 'text', // data type
3034 date('Y-m-d', time() - (10 * 24 * 60 * 60)), // default
3035 xl('The payments posted cannot go below this date.This ensures that after taking the final report nobody post for previous dates.')
3038 'enable_hylafax' => array(
3039 xl('Enable Hylafax Support'),
3040 'bool', // data type
3041 '0', // default
3042 xl('Enable Hylafax Support')
3045 'hylafax_server' => array(
3046 xl('Hylafax Server'),
3047 'text', // data type
3048 'localhost', // default
3049 xl('Hylafax server hostname.')
3052 'hylafax_basedir' => array(
3053 xl('Hylafax Directory'),
3054 'text', // data type
3055 '/var/spool/hylafax', // default
3056 xl('Location where Hylafax stores faxes.')
3059 'enable_scanner' => array(
3060 xl('Enable Scanner Support'),
3061 'bool', // data type
3062 '0', // default
3063 xl('Enable Scanner Support')
3066 'scanner_output_directory' => array(
3067 xl('Scanner Directory'),
3068 'text', // data type
3069 '/mnt/scan_docs', // default
3070 xl('Location where scans are stored.')
3073 'unique_installation_id' => array(
3074 xl('Unique Installation ID'),
3075 'if_empty_create_random_uuid', // data type
3076 '', // default
3077 xl('Unique installation ID. Creates a random UUID if empty.')
3081 // Portal Tab
3083 'Portal' => array(
3085 'portal_onsite_two_enable' => array(
3086 xl('Enable Patient Portal'),
3087 'bool', // data type
3088 '0',
3089 xl('Enable Patient Portal')
3092 'portal_onsite_two_address' => array(
3093 xl('Patient Portal Site Address'),
3094 'text', // data type
3095 'https://your_web_site.com/openemr/portal',
3096 xl('Website link for the Patient Portal.')
3099 'portal_css_header' => array(
3100 xl('Portal Default Theme'),
3101 array(
3102 'style_light.css' => xl('Light'),
3103 'style_dark.css' => xl('Dark')
3105 'style_light.css',
3106 xl('Pick a default portal theme.')
3109 'portal_force_credential_reset' => array(
3110 xl('Portal Login Forced Credential Reset'),
3111 array(
3112 '0' => xl('Allow (Recommended)'),
3113 '1' => xl('Disable'),
3114 '2' => xl('User optional from credential dialog.')
3116 '0',
3117 xl('Select the credentials create or reset behavior for forcing patient to change password on portal login.') .
3118 xl('User optional persists the options checkbox state in the credential dialog to allow deciding on a patient by patient basis.')
3121 'portal_onsite_two_basepath' => array(
3122 xl('Portal Uses Server Base Path (internal)'),
3123 'bool',
3124 '0',
3125 xl('Use servers protocol and host in urls (portal internal only).')
3128 'enforce_signin_email' => array(
3129 xl('Enforce E-Mail in Portal Log On Dialog'),
3130 'bool', // data type
3131 '1',
3132 xl('Patient is required to enter their contact e-mail if present in Demographics Contact.')
3135 'google_recaptcha_site_key' => array(
3136 xl('Google reCAPTCHA V2 site key'),
3137 'text',
3139 xl('Google reCAPTCHA V2 site key')
3142 'google_recaptcha_secret_key' => array(
3143 xl('Google reCAPTCHA V2 secret key'),
3144 'encrypted',
3146 xl('Google reCAPTCHA V2 secret key')
3149 'portal_primary_menu_logo_height' => [
3150 xl('Primary Menu Logo Height'),
3151 'text',
3152 '30',
3153 xl('The height of the portal logo located on the primary navbar in pixels without a suffix'),
3156 'portal_onsite_two_register' => array(
3157 xl('Allow New Patient Registration Widget') . ' ' . xl('This requires reCAPTCHA to be setup'),
3158 'bool', // data type
3159 '0',
3160 xl('Enable Patient Portal new patient to self register.')
3163 'allow_portal_appointments' => array(
3164 xl('Allow Online Appointments'),
3165 'bool', // data type
3166 '1',
3167 xl('Allow Patient to make and view appointments online.')
3170 'allow_portal_chat' => array(
3171 xl('Allow Online Secure Chat'),
3172 'bool', // data type
3173 '1',
3174 xl('Allow Patient to use Secure Chat Application.')
3177 'portal_two_ledger' => array(
3178 xl('Allow Patient Ledger'),
3179 'bool', // data type
3180 '1',
3181 xl('Allow Patient to view their accounting ledger online.')
3184 'portal_two_payments' => array(
3185 xl('Allow Online Payments'),
3186 'bool', // data type
3187 '0',
3188 xl('Allow Patient to make payments online.')
3191 'portal_two_pass_reset' => array(
3192 xl('Allow Patients to Reset Credentials') . ' ' . xl('This requires reCAPTCHA to be setup'),
3193 'bool', // data type
3194 '0',
3195 xl('Patient may change their logon from portal login dialog.')
3198 'portal_onsite_document_download' => array(
3199 xl('Enable Patient Portal Document Download'),
3200 'bool', // data type
3201 '1',
3202 xl('Enables the ability to download documents in the Patient Portal by the user.')
3206 // Connectors Tab
3208 'Connectors' => array(
3210 'site_addr_oath' => array(
3211 xl('Site Address Override (if needed for OAuth2, FHIR, CCDA, or Payment Processing)'),
3212 'text',
3214 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 .'
3217 'rest_fhir_api' => array(
3218 xl('Enable OpenEMR Standard FHIR REST API'),
3219 'bool',
3220 '0',
3221 xl('Enable OpenEMR Standard FHIR RESTful API.')
3224 'rest_system_scopes_api' => array(
3225 xl('Enable OpenEMR FHIR System Scopes (Turn on only if you know what you are doing)'),
3226 'bool',
3227 '0',
3228 xl('Enable OpenEMR FHIR System Scopes.')
3231 'rest_api' => array(
3232 xl('Enable OpenEMR Standard REST API'),
3233 'bool',
3234 '0',
3235 xl('Enable OpenEMR Standard RESTful API.')
3238 'rest_portal_api' => array(
3239 xl('Enable OpenEMR Patient Portal REST API (EXPERIMENTAL)'),
3240 'bool',
3241 '0',
3242 xl('Enable OpenEMR Patient Portal RESTful API.')
3245 'oauth_password_grant' => array(
3246 xl('Enable OAuth2 Password Grant (Not considered secure)'),
3247 array(
3248 0 => xl('Off (Recommended setting)'),
3249 1 => xl('On for Users Role'),
3250 2 => xl('On for Patient Role'),
3251 3 => xl('On for Both Roles')
3253 '0',
3254 xl('Enable OAuth2 Password Grant. Recommend turning this setting off for production server. Recommend only using for testing.')
3256 'oauth_app_manual_approval' => array(
3257 xl('OAuth2 App Manual Approval Settings'),
3258 array(
3259 0 => xl('Patient standalone apps Auto Approved, EHR-Launch,Provider&System Apps require manual approval')
3260 , 1 => xl('Manually Approve All Apps (USA jurisdictions must approve all patient standalone apps within 48 hours)')
3261 // ,2 => xl('All apps Auto Approved') we could add this setting at a latter date
3263 '0',
3264 xl('Approval settings for 3rd party app/api access')
3266 'oauth_ehr_launch_authorization_flow_skip' => array(
3267 xl('OAuth2 EHR-Launch Authorization Flow Skip Enable App Setting'),
3268 'bool',
3269 '0',
3270 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.')
3273 'cc_front_payments' => array(
3274 xl('Accept Credit Card transactions from Front Payments'),
3275 'bool',
3276 '0',
3277 xl('Allow manual entry and authorise credit card payments. Ensure a gateway is enabled.')
3279 'cc_stripe_terminal' => array(
3280 xl('In person payments with Stripe Verifone P400'),
3281 'bool',
3282 '0',
3283 xl('Allow in person credit card payments using Stripe Verifone P400. Ensure Stripe gateway is enabled.')
3285 'payment_gateway' => array(
3286 xl('Select Credit Card Payment Gateway'),
3287 array(
3288 'InHouse' => xl('In House Authorize Payments'),
3289 'AuthorizeNet' => xl('Gateway for AuthorizeNet Manual Payments'),
3290 'Sphere' => xl('Gateway for Sphere Payments'),
3291 'Stripe' => xl('Gateway for Stripe Manual Payments')
3293 'InHouse',
3294 xl('Enable a Payment Gateway Service for processing credit card transactions')
3297 'gateway_mode_production' => array(
3298 xl('Set Gateway to Production Mode'),
3299 'bool', // data type
3300 '0',
3301 xl('Check this to go live. Not checked is testing mode.')
3304 'gateway_public_key' => array(
3305 xl('Gateway Publishable Key'),
3306 'encrypted',
3308 xl('The public access key for secure tokenize of credit or debit card authorization. PCI compliance')
3311 'gateway_api_key' => array(
3312 xl('Gateway API Login Auth Name or Secret'),
3313 'encrypted',
3315 xl('The Auth Name or API key for selected account. Auth Name for Authorize.Net and API Secret for Stripe.')
3318 'gateway_transaction_key' => array(
3319 xl('Gateway Transaction Key'),
3320 'encrypted',
3322 xl('Mainly Authorize.Net uses two keys')
3325 'sphere_clinicfront_trxcustid' => array(
3326 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID'),
3327 'encrypted',
3329 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID')
3332 'sphere_clinicfront_trxcustid_licensekey' => array(
3333 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key'),
3334 'encrypted',
3336 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key')
3339 'sphere_moto_tc_link_pass' => array(
3340 xl('Sphere MOTO TC Link Password'),
3341 'encrypted',
3343 xl('Sphere MOTO TC Link Password')
3346 'sphere_clinicfront_retail_trxcustid' => array(
3347 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID'),
3348 'encrypted',
3350 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID')
3353 'sphere_clinicfront_retail_trxcustid_licensekey' => array(
3354 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key'),
3355 'encrypted',
3357 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key')
3360 'sphere_retail_tc_link_pass' => array(
3361 xl('Sphere RETAIL TC Link Password'),
3362 'encrypted',
3364 xl('Sphere RETAIL TC Link Password')
3367 'sphere_patientfront_trxcustid' => array(
3368 xl('Sphere Patientfront (Ecomm) Transaction CustID'),
3369 'encrypted',
3371 xl('Sphere Patientfront (Ecomm) Transaction CustID')
3374 'sphere_patientfront_trxcustid_licensekey' => array(
3375 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key'),
3376 'encrypted',
3378 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key')
3381 'sphere_ecomm_tc_link_pass' => array(
3382 xl('Sphere Ecomm TC Link Password'),
3383 'encrypted',
3385 xl('Sphere Ecomm TC Link Password')
3388 'sphere_credit_void_confirm_pin' => array(
3389 xl('Sphere Void/Credit Confirmation PIN'),
3390 'encrypted_hash',
3392 xl('Sphere Void/Credit Confirmation Password. OpenEMR confirms pin/password before proceeding with void/credit.')
3395 'medex_enable' => array(
3396 xl('Enable MedEx Communication Service'),
3397 'bool', // data type
3398 '0',
3399 xl('Enable MedEx Communication Service')
3402 'erx_enable' => array(
3403 xl('Enable NewCrop eRx Service'),
3404 'bool',
3405 '0',
3406 xl('Enable NewCrop eRx Service.') . ' ' .
3407 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.')
3410 'erx_newcrop_path' => array(
3411 xl('NewCrop eRx Site Address'),
3412 'text',
3413 'https://secure.newcropaccounts.com/InterfaceV7/RxEntry.aspx',
3414 xl('URL for NewCrop eRx Site Address.')
3417 'erx_newcrop_path_soap' => array(
3418 xl('NewCrop eRx Web Service Address'),
3419 'text',
3420 'https://secure.newcropaccounts.com/v7/WebServices/Update1.asmx?WSDL;https://secure.newcropaccounts.com/v7/WebServices/Patient.asmx?WSDL',
3421 xl('URLs for NewCrop eRx Service Address, separated by a semi-colon.')
3424 'erx_soap_ttl_allergies' => array(
3425 xl('NewCrop eRx SOAP Request Time-To-Live for Allergies'),
3426 'num',
3427 '21600',
3428 xl('Time-To-Live for NewCrop eRx Allergies SOAP Request in seconds.')
3431 'erx_soap_ttl_medications' => array(
3432 xl('NewCrop eRx SOAP Request Time-To-Live for Medications'),
3433 'num',
3434 '21600',
3435 xl('Time-To-Live for NewCrop eRx Medications SOAP Request in seconds.')
3438 'erx_account_partner_name' => array(
3439 xl('NewCrop eRx Partner Name'),
3440 'text',
3442 xl('Partner Name issued for NewCrop eRx service.')
3445 'erx_account_name' => array(
3446 xl('NewCrop eRx Name'),
3447 'text',
3449 xl('Account Name issued for NewCrop eRx service.')
3452 'erx_account_password' => array(
3453 xl('NewCrop eRx Password'),
3454 'encrypted',
3456 xl('Account Password issued for NewCrop eRx service.')
3459 'erx_account_id' => array(
3460 xl('NewCrop eRx Account Id'),
3461 'text',
3462 '1',
3463 xl('Account Id issued for NewCrop eRx service, used to separate multi-facility accounts.')
3466 'erx_upload_active' => array(
3467 xl('Only upload active prescriptions'),
3468 'bool',
3469 '0',
3470 xl('Only upload active prescriptions to NewCrop eRx.')
3473 'erx_import_status_message' => array(
3474 xl('Enable NewCrop eRx import status message'),
3475 'bool',
3476 '0',
3477 xl('Enable import status message after visiting NewCrop eRx.')
3480 'erx_medication_display' => array(
3481 xl('Do not display NewCrop eRx Medications uploaded'),
3482 'bool',
3483 '0',
3484 xl('Do not display Medications uploaded after visiting NewCrop eRx.')
3487 'erx_allergy_display' => array(
3488 xl('Do not display NewCrop eRx Allergy uploaded'),
3489 'bool',
3490 '0',
3491 xl('Do not display Allergies uploaded after visiting NewCrop eRx.')
3494 'erx_default_patient_country' => array(
3495 xl('NewCrop eRx Default Patient Country'),
3496 array(
3497 '' => '',
3498 'US' => xl('USA'),
3499 'CA' => xl('Canada'),
3500 'MX' => xl('Mexico'),
3503 xl('Default Patient Country sent to NewCrop eRx, only if patient country is not set.'),
3506 'erx_debug_setting' => array(
3507 xl('NewCrop eRx Debug Setting'),
3508 array(
3509 0 => xl('None'),
3510 1 => xl('Request Only'),
3511 2 => xl('Response Only'),
3512 3 => xl('Request & Response'),
3514 '0',
3515 xl('Log all NewCrop eRx Requests and / or Responses.'),
3518 'ccda_alt_service_enable' => array(
3519 xl('Enable C-CDA Service'),
3520 array(
3521 0 => xl('Off'),
3522 1 => xl('Care Coordination Only'),
3523 2 => xl('Portal Only'),
3524 3 => xl('Both'),
3526 '0',
3527 xl('Enable C-CDA Service')
3530 'phimail_enable' => array(
3531 xl('Enable phiMail Direct Messaging Service'),
3532 'bool', // data type
3533 '0',
3534 xl('Enable phiMail Direct Messaging Service')
3536 'phimail_testmode_disabled' => array(
3537 xl('Disable phiMail Test Mode'),
3538 'bool', // data type
3539 '0',
3540 xl('When you are ready to run phiMail in production mode. Turn on this flag.')
3542 'phimail_verifyrecipientreceived_enable' => array(
3543 xl("phiMail default force message receipt confirmation to on"),
3544 'bool',
3545 '0',
3546 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")
3549 'phimail_server_address' => array(
3550 xl('phiMail Server Address'),
3551 'text', // data type
3552 'https://phimail.example.com:32541',
3553 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3556 'phimail_username' => array(
3557 xl('phiMail Username'),
3558 'text', // data type
3560 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3563 'phimail_password' => array(
3564 xl('phiMail Password'),
3565 'encrypted', // data type
3567 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3570 'phimail_notify' => array(
3571 xl('phiMail notification user'),
3572 'text', // data type
3573 'admin',
3574 xl('This user will receive notification of new incoming Direct messages')
3577 'phimail_interval' => array(
3578 xl('phiMail Message Check Interval (minutes)'),
3579 'num', // data type
3580 '5',
3581 xl('Interval between message checks (set to zero for manual checks only)')
3584 'phimail_ccd_enable' => array(
3585 xl('phiMail Allow CCD Send'),
3586 'bool', // data type
3587 '0',
3588 xl('phiMail Allow CCD Send')
3591 'phimail_ccr_enable' => array(
3592 xl('phiMail Allow CCR Send'),
3593 'bool', // data type
3594 '0',
3595 xl('phiMail Allow CCR Send')
3598 'easipro_enable' => array(
3599 xl('Enable Easipro'),
3600 'bool', // data type
3601 '0',
3602 xl('Enable Easipro. For licensing options for this feature, please contact') . ' api@assessmentcenter.net'
3605 'easipro_server' => array(
3606 xl('Easipro Server'),
3607 'text', // data type
3609 xl('Easipro Server')
3612 'easipro_name' => array(
3613 xl('Easipro Server Username'),
3614 'text', // data type
3616 xl('Easipro Server Username')
3619 'easipro_pass' => array(
3620 xl('Easipro Server Password'),
3621 'encrypted', // data type
3623 xl('Easipro Server Password')
3626 'usps_webtools_enable' => array(
3627 xl('Enable USPS Web Tools API'),
3628 'bool', // data type
3629 '0',
3630 xl('Enable USPS Web Tools API')
3633 'usps_webtools_username' => array(
3634 xl('USPS Web Tools API Username'),
3635 'text', // data type
3637 xl('USPS Web Tools API Username')
3640 'ccda_validation_disable' => array(
3641 xl('Disable All import CDA Validation Reporting'),
3642 'bool', // data type
3643 '0',
3644 xl('Disable All CDA conformance and validation services to improve import performance')
3647 'mdht_conformance_server_enable' => array(
3648 xl('Use MDHT External Validation Service'),
3649 'bool', // data type
3650 '0',
3651 xl('Enable CCDA conformance and validation API service')
3654 'mdht_conformance_server' => array(
3655 xl('CCDA MDHT Validation API Server Address'),
3656 'text', // data type
3658 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.')
3662 'Rx' => array(
3663 'rx_enable_DEA' => array(
3664 xl('Rx Enable DEA #'),
3665 'bool', // data type
3666 '1',
3667 xl('Rx Enable DEA #')
3669 'rx_show_DEA' => array(
3670 xl('Rx Show DEA #'),
3671 'bool', // data type
3672 '0',
3673 xl('Rx Show DEA #')
3675 'rx_enable_NPI' => array(
3676 xl('Rx Enable NPI'),
3677 'bool', // data type
3678 '0',
3679 xl('Rx Enable NPI')
3681 'rx_show_NPI' => array(
3682 xl('Rx Show NPI'),
3683 'bool', // data type
3684 '0',
3685 xl('Rx Show NPI')
3687 'rx_enable_SLN' => array(
3688 xl('Rx Enable State Lic. #'),
3689 'bool', // data type
3690 '0',
3691 xl('Rx Enable State Lic. #')
3693 'rx_show_SLN' => array(
3694 xl('Rx Show State Lic. #'),
3695 'bool', // data type
3696 '0',
3697 xl('Rx Show State Lic. #')
3699 'rx_show_drug_drug' => array(
3700 xl('Rx NLM Drug-Drug'),
3701 'bool', // data type
3702 '0',
3703 xl('Rx NLM Drug-Drug')
3705 'rx_paper_size' => array(
3706 xl('Rx Paper Size'), // descriptive name
3707 array(
3708 'LETTER' => xl('Letter Paper Size'),
3709 'LEGAL' => xl('Legal Paper Size'),
3710 'FOLIO' => xl('Folio Paper Size'),
3711 'EXECUTIVE' => xl('Executive Paper Size'),
3712 '4A0' => ('4A0' . " " . xl('Paper Size')),
3713 '2A0' => ('2A0' . " " . xl('Paper Size')),
3714 'A0' => ('A0' . " " . xl('Paper Size')),
3715 'A1' => ('A1' . " " . xl('Paper Size')),
3716 'A2' => ('A2' . " " . xl('Paper Size')),
3717 'A3' => ('A3' . " " . xl('Paper Size')),
3718 'A4' => ('A4' . " " . xl('Paper Size')),
3719 'A5' => ('A5' . " " . xl('Paper Size')),
3720 'A6' => ('A6' . " " . xl('Paper Size')),
3721 'A7' => ('A7' . " " . xl('Paper Size')),
3722 'A8' => ('A8' . " " . xl('Paper Size')),
3723 'A9' => ('A9' . " " . xl('Paper Size')),
3724 'A10' => ('A10' . " " . xl('Paper Size')),
3725 'B0' => ('B0' . " " . xl('Paper Size')),
3726 'B1' => ('B1' . " " . xl('Paper Size')),
3727 'B2' => ('B2' . " " . xl('Paper Size')),
3728 'B3' => ('B3' . " " . xl('Paper Size')),
3729 'B4' => ('B4' . " " . xl('Paper Size')),
3730 'B5' => ('B5' . " " . xl('Paper Size')),
3731 'B6' => ('B6' . " " . xl('Paper Size')),
3732 'B7' => ('B7' . " " . xl('Paper Size')),
3733 'B8' => ('B8' . " " . xl('Paper Size')),
3734 'B9' => ('B9' . " " . xl('Paper Size')),
3735 'B10' => ('B10' . " " . xl('Paper Size')),
3736 'C0' => ('C0' . " " . xl('Paper Size')),
3737 'C1' => ('C1' . " " . xl('Paper Size')),
3738 'C2' => ('C2' . " " . xl('Paper Size')),
3739 'C3' => ('C3' . " " . xl('Paper Size')),
3740 'C4' => ('C4' . " " . xl('Paper Size')),
3741 'C5' => ('C5' . " " . xl('Paper Size')),
3742 'C6' => ('C6' . " " . xl('Paper Size')),
3743 'C7' => ('C7' . " " . xl('Paper Size')),
3744 'C8' => ('C8' . " " . xl('Paper Size')),
3745 'C9' => ('C9' . " " . xl('Paper Size')),
3746 'C10' => ('C10' . " " . xl('Paper Size')),
3747 'RA0' => ('RA0' . " " . xl('Paper Size')),
3748 'RA1' => ('RA1' . " " . xl('Paper Size')),
3749 'RA2' => ('RA2' . " " . xl('Paper Size')),
3750 'RA3' => ('RA3' . " " . xl('Paper Size')),
3751 'RA4' => ('RA4' . " " . xl('Paper Size')),
3752 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
3753 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
3754 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
3755 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
3756 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
3758 'LETTER', // default = tree menu
3759 xl('Rx Paper Size')
3761 'rx_left_margin' => array(
3762 xl('Rx Left Margin (px)'),
3763 'num',
3764 '30',
3765 xl('Rx Left Margin (px)')
3767 'rx_right_margin' => array(
3768 xl('Rx Right Margin (px)'),
3769 'num',
3770 '30',
3771 xl('Rx Right Margin (px)')
3773 'rx_top_margin' => array(
3774 xl('Rx Top Margin (px)'),
3775 'num',
3776 '72',
3777 xl('Rx Top Margin (px)')
3779 'rx_bottom_margin' => array(
3780 xl('Rx Bottom Margin (px)'),
3781 'num',
3782 '30',
3783 xl('Rx Bottom Margin (px)')
3785 'rx_use_fax_template' => array(
3786 xl('Show button for download fax template'),
3787 'bool', // data type
3788 '1', // default = true
3789 xl('Show button in the prescription list for download fax template')
3791 'rx_zend_html_template' => array(
3792 xl('Rx html print - zend module'),
3793 'bool', // data type
3794 '0', // default = false
3795 xl('Use an html template from zend module')
3797 'rx_zend_html_action' => array(
3798 xl('Name of zend template for html print'),
3799 'text', // data type
3800 'default',
3801 xl('Name of zend template for html print, possible to add custom template in the PrescriptionTemplate module')
3803 'rx_zend_pdf_template' => array(
3804 xl('Rx pdf - zend template'),
3805 'bool', // data type
3806 '0', // default = false
3807 xl('Use a pdf template from zend module')
3809 'rx_zend_pdf_action' => array(
3810 xl('Name of zend template for pdf export'),
3811 'text', // data type
3812 'default',
3813 xl('Name of zend template for pdf export, possible to add custom template in the PrescriptionTemplate module')
3815 'rx_send_email' => array(
3816 xl('Allow email sending of prescriptions'),
3817 'bool', // data type
3818 '1',
3819 xl('Enable email option (available on prescriptions list screen) for emailing prescriptions')
3822 'PDF' => array(
3823 'pdf_layout' => array(
3824 xl('Layout'),
3825 array(
3826 'P' => xl('Portrait'),
3827 'L' => xl('Landscape')
3829 'P', //defaut
3830 xl("Choose Layout Direction"),
3832 'pdf_language' => array(
3833 xl('PDF Language'),
3834 array(
3835 'aa' => xl('Afar'),
3836 'af' => xl('Afrikaans'),
3837 'ak' => xl('Akan'),
3838 'sq' => xl('Albanian'),
3839 'am' => xl('Amharic'),
3840 'ar' => xl('Arabic'),
3841 'an' => xl('Aragonese'),
3842 'hy' => xl('Armenian'),
3843 'as' => xl('Assamese'),
3844 'av' => xl('Avaric'),
3845 'ae' => xl('Avestan'),
3846 'ay' => xl('Aymara'),
3847 'az' => xl('Azerbaijani'),
3848 'bm' => xl('Bambara'),
3849 'ba' => xl('Bashkir'),
3850 'eu' => xl('Basque'),
3851 'be' => xl('Belarusian'),
3852 'bn' => xl('Bengali- Bangla'),
3853 'bh' => xl('Bihari'),
3854 'bi' => xl('Bislama'),
3855 'bs' => xl('Bosnian'),
3856 'br' => xl('Breton'),
3857 'bg' => xl('Bulgarian'),
3858 'my' => xl('Burmese'),
3859 'ca' => xl('Catalan- Valencian'),
3860 'ch' => xl('Chamorro'),
3861 'ce' => xl('Chechen'),
3862 'ny' => xl('Chichewa- Chewa- Nyanja'),
3863 'zh' => xl('Chinese'),
3864 'cv' => xl('Chuvash'),
3865 'kw' => xl('Cornish'),
3866 'co' => xl('Corsican'),
3867 'cr' => xl('Cree'),
3868 'hr' => xl('Croatian'),
3869 'cs' => xl('Czech'),
3870 'da' => xl('Danish'),
3871 'dv' => xl('Divehi- Dhivehi- Maldivian-'),
3872 'nl' => xl('Dutch'),
3873 'dz' => xl('Dzongkha'),
3874 'en' => xl('English'),
3875 'eo' => xl('Esperanto'),
3876 'et' => xl('Estonian'),
3877 'ee' => xl('Ewe'),
3878 'fo' => xl('Faroese'),
3879 'fj' => xl('Fijian'),
3880 'fi' => xl('Finnish'),
3881 'fr' => xl('French'),
3882 'ff' => xl('Fula- Fulah- Pulaar- Pular'),
3883 'gl' => xl('Galician'),
3884 'ka' => xl('Georgian'),
3885 'de' => xl('German'),
3886 'el' => xl('Greek, Modern'),
3887 'gn' => xl('Guarani'),
3888 'gu' => xl('Gujarati'),
3889 'ht' => xl('Haitian- Haitian Creole'),
3890 'ha' => xl('Hausa'),
3891 'he' => xl('Hebrew (modern)'),
3892 'hz' => xl('Herero'),
3893 'hi' => xl('Hindi'),
3894 'ho' => xl('Hiri Motu'),
3895 'hu' => xl('Hungarian'),
3896 'ia' => xl('Interlingua'),
3897 'id' => xl('Indonesian'),
3898 'ie' => xl('Interlingue'),
3899 'ga' => xl('Irish'),
3900 'ig' => xl('Igbo'),
3901 'ik' => xl('Inupiaq'),
3902 'io' => xl('Ido'),
3903 'is' => xl('Icelandic'),
3904 'it' => xl('Italian'),
3905 'iu' => xl('Inuktitut'),
3906 'ja' => xl('Japanese'),
3907 'jv' => xl('Javanese'),
3908 'kl' => xl('Kalaallisut, Greenlandic'),
3909 'kn' => xl('Kannada'),
3910 'kr' => xl('Kanuri'),
3911 'ks' => xl('Kashmiri'),
3912 'kk' => xl('Kazakh'),
3913 'km' => xl('Khmer'),
3914 'ki' => xl('Kikuyu, Gikuyu'),
3915 'rw' => xl('Kinyarwanda'),
3916 'ky' => xl('Kyrgyz'),
3917 'kv' => xl('Komi'),
3918 'kg' => xl('Kongo'),
3919 'ko' => xl('Korean'),
3920 'ku' => xl('Kurdish'),
3921 'kj' => xl('Kwanyama, Kuanyama'),
3922 'la' => xl('Latin'),
3923 'lb' => xl('Luxembourgish, Letzeburgesch'),
3924 'lg' => xl('Ganda'),
3925 'li' => xl('Limburgish, Limburgan, Limburger'),
3926 'ln' => xl('Lingala'),
3927 'lo' => xl('Lao'),
3928 'lt' => xl('Lithuanian'),
3929 'lu' => xl('Luba-Katanga'),
3930 'lv' => xl('Latvian'),
3931 'gv' => xl('Manx'),
3932 'mk' => xl('Macedonian'),
3933 'mg' => xl('Malagasy'),
3934 'ms' => xl('Malay'),
3935 'ml' => xl('Malayalam'),
3936 'mt' => xl('Maltese'),
3937 'mi' => xl('Maori'),
3938 'mr' => xl('Marathi (Marathi)'),
3939 'mh' => xl('Marshallese'),
3940 'mn' => xl('Mongolian'),
3941 'na' => xl('Nauru'),
3942 'nv' => xl('Navajo, Navaho'),
3943 'nb' => xl('Norwegian Bokmal'),
3944 'nd' => xl('North Ndebele'),
3945 'ne' => xl('Nepali'),
3946 'ng' => xl('Ndonga'),
3947 'nn' => xl('Norwegian Nynorsk'),
3948 'no' => xl('Norwegian'),
3949 'ii' => xl('Nuosu'),
3950 'nr' => xl('South Ndebele'),
3951 'oc' => xl('Occitan'),
3952 'oj' => xl('Ojibwe, Ojibwa'),
3953 'cu' => xl('Old Church Slavonic, Church Slavonic, Old Bulgarian'),
3954 'om' => xl('Oromo'),
3955 'or' => xl('Oriya'),
3956 'os' => xl('Ossetian, Ossetic'),
3957 'pa' => xl('Panjabi, Punjabi'),
3958 'pi' => xl('Pali'),
3959 'fa' => xl('Persian (Farsi)'),
3960 'pl' => xl('Polish'),
3961 'ps' => xl('Pashto, Pushto'),
3962 'pt' => xl('Portuguese'),
3963 'qu' => xl('Quechua'),
3964 'rm' => xl('Romansh'),
3965 'rn' => xl('Kirundi'),
3966 'ro' => xl('Romanian'),
3967 'ru' => xl('Russian'),
3968 'sa' => xl('Sanskrit (Samskrta)'),
3969 'sc' => xl('Sardinian'),
3970 'sd' => xl('Sindhi'),
3971 'se' => xl('Northern Sami'),
3972 'sm' => xl('Samoan'),
3973 'sg' => xl('Sango'),
3974 'sr' => xl('Serbian'),
3975 'gd' => xl('Scottish Gaelic- Gaelic'),
3976 'sn' => xl('Shona'),
3977 'si' => xl('Sinhala, Sinhalese'),
3978 'sk' => xl('Slovak'),
3979 'sl' => xl('Slovene'),
3980 'so' => xl('Somali'),
3981 'st' => xl('Southern Sotho'),
3982 'es' => xl('Spanish- Castilian'),
3983 'su' => xl('Sundanese'),
3984 'sw' => xl('Swahili'),
3985 'ss' => xl('Swati'),
3986 'sv' => xl('Swedish'),
3987 'ta' => xl('Tamil'),
3988 'te' => xl('Telugu'),
3989 'tg' => xl('Tajik'),
3990 'th' => xl('Thai'),
3991 'ti' => xl('Tigrinya'),
3992 'bo' => xl('Tibetan Standard, Tibetan, Central'),
3993 'tk' => xl('Turkmen'),
3994 'tl' => xl('Tagalog'),
3995 'tn' => xl('Tswana'),
3996 'to' => xl('Tonga (Tonga Islands)'),
3997 'tr' => xl('Turkish'),
3998 'ts' => xl('Tsonga'),
3999 'tt' => xl('Tatar'),
4000 'tw' => xl('Twi'),
4001 'ty' => xl('Tahitian'),
4002 'ug' => xl('Uyghur, Uighur'),
4003 'uk' => xl('Ukrainian'),
4004 'ur' => xl('Urdu'),
4005 'uz' => xl('Uzbek'),
4006 've' => xl('Venda'),
4007 'vi' => xl('Vietnamese'),
4008 'vo' => xl('Volapuk'),
4009 'wa' => xl('Walloon'),
4010 'cy' => xl('Welsh'),
4011 'wo' => xl('Wolof'),
4012 'fy' => xl('Western Frisian'),
4013 'xh' => xl('Xhosa'),
4014 'yi' => xl('Yiddish'),
4015 'yo' => xl('Yoruba'),
4016 'za' => xl('Zhuang, Chuang'),
4017 'zu' => xl('Zulu'),
4019 'en', // default English
4020 xl('Choose PDF languange Preference'),
4022 'pdf_size' => array(
4023 xl('Paper Size'), // Descriptive Name
4024 array(
4025 'LETTER' => xl('Letter Paper Size'),
4026 'LEGAL' => xl('Legal Paper Size'),
4027 'FOLIO' => xl('Folio Paper Size'),
4028 'EXECUTIVE' => xl('Executive Paper Size'),
4029 '4A0' => ('4A0' . " " . xl('Paper Size')),
4030 '2A0' => ('2A0' . " " . xl('Paper Size')),
4031 'A0' => ('A0' . " " . xl('Paper Size')),
4032 'A1' => ('A1' . " " . xl('Paper Size')),
4033 'A2' => ('A2' . " " . xl('Paper Size')),
4034 'A3' => ('A3' . " " . xl('Paper Size')),
4035 'A4' => ('A4' . " " . xl('Paper Size')),
4036 'A5' => ('A5' . " " . xl('Paper Size')),
4037 'A6' => ('A6' . " " . xl('Paper Size')),
4038 'A7' => ('A7' . " " . xl('Paper Size')),
4039 'A8' => ('A8' . " " . xl('Paper Size')),
4040 'A9' => ('A9' . " " . xl('Paper Size')),
4041 'A10' => ('A10' . " " . xl('Paper Size')),
4042 'B0' => ('B0' . " " . xl('Paper Size')),
4043 'B1' => ('B1' . " " . xl('Paper Size')),
4044 'B2' => ('B2' . " " . xl('Paper Size')),
4045 'B3' => ('B3' . " " . xl('Paper Size')),
4046 'B4' => ('B4' . " " . xl('Paper Size')),
4047 'B5' => ('B5' . " " . xl('Paper Size')),
4048 'B6' => ('B6' . " " . xl('Paper Size')),
4049 'B7' => ('B7' . " " . xl('Paper Size')),
4050 'B8' => ('B8' . " " . xl('Paper Size')),
4051 'B9' => ('B9' . " " . xl('Paper Size')),
4052 'B10' => ('B10' . " " . xl('Paper Size')),
4053 'C0' => ('C0' . " " . xl('Paper Size')),
4054 'C1' => ('C1' . " " . xl('Paper Size')),
4055 'C2' => ('C2' . " " . xl('Paper Size')),
4056 'C3' => ('C3' . " " . xl('Paper Size')),
4057 'C4' => ('C4' . " " . xl('Paper Size')),
4058 'C5' => ('C5' . " " . xl('Paper Size')),
4059 'C6' => ('C6' . " " . xl('Paper Size')),
4060 'C7' => ('C7' . " " . xl('Paper Size')),
4061 'C8' => ('C8' . " " . xl('Paper Size')),
4062 'C9' => ('C9' . " " . xl('Paper Size')),
4063 'C10' => ('C10' . " " . xl('Paper Size')),
4064 'RA0' => ('RA0' . " " . xl('Paper Size')),
4065 'RA1' => ('RA1' . " " . xl('Paper Size')),
4066 'RA2' => ('RA2' . " " . xl('Paper Size')),
4067 'RA3' => ('RA3' . " " . xl('Paper Size')),
4068 'RA4' => ('RA4' . " " . xl('Paper Size')),
4069 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
4070 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
4071 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
4072 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
4073 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
4075 'LETTER',
4076 xl('Choose Paper Size')
4079 'pdf_font_size' => array(
4080 xl('PDF Font Size in Pt'),
4081 'num',
4082 '10',
4083 xl('Sets the font size for most PDF text in pt')
4086 'pdf_left_margin' => array(
4087 xl('Left Margin (mm)'),
4088 'num',
4089 '5',
4090 xl('Left Margin (mm)')
4092 'pdf_right_margin' => array(
4093 xl('Right Margin (mm)'),
4094 'num',
4095 '5',
4096 xl('Right Margin (mm)')
4098 'pdf_top_margin' => array(
4099 xl('Top Margin (mm)'),
4100 'num',
4101 '5',
4102 xl('Top Margin (mm)')
4104 'pdf_bottom_margin' => array(
4105 xl('Bottom Margin (px)'),
4106 'num',
4107 '8',
4108 xl('Bottom Margin (px)')
4110 'pdf_output' => array(
4111 xl('Output Type'),
4112 array(
4113 'D' => xl('Download'),
4114 'I' => xl('Inline')
4116 'D', //defaut
4117 xl("Choose Download or Display Inline"),
4120 'chart_label_type' => array(
4121 xl('Patient Label Type'),
4122 array(
4123 '0' => xl('None'),
4124 '1' => '5160',
4125 '2' => '5161',
4126 '3' => '5162'
4128 '1', // default
4129 xl('Avery Label type for printing patient labels from popups in left nav screen'),
4132 'barcode_label_type' => array(
4133 xl('Barcode Label Type'),
4134 array(
4135 '0' => xl('None'),
4136 '1' => 'std25',
4137 '2' => 'int25',
4138 '3' => 'ean8',
4139 '4' => 'ean13',
4140 '5' => 'upc',
4141 '6' => 'code11',
4142 '7' => 'code39',
4143 '8' => 'code93',
4144 '9' => 'code128',
4145 '10' => 'codabar',
4146 '11' => 'msi',
4147 '12' => 'datamatrix'
4149 '9', // default = None
4150 xl('Barcode type for printing barcode labels from popups in left nav screen.')
4153 'addr_label_type' => array(
4154 xl('Print Patient Address Label'),
4155 'bool', // data type
4156 '1', // default = false
4157 xl('Select to print patient address labels from popups in left nav screen.')
4160 'env_x_width' => array(
4161 xl('Envelope Width in mm'),
4162 'num', // data type
4163 '104.775',
4164 xl('In Portrait mode, determines the width of the envelope along the x-axis in mm')
4167 'env_y_height' => array(
4168 xl('Envelope Height in mm'),
4169 'num', // data type
4170 '241.3',
4171 xl('In Portrait mode, determines the height of the envelope along the y-axis in mm')
4174 'env_font_size' => array(
4175 xl('Envelope Font Size in Pt'),
4176 'num', // data type
4177 '14',
4178 xl('Sets the font of the address text on the envelope in mm')
4181 'env_x_dist' => array(
4182 xl('Envelope x-axis starting pt'),
4183 'num', // data type
4184 '65',
4185 xl('Distance from the \'top\' of the envelope in mm')
4188 'env_y_dist' => array(
4189 xl('Envelope y-axis starting pt'),
4190 'num', // data type
4191 '220',
4192 xl('Distance from the right most edge of the envelope in portrait position in mm')
4197 'Patient Banner Bar' => [
4198 'patient_name_display' => [
4199 xl('Patient Name Display'),
4201 'btn' => xl('As Button'),
4202 'text' => xl('As Text Link'),
4203 'text-large' => xl('As Large Text Link'),
4205 'text-large',
4206 xl('How to display the patient name'),
4210 'Encounter Form' => [
4211 'default_chief_complaint' => array(
4212 xl('Default Reason for Visit'),
4213 'text', // data type
4215 xl('You may put text here as the default complaint in the New Patient Encounter form.')
4218 'default_visit_category' => [
4219 xl('Default Visit Category'),
4220 'default_visit_category',
4221 '_blank',
4222 xl('Define a default visit category'),
4225 'enable_follow_up_encounters' => [
4226 xl('Enable follow-up encounters'),
4227 'bool',
4228 '0',
4229 xl('Enable follow-up encounters feature')
4232 'gbl_visit_referral_source' => array(
4233 xl('Referral Source for Encounters'),
4234 'bool', // data type
4235 '0', // default = false
4236 xl('A referral source may be specified for each visit.')
4239 'gbl_visit_onset_date' => array(
4240 xl('Onset/Hosp Date for Encounters'),
4241 'bool', // data type
4242 '1', // default = true
4243 xl('An onset/hospitalization date may be specified for each visit.')
4246 'set_pos_code_encounter' => [
4247 xl('Set POS code in Encounter'),
4248 'bool', // data type
4249 '0', // default = false
4250 xl('This feature will allow the default POS facility code to be overridden from the encounter.')
4253 'set_service_facility_encounter' => array(
4254 xl('Set Service Facility in Encounter'),
4255 'bool', // data type
4256 '0', // default = false
4257 xl('This feature will allow the default service facility to be selected by the care team facility in Choices.')
4260 'enc_service_date' => [
4261 xl('Show Date of Service on Encounter Form'),
4262 getDefaultRenderListOptions(),
4263 RenderFormFieldHelper::SHOW_ALL,
4264 xl('How to display the Date of Service on the Encounter form. Defaults to the current time on a new form'),
4267 'enc_sensitivity_visibility' => [
4268 xl('Show Sensitivity on Encounter Form'),
4269 getDefaultRenderListOptions(),
4270 RenderFormFieldHelper::SHOW_ALL,
4271 xl('How to display the sensitivity option'),
4274 'enc_in_collection' => [
4275 xl('Show In Collection on Encounter Form'),
4276 getDefaultRenderListOptions(),
4277 RenderFormFieldHelper::SHOW_ALL,
4278 xl("How to display the 'In Collection' option. May be overriden by Hide Billing Widget setting"),
4281 'enc_enable_issues' => [
4282 xl('Allow Linking/Adding Issues on Encounter'),
4283 getDefaultRenderListOptions(),
4284 RenderFormFieldHelper::SHOW_ALL,
4285 xl('Allow issues to be linked or added to an encounter'),
4288 'enc_enable_referring_provider' => [
4289 xl('Show Referring Provider option on Encounters'),
4290 getDefaultRenderListOptions(),
4291 RenderFormFieldHelper::SHOW_ALL,
4292 xl('Display the Referring Provider option on Encounters'),
4295 'enc_enable_facility' => [
4296 xl('Show Facility option on Encounters'),
4297 getDefaultRenderListOptions(),
4298 RenderFormFieldHelper::SHOW_ALL,
4299 xl('Display the Referring Provider option on Encounters'),
4302 'enc_enable_discharge_disposition' => [
4303 xl('Show Discharge Disposition option on Encounters'),
4304 getDefaultRenderListOptions(),
4305 RenderFormFieldHelper::SHOW_ALL,
4306 xl('Display the Discharge Disposition option on the Encounter form'),
4309 'enc_enable_visit_category' => [
4310 xl('Show Visit Category option on Encounters'),
4311 getDefaultRenderListOptions(),
4312 RenderFormFieldHelper::SHOW_ALL,
4313 xl('Show Visit Category option on Encounters'),
4316 'enc_enable_class' => [
4317 xl('Show Encounter Class option on Encounters'),
4318 getDefaultRenderListOptions(),
4319 RenderFormFieldHelper::SHOW_ALL,
4320 xl('Show Encounter Class option on Encounters'),
4323 'enc_enable_type' => [
4324 xl('Show Encounter Type option on Encounters'),
4325 getDefaultRenderListOptions(),
4326 RenderFormFieldHelper::SHOW_ALL,
4327 xl('Show Encounter Class option on Encounters'),
4330 'enc_enable_ordering_provider' => [
4331 xl('Show Ordering Provider option on Encounters'),
4332 getDefaultRenderListOptions(),
4333 RenderFormFieldHelper::HIDE_ALL,
4334 xl('Display the Ordering Provider option on Encounters'),
4339 if (!empty($GLOBALS['ippf_specific'])) {
4340 $GLOBALS['GLOBALS_METADATA']['IPPF Menu'] = array(
4342 'gbl_menu_stats_ippf' => array(
4343 xl('IPPF Statistics Reporting'),
4344 'bool', // data type
4345 '1', // default
4346 xl('IPPF statistical reports.')
4349 'gbl_menu_stats_gcac' => array(
4350 xl('GCAC Statistics Reporting'),
4351 'bool', // data type
4352 '0', // default
4353 xl('GCAC statistical reports.')
4356 'gbl_menu_stats_ma' => array(
4357 xl('MA Statistics Reporting'),
4358 'bool', // data type
4359 '1', // default
4360 xl('MA statistical reports.')
4363 'gbl_menu_stats_cyp' => array(
4364 xl('CYP Statistics Reporting'),
4365 'bool', // data type
4366 '1', // default
4367 xl('CYP statistical reports.')
4370 'gbl_menu_stats_daily' => array(
4371 xl('Daily Statistics Reporting'),
4372 'bool', // data type
4373 '0', // default
4374 xl('Daily statistical reports.')
4377 'gbl_menu_stats_c3' => array(
4378 xl('C3 Statistics Reporting'),
4379 'bool', // data type
4380 '0', // default
4381 xl('C3 statistical reports.')
4384 'gbl_menu_stats_cc' => array(
4385 xl('Cervical Cancer Reporting'),
4386 'bool', // data type
4387 '0', // default
4388 xl('Cervical cancer statistical reports.')
4391 'gbl_menu_stats_sinadi' => array(
4392 xl('SINADI Report'),
4393 'bool', // data type
4394 '0', // default
4395 xl('Uruguay SINADI statistical report.')
4398 'gbl_menu_visits_by_item' => array(
4399 xl('Visits by Item Report'),
4400 'bool', // data type
4401 '0', // default
4402 xl('Visits by Item Report')
4405 'gbl_menu_acct_trans' => array(
4406 xl('Accounting Transactions Export'),
4407 'bool', // data type
4408 '0', // default
4409 xl('Accounting transactions export to CSV')
4412 'gbl_menu_projects' => array(
4413 xl('Restricted Projects Reporting'),
4414 'bool', // data type
4415 '0', // default
4416 xl('For IPPF Belize and maybe others')
4419 'gbl_menu_surinam_insurance' => array(
4420 xl('LOBI Insurers Report'),
4421 'bool', // data type
4422 '0', // default
4423 xl('For IPPF Suriname and maybe others')
4426 'gbl_menu_netsuite' => array(
4427 xl('NetSuite Reports'),
4428 'bool', // data type
4429 '0', // default
4430 xl('For NetSuite financial integration')
4433 'gbl_menu_ive_clients' => array(
4434 xl('IVE Client List'),
4435 'bool', // data type
4436 '0', // default
4437 xl('Client List of IVE Activity')
4440 'gbl_menu_shifts' => array(
4441 xl('Shifts Reporting'),
4442 'bool', // data type
4443 '0', // default
4444 xl('For IPPF Argentina and maybe others')
4447 'gbl_menu_service_and_client_volume' => array(
4448 xl('Service and Client Volume Report'),
4449 'bool', // data type
4450 '1', // default
4451 xl('Service and Client Volume Report')
4455 $GLOBALS['GLOBALS_METADATA']['IPPF Features'] = array(
4457 'gbl_rapid_workflow' => array(
4458 xl('Rapid Workflow Option'),
4459 array(
4460 '0' => xl('None'),
4461 'LBFmsivd' => xl('MSI (requires LBFmsivd form)'),
4462 'fee_sheet' => xl('Fee Sheet and Checkout'),
4464 '0', // default
4465 xl('Activates custom work flow logic')
4468 'gbl_new_acceptor_policy' => array(
4469 xl('New Acceptor Policy'),
4470 array(
4471 '0' => xl('Not applicable'),
4472 '1' => xl('Simplified; Contraceptive Start Date on Tally Sheet'),
4473 '3' => xl('Contraception Form; Acceptors New to Modern Contraception'),
4475 '1', // default
4476 xl('Applicable only for family planning clinics')
4479 'gbl_min_max_months' => array(
4480 xl('Min/Max Inventory as Months'),
4481 'bool', // data type
4482 '1', // default = true
4483 xl('Min/max inventory is expressed as months of supply instead of units')
4486 'gbl_restrict_provider_facility' => array(
4487 xl('Restrict Providers by Facility'),
4488 'bool', // data type
4489 '0', // default
4490 xl('Limit service provider selection according to the facility of the logged-in user.')
4493 'gbl_checkout_line_adjustments' => array(
4494 xl('Adjustments at Checkout'),
4495 array(
4496 '0' => xl('Invoice Level Only'),
4497 '1' => xl('Line Items Only'),
4498 '2' => xl('Invoice and Line Levels'),
4500 '1', // default = line items only
4501 xl('Discounts at checkout time may be entered per invoice or per line item or both.')
4504 'gbl_checkout_charges' => array(
4505 xl('Unit Price in Checkout and Receipt'),
4506 'bool', // data type
4507 '0', // default = false
4508 xl('Include line item unit price amounts in checkout and receipts.')
4511 'gbl_charge_categories' => array(
4512 xl('Customers in Checkout and Receipt'),
4513 'bool', // data type
4514 '0', // default = false
4515 xl('Include Customers in checkout and receipts. See the Customers list.')
4518 'gbl_auto_create_rx' => array(
4519 xl('Automatically Create Prescriptions'),
4520 'bool', // data type
4521 '0', // default = false
4522 xl('Prescriptions may be created from the Fee Sheet.')
4525 'gbl_checkout_receipt_note' => array(
4526 xl('Checkout Receipt Note'),
4527 'text', // data type
4529 xl('This note goes on the bottom of every checkout receipt.')
4532 'gbl_custom_receipt' => array(
4533 xl('Custom Checkout Receipt'),
4534 array(
4535 '0' => xl('None'),
4536 'checkout_receipt_general.inc.php' => xl('POS Printer'),
4537 'checkout_receipt_panama.inc.php' => xl('Panama'),
4539 '0', // default
4540 xl('Present an additional PDF custom receipt after checkout.')
4543 'gbl_ma_ippf_code_restriction' => array(
4544 xl('Allow More than one MA/IPPF code mapping'),
4545 'bool', // data type
4546 '0', // default = false
4547 xl('Disable the restriction of only one IPPF code per MA code in superbill')
4550 'gbl_uruguay_asse_url' => array(
4551 xl('Uruguay ASSE URL'),
4552 'text', // data type
4554 xl('URL of ASSE SOAP server. Must be blank if not a Uruguay site. Enter "test" for dummy data.')
4557 'gbl_uruguay_asse_token' => array(
4558 xl('Uruguay ASSE Token'),
4559 'text', // data type
4561 xl('Token for connection to ASSE SOAP server')
4564 } // end if ippf_specific
4566 if (empty($skipGlobalEvent)) {
4567 $globalsInitEvent = new GlobalsInitializedEvent(new GlobalsService($GLOBALS_METADATA, $USER_SPECIFIC_GLOBALS, $USER_SPECIFIC_TABS));
4568 $globalsInitEvent = $GLOBALS["kernel"]->getEventDispatcher()->dispatch($globalsInitEvent, GlobalsInitializedEvent::EVENT_HANDLE, 10);
4569 $globalsService = $globalsInitEvent->getGlobalsService()->save();