fix: Update patient_tracker.php (#6595)
[openemr.git] / library / globals.inc.php
blob6c13f9d023922612fde130816e233edbd7484078
1 <?php
3 /*
4 * This program sets the global variables.
6 * @package OpenEMR
7 * @link https://www.open-emr.org
8 * @author Rod Roark <rod@sunsetsystems.com>
9 * @author Stephen Waite <stephen.waite@cmsvt.com>
10 * @author Brady Miller <brady.g.miller@gmail.com>
11 * @copyright Copyright (c) 2010-2021 Rod Roark <rod@sunsetsystems.com>
12 * @copyright Copyright (c) 2018 Stephen Waite <stephen.waite@cmsvt.com>
13 * @copyright Copyright (c) 2019 Brady Miller <brady.g.miller@gmail.com>
14 * @copyright Copyright (c) 2021-2023 Robert Down <robertdown@live.com>
15 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
18 // Current supported languages: // Allow capture of term for translation:
19 // Albanian // xl('Albanian')
20 // Amharic // xl('Amharic')
21 // Arabic // xl('Arabic')
22 // Armenian // xl('Armenian')
23 // Bahasa Indonesia // xl('Bahasa Indonesia')
24 // Bengali // xl('Bengali')
25 // Bosnian // xl('Bosnian')
26 // Bulgarian // xl('Bulgarian')
27 // Chinese (Simplified) // xl('Chinese (Simplified)')
28 // Chinese (Traditional) // xl('Chinese (Traditional)')
29 // Croatian // xl('Croatian')
30 // Czech // xl('Czech')
31 // Danish // xl('Danish')
32 // Dutch // xl('Dutch')
33 // English (Australian) // xl('English (Australian)')
34 // English (Indian) // xl('English (Indian)')
35 // English (Standard) // xl('English (Standard)')
36 // Estonian // xl('Estonian')
37 // Filipino // xl('Filipino')
38 // Finnish // xl('Finnish')
39 // French // xl('French (Standard)')
40 // French // xl('French (Canadian)')
41 // Georgian // xl('Georgian')
42 // German // xl('German')
43 // Greek // xl('Greek')
44 // Gujarati // xl('Gujarati')
45 // Hebrew // xl('Hebrew')
46 // Hindi // xl('Hindi')
47 // Hungarian // xl('Hungarian')
48 // Italian // xl('Italian')
49 // Japanese // xl('Japanese')
50 // Korean // xl('Korean')
51 // Lao // xl('Lao')
52 // Lithuanian // xl('Lithuanian')
53 // Marathi // xl('Marathi')
54 // Mongolian // xl('Mongolian')
55 // Norwegian // xl('Norwegian')
56 // Persian // xl('Persian')
57 // Polish // xl('Polish')
58 // Portuguese (Brazilian) // xl('Portuguese (Brazilian)')
59 // Portuguese (European) // xl('Portuguese (European)')
60 // Portuguese (European) // xl('Portuguese (Angolan)')
61 // Romanian // xl('Romanian')
62 // Russian // xl('Russian')
63 // Serbian // xl('Serbian')
64 // Sinhala // xl('Sinhala')
65 // Slovak // xl('Slovak')
66 // Somali // xl('Somali')
67 // Spanish (Latin American) // xl('Spanish (Latin American)')
68 // Spanish (Spain) // xl('Spanish (Spain)')
69 // Swedish // xl('Swedish')
70 // Tamil // xl('Tamil')
71 // Telugu // xl('Telugu')
72 // Thai // xl('Thai')
73 // Turkish // xl('Turkish')
74 // Ukrainian // xl('Ukrainian')
75 // Urdu // xl('Urdu')
76 // Uzbek // xl('Uzbek')
77 // Vietnamese // xl('Vietnamese')
79 use OpenEMR\Events\Globals\GlobalsInitializedEvent;
80 use OpenEMR\OeUI\RenderFormFieldHelper;
81 use OpenEMR\Services\Globals\GlobalsService;
83 // OS-dependent stuff.
84 if (stristr(PHP_OS, 'WIN')) {
85 // MS Windows
86 $mysql_bin_dir = 'C:/xampp/mysql/bin';
87 $perl_bin_dir = 'C:/xampp/perl/bin';
88 $temporary_files_dir = 'C:/windows/temp';
89 $backup_log_dir = 'C:/windows/temp';
90 } else {
91 // Everything else
92 $mysql_bin_dir = '/usr/bin';
93 $perl_bin_dir = '/usr/bin';
94 $temporary_files_dir = '/tmp';
95 $backup_log_dir = '/tmp';
98 function getDefaultRenderListOptions()
100 return [
101 RenderFormFieldHelper::SHOW_ON_NEW_ONLY => xl('Show on New Form Only'),
102 RenderFormFieldHelper::SHOW_ON_EDIT_ONLY => xl('Show on Edit Form Only'),
103 RenderFormFieldHelper::SHOW_ALL => xl('Show on New and Edit Form'),
104 RenderFormFieldHelper::HIDE_ALL => xl('Hide on New and Edit Form'),
108 // Language constant declarations:
109 // xl('Appearance')
110 // xl('Locale')
111 // xl('Features')
112 // xl('Calendar')
113 // xl('Security')
114 // xl('Notifications')
115 // xl('Miscellaneous')
117 // List of user specific tabs and globals
118 $USER_SPECIFIC_TABS = array('Appearance',
119 'Locale',
120 'Features',
121 'Billing',
122 'Report',
123 'Calendar',
124 'CDR',
125 'Connectors');
126 $USER_SPECIFIC_GLOBALS = array('default_top_pane',
127 'default_second_tab',
128 'theme_tabs_layout',
129 'css_header',
130 'enable_compact_mode',
131 'vertical_responsive_menu',
132 'menu_styling_vertical',
133 'search_any_patient',
134 'default_encounter_view',
135 'gbl_pt_list_page_size',
136 'gbl_pt_list_new_window',
137 'units_of_measurement',
138 'us_weight_format',
139 'date_display_format',
140 'time_display_format',
141 'enable_help',
142 'text_templates_enabled',
143 'posting_adj_disable',
144 'messages_due_date',
145 'expand_form',
146 'ledger_begin_date',
147 'print_next_appointment_on_ledger',
148 'calendar_view_type',
149 'event_color',
150 'pat_trkr_timer',
151 'ptkr_visit_reason',
152 'ptkr_date_range',
153 'ptkr_start_date',
154 'ptkr_end_date',
155 'checkout_roll_off',
156 'patient_birthday_alert',
157 'patient_birthday_alert_manual_off',
158 'erx_import_status_message',
159 'weno_provider_password');
161 // Gets array of time zones supported by PHP.
163 function gblTimeZones()
165 $zones = timezone_identifiers_list();
166 $arr = array('' => xl('Unassigned'));
167 foreach ($zones as $zone) {
168 $arr[$zone] = str_replace('_', ' ', $zone);
171 return $arr;
174 $GLOBALS_METADATA = array(
176 // Appearance Tab
178 'Appearance' => array(
180 'default_top_pane' => array(
181 xl('Main Top Pane Screen(Or Default First Tab)'), // descriptive name
182 array(
183 'main_info.php' => xl('Calendar Screen'),
184 '../new/new.php' => xl('Patient Search/Add Screen'),
185 '../../interface/main/finder/dynamic_finder.php' => xl('Patient Finder Screen'),
186 '../../interface/patient_tracker/patient_tracker.php?skip_timeout_reset=1' => xl('Patient Flow Board'),
187 '../../interface/main/messages/messages.php?form_active=1' => xl('Messages Screen')
189 'main_info.php', // default = calendar
190 xl('Main Top Pane Screen(Or Default First Tab)')
193 'default_second_tab' => array(
194 xl('Default Second Tab'), // descriptive name
195 array(
196 '' => xl('None'),
197 '../../interface/main/messages/messages.php?form_active=1' => xl('Messages Screen'),
198 'main_info.php' => xl('Calendar Screen'),
199 '../new/new.php' => xl('Patient Search/Add Screen'),
200 '../../interface/main/finder/dynamic_finder.php' => xl('Patient Finder Screen'),
201 '../../interface/patient_tracker/patient_tracker.php?skip_timeout_reset=1' => xl('Patient Flow Board'),
203 '../../interface/main/messages/messages.php?form_active=1', // default = messages
204 xl('Default Second Tab')
207 'theme_tabs_layout' => array(
208 xl('Tabs Layout Theme') . '*',
209 'tabs_css',
210 'tabs_style_full.css',
211 xl('Theme of the tabs layout (need to logout and then login to see this new setting).')
214 'css_header' => array(
215 // Note: Do not change this as it is only for theme defaults and adding themes here does nothing
216 xl('General Theme') . '*',
217 'css',
218 'style_light.css',
219 xl('Pick a general theme (need to logout/login after changing this setting).')
222 'window_title_add_patient_name' => array(
223 xl('Add Patient Name To Window Title'),
224 'bool', // data type
225 '0', // default = false
226 xl('Adds the patient name to the end of the window title.')
229 'enable_compact_mode' => array(
230 xl('Enable Compact Mode'),
231 'bool', // data type
232 '0', // default = false
233 xl('Changes the current theme to be more compact.')
236 'menu_styling_vertical' => array(
237 xl('Vertical Menu Style for Frames'),
238 array(
239 '0' => xl('Tree'),
240 '1' => xl('Sliding'),
242 '1',
243 xl('Vertical Menu Style for frame based layouts')
246 'search_any_patient' => array(
247 xl('Search Patient By Any Demographics'),
248 array(
249 'dual' => xl('Dual'),
250 'comprehensive' => xl('Comprehensive'),
251 'fixed' => xl('Fixed'),
252 'none' => xl('None'),
254 'dual', // default
255 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')
258 'default_encounter_view' => array(
259 xl('Default Encounter View'), // descriptive name
260 array(
261 '0' => xl('Clinical View'),
262 '1' => xl('Billing View'),
264 '0', // default = tree menu
265 xl('Choose your default encounter view')
268 'enable_group_therapy' => array(
269 xl('Enable Group Therapy'),
270 'bool', // data type
271 '0', // default = false
272 xl('Enables groups module in system.')
275 'full_new_patient_form' => array(
276 xl('New Patient Form'),
278 array(
279 '0' => xl('Old-style static form without search or duplication check'),
280 '1' => xl('All demographics fields, with search and duplication check'),
281 '2' => xl('Mandatory or specified fields only, search and dup check'),
282 '3' => xl('Mandatory or specified fields only, dup check, no search'),
283 '4' => xl('Mandatory or specified fields only, use patient validation Zend module'),
285 '1', // default
286 xl('Style of form used for adding new patients')
289 'gbl_edit_patient_form' => array(
290 xl('Modify Patient Form'),
292 array(
293 '0' => xl('Standard check'),
294 '1' => xl('Zend Module check in addition to standard check')
296 '0', // default
297 xl('Validation mechanism for when modifying patient demographics.')
300 'patient_search_results_style' => array(
301 xl('Patient Search Results Style'),
302 array(
303 '0' => xl('Encounter statistics'),
304 '1' => xl('Mandatory and specified fields'),
306 '0', // default
307 xl('Type of columns displayed for patient search results')
310 'gbl_nav_visit_forms' => array(
311 xl('Navigation Area Visit Forms'),
312 'bool', // data type
313 '1', // default = true
314 xl('Navigation area includes encounter forms')
317 'simplified_prescriptions' => array(
318 xl('Simplified Prescriptions'),
319 'bool', // data type
320 '0', // default = false
321 xl('Omit form, route and interval which then become part of dosage')
324 'simplified_copay' => array(
325 xl('Simplified Co-Pay'),
326 'bool', // data type
327 '0', // default = false
328 xl('Omit method of payment from the co-pay panel')
331 'use_charges_panel' => array(
332 xl('Use Charges Panel'),
333 'bool', // data type
334 '0', // default = false
335 xl('Enables the old Charges panel for entering billing codes and payments. Not recommended, use the Fee Sheet instead.')
338 // TajEmo Work BY CB 2012/06/21 10:42:31 AM added option to Hide Fees
339 'enable_fees_in_left_menu' => array(
340 xl('Enable Fees Submenu'),
341 'bool', // data type
342 '1', // default = true
343 xl('Enable Fees Submenu')
345 'enable_batch_payment' => array(
346 xl('Enable Batch Payment'),
347 'bool', // data type
348 '1', // default = true
349 xl('Enable Batch Payment')
351 'enable_posting' => array(
352 xl('Enable Posting'),
353 'bool', // data type
354 '1', // default = true
355 xl('Enable Posting')
357 // EDI history 2012-09-13
358 'enable_edihistory_in_left_menu' => array(
359 xl('Enable EDI History'),
360 'bool', // data type
361 '1', // default = true
362 xl('EDI History (under Fees) for storing and interpreting EDI claim response files')
365 'encounter_page_size' => array(
366 xl('Encounter Page Size'),
367 array(
368 '0' => xl('Show All'),
369 '5' => '5',
370 '10' => '10',
371 '15' => '15',
372 '20' => '20',
373 '25' => '25',
374 '50' => '50',
376 '20',
377 xl('Number of encounters to display per page.')
380 'gbl_pt_list_page_size' => array(
381 xl('Patient List Page Size'),
382 array(
383 '10' => '10',
384 '25' => '25',
385 '50' => '50',
386 '100' => '100',
388 '10',
389 xl('Number of patients to display per page in the patient list.')
392 'gbl_pt_list_new_window' => array(
393 xl('Patient List New Window'),
394 'bool', // data type
395 '0', // default = false
396 xl('Default state of New Window checkbox in the patient list.')
399 'right_justify_labels_demographics' => array(
400 xl('Right Justify Labels in Demographics'),
401 'bool', // data type
402 '0', // default = false
403 xl('Right justify labels in Demographics for easier readability.')
406 'num_of_messages_displayed' => array(
407 xl('Number of Messages Displayed in Patient Summary'),
408 'num',
409 '3',
410 xl('This is the number of messages that will be displayed in the messages widget in the patient summary screen.')
413 'gbl_vitals_options' => array(
414 xl('Vitals Form Options'),
415 array(
416 '0' => xl('Standard'),
417 '1' => xl('Omit circumferences'),
419 '0', // default
420 xl('Special treatment for the Vitals form')
423 'gbl_vitals_max_history_cols' => array(
424 xl('Vitals Form Max Historical Columns To Display'),
425 'num',
426 '2', // default
427 xl('The number of historical vital columns to display on medium to large screen displays')
430 'gb_how_sort_list' => array(
431 xl('How to sort a drop-lists'),
432 array(
433 '0' => xl('Sort by seq'),
434 '1' => xl('Sort alphabetically')
436 '0',
437 xl('What kind of sorting will be in the drop lists.')
440 'prevent_browser_refresh' => array(
441 xl('Prevent Web Browser Refresh') . '*',
442 array(
443 '0' => xl('Do not warn or prevent web browser refresh'),
444 '1' => xl('Warn, but do not prevent web browser refresh'),
445 '2' => xl('Warn and prevent web browser refresh')
447 '2', // default = true
448 xl('Recommended setting is warn and prevent web browser refresh. Only use other settings if needed and use at own risk.')
453 'Branding' => [
454 'openemr_name' => array(
455 xl('Application Title'),
456 'text',
457 'OpenEMR',
458 xl('Application name used throughout the user interface.')
461 'machine_name' => [
462 xl('Application Machine Name'),
463 'text',
464 'openemr',
465 xl('The machine name of the application. Used to identify the EMR in various messaging systems like HL7. Should not contain spaces'),
468 'display_main_menu_logo' => [
469 xl('Display main menu logo'),
470 'bool',
471 '1',
472 xl('Dislay main menu logo'),
475 'online_support_link' => array(
476 xl('Online Support Link'),
477 'text', // data type
478 'http://open-emr.org/',
479 xl('URL to a support page.')
482 'user_manual_link' => [
483 xl('User Manual Link Override'),
484 'text',
486 xl("Point to a custom user manual. Leave blank for the default, auto-generated URL for specific version of application"),
489 'support_phone_number' => array(
490 xl('Support Phone Number'),
491 'text',
493 xl('Phone Number for Vendor Support that Appears on the About Page.')
496 'display_acknowledgements' => [
497 xl('Display links to the acknowledgements page'),
498 'bool',
499 '1',
500 xl('Used on the login and about pages'),
503 'display_review_link' => [
504 xl('Display the Review link on the About page'),
505 'bool',
506 '1',
507 xl('Display the Review link on the About page'),
510 'display_donations_link' => [
511 xl('Display the Donations link on the About page'),
512 'bool',
513 '1',
514 xl('Display the Donations link on the About page'),
518 // Login Page
519 'Login Page' => [
520 'login_page_layout' => array(
521 xl('Login Page Layout') . '*',
522 array(
523 'login/layouts/vertical_box.html.twig' => xl("Vertical Box"),
524 'login/layouts/horizontal_box_left_logo.html.twig' => xl("Horizontal Box, Logo on Left"),
525 'login/layouts/horizontal_box_right_logo.html.twig' => xl("Horizontal Box, Logo on Right"),
526 'login/layouts/horizontal_band_right_logo.html.twig' => xl("Horizontal Band, Logo on Right"),
527 'login/layouts/horizontal_band_left_logo.html.twig' => xl("Horizontal Band, Logo on Left"),
528 "login/layouts/vertical_band.html.twig" => xl("Vertical Band"),
530 'login/layouts/vertical_band.html.twig',
531 xl('Changes the layout of the login page.')
534 'display_acknowledgements_on_login' => [
535 xl('Display links to the acknowledgements page'),
536 'bool',
537 '1',
538 xl('Used on the login screen'),
541 'show_tagline_on_login' => [
542 xl('Show Tagline on Login Page') . "*",
543 'bool',
544 '1',
545 xl('Show the tagline from the login screen'),
548 'login_tagline_text' => [
549 xl('Login Page Tagline') . "*",
550 'text',
551 xl("The most popular open-source Electronic Health Record and Medical Practice Management solution."),
552 xl("Tagline text on the login page")
555 'show_labels_on_login_form' => [
556 xl('Show Username and Password Labels on Login Page') . "*",
557 'bool',
558 '1',
559 xl('Show labels on the login form'),
562 'show_label_login' => array(
563 xl('Show Title on Login'),
564 'bool', // data type
565 '0', // default = false
566 xl('Show Title on Login')
569 'extra_logo_login' => array(
570 xl('Show Secondary Logo on Login'),
571 'bool', // data type
572 '0', // default = false
573 xl('Show Secondary Logo on Login')
576 'secondary_logo_position' => [
577 xl('Order of the Secondary logo'),
579 'first' => xl('First Position'),
580 'second' => xl('Second Position'),
582 'second',
583 xl('Place the secondary logo first, or second'),
586 'tiny_logo_1' => array(
587 xl('Show Mini Logo 1'),
588 'bool', // data type
589 '0', // default = false
590 xl('Show Mini Logo 1')
593 'tiny_logo_2' => array(
594 xl('Show Mini Logo 2'),
595 'bool', // data type
596 '0', // default = false
597 xl('Show Mini Logo 2')
601 // Locale Tab
603 'Locale' => array(
605 'language_default' => array(
606 xl('Default Language'),
607 'lang', // data type
608 'English (Standard)', // default = english
609 xl('Default language if no other is allowed or chosen.')
612 'language_menu_showall' => array(
613 xl('All Languages Allowed'),
614 'bool', // data type
615 '1', // default = true
616 xl('Allow all available languages as choices on menu at login.')
619 'language_menu_other' => array(
620 xl('Allowed Languages'),
621 'm_lang', // data type
622 '', // default = none
623 xl('Select which languages, if any, may be chosen at login. (only pertinent if above All Languages Allowed is turned off)')
626 'allow_debug_language' => array(
627 xl('Allow Debugging Language'),
628 'bool', // data type
629 '1', // default = true during development and false for production releases
630 xl('This will allow selection of the debugging (\'dummy\') language.')
633 'translate_no_safe_apostrophe' => array(
634 xl('Do Not Use Safe Apostrophe'),
635 'bool', // data type
636 '0', // default = false
637 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)')
640 'translate_layout' => array(
641 xl('Translate Layouts'),
642 'bool', // data type
643 '1', // default = true
644 xl('Is text from form layouts to be translated?')
647 'translate_lists' => array(
648 xl('Translate Lists'),
649 'bool', // data type
650 '1', // default = true
651 xl('Is text from lists to be translated?')
654 'translate_gacl_groups' => array(
655 xl('Translate Access Control Groups'),
656 'bool', // data type
657 '1', // default = true
658 xl('Are access control group names to be translated?')
661 'translate_form_titles' => array(
662 xl('Translate Patient Note Titles'),
663 'bool', // data type
664 '1', // default = true
665 xl('Are patient note titles to be translated?')
668 'translate_document_categories' => array(
669 xl('Translate Document Categories'),
670 'bool', // data type
671 '1', // default = true
672 xl('Are document category names to be translated?')
675 'translate_appt_categories' => array(
676 xl('Translate Appointment Categories'),
677 'bool', // data type
678 '1', // default = true
679 xl('Are appointment category names to be translated?')
682 'units_of_measurement' => array(
683 xl('Units for Visit Forms'),
684 array(
685 '1' => xl('Show both US and metric (main unit is US)'),
686 '2' => xl('Show both US and metric (main unit is metric)'),
687 '3' => xl('Show US only'),
688 '4' => xl('Show metric only'),
690 '1', // default = Both/US
691 xl('Applies to the Vitals form and Growth Chart')
694 'us_weight_format' => array(
695 xl('Display Format for US Weights'),
696 array(
697 '1' => xl('Show pounds as decimal value'),
698 '2' => xl('Show pounds and ounces')
700 '1',
701 xl('Applies to Vitals form')
704 'phone_country_code' => array(
705 xl('Telephone Country Code'),
706 'num',
707 '1', // default = North America
708 xl('1 = North America. See http://www.wtng.info/ for a list of other country codes.')
711 'date_display_format' => array(
712 xl('Date Display Format'),
713 array(
714 '0' => xl('YYYY-MM-DD'),
715 '1' => xl('MM/DD/YYYY'),
716 '2' => xl('DD/MM/YYYY'),
718 '0',
719 xl('Format used to display most dates.')
722 'time_display_format' => array(
723 xl('Time Display Format'),
724 array(
725 '0' => xl('24 hr'),
726 '1' => xl('12 hr'),
728 '0',
729 xl('Format used to display most times.')
732 'gbl_time_zone' => array(
733 xl('Time Zone'),
734 gblTimeZones(),
736 xl('If unassigned will default to php.ini setting for date.timezone.')
739 'currency_decimals' => array(
740 xl('Currency Decimal Places'),
741 array(
742 '0' => xl('0'),
743 '1' => xl('1'),
744 '2' => xl('2'),
746 '2',
747 xl('Number of digits after decimal point for currency, usually 0 or 2.')
750 'currency_dec_point' => array(
751 xl('Currency Decimal Point Symbol'),
752 array(
753 '.' => xl('Period'),
754 ',' => xl('Comma'),
756 '.',
757 xl('Symbol used as the decimal point for currency. Not used if Decimal Places is 0.')
760 'currency_thousands_sep' => array(
761 xl('Currency Thousands Separator'),
762 array(
763 ',' => xl('Comma'),
764 '.' => xl('Period'),
765 ' ' => xl('Space'),
766 '' => xl('None'),
768 ',',
769 xl('Symbol used to separate thousands for currency.')
772 'gbl_currency_symbol' => array(
773 xl('Currency Designator'),
774 'text', // data type
775 '$', // default
776 xl('Code or symbol to indicate currency')
778 'age_display_format' => array(xl('Age Display Format'),
779 array(
780 '0' => xl('Years or months'),
781 '1' => xl('Years, months and days')
783 '0',
784 xl('Format for age display')
786 'age_display_limit' => array(
787 xl('Age in Years for Display Format Change'),
788 'num',
789 '3',
790 xl('If YMD is selected for age display, switch to just Years when patients older than this value in years')
792 // Reference - https://en.wikipedia.org/wiki/Workweek_and_weekend#Around_the_world
793 'weekend_days' => array(
794 xl('Your weekend days'),
795 array(
796 '6,0' => xl('Saturday') . ' - ' . xl('Sunday'),
797 '0' => xl('Sunday'),
798 '5' => xl('Friday'),
799 '6' => xl('Saturday'),
800 '5,6' => xl('Friday') . ' - ' . xl('Saturday'),
802 '6,0'
803 , xl('which days are your weekend days?')
808 // Features Tab
810 'Features' => array(
812 'specific_application' => array(
813 xl('Specific Application'),
814 array(
815 '0' => xl('None'),
816 '2' => xl('IPPF'),
817 '3' => xl('Weight loss clinic'),
819 '0', // default
820 xl('Indicator for specialized usage')
823 'inhouse_pharmacy' => array(
824 xl('Drugs and Products'),
825 array(
826 '0' => xl('Do not inventory and sell any products'),
827 '1' => xl('Inventory and sell drugs only'),
828 '2' => xl('Inventory and sell both drugs and non-drug products'),
829 '3' => xl('Products but no prescription drugs and no templates'),
831 '0', // default
832 xl('Option to support inventory and sales of products')
835 'disable_chart_tracker' => array(
836 xl('Disable Chart Tracker'),
837 'bool', // data type
838 '0', // default = false
839 xl('Removes the Chart Tracker feature')
842 'disable_immunizations' => array(
843 xl('Disable Immunizations'),
844 'bool', // data type
845 '0', // default = false
846 xl('Removes support for immunizations')
849 'disable_prescriptions' => array(
850 xl('Disable Prescriptions'),
851 'bool', // data type
852 '0', // default = false
853 xl('Removes support for prescriptions')
856 'text_templates_enabled' => array(
857 xl('Enable Text Templates in Encounter Forms'),
858 'bool', // data type
859 '1', // default = true
860 xl('Allow Double Click to select Nation Note text template from any encounter form text area')
863 'omit_employers' => array(
864 xl('Omit Employers'),
865 'bool', // data type
866 '0', // default = false
867 xl('Omit employer information in patient demographics')
870 'select_multi_providers' => array(
871 xl('Support Multi-Provider Events'),
872 'bool', // data type
873 '0', // default = false
874 xl('Support calendar events that apply to multiple providers')
877 'disable_non_default_groups' => array(
878 xl('Disable User Groups'),
879 'bool', // data type
880 '1', // default = true
881 xl('Normally this should be checked. Not related to access control.')
884 'ignore_pnotes_authorization' => array(
885 xl('Skip Authorization of Patient Notes'),
886 'bool', // data type
887 '1', // default = true
888 xl('Do not require patient notes to be authorized')
891 'support_encounter_claims' => array(
892 xl('Allow Encounter Claims'),
893 'bool', // data type
894 '0', // default = false
895 xl('Allow creation of claims containing diagnoses but not procedures or charges. Most clinics do not want this.')
898 'advance_directives_warning' => array(
899 xl('Advance Directives Warning'),
900 'bool', // data type
901 '0', // default = false
902 xl('Display advance directives in the demographics page.')
905 'configuration_import_export' => array(
906 xl('Configuration Export/Import'),
907 'bool', // data type
908 '0', // default = false
909 xl('Support export/import of configuration data via the Backup page.')
912 'restrict_user_facility' => array(
913 xl('Restrict Users to Facilities'),
914 'bool', // data type
915 '0', // default
916 xl('Restrict non-authorized users to the Schedule Facilities set in User admin.')
919 'set_facility_cookie' => array(
920 xl('Remember Selected Facility'),
921 'bool', // data type
922 '0', // default
923 xl('Set a facility cookie to remember the selected facility between logins.')
926 'login_into_facility' => array(
927 xl('Login Into Facility'),
928 'bool', // data type
929 '0', // default
930 xl('Select your current facility in the login page')
933 'receipts_by_provider' => array(
934 xl('Print Receipts by Provider'),
935 'bool',
936 '0', // default
937 xl('Causes Receipts to Print Encounter/Primary Provider Info')
940 'discount_by_money' => array(
941 xl('Discounts as Monetary Amounts'),
942 'bool', // data type
943 '1', // default = true
944 xl('Discounts at checkout time are entered as money amounts, as opposed to percentage.')
948 'gbl_form_save_close' => array(
949 xl('Display Save and Close Visit button in LBFs'),
950 'bool', // data type
951 '0', // default = false
952 xl('This is helpful if visits usually do not have charges.')
955 'gbl_mask_patient_id' => array(
956 xl('Mask for Patient IDs'),
957 'text', // data type
958 '', // default
959 xl('Specifies formatting for the external patient ID. # = digit, @ = alpha, * = any character. Empty if not used.')
962 'gbl_mask_invoice_number' => array(
963 xl('Mask for Invoice Numbers'),
964 'text', // data type
965 '', // default
966 xl('Specifies formatting for invoice reference numbers. # = digit, @ = alpha, * = any character. Empty if not used.')
969 'gbl_mask_product_id' => array(
970 xl('Mask for Product IDs'),
971 'text', // data type
972 '', // default
973 xl('Specifies formatting for product NDC fields. # = digit, @ = alpha, * = any character. Empty if not used.')
976 'activate_ccr_ccd_report' => array(
977 xl('Activate CCR/CCD Reporting'),
978 'bool', // data type
979 '1', // default = true
980 xl('This will activate the CCR(Continuity of Care Record) and CCD(Continuity of Care Document) reporting.')
983 'drive_encryption' => array(
984 xl('Enable Encryption of Items Stored on Drive (Strongly recommend keeping this on)'),
985 'bool', // data type
986 '1', // default = true
987 xl('This will enable encryption of items that are stored on the drive. Strongly recommend keeping this setting on for security purposes.')
990 'couchdb_encryption' => array(
991 xl('Enable Encryption of Items Stored on CouchDB'),
992 'bool', // data type
993 '1', // default = true
994 xl('This will enable encryption of items that are stored on CouchDB.')
997 'hide_document_encryption' => array(
998 xl('Hide Encryption/Decryption Options In Document Management'),
999 'bool', // data type
1000 '0', // default = true
1001 xl('This will deactivate document the encryption and decryption features, and hide them in the UI.')
1004 'use_custom_immun_list' => array(
1005 xl('Use Custom Immunization List'),
1006 'bool', // data type
1007 '0', // default = true
1008 xl('This will use the custom immunizations list rather than the standard CVX immunization list.')
1011 'amendments' => array(
1012 xl('Amendments'),
1013 'bool', // data type
1014 '1', // default = true
1015 xl('Enable amendments feature')
1018 'allow_pat_delete' => array(
1019 xl('Allow Administrators to Delete Patients'),
1020 'bool', // data type
1021 '0', // default = false
1022 xl('Allow Administrators to Delete Patients')
1026 'observation_results_immunization' => array(
1027 xl('Immunization Observation Results'),
1028 'bool', // data type
1029 '1', // default
1030 xl('Observation Results in Immunization')
1033 'enable_help' => array(
1034 xl('Enable Help Modal'),
1035 array(
1036 '0' => xl('Hide Help Modal'),
1037 '1' => xl('Show Help Modal'),
1038 '2' => xl('Disable Help Modal'),
1039 ), // data type
1040 '1', // default = Print End of Day Report 1
1041 xl('This will allow the display of help modal on help enabled pages')
1043 'messages_due_date' => array(
1044 xl('Messages - due date'),
1045 'bool', // data type
1046 '0', // default false
1047 xl('Enables choose due date to message')
1050 'expand_form' => array(
1051 xl('Expand Form'),
1052 'bool', // data type
1053 '1', // default true
1054 xl('Open all expandable forms in expanded state')
1057 'graph_data_warning' => array(
1058 xl('Graphing Data Warning'),
1059 'bool', // data type
1060 '0', // default false
1061 xl('Warn if not enough data to graph')
1065 // Report Tab
1067 'Report' => array(
1069 'use_custom_daysheet' => array(
1070 xl('Use Custom End of Day Report'),
1071 array(
1072 '0' => xl('None'),
1073 '1' => xl('Print End of Day Report 1'),
1074 '2' => xl('Print End of Day Report 2'),
1075 '3' => xl('Print End of Day Report 3'),
1076 ), // data type
1077 '1', // default = Print End of Day Report 1
1078 xl('This will allow the use of the custom End of Day report and indicate which report to use.')
1081 'daysheet_provider_totals' => array(
1082 xl('End of Day by Provider or allow Totals Only'),
1083 array(
1084 '0' => xl('Provider'),
1085 '1' => xl('Totals Only'),
1087 '1', // default
1088 xl('This specifies the Printing of the Custom End of Day Report grouped Provider or allow the Printing of Totals Only')
1091 'ledger_begin_date' => array(
1092 xl('Beginning Date for Ledger Report'),
1093 array(
1094 'Y1' => xl('One Year Ago'),
1095 'Y2' => xl('Two Years Ago'),
1096 'M6' => xl('Six Months Ago'),
1097 'M3' => xl('Three Months Ago'),
1098 'M1' => xl('One Month Ago'),
1099 'D1' => xl('One Day Ago'),
1101 'Y1', // default = One Year
1102 xl('This is the Beginning date for the Ledger Report.')
1105 'print_next_appointment_on_ledger' => array(
1106 xl('Print the Next Appointment on the Bottom of the Ledger'),
1107 'bool', // data type
1108 '1', // default = true
1109 xl('This Will Print the Next Appointment on the Bottom of the Patient Ledger')
1112 'sales_report_invoice' => array(
1113 xl('Display Invoice Number or Patient Name or Both in the Sales Report'),
1114 array(
1115 '0' => xl('Invoice Number'),
1116 '1' => xl('Patient Name and ID'),
1117 '2' => xl('Patient Name and Invoice'),
1119 '2', // default = 2
1120 xl('This will Display the Invoice Number in the Sales Report or the Patient Name and ID or Patient Name and Invoice Number.')
1123 'cash_receipts_report_invoice' => array(
1124 xl('Display Invoice Number or Patient Name in the Cash Receipt Report'),
1125 array(
1126 '0' => xl('Invoice Number'),
1127 '1' => xl('Patient Name'),
1129 '0', // default = 0
1130 xl('Display Invoice Number or Patient Name in the Cash Receipt Report')
1135 // Billing Tab
1137 'Billing' => array(
1139 // It would be good to eventually rename this to "billing_enabled" and inverse the setting value.
1140 'hide_billing_widget' => array(
1141 xl('Hide Billing features'),
1142 'bool', // data type
1143 '0', // default = false
1144 xl('This will hide billing features throughout the program.')
1147 'force_billing_widget_open' => array(
1148 xl('Force Billing Widget Open'),
1149 'bool', // data type
1150 '0', // default = false
1151 xl('This will force the Billing Widget in the Patient Summary screen to always be open.')
1155 'ub04_support' => array(
1156 xl('Activate UB04/837I Claim Support'),
1157 'bool', // data type
1158 '0', // default = false
1159 xl('Allow institutional claims support.')
1162 'top_ubmargin_default' => array(
1163 xl('Default top print margin for UB04'),
1164 'num', // data type
1165 '14', // default
1166 xl('This is the default top print margin for UB04. It will adjust the final printed output up or down.')
1169 'left_ubmargin_default' => array(
1170 xl('Default left print margin for UB04'),
1171 'num', // data type
1172 '11', // default
1173 xl('This is the default left print margin for UB04. It will adjust the final printed output left or right.')
1176 'cms_top_margin_default' => array(
1177 xl('Default top print margin for CMS 1500'),
1178 'num', // data type
1179 '24', // default
1180 xl('This is the default top print margin for CMS 1500. It will adjust the final printed output up or down.')
1183 'cms_left_margin_default' => array(
1184 xl('Default left print margin for CMS 1500'),
1185 'num', // data type
1186 '20', // default
1187 xl('This is the default left print margin for CMS 1500. It will adjust the final printed output left or right.')
1190 'preprinted_cms_1500' => array(
1191 xl('Prints the CMS 1500 on the Preprinted form'),
1192 'bool', // data type
1193 '0', // default = false
1194 xl('Overlay CMS 1500 on the Preprinted form')
1197 'cms_1500_box_31_format' => array(
1198 xl('CMS 1500: Box 31 Format'),
1199 array(
1200 '0' => xl('Signature on File'),
1201 '1' => xl('Firstname Lastname'),
1202 '2' => xl('None'),
1204 '0', // default
1205 xl('This specifies whether to include date in Box 31.')
1208 'cms_1500_box_31_date' => array(
1209 xl('CMS 1500: Date in Box 31 (Signature)'),
1210 array(
1211 '0' => xl('None'),
1212 '1' => xl('Date of Service'),
1213 '2' => xl('Today'),
1215 '0', // default
1216 xl('This specifies whether to include date in Box 31.')
1219 'default_search_code_type' => array(
1220 xl('Default Search Code Type'),
1221 'all_code_types', // data type
1222 'ICD10', // default
1223 xl('The default code type to search for in the Fee Sheet.')
1226 'default_rendering_provider' => array(
1227 xl('Default Rendering Provider in Fee Sheet'),
1228 array(
1229 '0' => xl('Logged in User if provider, otherwise Current Provider'),
1230 '1' => xl('Current Provider'),
1231 '2' => xl('Current Logged in User'),
1233 '1',
1234 xl('Default selection for rendering provider in fee sheet.')
1237 'posting_adj_disable' => array(
1238 xl('Disable Auto Adjustment Calculations in EOB Posting'),
1239 'bool', // data type
1240 '0', // default = false
1241 xl('Turn off auto calculations of adjustments in EOB')
1244 'force_claim_balancing' => array(
1245 xl('Force claim balancing in EOB Posting'),
1246 'bool', // data type
1247 '1', // default = true
1248 xl('Force claim balancing in EOB Posting')
1251 'show_payment_history' => array(
1252 xl('Show all payment history in Patient Ledger'),
1253 'bool', // data type
1254 '1', // default = true
1255 xl('Turn on to show all payment history in Patient Ledger')
1258 'void_checkout_reopen' => array(
1259 xl('Void Checkout and Reopen in Fee Sheet'),
1260 'bool', // data type
1261 '1', // default = true
1262 xl('Void Checkout and Reopen in Fee Sheet')
1265 'support_fee_sheet_line_item_provider' => array(
1266 xl('Support provider in line item in fee sheet'),
1267 'bool', // data type
1268 '0', // default = false
1269 xl('This Enables provider in line item in the fee sheet')
1272 'default_fee_sheet_line_item_provider' => array(
1273 xl('Default to a provider for line item in the fee sheet'),
1274 'bool', // data type
1275 '0', // default = false
1276 xl('Default to a provider for line item in the fee sheet.(only applicable if Support line item billing in option above)')
1279 'include_inactive_providers' => array(
1280 xl('Include inactive providers in the fee sheet'),
1281 'bool', // data type
1282 '0', // default = false
1283 xl('Include inactive providers in the fee sheet.')
1286 'replicate_justification' => array(
1287 xl('Automatically replicate justification codes in Fee Sheet'),
1288 'bool', // data type
1289 '0', // default = false
1290 xl('Automatically replicate justification codes in Fee Sheet (basically fills in the blanks with the justification code above it).')
1293 'display_units_in_billing' => array(
1294 xl('Display the Units Column on the Billing Screen'),
1295 'bool', // data type
1296 '0', // default = false
1297 xl('Display the Units Column on the Billing Screen')
1300 'notes_to_display_in_Billing' => array(
1301 xl('Which notes are to be displayed in the Billing Screen'),
1302 array(
1303 '0' => xl('None'),
1304 '1' => xl('Encounter Billing Note'),
1305 '2' => xl('Patient Billing Note'),
1306 '3' => xl('All'),
1308 '3',
1309 xl('Display the Encounter Billing Note or Patient Billing Note or Both in the Billing Screen.')
1312 'MedicareReferrerIsRenderer' => array(
1313 xl('Medicare Referrer Is Renderer'),
1314 'bool', // data type
1315 '0', // default = false
1316 xl('For Medicare only, forces the referring provider to be the same as the rendering provider.')
1319 'statement_logo' => array(
1320 xl('Statement Logo GIF Filename'),
1321 'text', // data type
1322 'practice_logo.gif', // data type
1323 xl('Place your logo in sites/default/images and type the filename including gif extension here.')
1326 'use_custom_statement' => array(
1327 xl('Use Custom Statement'),
1328 'bool', // data type
1329 '0', // default = false
1330 xl('This will use the custom Statement showing the description instead of the codes.')
1333 'statement_appearance' => array(
1334 xl('Statement Appearance'),
1335 array(
1336 '0' => xl('Plain Text'),
1337 '1' => xl('Modern/images')
1338 ), // data type
1339 '1', // default = true
1340 xl('Patient statements can be generated as plain text or with a modern graphical appearance.')
1343 'billing_phone_number' => array(
1344 xl('Custom Billing Phone Number'),
1345 'text', // data type
1347 xl('Phone number for billing inquiries')
1350 'show_aging_on_custom_statement' => array(
1351 xl('Show Aging on Custom Statement'),
1352 'bool', // data type
1353 '0', // default = false
1354 xl('This will Show Aging on the custom Statement.')
1357 'use_statement_print_exclusion' => array(
1358 xl('Allow Statement Exclusions from Printing'),
1359 'bool', // data type
1360 '0', // default = false
1361 xl('This will enable the Ability to Exclude Selected Patient Statements from Printing.')
1364 'minimum_amount_to_print' => array(
1365 xl('Total Minimum Amount of Statement to Allow Printing'),
1366 'num', // data type
1367 '1.00',
1368 xl('Total Minimum Dollar Amount of Statement to Allow Printing.(only applicable if Allow Statement Exclusions from Printing is enabled)')
1371 'statement_bill_note_print' => array(
1372 xl('Print Patient Billing Note'),
1373 'bool', // data type
1374 '0', // default = false
1375 xl('This will allow printing of the Patient Billing Note on the statements.')
1378 'number_appointments_on_statement' => array(
1379 xl('Number of Appointments on Statement'),
1380 'num', // data type
1381 '0', // default = 0
1382 xl('The Number of Future Appointments to Display on the Statement.')
1385 'statement_message_to_patient' => array(
1386 xl('Print Custom Message'),
1387 'bool', // data type
1388 '0', // default = false
1389 xl('This will allow printing of a custom Message on the statements.')
1392 'statement_msg_text' => array(
1393 xl('Custom Statement message'),
1394 'text', // data type
1396 xl('Text for Custom statement message.')
1399 'use_dunning_message' => array(
1400 xl('Use Custom Dunning Messages'),
1401 'bool', // data type
1402 '0', // default = false
1403 xl('This will allow use of the custom Dunning Messages on the statements.')
1406 'first_dun_msg_set' => array(
1407 xl('Number of days before showing first account message'),
1408 'num', // data type
1409 '30',
1410 xl('Number of days before showing first account message.')
1413 'first_dun_msg_text' => array(
1414 xl('First account message'),
1415 'text', // data type
1417 xl('Text for first account message.')
1420 'second_dun_msg_set' => array(
1421 xl('Number of days before showing second account message'),
1422 'num', // data type
1423 '60',
1424 xl('Number of days before showing second account message')
1427 'second_dun_msg_text' => array(
1428 xl('Second account message'),
1429 'text', // data type
1431 xl('Text for second account message.')
1434 'third_dun_msg_set' => array(
1435 xl('Number of days before showing third account message'),
1436 'num', // data type
1437 '90',
1438 xl('Number of days before showing third account message')
1441 'third_dun_msg_text' => array(
1442 xl('Third account message'),
1443 'text', // data type
1445 xl('Text for third account message.')
1448 'fourth_dun_msg_set' => array(
1449 xl('Number of days before showing fourth account message'),
1450 'num', // data type
1451 '120',
1452 xl('Number of days before showing fourth account message')
1455 'fourth_dun_msg_text' => array(
1456 xl('Fourth account message'),
1457 'text', // data type
1459 xl('Text for fourth account message.')
1462 'fifth_dun_msg_set' => array(
1463 xl('Number of days before showing fifth account message'),
1464 'num', // data type
1465 '150',
1466 xl('Number of days before showing fifth account message')
1469 'fifth_dun_msg_text' => array(
1470 xl('Fifth account message'),
1471 'text', // data type
1473 xl('Text for fifth account message.')
1476 'save_codes_history' => array(
1477 xl('Save codes history'),
1478 'bool', // data type
1479 '1', // default
1480 xl('Save codes history')
1483 'enable_percent_pricing' => array(
1484 xl('Enable percent-based price levels'),
1485 'bool', // data type
1486 '0', // default
1487 xl('Enable percent-based price levels')
1490 'gen_x12_based_on_ins_co' => array(
1491 xl('Generate X-12 Based On Insurance Company'),
1492 'bool', // data type
1493 '0', // default = false
1494 xl('For sending claims directly to insurance company, based on X12 Partner Settings')
1497 'auto_sftp_claims_to_x12_partner' => array(
1498 xl('Automatically SFTP Claims To X12 Partner'),
1499 'bool', // data type
1500 '0', // default = false
1501 xl('For automatically sending claims that are generated in EDI directory to the X12 partner using SFTP credentials X12 Partner Settings')
1504 'enable_swap_secondary_insurance' => array(
1505 xl('Enable Swap Secondary Insurance Editing Demographics'),
1506 'bool', // data type
1507 '0', // default
1508 xl('Enable swap secondary insurance')
1513 // E-Sign Tab
1515 'E-Sign' => array(
1517 'esign_all' => array(
1518 xl('Allows E-Sign on the entire encounter'),
1519 'bool', // data type
1520 '0', // default = false
1521 xl('This will enable signing an entire encounter, rather than individual forms')
1524 'lock_esign_all' => array(
1525 xl('Lock e-signed encounters and their forms'),
1526 'bool', // data type
1527 '0', // default = false
1528 xl('This will disable the Edit button on all forms whose parent encounter is e-signed')
1531 'esign_individual' => array(
1532 xl('Allows E-Signing Individual Forms'),
1533 'bool', // data type
1534 '1', // default = false
1535 xl('This will enable signing individual forms separately')
1538 'lock_esign_individual' => array(
1539 xl('Lock an e-signed form individually'),
1540 'bool', // data type
1541 '1', // default = false
1542 xl('This will disable the Edit button on any form that is e-signed')
1545 'esign_lock_toggle' => array(
1546 xl('Enable lock toggle'),
1547 'bool', // data type
1548 '0', // default = false
1549 xl('This will give the user the option to lock (separate locking and signing)')
1552 'esign_report_show_only_signed' => array(
1553 xl('Only Include E-Signed Forms On Report'),
1554 'bool', // data type
1555 '0', // default = false
1556 xl('This will hide any encounter forms not E-Signed on the patient report')
1559 'esign_report_hide_empty_sig' => array(
1560 xl('Hide Empty E-Sign Logs On Report'),
1561 'bool', // data type
1562 '1', // default = false
1563 xl('This will hide empty e-sign logs on the patient report')
1566 'esign_report_hide_all_sig' => array(
1567 xl('Exclude All E-Sign Logs On Report'),
1568 'bool', // data type
1569 '0', // default = false
1570 xl('This will hide any e-sign logs on the patient report')
1573 //Documents Tab
1574 'Documents' => array(
1576 'document_storage_method' => array(
1577 xl('Document Storage Method'),
1578 array(
1579 '0' => xl('Hard Disk'),
1580 '1' => xl('CouchDB')
1582 '0', // default
1583 xl('Option to save method of document storage.')
1586 'couchdb_host' => array(
1587 xl('CouchDB HostName'),
1588 'text',
1589 'localhost',
1590 xl('CouchDB host'),
1592 'couchdb_user' => array(
1593 xl('CouchDB UserName'),
1594 'text',
1596 xl('Username to connect to CouchDB'),
1598 'couchdb_pass' => array(
1599 xl('CouchDB Password'),
1600 'encrypted', // data type
1602 xl('Password to connect to CouchDB'),
1604 'couchdb_port' => array(
1605 xl('CouchDB Port'),
1606 'text',
1607 '6984',
1608 xl('CouchDB port'),
1610 'couchdb_dbase' => array(
1611 xl('CouchDB Database'),
1612 'text',
1614 xl('CouchDB database name'),
1616 'couchdb_connection_ssl' => array(
1617 xl('CouchDB Connection SSL'),
1618 'bool',
1619 '1',
1620 xl('Use SSL (encrypted) connection to CouchDB'),
1622 'couchdb_ssl_allow_selfsigned' => array(
1623 xl('CouchDB SSL Allow Selfsigned Certificate'),
1624 'bool',
1625 '0',
1626 xl('Allow self-signed certificate for SSL (encrypted) connection to CouchDB'),
1628 'couchdb_log' => array(
1629 xl('CouchDB Log Enable'),
1630 'bool',
1631 '0',
1632 xl('Enable log for document uploads/downloads to CouchDB'),
1635 'expand_document_tree' => array(
1636 xl('Expand All Document Categories'),
1637 'bool', // data type
1638 '0', // default = false
1639 xl('Expand All Document Categories by Default')
1642 'patient_id_category_name' => array(
1643 xl('Patient ID Category Name'),
1644 'text', // data type
1645 'Patient ID card', // default
1646 xl('Optional category name for an ID Card image that can be viewed from the patient summary page.')
1649 'patient_photo_category_name' => array(
1650 xl('Patient Photo Category Name'),
1651 'text', // data type
1652 'Patient Photograph', // default
1653 xl('Optional category name for photo images that can be viewed from the patient summary page.')
1656 'lab_results_category_name' => array(
1657 xl('Lab Results Category Name'),
1658 'text', // data type
1659 'Lab Report', // default
1660 xl('Document category name for storage of electronically received lab results.')
1663 'gbl_mdm_category_name' => array(
1664 xl('MDM Document Category Name'),
1665 'text', // data type
1666 'Lab Report', // default
1667 xl('Document category name for storage of electronically received MDM documents.')
1669 'generate_doc_thumb' => array(
1670 xl('Generate thumbnail'),
1671 'bool',
1672 '0',
1673 xl('Generate thumbnail images'),
1675 'thumb_doc_max_size' => array(
1676 xl('Thumbnail size'),
1677 'text', // data type
1678 '100', // default
1679 xl('Maximum size of thumbnail file')
1683 // Calendar Tab
1685 'Calendar' => array(
1687 'disable_calendar' => array(
1688 xl('Disable Calendar'),
1689 'bool', // data type
1690 '0', // default
1691 xl('Do not display the calendar.')
1694 'schedule_start' => array(
1695 xl('Calendar Starting Hour'),
1696 'hour',
1697 '8', // default
1698 xl('Beginning hour of day for calendar events.')
1701 'schedule_end' => array(
1702 xl('Calendar Ending Hour'),
1703 'hour',
1704 '17', // default
1705 xl('Ending hour of day for calendar events.')
1708 'calendar_interval' => array(
1709 xl('Calendar Interval'),
1710 array(
1711 '5' => '5',
1712 '10' => '10',
1713 '15' => '15',
1714 '20' => '20',
1715 '30' => '30',
1716 '60' => '60',
1718 '15', // default
1719 xl('The time granularity of the calendar and the smallest interval in minutes for an appointment slot.')
1722 'calendar_view_type' => array(
1723 xl('Default Calendar View'),
1724 array(
1725 'day' => xl('Day'),
1726 'week' => xl('Week'),
1727 'month' => xl('Month'),
1729 'day', // default
1730 xl('This sets the Default Calendar View, Default is Day.')
1733 'first_day_week' => array(
1734 xl('First day in the week'),
1735 array(
1736 '1' => xl('Monday'),
1737 '0' => xl('Sunday'),
1738 '6' => xl('Saturday')
1740 '1',
1741 xl('Your first day of the week.')
1744 'calendar_appt_style' => array(
1745 xl('Appointment Display Style'),
1746 array(
1747 '1' => xl('Last name'),
1748 '2' => xl('Last name, first name'),
1749 '3' => xl('Last name, first name (title)'),
1750 '4' => xl('Last name, first name (title: comments)'),
1752 '2', // default
1753 xl('This determines how appointments display on the calendar.')
1756 'event_color' => array(
1757 xl('Appointment/Event Color'),
1758 array(
1759 '1' => xl('Category Color Schema'),
1760 '2' => xl('Facility Color Schema'),
1761 ), // data type
1762 '1', // default
1763 xl('This determines which color schema used for appointment')
1766 'number_of_appts_to_show' => array(
1767 xl('Appointments - Patient Summary - Number to Display'),
1768 'num',
1769 '10',
1770 xl('Number of Appointments to display in the Patient Summary')
1773 'number_of_group_appts_to_show' => array(
1774 xl('Appointments - Group Summary - Number to Display'),
1775 'num',
1776 '10',
1777 xl('Number of Appointments to display in the Group Summary')
1780 'number_of_ex_appts_to_show' => array(
1781 xl('Excluded Appointments - Tooltip - Number to Display'),
1782 'num',
1783 '15',
1784 xl('Number of Excluded Appointments to display in the Tooltip')
1787 'appt_display_sets_option' => array(
1788 xl('Appointment Display Sets - Ignore Display Limit (Last Set)'),
1789 'bool', // data type
1790 '1', // default
1791 xl('Override (if necessary) the appointment display limit to allow all appointments to be displayed for the last set')
1794 'appt_display_sets_color_1' => array(
1795 xl('Appointment Display Sets - Color 1'),
1796 'color_code',
1797 '#FFFFFF',
1798 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).')
1801 'appt_display_sets_color_2' => array(
1802 xl('Appointment Display Sets - Color 2'),
1803 'color_code',
1804 '#E6E6FF',
1805 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).')
1808 'appt_display_sets_color_3' => array(
1809 xl('Appointment Display Sets - Color 3'),
1810 'color_code',
1811 '#E6FFE6',
1812 xl('Color for the last set when all member appointments are displayed and at least one subsequent scheduled appointment exists (not displayed).')
1815 'appt_display_sets_color_4' => array(
1816 xl('Appointment Display Sets - Color 4'),
1817 'color_code',
1818 '#FFE6FF',
1819 xl('Color for the last set when not all member appointments are displayed.')
1822 'appt_recurrences_widget' => array(
1823 xl('Recurrent Appointment Display Widget'),
1824 'bool', // data type
1825 '1', // default
1826 xl('Display the recurrent appointment widget in the patient summary.')
1829 'num_past_appointments_to_show' => array(
1830 xl('Past Appointment Display Widget'),
1831 'num', // data type
1832 '0', // default = false
1833 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)')
1836 'docs_see_entire_calendar' => array(
1837 xl('Providers See Entire Calendar'),
1838 'bool', // data type
1839 '0', // default
1840 xl('Check this if you want providers to see all appointments by default and not just their own.')
1843 'auto_create_new_encounters' => array(
1844 xl('Auto-Create New Encounters'),
1845 array(
1846 '0' => xl('Off'),
1847 '1' => xl('One Encounter Per Day'),
1848 '2' => xl('Allow Encounter For Each Appointment')
1850 '1',
1851 xl('Automatically create a new encounter when an appointment check in status is selected.') . " " .
1852 xl('The Each Appointment option will allow a new encounter regardless of same day visit.') . " " .
1853 xl('The appointment status changes and encounter creations are managed through the Patient Tracker.')
1856 'allow_early_check_in' => array(
1857 xl('Allow Early Check In'),
1858 'bool', // data type
1859 '1', // default
1860 xl("Allow Check In before the appointment's time.")
1863 'submit_changes_for_all_appts_at_once' => array(
1864 xl('Submit Changes For All Appts At Once'),
1865 'bool', // data type
1866 '1', // default
1867 xl('Enables to submit changes for all appointments of a recurrence at once.')
1870 'disable_pat_trkr' => array(
1871 xl('Flow Board: Disable'),
1872 'bool', // data type
1873 '0', // default
1874 xl('Completely remove the ability to display the Patient Flow Board.')
1877 'ptkr_visit_reason' => array(
1878 xl('Flow Board: Show Visit Reason'),
1879 'bool', // data type
1880 '0', // default = false
1881 xl('When Checked, Visit Reason Will Show in Patient Flow Board.')
1884 'ptkr_show_pid' => array(
1885 xl('Flow Board: Show Patient ID'),
1886 'bool', // data type
1887 '1', // default = true
1888 xl('When Checked, Patient ID Will Show in Patient Flow Board.')
1891 'ptkr_show_encounter' => array(
1892 xl('Flow Board: Show Encounter Number'),
1893 'bool', // data type
1894 '1', // default = true
1895 xl('When Checked, Patient Encounter Number Will Show in Patient Flow Board.')
1898 'ptkr_show_staff' => array(
1899 xl('Flow Board: Show Staff Action'),
1900 'bool', // data type
1901 '1', // default = true
1902 xl('When Checked, Last Staff to Update Board Will Show in Patient Flow Board.')
1905 'ptkr_date_range' => array(
1906 xl('Flow Board: Allow Date Range'),
1907 'bool', // data type
1908 '1', // default = true
1909 xl('This Allows a Date Range to be Selected in Patient Flow Board.')
1912 'ptkr_start_date' => array(
1913 xl('Flow Board: Default Starting Date'),
1914 array(
1915 'D0' => xl('Current Day'),
1916 'B0' => xl('Beginning of Current Work Week'),
1918 'D0', // default = Current Day
1919 xl('This is the default Beginning date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1922 'ptkr_end_date' => array(
1923 xl('Flow Board: Default Ending Date'),
1924 array(
1925 'Y1' => xl('One Year Ahead'),
1926 'Y2' => xl('Two Years Ahead'),
1927 'M6' => xl('Six Months Ahead'),
1928 'M3' => xl('Three Months Ahead'),
1929 'M1' => xl('One Month Ahead'),
1930 'D7' => xl('One Week Ahead'),
1931 'D1' => xl('One Day Ahead'),
1932 'D0' => xl('Current Day'),
1934 'D0', // default = One Day Ahead
1935 xl('This is the default Ending date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1938 'pat_trkr_timer' => array(
1939 xl('Flow Board: Timer Refresh Interval'),
1940 array(
1941 '0' => xl('No automatic refresh'),
1942 '0:10' => '10',
1943 '0:20' => '20',
1944 '0:30' => '30',
1945 '0:40' => '40',
1946 '0:50' => '50',
1947 '0:59' => '60',
1949 '0:20', // default
1950 xl('The screen refresh time in Seconds for the Patient Flow Board Screen.')
1953 'checkout_roll_off' => array(
1954 xl('Flow Board: display completed checkouts (minutes)'),
1955 'num',
1956 '0', // default
1957 xl('Flow Board will only display completed checkouts for this many minutes. Zero is continuous display.')
1960 'drug_screen' => array(
1961 xl('Flow Board: Enable Random Drug Testing'),
1962 'bool', // data type
1963 '0', // default
1964 xl('Allow Patient Flow Board to Select Patients for Drug Testing.')
1967 'drug_testing_percentage' => array(
1968 xl('Flow Board: Percentage of Patients to Drug Test'),
1969 'num',
1970 '33', // default
1971 xl('Percentage of Patients to select for Random Drug Testing.')
1974 'maximum_drug_test_yearly' => array(
1975 xl('Flow Board: Max tests per Patient per year'),
1976 'num',
1977 '0', // default
1978 xl('Maximum number of times a Patient can be tested in a year. Zero is no limit.')
1981 'disable_rcb' => array(
1982 xl('Recall Board: Disable'),
1983 'bool', // data type
1984 '0', // default
1985 xl('Do not display the Recall Board.')
1992 // Insurance Tab
1993 'Insurance' => array(
1994 'enable_oa' => array(
1995 xl('Enable Office Ally Insurance Eligibility'),
1996 'bool',
1997 '0',
1998 xl('Allow insurance eligibility checks using Office Ally')
2001 'simplified_demographics' => array(
2002 xl('Simplified Demographics'),
2003 'bool', // data type
2004 '0', // default = false
2005 xl('Omit insurance and some other things from the demographics form')
2008 'insurance_information' => array(
2009 xl('Show Additional Insurance Information'), // descriptive name
2010 array(
2011 '0' => xl('None'),
2012 '1' => xl('Address Only'),
2013 '2' => xl('Address and Postal Code'),
2014 '3' => xl('Address and State'),
2015 '4' => xl('Address, State and Postal Code'),
2016 '5' => xl('Address, City, State and Postal Code'),
2017 '6' => xl('Address, City, State, Postal Code, Payer ID'),
2018 '7' => xl('Postal Code and Box Number')
2020 '6', // default
2021 xl('Show Insurance Address Information in the Insurance Panel of Demographics.')
2024 'disable_eligibility_log' => array(
2025 xl('Disable Insurance Eligibility Reports Download'),
2026 'bool',
2027 '0',
2028 xl('Do not allow insurance eligibility report log download')
2031 'insurance_only_one' => array(
2032 xl('Allow only one insurance'),
2033 'bool', // data type
2034 '0', // default = false
2035 xl('Allow more than one insurance')
2038 // Security Tab
2040 'Security' => array(
2041 'sql_string_no_show_screen' => array(
2042 xl('Mode - Do Not Show SQL Queries'),
2043 'bool', // data type
2044 '0', // default
2045 xl('Do not allow SQL queries to be outputted to screen.')
2047 'timeout' => array(
2048 xl('Idle Session Timeout Seconds'),
2049 'num', // data type
2050 '7200', // default
2051 xl('Maximum idle time in seconds before logout. Default is 7200 (2 hours).')
2053 'portal_timeout' => array(
2054 xl('Portal Idle Session Timeout Seconds'),
2055 'num', // data type
2056 '1800', // default
2057 xl('Maximum idle time in seconds before logout. Default is 1800 (30 minutes).')
2059 'secure_upload' => array(
2060 xl('Secure Upload Files with White List'),
2061 'bool', // data type
2062 '1', // default
2063 xl('Block all files types that are not found in the White List. Can find interface to edit the White List at Administration->Files.')
2065 'secure_password' => array(
2066 xl('Require Strong Passwords'),
2067 'bool', // data type
2068 '1', // default
2069 xl('Strong password means at least one of each: a number, a lowercase letter, an uppercase letter, a special character.')
2072 'gbl_minimum_password_length' => array(
2073 xl('Minimum Password Length'),
2074 array(
2075 '0' => xl('No Minimum'),
2076 '4' => '4',
2077 '5' => '5',
2078 '6' => '6',
2079 '7' => '7',
2080 '8' => '8',
2081 '9' => '9',
2082 '10' => '10',
2083 '11' => '11',
2084 '12' => '12',
2085 '13' => '13',
2086 '14' => '14',
2087 '15' => '15',
2088 '16' => '16',
2089 '17' => '17',
2090 '18' => '18',
2091 '19' => '19',
2092 '20' => '20',
2094 '9', // default
2095 xl('Minimum length of password.')
2098 'gbl_maximum_password_length' => array(
2099 xl('Maximum Password Length'),
2100 array(
2101 '0' => xl('No Maximum'),
2102 '72' => '72',
2104 '72', // default
2105 xl('Maximum length of password (Recommend using the default value of 72 unless you know what you are doing).')
2108 'password_history' => array(
2109 xl('Require Unique Passwords'),
2110 array(
2111 '0' => xl('No'),
2112 '1' => '1',
2113 '2' => '2',
2114 '3' => '3',
2115 '4' => '4',
2116 '5' => '5',
2118 '5', // default
2119 xl('Set to the number of prior passwords that are not allowed to use when changing a password.')
2122 'password_expiration_days' => array(
2123 xl('Default Password Expiration Days'),
2124 'num', // data type
2125 '180', // default
2126 xl('Default password expiration period in days. 0 means this feature is disabled.')
2129 'password_grace_time' => array(
2130 xl('Password Expiration Grace Period'),
2131 'num', // data type
2132 '30', // default
2133 xl('Period in days where a user may login with an expired password.')
2136 'password_max_failed_logins' => array(
2137 xl('Maximum Failed Login Attempts For User'),
2138 'num', // data type
2139 '20', // default
2140 xl('Maximum Failed Login Attempts For User (0 for no maximum).')
2143 'time_reset_password_max_failed_logins' => array(
2144 xl('Time (seconds) to Reset Maximum Failed Login Attempts For User'),
2145 'num', // data type
2146 '3600', // default to 1 hour
2147 xl('Time (seconds) to Reset Maximum Failed Login Attempts Counter For User (0 for no reset).')
2150 'ip_max_failed_logins' => array(
2151 xl('Maximum Failed Login Attempts From IP Address'),
2152 'num', // data type
2153 '100', // default
2154 xl('Maximum Failed Login Attempts From IP Address (0 for no maximum).')
2157 'ip_time_reset_password_max_failed_logins' => array(
2158 xl('Time (seconds) to Reset Maximum Failed Login Attempts From IP Address'),
2159 'num', // data type
2160 '3600', // default to 1 hour
2161 xl('Time (seconds) to Reset Maximum Failed Login Attempts Counter From IP Address (0 for no reset).')
2164 'gbl_fac_warehouse_restrictions' => array(
2165 xl('Enable Facility/Warehouse Permissions'),
2166 'bool', // data type
2167 '0', // default
2168 xl('Enable facility/warehouse restrictions in the user administration form.')
2171 'is_client_ssl_enabled' => array(
2172 xl('Enable Client SSL'),
2173 'bool', // data type
2174 '0', // default
2175 xl('Enable client SSL certificate authentication.')
2178 'certificate_authority_crt' => array(
2179 xl('Path to CA Certificate File'),
2180 'text', // data type
2181 '', // default
2182 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2185 'certificate_authority_key' => array(
2186 xl('Path to CA Key File'),
2187 'text', // data type
2188 '', // default
2189 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2192 'client_certificate_valid_in_days' => array(
2193 xl('Client Certificate Expiration Days'),
2194 'num', // data type
2195 '365', // default
2196 xl('Number of days that the client certificate is valid.')
2199 'Emergency_Login_email_id' => array(
2200 xl('Emergency Login Email Address'),
2201 'text', // data type
2202 '', // default
2203 xl('Email address, if any, to receive emergency login user activation messages.')
2206 'new_validate' => array(
2207 xl('New form validation'),
2208 'bool',
2209 '1',
2210 xl('New form validation')
2213 'allow_multiple_databases' => array(
2214 xl('Allow multiple databases'),
2215 'bool',
2216 '0',
2217 xl('Allow to use with multiple database')
2220 'safe_key_database' => array(
2221 xl('Safe key database'),
2222 'text', // data type
2223 '', // default
2224 xl('Key for multiple database credentials encryption')
2227 'google_signin_enabled' => array(
2228 xl('Enable Google Sign-In'),
2229 'bool',
2230 '0',
2231 xl('Enable Authentication Using Google Sign-in')
2234 'google_signin_client_id' => array(
2235 xl('Google Sign-In Client ID'),
2236 'text',
2238 xl('This Client ID Is Provided By Google For Your App (Required For Google Sign-in)')
2241 'gbl_ldap_enabled' => array(
2242 xl('Use LDAP for Authentication'),
2243 'bool',
2244 '0',
2245 xl('If enabled, use LDAP for login and authentication.')
2247 'gbl_ldap_host' => array(
2248 xl('LDAP - Server Name or URI'),
2249 'text',
2251 xl('The hostname or URI of your LDAP or Active Directory server.')
2253 'gbl_ldap_dn' => array(
2254 xl('LDAP - Distinguished Name of User'),
2255 'text',
2257 xl('Embed {login} where the OpenEMR login name of the user is to be; for example: uid={login},dc=example,dc=com')
2259 'gbl_ldap_exclusions' => array(
2260 xl('LDAP - Login Exclusions'),
2261 'text',
2263 xl('Comma-separated list of login names to use normal authentication instead of LDAP; useful for setup and debugging.')
2266 'gbl_debug_hash_verify_execution_time' => array(
2267 xl('Debug Hash Verification Time'),
2268 'bool',
2269 '0',
2270 xl('If enabled, this will send the execution time it took to verify hash to the php error log.')
2273 'gbl_auth_hash_algo' => array(
2274 xl('Hash Algorithm for Authentication'),
2275 array(
2276 'DEFAULT' => xl('PHP Default'),
2277 'BCRYPT' => 'Bcrypt',
2278 'ARGON2I' => 'Argon2I',
2279 'ARGON2ID' => 'Argon2ID',
2280 'SHA512HASH' => 'SHA512 (ONC 2015)',
2282 'DEFAULT', // default
2283 xl('Hashing algorithm for authentication. Suggest PHP Default unless you know what you are doing.')
2286 'gbl_auth_bcrypt_hash_cost' => array(
2287 xl('Authentication Bcrypt Hash Cost'),
2288 array(
2289 'DEFAULT' => xl('PHP Default'),
2290 '5' => '5',
2291 '6' => '6',
2292 '7' => '7',
2293 '8' => '8',
2294 '9' => '9',
2295 '10' => '10',
2296 '11' => '11',
2297 '12' => '12',
2298 '13' => '13',
2299 '14' => '14',
2300 '15' => '15',
2301 '16' => '16',
2302 '17' => '17',
2303 '18' => '18',
2304 '19' => '19',
2305 '20' => '20',
2307 'DEFAULT', // default
2308 xl('Authentication bcrypt hash cost. Suggest PHP Default unless you know what you are doing.')
2311 'gbl_auth_argon_hash_memory_cost' => array(
2312 xl('Authentication Argon Hash Memory Cost'),
2313 array(
2314 'DEFAULT' => xl('PHP Default'),
2315 '512' => '512',
2316 '1024' => '1024',
2317 '2048' => '2048',
2318 '4096' => '4096',
2319 '8192' => '8192',
2320 '16384' => '16384',
2321 '32768' => '32768',
2322 '65536' => '65536',
2323 '131072' => '131072',
2324 '262144' => '262144',
2325 '524288' => '524288',
2326 '1048576' => '1048576',
2327 '2097152' => '2097152',
2329 'DEFAULT', // default
2330 xl('Authentication argon hash memory cost. Suggest PHP Default unless you know what you are doing.')
2333 'gbl_auth_argon_hash_time_cost' => array(
2334 xl('Authentication Argon Hash Time Cost'),
2335 array(
2336 'DEFAULT' => xl('PHP Default'),
2337 '1' => '1',
2338 '2' => '2',
2339 '3' => '3',
2340 '4' => '4',
2341 '5' => '5',
2342 '6' => '6',
2343 '7' => '7',
2344 '8' => '8',
2345 '9' => '9',
2346 '10' => '10',
2347 '11' => '11',
2348 '12' => '12',
2349 '13' => '13',
2350 '14' => '14',
2351 '15' => '15',
2352 '16' => '16',
2353 '17' => '17',
2354 '18' => '18',
2355 '19' => '19',
2356 '20' => '20',
2358 'DEFAULT', // default
2359 xl('Authentication argon hash time cost. Suggest PHP Default unless you know what you are doing.')
2362 'gbl_auth_argon_hash_thread_cost' => array(
2363 xl('Authentication Argon Hash Thread Number'),
2364 array(
2365 'DEFAULT' => xl('PHP Default'),
2366 '1' => '1',
2367 '2' => '2',
2368 '3' => '3',
2369 '4' => '4',
2370 '5' => '5',
2371 '6' => '6',
2372 '7' => '7',
2373 '8' => '8',
2374 '9' => '9',
2375 '10' => '10',
2376 '11' => '11',
2377 '12' => '12',
2378 '13' => '13',
2379 '14' => '14',
2380 '15' => '15',
2381 '16' => '16',
2382 '17' => '17',
2383 '18' => '18',
2384 '19' => '19',
2385 '20' => '20',
2387 'DEFAULT', // default
2388 xl('Authentication argon hash thread number. Suggest PHP Default unless you know what you are doing.')
2391 'gbl_auth_sha512_rounds' => array(
2392 xl('Authentication SHA512 Hash Rounds Number'),
2393 array(
2394 '1000' => '1000',
2395 '5000' => '5000',
2396 '10000' => '10000',
2397 '15000' => '15000',
2398 '20000' => '20000',
2399 '30000' => '30000',
2400 '40000' => '40000',
2401 '50000' => '50000',
2402 '75000' => '75000',
2403 '100000' => '100000',
2404 '200000' => '200000',
2405 '300000' => '300000',
2406 '400000' => '400000',
2407 '500000' => '500000',
2408 '750000' => '750000',
2409 '1000000' => '1000000',
2410 '2000000' => '2000000',
2411 '3000000' => '3000000',
2412 '4000000' => '4000000',
2413 '5000000' => '5000000',
2414 '6000000' => '6000000',
2415 '7000000' => '7000000',
2416 '8000000' => '8000000',
2417 '9000000' => '9000000',
2419 '100000', // default
2420 xl('Authentication SHA512 hash rounds number.')
2425 // Notifications Tab
2427 'Notifications' => array(
2429 'patient_reminder_sender_name' => array(
2430 xl('Patient Reminder Sender Name'),
2431 'text', // data type
2432 '', // default
2433 xl('Name of the sender for patient reminders.')
2436 'patient_reminder_sender_email' => array(
2437 xl('Patient Reminder Sender Email'),
2438 'text', // data type
2439 '', // default
2440 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.')
2443 'practice_return_email_path' => array(
2444 xl('Notification Email Address'),
2445 'text', // data type
2446 '', // default
2447 xl('Email address, if any, to receive administrative notifications.')
2450 'EMAIL_METHOD' => array(
2451 xl('Email Transport Method'),
2452 array(
2453 'PHPMAIL' => 'PHPMAIL',
2454 'SENDMAIL' => 'SENDMAIL',
2455 'SMTP' => 'SMTP',
2457 'SMTP', // default
2458 xl('Method for sending outgoing email.')
2461 'SMTP_HOST' => array(
2462 xl('SMTP Server Hostname'),
2463 'text', // data type
2464 'localhost', // default
2465 xl('If SMTP is used, the server`s hostname or IP address.')
2468 'SMTP_PORT' => array(
2469 xl('SMTP Server Port Number'),
2470 'num', // data type
2471 '25', // default
2472 xl('If SMTP is used, the server`s TCP port number (usually 25).')
2475 'SMTP_USER' => array(
2476 xl('SMTP User for Authentication'),
2477 'text', // data type
2478 '', // default
2479 xl('Must be empty if SMTP authentication is not used.')
2482 'SMTP_PASS' => array(
2483 xl('SMTP Password for Authentication'),
2484 'encrypted', // data type
2485 '', // default
2486 xl('Must be empty if SMTP authentication is not used.')
2489 'SMTP_SECURE' => array(
2490 xl('SMTP Security Protocol'),
2491 array(
2492 '' => xl('None'),
2493 'ssl' => 'SSL',
2494 'tls' => 'TLS'
2497 xl('SMTP security protocol to connect with. Required by some servers such as gmail.')
2500 'EMAIL_NOTIFICATION_HOUR' => array(
2501 xl('Email Notification Hours'),
2502 'num', // data type
2503 '50', // default
2504 xl('Number of hours in advance to send email notifications.')
2507 'SMS_NOTIFICATION_HOUR' => array(
2508 xl('SMS Notification Hours'),
2509 'num', // data type
2510 '50', // default
2511 xl('Number of hours in advance to send SMS notifications.')
2514 'SMS_GATEWAY_USENAME' => array(
2515 xl('SMS Gateway Username'),
2516 'text', // data type
2517 '', // default
2518 xl('Username for SMS Gateway.')
2521 'SMS_GATEWAY_PASSWORD' => array(
2522 xl('SMS Gateway Password'),
2523 'text', // data type
2524 '', // default
2525 xl('Password for SMS Gateway.')
2528 'SMS_GATEWAY_APIKEY' => array(
2529 xl('SMS Gateway API Key'),
2530 'text', // data type
2531 '', // default
2532 xl('API key for SMS Gateway.')
2535 'phone_notification_hour' => array(
2536 xl('Phone Notification Hour'),
2537 'num', // data type
2538 '50', // default
2539 xl('Number of hours in advance to send Phone notification.')
2542 'phone_gateway_username' => array(
2543 xl('Phone Gateway Username'),
2544 'text', // data type
2545 '', // default
2546 xl('Username for Phone Gateway.')
2549 'phone_gateway_password' => array(
2550 xl('Phone Gateway Password'),
2551 'encrypted', // data type
2552 '', // default
2553 xl('Password for Phone Gateway.')
2556 'phone_gateway_url' => array(
2557 xl('Phone Gateway URL'),
2558 'text', // data type
2559 '', // default
2560 xl('URL for Phone Gateway.')
2565 // CDR (Clinical Decision Rules)
2567 'CDR' => array(
2569 'enable_cdr' => array(
2570 xl('Enable Clinical Decisions Rules (CDR)'),
2571 'bool', // data type
2572 '1', // default
2573 xl('Enable Clinical Decisions Rules (CDR)')
2576 'enable_allergy_check' => array(
2577 xl('Enable Allergy Check'),
2578 'bool', // data type
2579 '1', // default
2580 xl('Enable Allergy Check Against Medications and Prescriptions')
2583 'enable_alert_log' => array(
2584 xl('Enable Alert Log'),
2585 'bool', // data type
2586 '1', // default
2587 xl('Enable Alert Logging')
2590 'enable_cdr_new_crp' => array(
2591 xl('Enable Clinical Passive New Reminder(s) Popup'),
2592 'bool', // data type
2593 '1', // default
2594 xl('Enable Clinical Passive New Reminder(s) Popup')
2597 'enable_cdr_crw' => array(
2598 xl('Enable Clinical Passive Reminder Widget'),
2599 'bool', // data type
2600 '1', // default
2601 xl('Enable Clinical Passive Reminder Widget')
2604 'enable_cdr_crp' => array(
2605 xl('Enable Clinical Active Reminder Popup'),
2606 'bool', // data type
2607 '1', // default
2608 xl('Enable Clinical Active Reminder Popup')
2611 'enable_cdr_prw' => array(
2612 xl('Enable Patient Reminder Widget'),
2613 'bool', // data type
2614 '1', // default
2615 xl('Enable Patient Reminder Widget')
2618 'enable_cqm' => array(
2619 xl('Enable CQM Reporting'),
2620 'bool', // data type
2621 '1', // default
2622 xl('Enable Clinical Quality Measure (CQM) Reporting')
2625 'pqri_registry_name' => array(
2626 xl('PQRI Registry Name'),
2627 'text', // data type
2628 'Model Registry', // default
2629 xl('PQRI Registry Name')
2632 'pqri_registry_id' => array(
2633 xl('PQRI Registry ID'),
2634 'text', // data type
2635 '125789123', // default
2636 xl('PQRI Registry ID')
2639 'cqm_performance_period' => array(
2640 xl('Eligible Clinician eCQM Performance Period'),
2641 'text', // data type
2642 '2022', // default set
2643 xl('Enter the eCQM Performance Period year. For example 2022')
2646 'enable_amc' => array(
2647 xl('Enable AMC Reporting'),
2648 'bool', // data type
2649 '1', // default
2650 xl('Enable Automated Measure Calculations (AMC) Reporting')
2653 'enable_amc_prompting' => array(
2654 xl('Enable AMC Prompting'),
2655 'bool', // data type
2656 '1', // default
2657 xl('Enable Prompting For Automated Measure Calculations (AMC) Required Data')
2660 'enable_amc_tracking' => array(
2661 xl('Enable AMC Tracking'),
2662 'bool', // data type
2663 '1', // default
2664 xl('Enable Reporting of Tracking Date For Automated Measure Calculations (AMC)')
2667 'cdr_report_nice' => array(
2668 xl('CDR Reports Processing Priority'),
2669 array(
2670 '' => xl('Default Priority'),
2671 '5' => xl('Moderate Priority'),
2672 '10' => xl('Moderate/Low Priority'),
2673 '15' => xl('Low Priority'),
2674 '20' => xl('Lowest Priority')
2676 '', // default
2677 xl('Set processing priority for CDR engine based reports.')
2680 'pat_rem_clin_nice' => array(
2681 xl('Patient Reminder Creation Processing Priority'),
2682 array(
2683 '' => xl('Default Priority'),
2684 '5' => xl('Moderate Priority'),
2685 '10' => xl('Moderate/Low Priority'),
2686 '15' => xl('Low Priority'),
2687 '20' => xl('Lowest Priority')
2689 '', // default
2690 xl('Set processing priority for creation of Patient Reminders (in full clinic mode).')
2693 'report_itemizing_standard' => array(
2694 xl('Enable Standard Report Itemization'),
2695 'bool', // data type
2696 '1', // default
2697 xl('Enable Itemization of Standard Clinical Rules Reports')
2700 'report_itemizing_cqm' => array(
2701 xl('Enable CQM Report Itemization'),
2702 'bool', // data type
2703 '1', // default
2704 xl('Enable Itemization of CQM Reports')
2707 'report_itemizing_amc' => array(
2708 xl('Enable AMC Report Itemization'),
2709 'bool', // data type
2710 '1', // default
2711 xl('Enable Itemization of AMC Reports')
2713 'dated_reminders_max_alerts_to_show' => array(
2714 xl('Dated reminders maximum alerts to show'),
2715 'num', // data type
2716 '5', // default
2717 xl('Dated reminders maximum alerts to show')
2719 'patient_birthday_alert' => array(
2720 xl('Alert on patient birthday'),
2721 array(
2722 '0' => xl('No alert'),
2723 '1' => xl('Alert only on birthday'),
2724 '2' => xl('Alert on and after birthday'),
2725 '3' => xl('Alert on and up to 28 days after birthday')
2727 '1', // default
2728 xl('Alert on patient birthday')
2730 'patient_birthday_alert_manual_off' => array(
2731 xl('Patient birthday alert requires turning off'),
2732 'bool', // data type
2733 '0', // default
2734 xl('Patient birthday alert requires turning off')
2738 // Logging
2740 'Logging' => array(
2742 'user_debug' => array(
2743 xl('User Debugging Options'),
2744 array(
2745 '0' => xl('None'),
2746 '1' => xl('Display Window Errors Only'),
2747 '2' => xl('Display Application Errors Only'),
2748 '3' => xl('All'),
2750 '0', // default
2751 xl('User Debugging Mode.')
2754 'enable_auditlog' => array(
2755 xl('Enable Audit Logging'),
2756 'bool', // data type
2757 '1', // default
2758 xl('Enable Audit Logging')
2761 'audit_events_patient-record' => array(
2762 xl('Audit Logging Patient Record'),
2763 'bool', // data type
2764 '1', // default
2765 xl('Enable logging of patient record modifications.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2768 'audit_events_scheduling' => array(
2769 xl('Audit Logging Scheduling'),
2770 'bool', // data type
2771 '1', // default
2772 xl('Enable logging of scheduling activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2775 'audit_events_order' => array(
2776 xl('Audit Logging Order'),
2777 'bool', // data type
2778 '1', // default
2779 xl('Enable logging of ordering activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2782 'audit_events_security-administration' => array(
2783 xl('Audit Logging Security Administration'),
2784 'bool', // data type
2785 '1', // default
2786 xl('Enable logging of security and administration activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2789 'audit_events_backup' => array(
2790 xl('Audit Logging Backups'),
2791 'bool', // data type
2792 '1', // default
2793 xl('Enable logging of backup related activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2796 'audit_events_other' => array(
2797 xl('Audit Logging Miscellaneous'),
2798 'bool', // data type
2799 '1', // default
2800 xl('Enable logging of miscellaneous activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2803 'audit_events_query' => array(
2804 xl('Audit Logging SELECT Query'),
2805 'bool', // data type
2806 '1', // default
2807 xl('Enable logging of all SQL SELECT queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2810 'audit_events_cdr' => array(
2811 xl('Audit CDR Engine Queries'),
2812 'bool', // data type
2813 '0', // default
2814 xl('Enable logging of CDR Engine Queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2817 'gbl_force_log_breakglass' => array(
2818 xl('Audit all Emergency User Queries'),
2819 'bool', // data type
2820 '1', // default
2821 xl('Force logging of all Emergency User (ie. breakglass) activities.')
2824 'enable_atna_audit' => array(
2825 xl('Enable ATNA Auditing'),
2826 'bool', // data type
2827 '0', // default
2828 xl('Enable Audit Trail and Node Authentication (ATNA).')
2831 'atna_audit_host' => array(
2832 xl('ATNA audit host'),
2833 'text', // data type
2834 '', // default
2835 xl('The hostname of the ATNA audit repository machine.')
2838 'atna_audit_port' => array(
2839 xl('ATNA audit port'),
2840 'text', // data type
2841 '6514', // default
2842 xl('Listening port of the RFC 5425 TLS syslog server.')
2845 'atna_audit_localcert' => array(
2846 xl('ATNA audit local certificate'),
2847 'text', // data type
2848 '', // default
2849 xl('Certificate to send to RFC 5425 TLS syslog server.')
2852 'atna_audit_cacert' => array(
2853 xl('ATNA audit CA certificate'),
2854 'text', // data type
2855 '', // default
2856 xl('CA Certificate for verifying the RFC 5425 TLS syslog server.')
2859 'enable_auditlog_encryption' => array(
2860 xl('Enable Audit Log Encryption'),
2861 'bool', // data type
2862 '0', // default
2863 xl('Enable Audit Log Encryption')
2866 'api_log_option' => array(
2867 xl('API Log Option'),
2868 array(
2869 '0' => xl('No logging'),
2870 '1' => xl('Minimal Logging'),
2871 '2' => xl('Full Logging'),
2873 '2', // default
2874 xl('API Log Option (Full includes requests and responses).')
2877 'billing_log_option' => array(
2878 xl('Billing Log Option'),
2879 array(
2880 '1' => xl('Billing Log Append'),
2881 '2' => xl('Billing Log Overwrite')
2883 '1', // default
2884 xl('Billing log setting to append or overwrite the log file.')
2887 'gbl_print_log_option' => array(
2888 xl('Printing Log Option'),
2889 array(
2890 '0' => xl('No logging'),
2891 '1' => xl('Hide print feature'),
2892 '2' => xl('Log entire document'),
2894 '2', // default
2895 xl('Individual pages can override 2nd and 3rd options by implementing a log message.')
2898 'system_error_logging' => array(
2899 xl('System Error Logging Options'),
2900 array(
2901 'WARNING' => xl('Standard Error Logging'),
2902 'DEBUG' => xl('Debug Error Logging'),
2904 'WARNING', // default
2905 xl('System Error Logging Options.')
2910 // Miscellaneous Tab
2912 'Miscellaneous' => array(
2914 'enable_database_connection_pooling' => array(
2915 xl('Enable Database Connection Pooling'),
2916 'bool', // data type
2917 '1', // default
2918 xl('Enable Database Connection Pooling')
2921 'mysql_bin_dir' => array(
2922 xl('Path to MySQL Binaries'),
2923 'text', // data type
2924 $mysql_bin_dir, // default
2925 xl('Full path to directory containing MySQL executables.')
2928 'perl_bin_dir' => array(
2929 xl('Path to Perl Binaries'),
2930 'text', // data type
2931 $perl_bin_dir, // default
2932 xl('Full path to directory containing Perl executables.')
2935 'temporary_files_dir' => array(
2936 xl('Path to Temporary Files'),
2937 'text', // data type
2938 $temporary_files_dir, // default
2939 xl('Full path to directory used for temporary files.')
2942 'backup_log_dir' => array(
2943 xl('Path for Event Log Backup'),
2944 'text', // data type
2945 $backup_log_dir, // default
2946 xl('Full path to directory for event log backup.')
2949 'state_data_type' => array(
2950 xl('State Data Type'),
2951 array(
2952 '2' => xl('Text field'),
2953 '1' => xl('Single-selection list'),
2954 '26' => xl('Single-selection list with ability to add to the list'),
2956 '26', // default
2957 xl('Field type to use for employer or subscriber state in demographics.')
2960 'state_list' => array(
2961 xl('State list'),
2962 'text', // data type
2963 'state', // default
2964 xl('List used by above State Data Type option.')
2967 'state_custom_addlist_widget' => array(
2968 xl('State List Widget Custom Fields'),
2969 'bool', // data type
2970 '1', // default
2971 xl('Show the custom state form for the add list widget (will ask for title and abbreviation).')
2974 'country_data_type' => array(
2975 xl('Country Data Type'),
2976 array(
2977 '2' => xl('Text field'),
2978 '1' => xl('Single-selection list'),
2979 '26' => xl('Single-selection list with ability to add to the list'),
2981 '26', // default
2982 xl('Field type to use for employer or subscriber country in demographics.')
2985 'country_list' => array(
2986 xl('Country list'),
2987 'text', // data type
2988 'country', // default
2989 xl('List used by above Country Data Type option.')
2992 'post_to_date_benchmark' => array(
2993 xl('Financial Close Date (yyyy-mm-dd)'),
2994 'text', // data type
2995 date('Y-m-d', time() - (10 * 24 * 60 * 60)), // default
2996 xl('The payments posted cannot go below this date.This ensures that after taking the final report nobody post for previous dates.')
2999 'enable_hylafax' => array(
3000 xl('Enable Hylafax Support'),
3001 'bool', // data type
3002 '0', // default
3003 xl('Enable Hylafax Support')
3006 'hylafax_server' => array(
3007 xl('Hylafax Server'),
3008 'text', // data type
3009 'localhost', // default
3010 xl('Hylafax server hostname.')
3013 'hylafax_basedir' => array(
3014 xl('Hylafax Directory'),
3015 'text', // data type
3016 '/var/spool/hylafax', // default
3017 xl('Location where Hylafax stores faxes.')
3020 'enable_scanner' => array(
3021 xl('Enable Scanner Support'),
3022 'bool', // data type
3023 '0', // default
3024 xl('Enable Scanner Support')
3027 'scanner_output_directory' => array(
3028 xl('Scanner Directory'),
3029 'text', // data type
3030 '/mnt/scan_docs', // default
3031 xl('Location where scans are stored.')
3034 'unique_installation_id' => array(
3035 xl('Unique Installation ID'),
3036 'if_empty_create_random_uuid', // data type
3037 '', // default
3038 xl('Unique installation ID. Creates a random UUID if empty.')
3042 // Portal Tab
3044 'Portal' => array(
3046 'portal_onsite_two_enable' => array(
3047 xl('Enable Patient Portal'),
3048 'bool', // data type
3049 '0',
3050 xl('Enable Patient Portal')
3053 'portal_onsite_two_address' => array(
3054 xl('Patient Portal Site Address'),
3055 'text', // data type
3056 'https://your_web_site.com/openemr/portal',
3057 xl('Website link for the Patient Portal.')
3060 'portal_css_header' => array(
3061 xl('Portal Default Theme'),
3062 array(
3063 'style_light.css' => xl('Light'),
3064 'style_dark.css' => xl('Dark')
3066 'style_light.css',
3067 xl('Pick a default portal theme.')
3070 'portal_onsite_two_basepath' => array(
3071 xl('Portal Uses Server Base Path (internal)'),
3072 'bool',
3073 '0',
3074 xl('Use servers protocol and host in urls (portal internal only).')
3077 'enforce_signin_email' => array(
3078 xl('Enforce E-Mail in Portal Log On Dialog'),
3079 'bool', // data type
3080 '1',
3081 xl('Patient is required to enter their contact e-mail if present in Demographics Contact.')
3084 'google_recaptcha_site_key' => array(
3085 xl('Google reCAPTCHA V2 site key'),
3086 'text',
3088 xl('Google reCAPTCHA V2 site key')
3091 'google_recaptcha_secret_key' => array(
3092 xl('Google reCAPTCHA V2 secret key'),
3093 'encrypted',
3095 xl('Google reCAPTCHA V2 secret key')
3098 'portal_onsite_two_register' => array(
3099 xl('Allow New Patient Registration Widget') . ' ' . xl('This requires reCAPTCHA to be setup'),
3100 'bool', // data type
3101 '0',
3102 xl('Enable Patient Portal new patient to self register.')
3105 'allow_portal_appointments' => array(
3106 xl('Allow Online Appointments'),
3107 'bool', // data type
3108 '1',
3109 xl('Allow Patient to make and view appointments online.')
3112 'allow_portal_chat' => array(
3113 xl('Allow Online Secure Chat'),
3114 'bool', // data type
3115 '1',
3116 xl('Allow Patient to use Secure Chat Application.')
3119 'portal_two_ledger' => array(
3120 xl('Allow Patient Ledger'),
3121 'bool', // data type
3122 '1',
3123 xl('Allow Patient to view their accounting ledger online.')
3126 'portal_two_payments' => array(
3127 xl('Allow Online Payments'),
3128 'bool', // data type
3129 '0',
3130 xl('Allow Patient to make payments online.')
3133 'portal_two_pass_reset' => array(
3134 xl('Allow Patients to Reset Credentials') . ' ' . xl('This requires reCAPTCHA to be setup'),
3135 'bool', // data type
3136 '0',
3137 xl('Patient may change their logon from portal login dialog.')
3140 'portal_onsite_document_download' => array(
3141 xl('Enable Patient Portal Document Download'),
3142 'bool', // data type
3143 '1',
3144 xl('Enables the ability to download documents in the Patient Portal by the user.')
3148 // Connectors Tab
3150 'Connectors' => array(
3152 'site_addr_oath' => array(
3153 xl('Site Address Override (if needed for OAuth2, FHIR, CCDA, or Payment Processing)'),
3154 'text',
3156 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 .'
3159 'rest_fhir_api' => array(
3160 xl('Enable OpenEMR Standard FHIR REST API'),
3161 'bool',
3162 '0',
3163 xl('Enable OpenEMR Standard FHIR RESTful API.')
3166 'rest_system_scopes_api' => array(
3167 xl('Enable OpenEMR FHIR System Scopes (Turn on only if you know what you are doing)'),
3168 'bool',
3169 '0',
3170 xl('Enable OpenEMR FHIR System Scopes.')
3173 'rest_api' => array(
3174 xl('Enable OpenEMR Standard REST API'),
3175 'bool',
3176 '0',
3177 xl('Enable OpenEMR Standard RESTful API.')
3180 'rest_portal_api' => array(
3181 xl('Enable OpenEMR Patient Portal REST API (EXPERIMENTAL)'),
3182 'bool',
3183 '0',
3184 xl('Enable OpenEMR Patient Portal RESTful API.')
3187 'oauth_password_grant' => array(
3188 xl('Enable OAuth2 Password Grant (Not considered secure)'),
3189 array(
3190 0 => xl('Off (Recommended setting)'),
3191 1 => xl('On for Users Role'),
3192 2 => xl('On for Patient Role'),
3193 3 => xl('On for Both Roles')
3195 '0',
3196 xl('Enable OAuth2 Password Grant. Recommend turning this setting off for production server. Recommend only using for testing.')
3198 'oauth_app_manual_approval' => array(
3199 xl('OAuth2 App Manual Approval Settings'),
3200 array(
3201 0 => xl('Patient standalone apps Auto Approved, EHR-Launch,Provider&System Apps require manual approval')
3202 ,1 => xl('Manually Approve All Apps (USA jurisdictions must approve all patient standalone apps within 48 hours)')
3203 // ,2 => xl('All apps Auto Approved') we could add this setting at a latter date
3205 '0',
3206 xl('Approval settings for 3rd party app/api access')
3209 'cc_front_payments' => array(
3210 xl('Accept Credit Card transactions from Front Payments'),
3211 'bool',
3212 '0',
3213 xl('Allow manual entry and authorise credit card payments. Ensure a gateway is enabled.')
3215 'cc_stripe_terminal' => array(
3216 xl('In person payments with Stripe Verifone P400'),
3217 'bool',
3218 '0',
3219 xl('Allow in person credit card payments using Stripe Verifone P400. Ensure Stripe gateway is enabled.')
3221 'payment_gateway' => array(
3222 xl('Select Credit Card Payment Gateway'),
3223 array(
3224 'InHouse' => xl('In House Authorize Payments'),
3225 'AuthorizeNet' => xl('Gateway for AuthorizeNet Manual Payments'),
3226 'Sphere' => xl('Gateway for Sphere Payments'),
3227 'Stripe' => xl('Gateway for Stripe Manual Payments')
3229 'InHouse',
3230 xl('Enable a Payment Gateway Service for processing credit card transactions')
3233 'gateway_mode_production' => array(
3234 xl('Set Gateway to Production Mode'),
3235 'bool', // data type
3236 '0',
3237 xl('Check this to go live. Not checked is testing mode.')
3240 'gateway_public_key' => array(
3241 xl('Gateway Publishable Key'),
3242 'encrypted',
3244 xl('The public access key for secure tokenize of credit or debit card authorization. PCI compliance')
3247 'gateway_api_key' => array(
3248 xl('Gateway API Login Auth Name or Secret'),
3249 'encrypted',
3251 xl('The Auth Name or API key for selected account. Auth Name for Authorize.Net and API Secret for Stripe.')
3254 'gateway_transaction_key' => array(
3255 xl('Gateway Transaction Key'),
3256 'encrypted',
3258 xl('Mainly Authorize.Net uses two keys')
3261 'sphere_clinicfront_trxcustid' => array(
3262 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID'),
3263 'encrypted',
3265 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID')
3268 'sphere_clinicfront_trxcustid_licensekey' => array(
3269 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key'),
3270 'encrypted',
3272 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key')
3275 'sphere_moto_tc_link_pass' => array(
3276 xl('Sphere MOTO TC Link Password'),
3277 'encrypted',
3279 xl('Sphere MOTO TC Link Password')
3282 'sphere_clinicfront_retail_trxcustid' => array(
3283 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID'),
3284 'encrypted',
3286 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID')
3289 'sphere_clinicfront_retail_trxcustid_licensekey' => array(
3290 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key'),
3291 'encrypted',
3293 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key')
3296 'sphere_retail_tc_link_pass' => array(
3297 xl('Sphere RETAIL TC Link Password'),
3298 'encrypted',
3300 xl('Sphere RETAIL TC Link Password')
3303 'sphere_patientfront_trxcustid' => array(
3304 xl('Sphere Patientfront (Ecomm) Transaction CustID'),
3305 'encrypted',
3307 xl('Sphere Patientfront (Ecomm) Transaction CustID')
3310 'sphere_patientfront_trxcustid_licensekey' => array(
3311 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key'),
3312 'encrypted',
3314 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key')
3317 'sphere_ecomm_tc_link_pass' => array(
3318 xl('Sphere Ecomm TC Link Password'),
3319 'encrypted',
3321 xl('Sphere Ecomm TC Link Password')
3324 'sphere_credit_void_confirm_pin' => array(
3325 xl('Sphere Void/Credit Confirmation PIN'),
3326 'encrypted_hash',
3328 xl('Sphere Void/Credit Confirmation Password. OpenEMR confirms pin/password before proceeding with void/credit.')
3331 'medex_enable' => array(
3332 xl('Enable MedEx Communication Service'),
3333 'bool', // data type
3334 '0',
3335 xl('Enable MedEx Communication Service')
3338 'erx_enable' => array(
3339 xl('Enable NewCrop eRx Service'),
3340 'bool',
3341 '0',
3342 xl('Enable NewCrop eRx Service.') . ' ' .
3343 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.')
3346 'erx_newcrop_path' => array(
3347 xl('NewCrop eRx Site Address'),
3348 'text',
3349 'https://secure.newcropaccounts.com/InterfaceV7/RxEntry.aspx',
3350 xl('URL for NewCrop eRx Site Address.')
3353 'erx_newcrop_path_soap' => array(
3354 xl('NewCrop eRx Web Service Address'),
3355 'text',
3356 'https://secure.newcropaccounts.com/v7/WebServices/Update1.asmx?WSDL;https://secure.newcropaccounts.com/v7/WebServices/Patient.asmx?WSDL',
3357 xl('URLs for NewCrop eRx Service Address, separated by a semi-colon.')
3360 'erx_soap_ttl_allergies' => array(
3361 xl('NewCrop eRx SOAP Request Time-To-Live for Allergies'),
3362 'num',
3363 '21600',
3364 xl('Time-To-Live for NewCrop eRx Allergies SOAP Request in seconds.')
3367 'erx_soap_ttl_medications' => array(
3368 xl('NewCrop eRx SOAP Request Time-To-Live for Medications'),
3369 'num',
3370 '21600',
3371 xl('Time-To-Live for NewCrop eRx Medications SOAP Request in seconds.')
3374 'erx_account_partner_name' => array(
3375 xl('NewCrop eRx Partner Name'),
3376 'text',
3378 xl('Partner Name issued for NewCrop eRx service.')
3381 'erx_account_name' => array(
3382 xl('NewCrop eRx Name'),
3383 'text',
3385 xl('Account Name issued for NewCrop eRx service.')
3388 'erx_account_password' => array(
3389 xl('NewCrop eRx Password'),
3390 'encrypted',
3392 xl('Account Password issued for NewCrop eRx service.')
3395 'erx_account_id' => array(
3396 xl('NewCrop eRx Account Id'),
3397 'text',
3398 '1',
3399 xl('Account Id issued for NewCrop eRx service, used to separate multi-facility accounts.')
3402 'erx_upload_active' => array(
3403 xl('Only upload active prescriptions'),
3404 'bool',
3405 '0',
3406 xl('Only upload active prescriptions to NewCrop eRx.')
3409 'erx_import_status_message' => array(
3410 xl('Enable NewCrop eRx import status message'),
3411 'bool',
3412 '0',
3413 xl('Enable import status message after visiting NewCrop eRx.')
3416 'erx_medication_display' => array(
3417 xl('Do not display NewCrop eRx Medications uploaded'),
3418 'bool',
3419 '0',
3420 xl('Do not display Medications uploaded after visiting NewCrop eRx.')
3423 'erx_allergy_display' => array(
3424 xl('Do not display NewCrop eRx Allergy uploaded'),
3425 'bool',
3426 '0',
3427 xl('Do not display Allergies uploaded after visiting NewCrop eRx.')
3430 'erx_default_patient_country' => array(
3431 xl('NewCrop eRx Default Patient Country'),
3432 array(
3433 '' => '',
3434 'US' => xl('USA'),
3435 'CA' => xl('Canada'),
3436 'MX' => xl('Mexico'),
3439 xl('Default Patient Country sent to NewCrop eRx, only if patient country is not set.'),
3442 'erx_debug_setting' => array(
3443 xl('NewCrop eRx Debug Setting'),
3444 array(
3445 0 => xl('None'),
3446 1 => xl('Request Only'),
3447 2 => xl('Response Only'),
3448 3 => xl('Request & Response'),
3450 '0',
3451 xl('Log all NewCrop eRx Requests and / or Responses.'),
3454 'weno_rx_enable' => array(
3455 xl('Enable Weno eRx Service'),
3456 'bool',
3457 '0',
3458 xl('Enable Weno eRx Service') . ' ' . xl('Contact https://online.wenoexchange.com to sign up for Weno Free eRx service.')
3461 'weno_rx_enable_test' => array(
3462 xl('Enable Weno eRx Service Test mode'),
3463 'bool',
3464 '1',
3465 xl('Enable Weno eRx Service Test mode')
3468 'weno_encryption_key' => array(
3469 xl('Weno Encryption Key'),
3470 'encrypted', // data type
3472 xl('Encryption key issued by Weno eRx service.')
3475 'weno_provider_password' => array(
3476 xl('Weno Provider Account Password'),
3477 'encrypted', // data type
3479 xl('Each provider needs to set this under user settings. This should be blank')
3482 'ccda_alt_service_enable' => array(
3483 xl('Enable C-CDA Service'),
3484 array(
3485 0 => xl('Off'),
3486 1 => xl('Care Coordination Only'),
3487 2 => xl('Portal Only'),
3488 3 => xl('Both'),
3490 '0',
3491 xl('Enable C-CDA Service')
3494 'phimail_enable' => array(
3495 xl('Enable phiMail Direct Messaging Service'),
3496 'bool', // data type
3497 '0',
3498 xl('Enable phiMail Direct Messaging Service')
3500 'phimail_testmode_disabled' => array(
3501 xl('Disable phiMail Test Mode'),
3502 'bool', // data type
3503 '0',
3504 xl('When you are ready to run phiMail in production mode. Turn on this flag.')
3506 'phimail_verifyrecipientreceived_enable' => array(
3507 xl("phiMail default force message receipt confirmation to on"),
3508 'bool',
3509 '0',
3510 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")
3513 'phimail_server_address' => array(
3514 xl('phiMail Server Address'),
3515 'text', // data type
3516 'https://phimail.example.com:32541',
3517 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3520 'phimail_username' => array(
3521 xl('phiMail Username'),
3522 'text', // data type
3524 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3527 'phimail_password' => array(
3528 xl('phiMail Password'),
3529 'encrypted', // data type
3531 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3534 'phimail_notify' => array(
3535 xl('phiMail notification user'),
3536 'text', // data type
3537 'admin',
3538 xl('This user will receive notification of new incoming Direct messages')
3541 'phimail_interval' => array(
3542 xl('phiMail Message Check Interval (minutes)'),
3543 'num', // data type
3544 '5',
3545 xl('Interval between message checks (set to zero for manual checks only)')
3548 'phimail_ccd_enable' => array(
3549 xl('phiMail Allow CCD Send'),
3550 'bool', // data type
3551 '0',
3552 xl('phiMail Allow CCD Send')
3555 'phimail_ccr_enable' => array(
3556 xl('phiMail Allow CCR Send'),
3557 'bool', // data type
3558 '0',
3559 xl('phiMail Allow CCR Send')
3562 'easipro_enable' => array(
3563 xl('Enable Easipro'),
3564 'bool', // data type
3565 '0',
3566 xl('Enable Easipro. For licensing options for this feature, please contact') . ' api@assessmentcenter.net'
3569 'easipro_server' => array(
3570 xl('Easipro Server'),
3571 'text', // data type
3573 xl('Easipro Server')
3576 'easipro_name' => array(
3577 xl('Easipro Server Username'),
3578 'text', // data type
3580 xl('Easipro Server Username')
3583 'easipro_pass' => array(
3584 xl('Easipro Server Password'),
3585 'encrypted', // data type
3587 xl('Easipro Server Password')
3590 'usps_webtools_enable' => array(
3591 xl('Enable USPS Web Tools API'),
3592 'bool', // data type
3593 '0',
3594 xl('Enable USPS Web Tools API')
3597 'usps_webtools_username' => array(
3598 xl('USPS Web Tools API Username'),
3599 'text', // data type
3601 xl('USPS Web Tools API Username')
3604 'ccda_validation_disable' => array(
3605 xl('Disable All import CDA Validation Reporting'),
3606 'bool', // data type
3607 '0',
3608 xl('Disable All CDA conformance and validation services to improve import performance')
3611 'mdht_conformance_server_enable' => array(
3612 xl('Use MDHT External Validation Service'),
3613 'bool', // data type
3614 '0',
3615 xl('Enable CCDA conformance and validation API service')
3618 'mdht_conformance_server' => array(
3619 xl('CCDA MDHT Validation API Server Address'),
3620 'text', // data type
3622 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.')
3626 'Rx' => array(
3627 'rx_enable_DEA' => array(
3628 xl('Rx Enable DEA #'),
3629 'bool', // data type
3630 '1',
3631 xl('Rx Enable DEA #')
3633 'rx_show_DEA' => array(
3634 xl('Rx Show DEA #'),
3635 'bool', // data type
3636 '0',
3637 xl('Rx Show DEA #')
3639 'rx_enable_NPI' => array(
3640 xl('Rx Enable NPI'),
3641 'bool', // data type
3642 '0',
3643 xl('Rx Enable NPI')
3645 'rx_show_NPI' => array(
3646 xl('Rx Show NPI'),
3647 'bool', // data type
3648 '0',
3649 xl('Rx Show NPI')
3651 'rx_enable_SLN' => array(
3652 xl('Rx Enable State Lic. #'),
3653 'bool', // data type
3654 '0',
3655 xl('Rx Enable State Lic. #')
3657 'rx_show_SLN' => array(
3658 xl('Rx Show State Lic. #'),
3659 'bool', // data type
3660 '0',
3661 xl('Rx Show State Lic. #')
3663 'rx_show_drug_drug' => array(
3664 xl('Rx NLM Drug-Drug'),
3665 'bool', // data type
3666 '0',
3667 xl('Rx NLM Drug-Drug')
3669 'rx_paper_size' => array(
3670 xl('Rx Paper Size'), // descriptive name
3671 array(
3672 'LETTER' => xl('Letter Paper Size'),
3673 'LEGAL' => xl('Legal Paper Size'),
3674 'FOLIO' => xl('Folio Paper Size'),
3675 'EXECUTIVE' => xl('Executive Paper Size'),
3676 '4A0' => ('4A0' . " " . xl('Paper Size')),
3677 '2A0' => ('2A0' . " " . xl('Paper Size')),
3678 'A0' => ('A0' . " " . xl('Paper Size')),
3679 'A1' => ('A1' . " " . xl('Paper Size')),
3680 'A2' => ('A2' . " " . xl('Paper Size')),
3681 'A3' => ('A3' . " " . xl('Paper Size')),
3682 'A4' => ('A4' . " " . xl('Paper Size')),
3683 'A5' => ('A5' . " " . xl('Paper Size')),
3684 'A6' => ('A6' . " " . xl('Paper Size')),
3685 'A7' => ('A7' . " " . xl('Paper Size')),
3686 'A8' => ('A8' . " " . xl('Paper Size')),
3687 'A9' => ('A9' . " " . xl('Paper Size')),
3688 'A10' => ('A10' . " " . xl('Paper Size')),
3689 'B0' => ('B0' . " " . xl('Paper Size')),
3690 'B1' => ('B1' . " " . xl('Paper Size')),
3691 'B2' => ('B2' . " " . xl('Paper Size')),
3692 'B3' => ('B3' . " " . xl('Paper Size')),
3693 'B4' => ('B4' . " " . xl('Paper Size')),
3694 'B5' => ('B5' . " " . xl('Paper Size')),
3695 'B6' => ('B6' . " " . xl('Paper Size')),
3696 'B7' => ('B7' . " " . xl('Paper Size')),
3697 'B8' => ('B8' . " " . xl('Paper Size')),
3698 'B9' => ('B9' . " " . xl('Paper Size')),
3699 'B10' => ('B10' . " " . xl('Paper Size')),
3700 'C0' => ('C0' . " " . xl('Paper Size')),
3701 'C1' => ('C1' . " " . xl('Paper Size')),
3702 'C2' => ('C2' . " " . xl('Paper Size')),
3703 'C3' => ('C3' . " " . xl('Paper Size')),
3704 'C4' => ('C4' . " " . xl('Paper Size')),
3705 'C5' => ('C5' . " " . xl('Paper Size')),
3706 'C6' => ('C6' . " " . xl('Paper Size')),
3707 'C7' => ('C7' . " " . xl('Paper Size')),
3708 'C8' => ('C8' . " " . xl('Paper Size')),
3709 'C9' => ('C9' . " " . xl('Paper Size')),
3710 'C10' => ('C10' . " " . xl('Paper Size')),
3711 'RA0' => ('RA0' . " " . xl('Paper Size')),
3712 'RA1' => ('RA1' . " " . xl('Paper Size')),
3713 'RA2' => ('RA2' . " " . xl('Paper Size')),
3714 'RA3' => ('RA3' . " " . xl('Paper Size')),
3715 'RA4' => ('RA4' . " " . xl('Paper Size')),
3716 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
3717 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
3718 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
3719 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
3720 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
3722 'LETTER', // default = tree menu
3723 xl('Rx Paper Size')
3725 'rx_left_margin' => array(
3726 xl('Rx Left Margin (px)'),
3727 'num',
3728 '30',
3729 xl('Rx Left Margin (px)')
3731 'rx_right_margin' => array(
3732 xl('Rx Right Margin (px)'),
3733 'num',
3734 '30',
3735 xl('Rx Right Margin (px)')
3737 'rx_top_margin' => array(
3738 xl('Rx Top Margin (px)'),
3739 'num',
3740 '72',
3741 xl('Rx Top Margin (px)')
3743 'rx_bottom_margin' => array(
3744 xl('Rx Bottom Margin (px)'),
3745 'num',
3746 '30',
3747 xl('Rx Bottom Margin (px)')
3749 'rx_use_fax_template' => array(
3750 xl('Show button for download fax template'),
3751 'bool', // data type
3752 '1', // default = true
3753 xl('Show button in the prescription list for download fax template')
3755 'rx_zend_html_template' => array(
3756 xl('Rx html print - zend module'),
3757 'bool', // data type
3758 '0', // default = false
3759 xl('Use an html template from zend module')
3761 'rx_zend_html_action' => array(
3762 xl('Name of zend template for html print'),
3763 'text', // data type
3764 'default',
3765 xl('Name of zend template for html print, possible to add custom template in the PrescriptionTemplate module')
3767 'rx_zend_pdf_template' => array(
3768 xl('Rx pdf - zend template'),
3769 'bool', // data type
3770 '0', // default = false
3771 xl('Use a pdf template from zend module')
3773 'rx_zend_pdf_action' => array(
3774 xl('Name of zend template for pdf export'),
3775 'text', // data type
3776 'default',
3777 xl('Name of zend template for pdf export, possible to add custom template in the PrescriptionTemplate module')
3780 'PDF' => array(
3781 'pdf_layout' => array(
3782 xl('Layout'),
3783 array(
3784 'P' => xl('Portrait'),
3785 'L' => xl('Landscape')
3787 'P', //defaut
3788 xl("Choose Layout Direction"),
3790 'pdf_language' => array(
3791 xl('PDF Language'),
3792 array(
3793 'aa' => xl('Afar'),
3794 'af' => xl('Afrikaans'),
3795 'ak' => xl('Akan'),
3796 'sq' => xl('Albanian'),
3797 'am' => xl('Amharic'),
3798 'ar' => xl('Arabic'),
3799 'an' => xl('Aragonese'),
3800 'hy' => xl('Armenian'),
3801 'as' => xl('Assamese'),
3802 'av' => xl('Avaric'),
3803 'ae' => xl('Avestan'),
3804 'ay' => xl('Aymara'),
3805 'az' => xl('Azerbaijani'),
3806 'bm' => xl('Bambara'),
3807 'ba' => xl('Bashkir'),
3808 'eu' => xl('Basque'),
3809 'be' => xl('Belarusian'),
3810 'bn' => xl('Bengali- Bangla'),
3811 'bh' => xl('Bihari'),
3812 'bi' => xl('Bislama'),
3813 'bs' => xl('Bosnian'),
3814 'br' => xl('Breton'),
3815 'bg' => xl('Bulgarian'),
3816 'my' => xl('Burmese'),
3817 'ca' => xl('Catalan- Valencian'),
3818 'ch' => xl('Chamorro'),
3819 'ce' => xl('Chechen'),
3820 'ny' => xl('Chichewa- Chewa- Nyanja'),
3821 'zh' => xl('Chinese'),
3822 'cv' => xl('Chuvash'),
3823 'kw' => xl('Cornish'),
3824 'co' => xl('Corsican'),
3825 'cr' => xl('Cree'),
3826 'hr' => xl('Croatian'),
3827 'cs' => xl('Czech'),
3828 'da' => xl('Danish'),
3829 'dv' => xl('Divehi- Dhivehi- Maldivian-'),
3830 'nl' => xl('Dutch'),
3831 'dz' => xl('Dzongkha'),
3832 'en' => xl('English'),
3833 'eo' => xl('Esperanto'),
3834 'et' => xl('Estonian'),
3835 'ee' => xl('Ewe'),
3836 'fo' => xl('Faroese'),
3837 'fj' => xl('Fijian'),
3838 'fi' => xl('Finnish'),
3839 'fr' => xl('French'),
3840 'ff' => xl('Fula- Fulah- Pulaar- Pular'),
3841 'gl' => xl('Galician'),
3842 'ka' => xl('Georgian'),
3843 'de' => xl('German'),
3844 'el' => xl('Greek, Modern'),
3845 'gn' => xl('Guarani'),
3846 'gu' => xl('Gujarati'),
3847 'ht' => xl('Haitian- Haitian Creole'),
3848 'ha' => xl('Hausa'),
3849 'he' => xl('Hebrew (modern)'),
3850 'hz' => xl('Herero'),
3851 'hi' => xl('Hindi'),
3852 'ho' => xl('Hiri Motu'),
3853 'hu' => xl('Hungarian'),
3854 'ia' => xl('Interlingua'),
3855 'id' => xl('Indonesian'),
3856 'ie' => xl('Interlingue'),
3857 'ga' => xl('Irish'),
3858 'ig' => xl('Igbo'),
3859 'ik' => xl('Inupiaq'),
3860 'io' => xl('Ido'),
3861 'is' => xl('Icelandic'),
3862 'it' => xl('Italian'),
3863 'iu' => xl('Inuktitut'),
3864 'ja' => xl('Japanese'),
3865 'jv' => xl('Javanese'),
3866 'kl' => xl('Kalaallisut, Greenlandic'),
3867 'kn' => xl('Kannada'),
3868 'kr' => xl('Kanuri'),
3869 'ks' => xl('Kashmiri'),
3870 'kk' => xl('Kazakh'),
3871 'km' => xl('Khmer'),
3872 'ki' => xl('Kikuyu, Gikuyu'),
3873 'rw' => xl('Kinyarwanda'),
3874 'ky' => xl('Kyrgyz'),
3875 'kv' => xl('Komi'),
3876 'kg' => xl('Kongo'),
3877 'ko' => xl('Korean'),
3878 'ku' => xl('Kurdish'),
3879 'kj' => xl('Kwanyama, Kuanyama'),
3880 'la' => xl('Latin'),
3881 'lb' => xl('Luxembourgish, Letzeburgesch'),
3882 'lg' => xl('Ganda'),
3883 'li' => xl('Limburgish, Limburgan, Limburger'),
3884 'ln' => xl('Lingala'),
3885 'lo' => xl('Lao'),
3886 'lt' => xl('Lithuanian'),
3887 'lu' => xl('Luba-Katanga'),
3888 'lv' => xl('Latvian'),
3889 'gv' => xl('Manx'),
3890 'mk' => xl('Macedonian'),
3891 'mg' => xl('Malagasy'),
3892 'ms' => xl('Malay'),
3893 'ml' => xl('Malayalam'),
3894 'mt' => xl('Maltese'),
3895 'mi' => xl('Maori'),
3896 'mr' => xl('Marathi (Marathi)'),
3897 'mh' => xl('Marshallese'),
3898 'mn' => xl('Mongolian'),
3899 'na' => xl('Nauru'),
3900 'nv' => xl('Navajo, Navaho'),
3901 'nb' => xl('Norwegian Bokmal'),
3902 'nd' => xl('North Ndebele'),
3903 'ne' => xl('Nepali'),
3904 'ng' => xl('Ndonga'),
3905 'nn' => xl('Norwegian Nynorsk'),
3906 'no' => xl('Norwegian'),
3907 'ii' => xl('Nuosu'),
3908 'nr' => xl('South Ndebele'),
3909 'oc' => xl('Occitan'),
3910 'oj' => xl('Ojibwe, Ojibwa'),
3911 'cu' => xl('Old Church Slavonic, Church Slavonic, Old Bulgarian'),
3912 'om' => xl('Oromo'),
3913 'or' => xl('Oriya'),
3914 'os' => xl('Ossetian, Ossetic'),
3915 'pa' => xl('Panjabi, Punjabi'),
3916 'pi' => xl('Pali'),
3917 'fa' => xl('Persian (Farsi)'),
3918 'pl' => xl('Polish'),
3919 'ps' => xl('Pashto, Pushto'),
3920 'pt' => xl('Portuguese'),
3921 'qu' => xl('Quechua'),
3922 'rm' => xl('Romansh'),
3923 'rn' => xl('Kirundi'),
3924 'ro' => xl('Romanian'),
3925 'ru' => xl('Russian'),
3926 'sa' => xl('Sanskrit (Samskrta)'),
3927 'sc' => xl('Sardinian'),
3928 'sd' => xl('Sindhi'),
3929 'se' => xl('Northern Sami'),
3930 'sm' => xl('Samoan'),
3931 'sg' => xl('Sango'),
3932 'sr' => xl('Serbian'),
3933 'gd' => xl('Scottish Gaelic- Gaelic'),
3934 'sn' => xl('Shona'),
3935 'si' => xl('Sinhala, Sinhalese'),
3936 'sk' => xl('Slovak'),
3937 'sl' => xl('Slovene'),
3938 'so' => xl('Somali'),
3939 'st' => xl('Southern Sotho'),
3940 'es' => xl('Spanish- Castilian'),
3941 'su' => xl('Sundanese'),
3942 'sw' => xl('Swahili'),
3943 'ss' => xl('Swati'),
3944 'sv' => xl('Swedish'),
3945 'ta' => xl('Tamil'),
3946 'te' => xl('Telugu'),
3947 'tg' => xl('Tajik'),
3948 'th' => xl('Thai'),
3949 'ti' => xl('Tigrinya'),
3950 'bo' => xl('Tibetan Standard, Tibetan, Central'),
3951 'tk' => xl('Turkmen'),
3952 'tl' => xl('Tagalog'),
3953 'tn' => xl('Tswana'),
3954 'to' => xl('Tonga (Tonga Islands)'),
3955 'tr' => xl('Turkish'),
3956 'ts' => xl('Tsonga'),
3957 'tt' => xl('Tatar'),
3958 'tw' => xl('Twi'),
3959 'ty' => xl('Tahitian'),
3960 'ug' => xl('Uyghur, Uighur'),
3961 'uk' => xl('Ukrainian'),
3962 'ur' => xl('Urdu'),
3963 'uz' => xl('Uzbek'),
3964 've' => xl('Venda'),
3965 'vi' => xl('Vietnamese'),
3966 'vo' => xl('Volapuk'),
3967 'wa' => xl('Walloon'),
3968 'cy' => xl('Welsh'),
3969 'wo' => xl('Wolof'),
3970 'fy' => xl('Western Frisian'),
3971 'xh' => xl('Xhosa'),
3972 'yi' => xl('Yiddish'),
3973 'yo' => xl('Yoruba'),
3974 'za' => xl('Zhuang, Chuang'),
3975 'zu' => xl('Zulu'),
3977 'en', // default English
3978 xl('Choose PDF languange Preference'),
3980 'pdf_size' => array(
3981 xl('Paper Size'), // Descriptive Name
3982 array(
3983 'LETTER' => xl('Letter Paper Size'),
3984 'LEGAL' => xl('Legal Paper Size'),
3985 'FOLIO' => xl('Folio Paper Size'),
3986 'EXECUTIVE' => xl('Executive Paper Size'),
3987 '4A0' => ('4A0' . " " . xl('Paper Size')),
3988 '2A0' => ('2A0' . " " . xl('Paper Size')),
3989 'A0' => ('A0' . " " . xl('Paper Size')),
3990 'A1' => ('A1' . " " . xl('Paper Size')),
3991 'A2' => ('A2' . " " . xl('Paper Size')),
3992 'A3' => ('A3' . " " . xl('Paper Size')),
3993 'A4' => ('A4' . " " . xl('Paper Size')),
3994 'A5' => ('A5' . " " . xl('Paper Size')),
3995 'A6' => ('A6' . " " . xl('Paper Size')),
3996 'A7' => ('A7' . " " . xl('Paper Size')),
3997 'A8' => ('A8' . " " . xl('Paper Size')),
3998 'A9' => ('A9' . " " . xl('Paper Size')),
3999 'A10' => ('A10' . " " . xl('Paper Size')),
4000 'B0' => ('B0' . " " . xl('Paper Size')),
4001 'B1' => ('B1' . " " . xl('Paper Size')),
4002 'B2' => ('B2' . " " . xl('Paper Size')),
4003 'B3' => ('B3' . " " . xl('Paper Size')),
4004 'B4' => ('B4' . " " . xl('Paper Size')),
4005 'B5' => ('B5' . " " . xl('Paper Size')),
4006 'B6' => ('B6' . " " . xl('Paper Size')),
4007 'B7' => ('B7' . " " . xl('Paper Size')),
4008 'B8' => ('B8' . " " . xl('Paper Size')),
4009 'B9' => ('B9' . " " . xl('Paper Size')),
4010 'B10' => ('B10' . " " . xl('Paper Size')),
4011 'C0' => ('C0' . " " . xl('Paper Size')),
4012 'C1' => ('C1' . " " . xl('Paper Size')),
4013 'C2' => ('C2' . " " . xl('Paper Size')),
4014 'C3' => ('C3' . " " . xl('Paper Size')),
4015 'C4' => ('C4' . " " . xl('Paper Size')),
4016 'C5' => ('C5' . " " . xl('Paper Size')),
4017 'C6' => ('C6' . " " . xl('Paper Size')),
4018 'C7' => ('C7' . " " . xl('Paper Size')),
4019 'C8' => ('C8' . " " . xl('Paper Size')),
4020 'C9' => ('C9' . " " . xl('Paper Size')),
4021 'C10' => ('C10' . " " . xl('Paper Size')),
4022 'RA0' => ('RA0' . " " . xl('Paper Size')),
4023 'RA1' => ('RA1' . " " . xl('Paper Size')),
4024 'RA2' => ('RA2' . " " . xl('Paper Size')),
4025 'RA3' => ('RA3' . " " . xl('Paper Size')),
4026 'RA4' => ('RA4' . " " . xl('Paper Size')),
4027 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
4028 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
4029 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
4030 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
4031 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
4033 'LETTER',
4034 xl('Choose Paper Size')
4036 'pdf_left_margin' => array(
4037 xl('Left Margin (mm)'),
4038 'num',
4039 '5',
4040 xl('Left Margin (mm)')
4042 'pdf_right_margin' => array(
4043 xl('Right Margin (mm)'),
4044 'num',
4045 '5',
4046 xl('Right Margin (mm)')
4048 'pdf_top_margin' => array(
4049 xl('Top Margin (mm)'),
4050 'num',
4051 '5',
4052 xl('Top Margin (mm)')
4054 'pdf_bottom_margin' => array(
4055 xl('Bottom Margin (px)'),
4056 'num',
4057 '8',
4058 xl('Bottom Margin (px)')
4060 'pdf_output' => array(
4061 xl('Output Type'),
4062 array(
4063 'D' => xl('Download'),
4064 'I' => xl('Inline')
4066 'D', //defaut
4067 xl("Choose Download or Display Inline"),
4070 'chart_label_type' => array(
4071 xl('Patient Label Type'),
4072 array(
4073 '0' => xl('None'),
4074 '1' => '5160',
4075 '2' => '5161',
4076 '3' => '5162'
4078 '1', // default
4079 xl('Avery Label type for printing patient labels from popups in left nav screen'),
4082 'barcode_label_type' => array(
4083 xl('Barcode Label Type'),
4084 array(
4085 '0' => xl('None'),
4086 '1' => 'std25',
4087 '2' => 'int25',
4088 '3' => 'ean8',
4089 '4' => 'ean13',
4090 '5' => 'upc',
4091 '6' => 'code11',
4092 '7' => 'code39',
4093 '8' => 'code93',
4094 '9' => 'code128',
4095 '10' => 'codabar',
4096 '11' => 'msi',
4097 '12' => 'datamatrix'
4099 '9', // default = None
4100 xl('Barcode type for printing barcode labels from popups in left nav screen.')
4103 'addr_label_type' => array(
4104 xl('Print Patient Address Label'),
4105 'bool', // data type
4106 '1', // default = false
4107 xl('Select to print patient address labels from popups in left nav screen.')
4110 'env_x_width' => array(
4111 xl('Envelope Width in mm'),
4112 'num', // data type
4113 '104.775',
4114 xl('In Portrait mode, determines the width of the envelope along the x-axis in mm')
4117 'env_y_height' => array(
4118 xl('Envelope Height in mm'),
4119 'num', // data type
4120 '241.3',
4121 xl('In Portrait mode, determines the height of the envelope along the y-axis in mm')
4124 'env_font_size' => array(
4125 xl('Font Size in Pt'),
4126 'num', // data type
4127 '14',
4128 xl('Sets the font of the address text on the envelope in mm')
4131 'env_x_dist' => array(
4132 xl('Envelope x-axis starting pt'),
4133 'num', // data type
4134 '65',
4135 xl('Distance from the \'top\' of the envelope in mm')
4138 'env_y_dist' => array(
4139 xl('Envelope y-axis starting pt'),
4140 'num', // data type
4141 '220',
4142 xl('Distance from the right most edge of the envelope in portrait position in mm')
4147 'Patient Banner Bar' => [
4148 'patient_name_display' => [
4149 xl('Patient Name Display'),
4151 'btn' => xl('As Button'),
4152 'text' => xl('As Text Link'),
4153 'text-large' => xl('As Large Text Link'),
4155 'text-large',
4156 xl('How to display the patient name'),
4160 'Encounter Form' => [
4161 'default_chief_complaint' => array(
4162 xl('Default Reason for Visit'),
4163 'text', // data type
4165 xl('You may put text here as the default complaint in the New Patient Encounter form.')
4168 'default_visit_category' => [
4169 xl('Default Visit Category'),
4170 'default_visit_category',
4171 '_blank',
4172 xl('Define a default visit category'),
4175 'enable_follow_up_encounters' => [
4176 xl('Enable follow-up encounters'),
4177 'bool',
4178 '0',
4179 xl('Enable follow-up encounters feature')
4182 'gbl_visit_referral_source' => array(
4183 xl('Referral Source for Encounters'),
4184 'bool', // data type
4185 '0', // default = false
4186 xl('A referral source may be specified for each visit.')
4189 'gbl_visit_onset_date' => array(
4190 xl('Onset/Hosp Date for Encounters'),
4191 'bool', // data type
4192 '1', // default = true
4193 xl('An onset/hospitalization date may be specified for each visit.')
4196 'set_pos_code_encounter' => [
4197 xl('Set POS code in Encounter'),
4198 'bool', // data type
4199 '0', // default = false
4200 xl('This feature will allow the default POS facility code to be overridden from the encounter.')
4203 'set_service_facility_encounter' => array(
4204 xl('Set Service Facility in Encounter'),
4205 'bool', // data type
4206 '0', // default = false
4207 xl('This feature will allow the default service facility to be selected by the care team facility in Choices.')
4210 'enc_service_date' => [
4211 xl('Show Date of Service on Encounter Form'),
4212 getDefaultRenderListOptions(),
4213 RenderFormFieldHelper::SHOW_ALL,
4214 xl('How to display the Date of Service on the Encounter form. Defaults to the current time on a new form'),
4217 'enc_sensitivity_visibility' => [
4218 xl('Show Sensitivity on Encounter Form'),
4219 getDefaultRenderListOptions(),
4220 RenderFormFieldHelper::SHOW_ALL,
4221 xl('How to display the sensitivity option'),
4224 'enc_enable_issues' => [
4225 xl('Allow Linking/Adding Issues on Encounter'),
4226 getDefaultRenderListOptions(),
4227 RenderFormFieldHelper::SHOW_ALL,
4228 xl('Allow issues to be linked or added to an encounter'),
4231 'enc_enable_referring_provider' => [
4232 xl('Show Referring Provider option on Encounters'),
4233 getDefaultRenderListOptions(),
4234 RenderFormFieldHelper::SHOW_ALL,
4235 xl('Display the Referring Provider option on Encounters'),
4238 'enc_enable_facility' => [
4239 xl('Show Facility option on Encounters'),
4240 getDefaultRenderListOptions(),
4241 RenderFormFieldHelper::SHOW_ALL,
4242 xl('Display the Referring Provider option on Encounters'),
4245 'enc_enable_discharge_disposition' => [
4246 xl('Show Discharge Disposition option on Encounters'),
4247 getDefaultRenderListOptions(),
4248 RenderFormFieldHelper::SHOW_ALL,
4249 xl('Display the Discharge Disposition option on the Encounter form'),
4252 'enc_enable_visit_category' => [
4253 xl('Show Visit Category option on Encounters'),
4254 getDefaultRenderListOptions(),
4255 RenderFormFieldHelper::SHOW_ALL,
4256 xl('Show Visit Category option on Encounters'),
4259 'enc_enable_class' => [
4260 xl('Show Encounter Class option on Encounters'),
4261 getDefaultRenderListOptions(),
4262 RenderFormFieldHelper::SHOW_ALL,
4263 xl('Show Encounter Class option on Encounters'),
4266 'enc_enable_type' => [
4267 xl('Show Encounter Type option on Encounters'),
4268 getDefaultRenderListOptions(),
4269 RenderFormFieldHelper::SHOW_ALL,
4270 xl('Show Encounter Class option on Encounters'),
4276 if (!empty($GLOBALS['ippf_specific'])) {
4277 $GLOBALS['GLOBALS_METADATA']['IPPF Menu'] = array(
4279 'gbl_menu_stats_ippf' => array(
4280 xl('IPPF Statistics Reporting'),
4281 'bool', // data type
4282 '1', // default
4283 xl('IPPF statistical reports.')
4286 'gbl_menu_stats_gcac' => array(
4287 xl('GCAC Statistics Reporting'),
4288 'bool', // data type
4289 '0', // default
4290 xl('GCAC statistical reports.')
4293 'gbl_menu_stats_ma' => array(
4294 xl('MA Statistics Reporting'),
4295 'bool', // data type
4296 '1', // default
4297 xl('MA statistical reports.')
4300 'gbl_menu_stats_cyp' => array(
4301 xl('CYP Statistics Reporting'),
4302 'bool', // data type
4303 '1', // default
4304 xl('CYP statistical reports.')
4307 'gbl_menu_stats_daily' => array(
4308 xl('Daily Statistics Reporting'),
4309 'bool', // data type
4310 '0', // default
4311 xl('Daily statistical reports.')
4314 'gbl_menu_stats_c3' => array(
4315 xl('C3 Statistics Reporting'),
4316 'bool', // data type
4317 '0', // default
4318 xl('C3 statistical reports.')
4321 'gbl_menu_stats_cc' => array(
4322 xl('Cervical Cancer Reporting'),
4323 'bool', // data type
4324 '0', // default
4325 xl('Cervical cancer statistical reports.')
4328 'gbl_menu_stats_sinadi' => array(
4329 xl('SINADI Report'),
4330 'bool', // data type
4331 '0', // default
4332 xl('Uruguay SINADI statistical report.')
4335 'gbl_menu_visits_by_item' => array(
4336 xl('Visits by Item Report'),
4337 'bool', // data type
4338 '0', // default
4339 xl('Visits by Item Report')
4342 'gbl_menu_acct_trans' => array(
4343 xl('Accounting Transactions Export'),
4344 'bool', // data type
4345 '0', // default
4346 xl('Accounting transactions export to CSV')
4349 'gbl_menu_projects' => array(
4350 xl('Restricted Projects Reporting'),
4351 'bool', // data type
4352 '0', // default
4353 xl('For IPPF Belize and maybe others')
4356 'gbl_menu_surinam_insurance' => array(
4357 xl('LOBI Insurers Report'),
4358 'bool', // data type
4359 '0', // default
4360 xl('For IPPF Suriname and maybe others')
4363 'gbl_menu_netsuite' => array(
4364 xl('NetSuite Reports'),
4365 'bool', // data type
4366 '0', // default
4367 xl('For NetSuite financial integration')
4370 'gbl_menu_ive_clients' => array(
4371 xl('IVE Client List'),
4372 'bool', // data type
4373 '0', // default
4374 xl('Client List of IVE Activity')
4377 'gbl_menu_shifts' => array(
4378 xl('Shifts Reporting'),
4379 'bool', // data type
4380 '0', // default
4381 xl('For IPPF Argentina and maybe others')
4384 'gbl_menu_service_and_client_volume' => array(
4385 xl('Service and Client Volume Report'),
4386 'bool', // data type
4387 '1', // default
4388 xl('Service and Client Volume Report')
4392 $GLOBALS['GLOBALS_METADATA']['IPPF Features'] = array(
4394 'gbl_rapid_workflow' => array(
4395 xl('Rapid Workflow Option'),
4396 array(
4397 '0' => xl('None'),
4398 'LBFmsivd' => xl('MSI (requires LBFmsivd form)'),
4399 'fee_sheet' => xl('Fee Sheet and Checkout'),
4401 '0', // default
4402 xl('Activates custom work flow logic')
4405 'gbl_new_acceptor_policy' => array(
4406 xl('New Acceptor Policy'),
4407 array(
4408 '0' => xl('Not applicable'),
4409 '1' => xl('Simplified; Contraceptive Start Date on Tally Sheet'),
4410 '3' => xl('Contraception Form; Acceptors New to Modern Contraception'),
4412 '1', // default
4413 xl('Applicable only for family planning clinics')
4416 'gbl_min_max_months' => array(
4417 xl('Min/Max Inventory as Months'),
4418 'bool', // data type
4419 '1', // default = true
4420 xl('Min/max inventory is expressed as months of supply instead of units')
4423 'gbl_restrict_provider_facility' => array(
4424 xl('Restrict Providers by Facility'),
4425 'bool', // data type
4426 '0', // default
4427 xl('Limit service provider selection according to the facility of the logged-in user.')
4430 'gbl_checkout_line_adjustments' => array(
4431 xl('Adjustments at Checkout'),
4432 array(
4433 '0' => xl('Invoice Level Only'),
4434 '1' => xl('Line Items Only'),
4435 '2' => xl('Invoice and Line Levels'),
4437 '1', // default = line items only
4438 xl('Discounts at checkout time may be entered per invoice or per line item or both.')
4441 'gbl_checkout_charges' => array(
4442 xl('Unit Price in Checkout and Receipt'),
4443 'bool', // data type
4444 '0', // default = false
4445 xl('Include line item unit price amounts in checkout and receipts.')
4448 'gbl_charge_categories' => array(
4449 xl('Customers in Checkout and Receipt'),
4450 'bool', // data type
4451 '0', // default = false
4452 xl('Include Customers in checkout and receipts. See the Customers list.')
4455 'gbl_auto_create_rx' => array(
4456 xl('Automatically Create Prescriptions'),
4457 'bool', // data type
4458 '0', // default = false
4459 xl('Prescriptions may be created from the Fee Sheet.')
4462 'gbl_checkout_receipt_note' => array(
4463 xl('Checkout Receipt Note'),
4464 'text', // data type
4466 xl('This note goes on the bottom of every checkout receipt.')
4469 'gbl_custom_receipt' => array(
4470 xl('Custom Checkout Receipt'),
4471 array(
4472 '0' => xl('None'),
4473 'checkout_receipt_general.inc.php' => xl('POS Printer'),
4474 'checkout_receipt_panama.inc.php' => xl('Panama'),
4476 '0', // default
4477 xl('Present an additional PDF custom receipt after checkout.')
4480 'gbl_ma_ippf_code_restriction' => array(
4481 xl('Allow More than one MA/IPPF code mapping'),
4482 'bool', // data type
4483 '0', // default = false
4484 xl('Disable the restriction of only one IPPF code per MA code in superbill')
4487 'gbl_uruguay_asse_url' => array(
4488 xl('Uruguay ASSE URL'),
4489 'text', // data type
4491 xl('URL of ASSE SOAP server. Must be blank if not a Uruguay site. Enter "test" for dummy data.')
4494 'gbl_uruguay_asse_token' => array(
4495 xl('Uruguay ASSE Token'),
4496 'text', // data type
4498 xl('Token for connection to ASSE SOAP server')
4501 } // end if ippf_specific
4503 if (empty($skipGlobalEvent)) {
4504 $globalsInitEvent = new GlobalsInitializedEvent(new GlobalsService($GLOBALS_METADATA, $USER_SPECIFIC_GLOBALS, $USER_SPECIFIC_TABS));
4505 $globalsInitEvent = $GLOBALS["kernel"]->getEventDispatcher()->dispatch($globalsInitEvent, GlobalsInitializedEvent::EVENT_HANDLE, 10);
4506 $globalsService = $globalsInitEvent->getGlobalsService()->save();