4 * This program sets the global variables.
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-2022 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')
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')
73 // Turkish // xl('Turkish')
74 // Ukrainian // xl('Ukrainian')
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')) {
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';
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()
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:
114 // xl('Notifications')
115 // xl('Miscellaneous')
117 // List of user specific tabs and globals
118 $USER_SPECIFIC_TABS = array('Appearance',
126 $USER_SPECIFIC_GLOBALS = array('default_top_pane',
127 'default_second_tab',
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',
139 'date_display_format',
140 'time_display_format',
142 'text_templates_enabled',
143 'posting_adj_disable',
147 'print_next_appointment_on_ledger',
148 'calendar_view_type',
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);
174 $GLOBALS_METADATA = array(
178 'Appearance' => array(
180 'default_top_pane' => array(
181 xl('Main Top Pane Screen(Or Default First Tab)'), // descriptive name
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
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') . '*',
210 'tabs_style_full.css',
211 xl('Theme of the tabs layout (need to logout and then login to see this new setting).')
214 'login_page_layout' => array(
215 xl('Login Page Layout') . '*',
217 'center' => xl("Centered Layout"),
218 'left' => xl("Left-Form Layout"),
219 'right' => xl("Right-Form Layout"),
222 xl('Changes the layout of the login page.')
225 'css_header' => array(
226 // Note: Do not change this as it is only for theme defaults and adding themes here does nothing
227 xl('General Theme') . '*',
230 xl('Pick a general theme (need to logout/login after changing this setting).')
233 'window_title_add_patient_name' => array(
234 xl('Add Patient Name To Window Title'),
236 '0', // default = false
237 xl('Adds the patient name to the end of the window title.')
240 'enable_compact_mode' => array(
241 xl('Enable Compact Mode'),
243 '0', // default = false
244 xl('Changes the current theme to be more compact.')
247 'menu_styling_vertical' => array(
248 xl('Vertical Menu Style for Frames'),
251 '1' => xl('Sliding'),
254 xl('Vertical Menu Style for frame based layouts')
257 'search_any_patient' => array(
258 xl('Search Patient By Any Demographics'),
260 'dual' => xl('Dual'),
261 'comprehensive' => xl('Comprehensive'),
262 'fixed' => xl('Fixed'),
263 'none' => xl('None'),
266 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')
269 'default_encounter_view' => array(
270 xl('Default Encounter View'), // descriptive name
272 '0' => xl('Clinical View'),
273 '1' => xl('Billing View'),
275 '0', // default = tree menu
276 xl('Choose your default encounter view')
279 'gbl_nav_area_width' => array(
280 xl('Navigation Area Width for Frames'),
283 xl('Width in pixels of the left navigation frame in frame based layout.')
286 'enable_group_therapy' => array(
287 xl('Enable Group Therapy'),
289 '0', // default = false
290 xl('Enables groups module in system.')
293 'full_new_patient_form' => array(
294 xl('New Patient Form'),
297 '0' => xl('Old-style static form without search or duplication check'),
298 '1' => xl('All demographics fields, with search and duplication check'),
299 '2' => xl('Mandatory or specified fields only, search and dup check'),
300 '3' => xl('Mandatory or specified fields only, dup check, no search'),
301 '4' => xl('Mandatory or specified fields only, use patient validation Zend module'),
304 xl('Style of form used for adding new patients')
307 'gbl_edit_patient_form' => array(
308 xl('Modify Patient Form'),
311 '0' => xl('Standard check'),
312 '1' => xl('Zend Module check in addition to standard check')
315 xl('Validation mechanism for when modifying patient demographics.')
318 'patient_search_results_style' => array(
319 xl('Patient Search Results Style'),
321 '0' => xl('Encounter statistics'),
322 '1' => xl('Mandatory and specified fields'),
325 xl('Type of columns displayed for patient search results')
328 'gbl_tall_nav_area' => array(
329 xl('Tall Navigation Area'),
331 '0', // default = false
332 xl('Navigation area uses full height of frameset')
335 'gbl_nav_visit_forms' => array(
336 xl('Navigation Area Visit Forms'),
338 '1', // default = true
339 xl('Navigation area includes encounter forms')
342 'simplified_prescriptions' => array(
343 xl('Simplified Prescriptions'),
345 '0', // default = false
346 xl('Omit form, route and interval which then become part of dosage')
349 'simplified_copay' => array(
350 xl('Simplified Co-Pay'),
352 '0', // default = false
353 xl('Omit method of payment from the co-pay panel')
356 'use_charges_panel' => array(
357 xl('Use Charges Panel'),
359 '0', // default = false
360 xl('Enables the old Charges panel for entering billing codes and payments. Not recommended, use the Fee Sheet instead.')
363 // TajEmo Work BY CB 2012/06/21 10:42:31 AM added option to Hide Fees
364 'enable_fees_in_left_menu' => array(
365 xl('Enable Fees Submenu'),
367 '1', // default = true
368 xl('Enable Fees Submenu')
370 'enable_batch_payment' => array(
371 xl('Enable Batch Payment'),
373 '1', // default = true
374 xl('Enable Batch Payment')
376 'enable_posting' => array(
377 xl('Enable Posting'),
379 '1', // default = true
382 // EDI history 2012-09-13
383 'enable_edihistory_in_left_menu' => array(
384 xl('Enable EDI History'),
386 '1', // default = true
387 xl('EDI History (under Fees) for storing and interpreting EDI claim response files')
390 'encounter_page_size' => array(
391 xl('Encounter Page Size'),
393 '0' => xl('Show All'),
402 xl('Number of encounters to display per page.')
405 'gbl_pt_list_page_size' => array(
406 xl('Patient List Page Size'),
414 xl('Number of patients to display per page in the patient list.')
417 'gbl_pt_list_new_window' => array(
418 xl('Patient List New Window'),
420 '0', // default = false
421 xl('Default state of New Window checkbox in the patient list.')
424 'right_justify_labels_demographics' => array(
425 xl('Right Justify Labels in Demographics'),
427 '0', // default = false
428 xl('Right justify labels in Demographics for easier readability.')
431 'num_of_messages_displayed' => array(
432 xl('Number of Messages Displayed in Patient Summary'),
435 xl('This is the number of messages that will be displayed in the messages widget in the patient summary screen.')
438 'gbl_vitals_options' => array(
439 xl('Vitals Form Options'),
441 '0' => xl('Standard'),
442 '1' => xl('Omit circumferences'),
445 xl('Special treatment for the Vitals form')
448 'gb_how_sort_list' => array(
449 xl('How to sort a drop-lists'),
451 '0' => xl('Sort by seq'),
452 '1' => xl('Sort alphabetically')
455 xl('What kind of sorting will be in the drop lists.')
458 'prevent_browser_refresh' => array(
459 xl('Prevent Web Browser Refresh') . '*',
461 '0' => xl('Do not warn or prevent web browser refresh'),
462 '1' => xl('Warn, but do not prevent web browser refresh'),
463 '2' => xl('Warn and prevent web browser refresh')
465 '2', // default = true
466 xl('Recommended setting is warn and prevent web browser refresh. Only use other settings if needed and use at own risk.')
472 'openemr_name' => array(
473 xl('Application Title'),
476 xl('Application name used throughout the user interface.')
480 xl('Application Machine Name'),
483 xl('The machine name of the application. Used to identify the EMR in various messaging systems like HL7. Should not contain spaces'),
486 'display_main_menu_logo' => [
487 xl('Display main menu logo'),
490 xl('Dislay main menu logo'),
493 'online_support_link' => array(
494 xl('Online Support Link'),
496 'http://open-emr.org/',
497 xl('URL to a support page.')
500 'user_manual_link' => [
501 xl('User Manual Link Override'),
504 xl("Point to a custom user manual. Leave blank for the default, auto-generated URL for specific version of application"),
507 'support_phone_number' => array(
508 xl('Support Phone Number'),
511 xl('Phone Number for Vendor Support that Appears on the About Page.')
514 'display_acknowledgements' => [
515 xl('Display links to the acknowledgements page'),
518 xl('Used on the login and about pages'),
521 'display_review_link' => [
522 xl('Display the Review link on the About page'),
525 xl('Display the Review link on the About page'),
528 'display_donations_link' => [
529 xl('Display the Donations link on the About page'),
532 xl('Display the Donations link on the About page'),
535 'show_tagline_on_login' => [
536 xl('Show Tagline on Login Page') . "*",
539 xl('Show the tagline from the login screen'),
542 'login_tagline_text' => [
543 xl('Login Page Tagline') . "*",
545 xl("The most popular open-source Electronic Health Record and Medical Practice Management solution."),
546 xl("Tagline text on the login page")
549 'show_labels_on_login_form' => [
550 xl('Show Username and Password Labels on Login Page') . "*",
553 xl('Show labels on the login form'),
556 'show_label_login' => array(
557 xl('Show Title on Login'),
559 '0', // default = false
560 xl('Show Title on Login')
563 'extra_logo_login' => array(
564 xl('Show Extra Logo on Login'),
566 '0', // default = false
567 xl('Show Extra Logo on Login')
570 'tiny_logo_1' => array(
571 xl('Show Mini Logo 1'),
573 '0', // default = false
574 xl('Show Mini Logo 1')
577 'tiny_logo_2' => array(
578 xl('Show Mini Logo 2'),
580 '0', // default = false
581 xl('Show Mini Logo 2')
589 'language_default' => array(
590 xl('Default Language'),
592 'English (Standard)', // default = english
593 xl('Default language if no other is allowed or chosen.')
596 'language_menu_showall' => array(
597 xl('All Languages Allowed'),
599 '1', // default = true
600 xl('Allow all available languages as choices on menu at login.')
603 'language_menu_other' => array(
604 xl('Allowed Languages'),
605 'm_lang', // data type
606 '', // default = none
607 xl('Select which languages, if any, may be chosen at login. (only pertinent if above All Languages Allowed is turned off)')
610 'allow_debug_language' => array(
611 xl('Allow Debugging Language'),
613 '1', // default = true during development and false for production releases
614 xl('This will allow selection of the debugging (\'dummy\') language.')
617 'translate_no_safe_apostrophe' => array(
618 xl('Do Not Use Safe Apostrophe'),
620 '0', // default = false
621 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)')
624 'translate_layout' => array(
625 xl('Translate Layouts'),
627 '1', // default = true
628 xl('Is text from form layouts to be translated?')
631 'translate_lists' => array(
632 xl('Translate Lists'),
634 '1', // default = true
635 xl('Is text from lists to be translated?')
638 'translate_gacl_groups' => array(
639 xl('Translate Access Control Groups'),
641 '1', // default = true
642 xl('Are access control group names to be translated?')
645 'translate_form_titles' => array(
646 xl('Translate Patient Note Titles'),
648 '1', // default = true
649 xl('Are patient note titles to be translated?')
652 'translate_document_categories' => array(
653 xl('Translate Document Categories'),
655 '1', // default = true
656 xl('Are document category names to be translated?')
659 'translate_appt_categories' => array(
660 xl('Translate Appointment Categories'),
662 '1', // default = true
663 xl('Are appointment category names to be translated?')
666 'units_of_measurement' => array(
667 xl('Units for Visit Forms'),
669 '1' => xl('Show both US and metric (main unit is US)'),
670 '2' => xl('Show both US and metric (main unit is metric)'),
671 '3' => xl('Show US only'),
672 '4' => xl('Show metric only'),
674 '1', // default = Both/US
675 xl('Applies to the Vitals form and Growth Chart')
678 'us_weight_format' => array(
679 xl('Display Format for US Weights'),
681 '1' => xl('Show pounds as decimal value'),
682 '2' => xl('Show pounds and ounces')
685 xl('Applies to Vitals form')
688 'phone_country_code' => array(
689 xl('Telephone Country Code'),
691 '1', // default = North America
692 xl('1 = North America. See http://www.wtng.info/ for a list of other country codes.')
695 'date_display_format' => array(
696 xl('Date Display Format'),
698 '0' => xl('YYYY-MM-DD'),
699 '1' => xl('MM/DD/YYYY'),
700 '2' => xl('DD/MM/YYYY'),
703 xl('Format used to display most dates.')
706 'time_display_format' => array(
707 xl('Time Display Format'),
713 xl('Format used to display most times.')
716 'gbl_time_zone' => array(
720 xl('If unassigned will default to php.ini setting for date.timezone.')
723 'currency_decimals' => array(
724 xl('Currency Decimal Places'),
731 xl('Number of digits after decimal point for currency, usually 0 or 2.')
734 'currency_dec_point' => array(
735 xl('Currency Decimal Point Symbol'),
741 xl('Symbol used as the decimal point for currency. Not used if Decimal Places is 0.')
744 'currency_thousands_sep' => array(
745 xl('Currency Thousands Separator'),
753 xl('Symbol used to separate thousands for currency.')
756 'gbl_currency_symbol' => array(
757 xl('Currency Designator'),
760 xl('Code or symbol to indicate currency')
762 'age_display_format' => array(xl('Age Display Format'),
764 '0' => xl('Years or months'),
765 '1' => xl('Years, months and days')
768 xl('Format for age display')
770 'age_display_limit' => array(
771 xl('Age in Years for Display Format Change'),
774 xl('If YMD is selected for age display, switch to just Years when patients older than this value in years')
776 // Reference - https://en.wikipedia.org/wiki/Workweek_and_weekend#Around_the_world
777 'weekend_days' => array(
778 xl('Your weekend days'),
780 '6,0' => xl('Saturday') . ' - ' . xl('Sunday'),
783 '6' => xl('Saturday'),
784 '5,6' => xl('Friday') . ' - ' . xl('Saturday'),
787 , xl('which days are your weekend days?')
796 'specific_application' => array(
797 xl('Specific Application'),
801 '3' => xl('Weight loss clinic'),
804 xl('Indicator for specialized usage')
807 'inhouse_pharmacy' => array(
808 xl('Drugs and Products'),
810 '0' => xl('Do not inventory and sell any products'),
811 '1' => xl('Inventory and sell drugs only'),
812 '2' => xl('Inventory and sell both drugs and non-drug products'),
813 '3' => xl('Products but no prescription drugs and no templates'),
816 xl('Option to support inventory and sales of products')
819 'disable_chart_tracker' => array(
820 xl('Disable Chart Tracker'),
822 '0', // default = false
823 xl('Removes the Chart Tracker feature')
826 'disable_immunizations' => array(
827 xl('Disable Immunizations'),
829 '0', // default = false
830 xl('Removes support for immunizations')
833 'disable_prescriptions' => array(
834 xl('Disable Prescriptions'),
836 '0', // default = false
837 xl('Removes support for prescriptions')
840 'text_templates_enabled' => array(
841 xl('Enable Text Templates in Encounter Forms'),
843 '1', // default = true
844 xl('Allow Double Click to select Nation Note text template from any encounter form text area')
847 'omit_employers' => array(
848 xl('Omit Employers'),
850 '0', // default = false
851 xl('Omit employer information in patient demographics')
854 'select_multi_providers' => array(
855 xl('Support Multi-Provider Events'),
857 '0', // default = false
858 xl('Support calendar events that apply to multiple providers')
861 'disable_non_default_groups' => array(
862 xl('Disable User Groups'),
864 '1', // default = true
865 xl('Normally this should be checked. Not related to access control.')
868 'ignore_pnotes_authorization' => array(
869 xl('Skip Authorization of Patient Notes'),
871 '1', // default = true
872 xl('Do not require patient notes to be authorized')
875 'support_encounter_claims' => array(
876 xl('Allow Encounter Claims'),
878 '0', // default = false
879 xl('Allow creation of claims containing diagnoses but not procedures or charges. Most clinics do not want this.')
882 'advance_directives_warning' => array(
883 xl('Advance Directives Warning'),
885 '0', // default = false
886 xl('Display advance directives in the demographics page.')
889 'configuration_import_export' => array(
890 xl('Configuration Export/Import'),
892 '0', // default = false
893 xl('Support export/import of configuration data via the Backup page.')
896 'restrict_user_facility' => array(
897 xl('Restrict Users to Facilities'),
900 xl('Restrict non-authorized users to the Schedule Facilities set in User admin.')
903 'set_facility_cookie' => array(
904 xl('Remember Selected Facility'),
907 xl('Set a facility cookie to remember the selected facility between logins.')
910 'login_into_facility' => array(
911 xl('Login Into Facility'),
914 xl('Select your current facility in the login page')
917 'receipts_by_provider' => array(
918 xl('Print Receipts by Provider'),
921 xl('Causes Receipts to Print Encounter/Primary Provider Info')
924 'discount_by_money' => array(
925 xl('Discounts as Monetary Amounts'),
927 '1', // default = true
928 xl('Discounts at checkout time are entered as money amounts, as opposed to percentage.')
932 'gbl_form_save_close' => array(
933 xl('Display Save and Close Visit button in LBFs'),
935 '0', // default = false
936 xl('This is helpful if visits usually do not have charges.')
939 'gbl_mask_patient_id' => array(
940 xl('Mask for Patient IDs'),
943 xl('Specifies formatting for the external patient ID. # = digit, @ = alpha, * = any character. Empty if not used.')
946 'gbl_mask_invoice_number' => array(
947 xl('Mask for Invoice Numbers'),
950 xl('Specifies formatting for invoice reference numbers. # = digit, @ = alpha, * = any character. Empty if not used.')
953 'gbl_mask_product_id' => array(
954 xl('Mask for Product IDs'),
957 xl('Specifies formatting for product NDC fields. # = digit, @ = alpha, * = any character. Empty if not used.')
960 'activate_ccr_ccd_report' => array(
961 xl('Activate CCR/CCD Reporting'),
963 '1', // default = true
964 xl('This will activate the CCR(Continuity of Care Record) and CCD(Continuity of Care Document) reporting.')
967 'drive_encryption' => array(
968 xl('Enable Encryption of Items Stored on Drive'),
970 '1', // default = true
971 xl('This will enable encryption of items that are stored on the drive.')
974 'couchdb_encryption' => array(
975 xl('Enable Encryption of Items Stored on CouchDB'),
977 '1', // default = true
978 xl('This will enable encryption of items that are stored on CouchDB.')
981 'hide_document_encryption' => array(
982 xl('Hide Encryption/Decryption Options In Document Management'),
984 '0', // default = true
985 xl('This will deactivate document the encryption and decryption features, and hide them in the UI.')
988 'use_custom_immun_list' => array(
989 xl('Use Custom Immunization List'),
991 '0', // default = true
992 xl('This will use the custom immunizations list rather than the standard CVX immunization list.')
995 'amendments' => array(
998 '1', // default = true
999 xl('Enable amendments feature')
1002 'allow_pat_delete' => array(
1003 xl('Allow Administrators to Delete Patients'),
1004 'bool', // data type
1005 '0', // default = false
1006 xl('Allow Administrators to Delete Patients')
1010 'observation_results_immunization' => array(
1011 xl('Immunization Observation Results'),
1012 'bool', // data type
1014 xl('Observation Results in Immunization')
1017 'enable_help' => array(
1018 xl('Enable Help Modal'),
1020 '0' => xl('Hide Help Modal'),
1021 '1' => xl('Show Help Modal'),
1022 '2' => xl('Disable Help Modal'),
1024 '1', // default = Print End of Day Report 1
1025 xl('This will allow the display of help modal on help enabled pages')
1027 'messages_due_date' => array(
1028 xl('Messages - due date'),
1029 'bool', // data type
1030 '0', // default false
1031 xl('Enables choose due date to message')
1034 'expand_form' => array(
1036 'bool', // data type
1037 '1', // default false
1038 xl('Open all expandable forms in expanded state')
1046 'use_custom_daysheet' => array(
1047 xl('Use Custom End of Day Report'),
1050 '1' => xl('Print End of Day Report 1'),
1051 '2' => xl('Print End of Day Report 2'),
1052 '3' => xl('Print End of Day Report 3'),
1054 '1', // default = Print End of Day Report 1
1055 xl('This will allow the use of the custom End of Day report and indicate which report to use.')
1058 'daysheet_provider_totals' => array(
1059 xl('End of Day by Provider or allow Totals Only'),
1061 '0' => xl('Provider'),
1062 '1' => xl('Totals Only'),
1065 xl('This specifies the Printing of the Custom End of Day Report grouped Provider or allow the Printing of Totals Only')
1068 'ledger_begin_date' => array(
1069 xl('Beginning Date for Ledger Report'),
1071 'Y1' => xl('One Year Ago'),
1072 'Y2' => xl('Two Years Ago'),
1073 'M6' => xl('Six Months Ago'),
1074 'M3' => xl('Three Months Ago'),
1075 'M1' => xl('One Month Ago'),
1076 'D1' => xl('One Day Ago'),
1078 'Y1', // default = One Year
1079 xl('This is the Beginning date for the Ledger Report.')
1082 'print_next_appointment_on_ledger' => array(
1083 xl('Print the Next Appointment on the Bottom of the Ledger'),
1084 'bool', // data type
1085 '1', // default = true
1086 xl('This Will Print the Next Appointment on the Bottom of the Patient Ledger')
1089 'sales_report_invoice' => array(
1090 xl('Display Invoice Number or Patient Name or Both in the Sales Report'),
1092 '0' => xl('Invoice Number'),
1093 '1' => xl('Patient Name and ID'),
1094 '2' => xl('Patient Name and Invoice'),
1097 xl('This will Display the Invoice Number in the Sales Report or the Patient Name and ID or Patient Name and Invoice Number.')
1100 'cash_receipts_report_invoice' => array(
1101 xl('Display Invoice Number or Patient Name in the Cash Receipt Report'),
1103 '0' => xl('Invoice Number'),
1104 '1' => xl('Patient Name'),
1107 xl('Display Invoice Number or Patient Name in the Cash Receipt Report')
1116 // It would be good to eventually rename this to "billing_enabled" and inverse the setting value.
1117 'hide_billing_widget' => array(
1118 xl('Hide Billing features'),
1119 'bool', // data type
1120 '0', // default = false
1121 xl('This will hide billing features throughout the program.')
1124 'force_billing_widget_open' => array(
1125 xl('Force Billing Widget Open'),
1126 'bool', // data type
1127 '0', // default = false
1128 xl('This will force the Billing Widget in the Patient Summary screen to always be open.')
1132 'ub04_support' => array(
1133 xl('Activate UB04/837I Claim Support'),
1134 'bool', // data type
1135 '0', // default = false
1136 xl('Allow institutional claims support.')
1139 'top_ubmargin_default' => array(
1140 xl('Default top print margin for UB04'),
1143 xl('This is the default top print margin for UB04. It will adjust the final printed output up or down.')
1146 'left_ubmargin_default' => array(
1147 xl('Default left print margin for UB04'),
1150 xl('This is the default left print margin for UB04. It will adjust the final printed output left or right.')
1153 'cms_top_margin_default' => array(
1154 xl('Default top print margin for CMS 1500'),
1157 xl('This is the default top print margin for CMS 1500. It will adjust the final printed output up or down.')
1160 'cms_left_margin_default' => array(
1161 xl('Default left print margin for CMS 1500'),
1164 xl('This is the default left print margin for CMS 1500. It will adjust the final printed output left or right.')
1167 'preprinted_cms_1500' => array(
1168 xl('Prints the CMS 1500 on the Preprinted form'),
1169 'bool', // data type
1170 '0', // default = false
1171 xl('Overlay CMS 1500 on the Preprinted form')
1174 'cms_1500_box_31_format' => array(
1175 xl('CMS 1500: Box 31 Format'),
1177 '0' => xl('Signature on File'),
1178 '1' => xl('Firstname Lastname'),
1182 xl('This specifies whether to include date in Box 31.')
1185 'cms_1500_box_31_date' => array(
1186 xl('CMS 1500: Date in Box 31 (Signature)'),
1189 '1' => xl('Date of Service'),
1193 xl('This specifies whether to include date in Box 31.')
1196 'default_search_code_type' => array(
1197 xl('Default Search Code Type'),
1198 'all_code_types', // data type
1200 xl('The default code type to search for in the Fee Sheet.')
1203 'default_rendering_provider' => array(
1204 xl('Default Rendering Provider in Fee Sheet'),
1206 '0' => xl('Logged in User if provider, otherwise Current Provider'),
1207 '1' => xl('Current Provider'),
1208 '2' => xl('Current Logged in User'),
1211 xl('Default selection for rendering provider in fee sheet.')
1214 'posting_adj_disable' => array(
1215 xl('Disable Auto Adjustment Calculations in EOB Posting'),
1216 'bool', // data type
1217 '0', // default = false
1218 xl('Turn off auto calculations of adjustments in EOB')
1221 'force_claim_balancing' => array(
1222 xl('Force claim balancing in EOB Posting'),
1223 'bool', // data type
1224 '1', // default = true
1225 xl('Force claim balancing in EOB Posting')
1228 'show_payment_history' => array(
1229 xl('Show all payment history in Patient Ledger'),
1230 'bool', // data type
1231 '1', // default = true
1232 xl('Turn on to show all payment history in Patient Ledger')
1235 'void_checkout_reopen' => array(
1236 xl('Void Checkout and Reopen in Fee Sheet'),
1237 'bool', // data type
1238 '1', // default = true
1239 xl('Void Checkout and Reopen in Fee Sheet')
1242 'support_fee_sheet_line_item_provider' => array(
1243 xl('Support provider in line item in fee sheet'),
1244 'bool', // data type
1245 '0', // default = false
1246 xl('This Enables provider in line item in the fee sheet')
1249 'default_fee_sheet_line_item_provider' => array(
1250 xl('Default to a provider for line item in the fee sheet'),
1251 'bool', // data type
1252 '0', // default = false
1253 xl('Default to a provider for line item in the fee sheet.(only applicable if Support line item billing in option above)')
1256 'include_inactive_providers' => array(
1257 xl('Include inactive providers in the fee sheet'),
1258 'bool', // data type
1259 '0', // default = false
1260 xl('Include inactive providers in the fee sheet.')
1263 'replicate_justification' => array(
1264 xl('Automatically replicate justification codes in Fee Sheet'),
1265 'bool', // data type
1266 '0', // default = false
1267 xl('Automatically replicate justification codes in Fee Sheet (basically fills in the blanks with the justification code above it).')
1270 'display_units_in_billing' => array(
1271 xl('Display the Units Column on the Billing Screen'),
1272 'bool', // data type
1273 '0', // default = false
1274 xl('Display the Units Column on the Billing Screen')
1277 'notes_to_display_in_Billing' => array(
1278 xl('Which notes are to be displayed in the Billing Screen'),
1281 '1' => xl('Encounter Billing Note'),
1282 '2' => xl('Patient Billing Note'),
1286 xl('Display the Encounter Billing Note or Patient Billing Note or Both in the Billing Screen.')
1289 'MedicareReferrerIsRenderer' => array(
1290 xl('Medicare Referrer Is Renderer'),
1291 'bool', // data type
1292 '0', // default = false
1293 xl('For Medicare only, forces the referring provider to be the same as the rendering provider.')
1296 'statement_logo' => array(
1297 xl('Statement Logo GIF Filename'),
1298 'text', // data type
1299 'practice_logo.gif', // data type
1300 xl('Place your logo in sites/default/images and type the filename including gif extension here.')
1303 'use_custom_statement' => array(
1304 xl('Use Custom Statement'),
1305 'bool', // data type
1306 '0', // default = false
1307 xl('This will use the custom Statement showing the description instead of the codes.')
1310 'statement_appearance' => array(
1311 xl('Statement Appearance'),
1313 '0' => xl('Plain Text'),
1314 '1' => xl('Modern/images')
1316 '1', // default = true
1317 xl('Patient statements can be generated as plain text or with a modern graphical appearance.')
1320 'billing_phone_number' => array(
1321 xl('Custom Billing Phone Number'),
1322 'text', // data type
1324 xl('Phone number for billing inquiries')
1327 'show_aging_on_custom_statement' => array(
1328 xl('Show Aging on Custom Statement'),
1329 'bool', // data type
1330 '0', // default = false
1331 xl('This will Show Aging on the custom Statement.')
1334 'use_statement_print_exclusion' => array(
1335 xl('Allow Statement Exclusions from Printing'),
1336 'bool', // data type
1337 '0', // default = false
1338 xl('This will enable the Ability to Exclude Selected Patient Statements from Printing.')
1341 'minimum_amount_to_print' => array(
1342 xl('Total Minimum Amount of Statement to Allow Printing'),
1345 xl('Total Minimum Dollar Amount of Statement to Allow Printing.(only applicable if Allow Statement Exclusions from Printing is enabled)')
1348 'statement_bill_note_print' => array(
1349 xl('Print Patient Billing Note'),
1350 'bool', // data type
1351 '0', // default = false
1352 xl('This will allow printing of the Patient Billing Note on the statements.')
1355 'number_appointments_on_statement' => array(
1356 xl('Number of Appointments on Statement'),
1359 xl('The Number of Future Appointments to Display on the Statement.')
1362 'statement_message_to_patient' => array(
1363 xl('Print Custom Message'),
1364 'bool', // data type
1365 '0', // default = false
1366 xl('This will allow printing of a custom Message on the statements.')
1369 'statement_msg_text' => array(
1370 xl('Custom Statement message'),
1371 'text', // data type
1373 xl('Text for Custom statement message.')
1376 'use_dunning_message' => array(
1377 xl('Use Custom Dunning Messages'),
1378 'bool', // data type
1379 '0', // default = false
1380 xl('This will allow use of the custom Dunning Messages on the statements.')
1383 'first_dun_msg_set' => array(
1384 xl('Number of days before showing first account message'),
1387 xl('Number of days before showing first account message.')
1390 'first_dun_msg_text' => array(
1391 xl('First account message'),
1392 'text', // data type
1394 xl('Text for first account message.')
1397 'second_dun_msg_set' => array(
1398 xl('Number of days before showing second account message'),
1401 xl('Number of days before showing second account message')
1404 'second_dun_msg_text' => array(
1405 xl('Second account message'),
1406 'text', // data type
1408 xl('Text for second account message.')
1411 'third_dun_msg_set' => array(
1412 xl('Number of days before showing third account message'),
1415 xl('Number of days before showing third account message')
1418 'third_dun_msg_text' => array(
1419 xl('Third account message'),
1420 'text', // data type
1422 xl('Text for third account message.')
1425 'fourth_dun_msg_set' => array(
1426 xl('Number of days before showing fourth account message'),
1429 xl('Number of days before showing fourth account message')
1432 'fourth_dun_msg_text' => array(
1433 xl('Fourth account message'),
1434 'text', // data type
1436 xl('Text for fourth account message.')
1439 'fifth_dun_msg_set' => array(
1440 xl('Number of days before showing fifth account message'),
1443 xl('Number of days before showing fifth account message')
1446 'fifth_dun_msg_text' => array(
1447 xl('Fifth account message'),
1448 'text', // data type
1450 xl('Text for fifth account message.')
1453 'save_codes_history' => array(
1454 xl('Save codes history'),
1455 'bool', // data type
1457 xl('Save codes history')
1460 'enable_percent_pricing' => array(
1461 xl('Enable percent-based price levels'),
1462 'bool', // data type
1464 xl('Enable percent-based price levels')
1467 'gen_x12_based_on_ins_co' => array(
1468 xl('Generate X-12 Based On Insurance Company'),
1469 'bool', // data type
1470 '0', // default = false
1471 xl('For sending claims directly to insurance company, based on X12 Partner Settings')
1474 'auto_sftp_claims_to_x12_partner' => array(
1475 xl('Automatically SFTP Claims To X12 Partner'),
1476 'bool', // data type
1477 '0', // default = false
1478 xl('For automatically sending claims that are generated in EDI directory to the X12 partner using SFTP credentials X12 Partner Settings')
1487 'esign_all' => array(
1488 xl('Allows E-Sign on the entire encounter'),
1489 'bool', // data type
1490 '0', // default = false
1491 xl('This will enable signing an entire encounter, rather than individual forms')
1494 'lock_esign_all' => array(
1495 xl('Lock e-signed encounters and their forms'),
1496 'bool', // data type
1497 '0', // default = false
1498 xl('This will disable the Edit button on all forms whose parent encounter is e-signed')
1501 'esign_individual' => array(
1502 xl('Allows E-Signing Individual Forms'),
1503 'bool', // data type
1504 '1', // default = false
1505 xl('This will enable signing individual forms separately')
1508 'lock_esign_individual' => array(
1509 xl('Lock an e-signed form individually'),
1510 'bool', // data type
1511 '1', // default = false
1512 xl('This will disable the Edit button on any form that is e-signed')
1515 'esign_lock_toggle' => array(
1516 xl('Enable lock toggle'),
1517 'bool', // data type
1518 '0', // default = false
1519 xl('This will give the user the option to lock (separate locking and signing)')
1522 'esign_report_show_only_signed' => array(
1523 xl('Only Include E-Signed Forms On Report'),
1524 'bool', // data type
1525 '0', // default = false
1526 xl('This will hide any encounter forms not E-Signed on the patient report')
1529 'esign_report_hide_empty_sig' => array(
1530 xl('Hide Empty E-Sign Logs On Report'),
1531 'bool', // data type
1532 '1', // default = false
1533 xl('This will hide empty e-sign logs on the patient report')
1536 'esign_report_hide_all_sig' => array(
1537 xl('Exclude All E-Sign Logs On Report'),
1538 'bool', // data type
1539 '0', // default = false
1540 xl('This will hide any e-sign logs on the patient report')
1544 'Documents' => array(
1546 'document_storage_method' => array(
1547 xl('Document Storage Method'),
1549 '0' => xl('Hard Disk'),
1550 '1' => xl('CouchDB')
1553 xl('Option to save method of document storage.')
1556 'couchdb_host' => array(
1557 xl('CouchDB HostName'),
1562 'couchdb_user' => array(
1563 xl('CouchDB UserName'),
1566 xl('Username to connect to CouchDB'),
1568 'couchdb_pass' => array(
1569 xl('CouchDB Password'),
1570 'encrypted', // data type
1572 xl('Password to connect to CouchDB'),
1574 'couchdb_port' => array(
1580 'couchdb_dbase' => array(
1581 xl('CouchDB Database'),
1584 xl('CouchDB database name'),
1586 'couchdb_connection_ssl' => array(
1587 xl('CouchDB Connection SSL'),
1590 xl('Use SSL (encrypted) connection to CouchDB'),
1592 'couchdb_ssl_allow_selfsigned' => array(
1593 xl('CouchDB SSL Allow Selfsigned Certificate'),
1596 xl('Allow self-signed certificate for SSL (encrypted) connection to CouchDB'),
1598 'couchdb_log' => array(
1599 xl('CouchDB Log Enable'),
1602 xl('Enable log for document uploads/downloads to CouchDB'),
1605 'expand_document_tree' => array(
1606 xl('Expand All Document Categories'),
1607 'bool', // data type
1608 '0', // default = false
1609 xl('Expand All Document Categories by Default')
1612 'patient_id_category_name' => array(
1613 xl('Patient ID Category Name'),
1614 'text', // data type
1615 'Patient ID card', // default
1616 xl('Optional category name for an ID Card image that can be viewed from the patient summary page.')
1619 'patient_photo_category_name' => array(
1620 xl('Patient Photo Category Name'),
1621 'text', // data type
1622 'Patient Photograph', // default
1623 xl('Optional category name for photo images that can be viewed from the patient summary page.')
1626 'lab_results_category_name' => array(
1627 xl('Lab Results Category Name'),
1628 'text', // data type
1629 'Lab Report', // default
1630 xl('Document category name for storage of electronically received lab results.')
1633 'gbl_mdm_category_name' => array(
1634 xl('MDM Document Category Name'),
1635 'text', // data type
1636 'Lab Report', // default
1637 xl('Document category name for storage of electronically received MDM documents.')
1639 'generate_doc_thumb' => array(
1640 xl('Generate thumbnail'),
1643 xl('Generate thumbnail images'),
1645 'thumb_doc_max_size' => array(
1646 xl('Thumbnail size'),
1647 'text', // data type
1649 xl('Maximum size of thumbnail file')
1655 'Calendar' => array(
1657 'disable_calendar' => array(
1658 xl('Disable Calendar'),
1659 'bool', // data type
1661 xl('Do not display the calendar.')
1664 'schedule_start' => array(
1665 xl('Calendar Starting Hour'),
1668 xl('Beginning hour of day for calendar events.')
1671 'schedule_end' => array(
1672 xl('Calendar Ending Hour'),
1675 xl('Ending hour of day for calendar events.')
1678 'calendar_interval' => array(
1679 xl('Calendar Interval'),
1689 xl('The time granularity of the calendar and the smallest interval in minutes for an appointment slot.')
1692 'calendar_view_type' => array(
1693 xl('Default Calendar View'),
1696 'week' => xl('Week'),
1697 'month' => xl('Month'),
1700 xl('This sets the Default Calendar View, Default is Day.')
1703 'first_day_week' => array(
1704 xl('First day in the week'),
1706 '1' => xl('Monday'),
1707 '0' => xl('Sunday'),
1708 '6' => xl('Saturday')
1711 xl('Your first day of the week.')
1714 'calendar_appt_style' => array(
1715 xl('Appointment Display Style'),
1717 '1' => xl('Last name'),
1718 '2' => xl('Last name, first name'),
1719 '3' => xl('Last name, first name (title)'),
1720 '4' => xl('Last name, first name (title: comments)'),
1723 xl('This determines how appointments display on the calendar.')
1726 'event_color' => array(
1727 xl('Appointment/Event Color'),
1729 '1' => xl('Category Color Schema'),
1730 '2' => xl('Facility Color Schema'),
1733 xl('This determines which color schema used for appointment')
1736 'number_of_appts_to_show' => array(
1737 xl('Appointments - Patient Summary - Number to Display'),
1740 xl('Number of Appointments to display in the Patient Summary')
1743 'number_of_group_appts_to_show' => array(
1744 xl('Appointments - Group Summary - Number to Display'),
1747 xl('Number of Appointments to display in the Group Summary')
1750 'number_of_ex_appts_to_show' => array(
1751 xl('Excluded Appointments - Tooltip - Number to Display'),
1754 xl('Number of Excluded Appointments to display in the Tooltip')
1757 'appt_display_sets_option' => array(
1758 xl('Appointment Display Sets - Ignore Display Limit (Last Set)'),
1759 'bool', // data type
1761 xl('Override (if necessary) the appointment display limit to allow all appointments to be displayed for the last set')
1764 'appt_display_sets_color_1' => array(
1765 xl('Appointment Display Sets - Color 1'),
1768 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).')
1771 'appt_display_sets_color_2' => array(
1772 xl('Appointment Display Sets - Color 2'),
1775 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).')
1778 'appt_display_sets_color_3' => array(
1779 xl('Appointment Display Sets - Color 3'),
1782 xl('Color for the last set when all member appointments are displayed and at least one subsequent scheduled appointment exists (not displayed).')
1785 'appt_display_sets_color_4' => array(
1786 xl('Appointment Display Sets - Color 4'),
1789 xl('Color for the last set when not all member appointments are displayed.')
1792 'appt_recurrences_widget' => array(
1793 xl('Recurrent Appointment Display Widget'),
1794 'bool', // data type
1796 xl('Display the recurrent appointment widget in the patient summary.')
1799 'num_past_appointments_to_show' => array(
1800 xl('Past Appointment Display Widget'),
1802 '0', // default = false
1803 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)')
1806 'docs_see_entire_calendar' => array(
1807 xl('Providers See Entire Calendar'),
1808 'bool', // data type
1810 xl('Check this if you want providers to see all appointments by default and not just their own.')
1813 'auto_create_new_encounters' => array(
1814 xl('Auto-Create New Encounters'),
1817 '1' => xl('One Encounter Per Day'),
1818 '2' => xl('Allow Encounter For Each Appointment')
1821 xl('Automatically create a new encounter when an appointment check in status is selected.') . " " .
1822 xl('The Each Appointment option will allow a new encounter regardless of same day visit.') . " " .
1823 xl('The appointment status changes and encounter creations are managed through the Patient Tracker.')
1826 'allow_early_check_in' => array(
1827 xl('Allow Early Check In'),
1828 'bool', // data type
1830 xl("Allow Check In before the appointment's time.")
1833 'submit_changes_for_all_appts_at_once' => array(
1834 xl('Submit Changes For All Appts At Once'),
1835 'bool', // data type
1837 xl('Enables to submit changes for all appointments of a recurrence at once.')
1840 'disable_pat_trkr' => array(
1841 xl('Flow Board: Disable'),
1842 'bool', // data type
1844 xl('Completely remove the ability to display the Patient Flow Board.')
1847 'ptkr_visit_reason' => array(
1848 xl('Flow Board: Show Visit Reason'),
1849 'bool', // data type
1850 '0', // default = false
1851 xl('When Checked, Visit Reason Will Show in Patient Flow Board.')
1854 'ptkr_show_pid' => array(
1855 xl('Flow Board: Show Patient ID'),
1856 'bool', // data type
1857 '1', // default = true
1858 xl('When Checked, Patient ID Will Show in Patient Flow Board.')
1861 'ptkr_show_encounter' => array(
1862 xl('Flow Board: Show Encounter Number'),
1863 'bool', // data type
1864 '1', // default = true
1865 xl('When Checked, Patient Encounter Number Will Show in Patient Flow Board.')
1868 'ptkr_show_staff' => array(
1869 xl('Flow Board: Show Staff Action'),
1870 'bool', // data type
1871 '1', // default = true
1872 xl('When Checked, Last Staff to Update Board Will Show in Patient Flow Board.')
1875 'ptkr_date_range' => array(
1876 xl('Flow Board: Allow Date Range'),
1877 'bool', // data type
1878 '1', // default = true
1879 xl('This Allows a Date Range to be Selected in Patient Flow Board.')
1882 'ptkr_start_date' => array(
1883 xl('Flow Board: Default Starting Date'),
1885 'D0' => xl('Current Day'),
1886 'B0' => xl('Beginning of Current Work Week'),
1888 'D0', // default = Current Day
1889 xl('This is the default Beginning date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1892 'ptkr_end_date' => array(
1893 xl('Flow Board: Default Ending Date'),
1895 'Y1' => xl('One Year Ahead'),
1896 'Y2' => xl('Two Years Ahead'),
1897 'M6' => xl('Six Months Ahead'),
1898 'M3' => xl('Three Months Ahead'),
1899 'M1' => xl('One Month Ahead'),
1900 'D7' => xl('One Week Ahead'),
1901 'D1' => xl('One Day Ahead'),
1902 'D0' => xl('Current Day'),
1904 'D0', // default = One Day Ahead
1905 xl('This is the default Ending date for the Patient Flow Board. (only applicable if Allow Date Range in option above is Enabled)')
1908 'pat_trkr_timer' => array(
1909 xl('Flow Board: Timer Refresh Interval'),
1911 '0' => xl('No automatic refresh'),
1920 xl('The screen refresh time in Seconds for the Patient Flow Board Screen.')
1923 'checkout_roll_off' => array(
1924 xl('Flow Board: display completed checkouts (minutes)'),
1927 xl('Flow Board will only display completed checkouts for this many minutes. Zero is continuous display.')
1930 'drug_screen' => array(
1931 xl('Flow Board: Enable Random Drug Testing'),
1932 'bool', // data type
1934 xl('Allow Patient Flow Board to Select Patients for Drug Testing.')
1937 'drug_testing_percentage' => array(
1938 xl('Flow Board: Percentage of Patients to Drug Test'),
1941 xl('Percentage of Patients to select for Random Drug Testing.')
1944 'maximum_drug_test_yearly' => array(
1945 xl('Flow Board: Max tests per Patient per year'),
1948 xl('Maximum number of times a Patient can be tested in a year. Zero is no limit.')
1951 'disable_rcb' => array(
1952 xl('Recall Board: Disable'),
1953 'bool', // data type
1955 xl('Do not display the Recall Board.')
1963 'Insurance' => array(
1964 'enable_oa' => array(
1965 xl('Enable Office Ally Insurance Eligibility'),
1968 xl('Allow insurance eligibility checks using Office Ally')
1971 'simplified_demographics' => array(
1972 xl('Simplified Demographics'),
1973 'bool', // data type
1974 '0', // default = false
1975 xl('Omit insurance and some other things from the demographics form')
1978 'insurance_information' => array(
1979 xl('Show Additional Insurance Information'), // descriptive name
1982 '1' => xl('Address Only'),
1983 '2' => xl('Address and Postal Code'),
1984 '3' => xl('Address and State'),
1985 '4' => xl('Address, State and Postal Code'),
1986 '5' => xl('Address, City, State and Postal Code'),
1987 '6' => xl('Address, City, State, Postal Code, Payer ID'),
1988 '7' => xl('Postal Code and Box Number')
1991 xl('Show Insurance Address Information in the Insurance Panel of Demographics.')
1994 'disable_eligibility_log' => array(
1995 xl('Disable Insurance Eligibility Reports Download'),
1998 xl('Do not allow insurance eligibility report log download')
2001 'insurance_only_one' => array(
2002 xl('Allow only one insurance'),
2003 'bool', // data type
2004 '0', // default = false
2005 xl('Allow more than one insurance')
2010 'Security' => array(
2011 'sql_string_no_show_screen' => array(
2012 xl('Mode - Do Not Show SQL Queries'),
2013 'bool', // data type
2015 xl('Do not allow SQL queries to be outputted to screen.')
2018 xl('Idle Session Timeout Seconds'),
2021 xl('Maximum idle time in seconds before logout. Default is 7200 (2 hours).')
2023 'portal_timeout' => array(
2024 xl('Portal Idle Session Timeout Seconds'),
2027 xl('Maximum idle time in seconds before logout. Default is 1800 (30 minutes).')
2029 'secure_upload' => array(
2030 xl('Secure Upload Files with White List'),
2031 'bool', // data type
2033 xl('Block all files types that are not found in the White List. Can find interface to edit the White List at Administration->Files.')
2035 'secure_password' => array(
2036 xl('Require Strong Passwords'),
2037 'bool', // data type
2039 xl('Strong password means at least one of each: a number, a lowercase letter, an uppercase letter, a special character.')
2042 'gbl_minimum_password_length' => array(
2043 xl('Minimum Password Length'),
2045 '0' => xl('No Minimum'),
2065 xl('Minimum length of password.')
2068 'gbl_maximum_password_length' => array(
2069 xl('Maximum Password Length'),
2071 '0' => xl('No Maximum'),
2075 xl('Maximum length of password (Recommend using the default value of 72 unless you know what you are doing).')
2078 'password_history' => array(
2079 xl('Require Unique Passwords'),
2089 xl('Set to the number of prior passwords that are not allowed to use when changing a password.')
2092 'password_expiration_days' => array(
2093 xl('Default Password Expiration Days'),
2096 xl('Default password expiration period in days. 0 means this feature is disabled.')
2099 'password_grace_time' => array(
2100 xl('Password Expiration Grace Period'),
2103 xl('Period in days where a user may login with an expired password.')
2106 'password_max_failed_logins' => array(
2107 xl('Maximum Failed Login Attempts'),
2110 xl('Maximum Failed Login Attempts (0 for no maximum).')
2113 'gbl_fac_warehouse_restrictions' => array(
2114 xl('Enable Facility/Warehouse Permissions'),
2115 'bool', // data type
2117 xl('Enable facility/warehouse restrictions in the user administration form.')
2120 'is_client_ssl_enabled' => array(
2121 xl('Enable Client SSL'),
2122 'bool', // data type
2124 xl('Enable client SSL certificate authentication.')
2127 'certificate_authority_crt' => array(
2128 xl('Path to CA Certificate File'),
2129 'text', // data type
2131 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2134 'certificate_authority_key' => array(
2135 xl('Path to CA Key File'),
2136 'text', // data type
2138 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
2141 'client_certificate_valid_in_days' => array(
2142 xl('Client Certificate Expiration Days'),
2145 xl('Number of days that the client certificate is valid.')
2148 'Emergency_Login_email_id' => array(
2149 xl('Emergency Login Email Address'),
2150 'text', // data type
2152 xl('Email address, if any, to receive emergency login user activation messages.')
2155 'new_validate' => array(
2156 xl('New form validation'),
2159 xl('New form validation')
2162 'allow_multiple_databases' => array(
2163 xl('Allow multiple databases'),
2166 xl('Allow to use with multiple database')
2169 'safe_key_database' => array(
2170 xl('Safe key database'),
2171 'text', // data type
2173 xl('Key for multiple database credentials encryption')
2176 'google_signin_enabled' => array(
2177 xl('Enable Google Sign-In'),
2180 xl('Enable Authentication Using Google Sign-in')
2183 'google_signin_client_id' => array(
2184 xl('Google Sign-In Client ID'),
2187 xl('This Client ID Is Provided By Google For Your App (Required For Google Sign-in)')
2190 'gbl_ldap_enabled' => array(
2191 xl('Use LDAP for Authentication'),
2194 xl('If enabled, use LDAP for login and authentication.')
2196 'gbl_ldap_host' => array(
2197 xl('LDAP - Server Name or URI'),
2200 xl('The hostname or URI of your LDAP or Active Directory server.')
2202 'gbl_ldap_dn' => array(
2203 xl('LDAP - Distinguished Name of User'),
2206 xl('Embed {login} where the OpenEMR login name of the user is to be; for example: uid={login},dc=example,dc=com')
2208 'gbl_ldap_exclusions' => array(
2209 xl('LDAP - Login Exclusions'),
2212 xl('Comma-separated list of login names to use normal authentication instead of LDAP; useful for setup and debugging.')
2215 'gbl_debug_hash_verify_execution_time' => array(
2216 xl('Debug Hash Verification Time'),
2219 xl('If enabled, this will send the execution time it took to verify hash to the php error log.')
2222 'gbl_auth_hash_algo' => array(
2223 xl('Hash Algorithm for Authentication'),
2225 'DEFAULT' => xl('PHP Default'),
2226 'BCRYPT' => 'Bcrypt',
2227 'ARGON2I' => 'Argon2I',
2228 'ARGON2ID' => 'Argon2ID',
2229 'SHA512HASH' => 'SHA512 (ONC 2015)',
2231 'DEFAULT', // default
2232 xl('Hashing algorithm for authentication. Suggest PHP Default unless you know what you are doing.')
2235 'gbl_auth_bcrypt_hash_cost' => array(
2236 xl('Authentication Bcrypt Hash Cost'),
2238 'DEFAULT' => xl('PHP Default'),
2256 'DEFAULT', // default
2257 xl('Authentication bcrypt hash cost. Suggest PHP Default unless you know what you are doing.')
2260 'gbl_auth_argon_hash_memory_cost' => array(
2261 xl('Authentication Argon Hash Memory Cost'),
2263 'DEFAULT' => xl('PHP Default'),
2272 '131072' => '131072',
2273 '262144' => '262144',
2274 '524288' => '524288',
2275 '1048576' => '1048576',
2276 '2097152' => '2097152',
2278 'DEFAULT', // default
2279 xl('Authentication argon hash memory cost. Suggest PHP Default unless you know what you are doing.')
2282 'gbl_auth_argon_hash_time_cost' => array(
2283 xl('Authentication Argon Hash Time Cost'),
2285 'DEFAULT' => xl('PHP Default'),
2307 'DEFAULT', // default
2308 xl('Authentication argon hash time cost. Suggest PHP Default unless you know what you are doing.')
2311 'gbl_auth_argon_hash_thread_cost' => array(
2312 xl('Authentication Argon Hash Thread Number'),
2314 'DEFAULT' => xl('PHP Default'),
2336 'DEFAULT', // default
2337 xl('Authentication argon hash thread number. Suggest PHP Default unless you know what you are doing.')
2340 'gbl_auth_sha512_rounds' => array(
2341 xl('Authentication SHA512 Hash Rounds Number'),
2352 '100000' => '100000',
2353 '200000' => '200000',
2354 '300000' => '300000',
2355 '400000' => '400000',
2356 '500000' => '500000',
2357 '750000' => '750000',
2358 '1000000' => '1000000',
2359 '2000000' => '2000000',
2360 '3000000' => '3000000',
2361 '4000000' => '4000000',
2362 '5000000' => '5000000',
2363 '6000000' => '6000000',
2364 '7000000' => '7000000',
2365 '8000000' => '8000000',
2366 '9000000' => '9000000',
2368 '100000', // default
2369 xl('Authentication SHA512 hash rounds number.')
2374 // Notifications Tab
2376 'Notifications' => array(
2378 'patient_reminder_sender_name' => array(
2379 xl('Patient Reminder Sender Name'),
2380 'text', // data type
2382 xl('Name of the sender for patient reminders.')
2385 'patient_reminder_sender_email' => array(
2386 xl('Patient Reminder Sender Email'),
2387 'text', // data type
2389 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.')
2392 'practice_return_email_path' => array(
2393 xl('Notification Email Address'),
2394 'text', // data type
2396 xl('Email address, if any, to receive administrative notifications.')
2399 'EMAIL_METHOD' => array(
2400 xl('Email Transport Method'),
2402 'PHPMAIL' => 'PHPMAIL',
2403 'SENDMAIL' => 'SENDMAIL',
2407 xl('Method for sending outgoing email.')
2410 'SMTP_HOST' => array(
2411 xl('SMTP Server Hostname'),
2412 'text', // data type
2413 'localhost', // default
2414 xl('If SMTP is used, the server`s hostname or IP address.')
2417 'SMTP_PORT' => array(
2418 xl('SMTP Server Port Number'),
2421 xl('If SMTP is used, the server`s TCP port number (usually 25).')
2424 'SMTP_USER' => array(
2425 xl('SMTP User for Authentication'),
2426 'text', // data type
2428 xl('Must be empty if SMTP authentication is not used.')
2431 'SMTP_PASS' => array(
2432 xl('SMTP Password for Authentication'),
2433 'encrypted', // data type
2435 xl('Must be empty if SMTP authentication is not used.')
2438 'SMTP_SECURE' => array(
2439 xl('SMTP Security Protocol'),
2446 xl('SMTP security protocol to connect with. Required by some servers such as gmail.')
2449 'EMAIL_NOTIFICATION_HOUR' => array(
2450 xl('Email Notification Hours'),
2453 xl('Number of hours in advance to send email notifications.')
2456 'SMS_NOTIFICATION_HOUR' => array(
2457 xl('SMS Notification Hours'),
2460 xl('Number of hours in advance to send SMS notifications.')
2463 'SMS_GATEWAY_USENAME' => array(
2464 xl('SMS Gateway Username'),
2465 'text', // data type
2467 xl('Username for SMS Gateway.')
2470 'SMS_GATEWAY_PASSWORD' => array(
2471 xl('SMS Gateway Password'),
2472 'text', // data type
2474 xl('Password for SMS Gateway.')
2477 'SMS_GATEWAY_APIKEY' => array(
2478 xl('SMS Gateway API Key'),
2479 'text', // data type
2481 xl('API key for SMS Gateway.')
2484 'phone_notification_hour' => array(
2485 xl('Phone Notification Hour'),
2488 xl('Number of hours in advance to send Phone notification.')
2491 'phone_gateway_username' => array(
2492 xl('Phone Gateway Username'),
2493 'text', // data type
2495 xl('Username for Phone Gateway.')
2498 'phone_gateway_password' => array(
2499 xl('Phone Gateway Password'),
2500 'encrypted', // data type
2502 xl('Password for Phone Gateway.')
2505 'phone_gateway_url' => array(
2506 xl('Phone Gateway URL'),
2507 'text', // data type
2509 xl('URL for Phone Gateway.')
2514 // CDR (Clinical Decision Rules)
2518 'enable_cdr' => array(
2519 xl('Enable Clinical Decisions Rules (CDR)'),
2520 'bool', // data type
2522 xl('Enable Clinical Decisions Rules (CDR)')
2525 'enable_allergy_check' => array(
2526 xl('Enable Allergy Check'),
2527 'bool', // data type
2529 xl('Enable Allergy Check Against Medications and Prescriptions')
2532 'enable_alert_log' => array(
2533 xl('Enable Alert Log'),
2534 'bool', // data type
2536 xl('Enable Alert Logging')
2539 'enable_cdr_new_crp' => array(
2540 xl('Enable Clinical Passive New Reminder(s) Popup'),
2541 'bool', // data type
2543 xl('Enable Clinical Passive New Reminder(s) Popup')
2546 'enable_cdr_crw' => array(
2547 xl('Enable Clinical Passive Reminder Widget'),
2548 'bool', // data type
2550 xl('Enable Clinical Passive Reminder Widget')
2553 'enable_cdr_crp' => array(
2554 xl('Enable Clinical Active Reminder Popup'),
2555 'bool', // data type
2557 xl('Enable Clinical Active Reminder Popup')
2560 'enable_cdr_prw' => array(
2561 xl('Enable Patient Reminder Widget'),
2562 'bool', // data type
2564 xl('Enable Patient Reminder Widget')
2567 'enable_cqm' => array(
2568 xl('Enable CQM Reporting'),
2569 'bool', // data type
2571 xl('Enable Clinical Quality Measure (CQM) Reporting')
2574 'pqri_registry_name' => array(
2575 xl('PQRI Registry Name'),
2576 'text', // data type
2577 'Model Registry', // default
2578 xl('PQRI Registry Name')
2581 'pqri_registry_id' => array(
2582 xl('PQRI Registry ID'),
2583 'text', // data type
2584 '125789123', // default
2585 xl('PQRI Registry ID')
2588 'cqm_performance_period' => array(
2589 xl('Eligible Clinician eCQM Performance Period'),
2590 'text', // data type
2591 '2022', // default set
2592 xl('Enter the eCQM Performance Period year. For example 2022')
2595 'enable_amc' => array(
2596 xl('Enable AMC Reporting'),
2597 'bool', // data type
2599 xl('Enable Automated Measure Calculations (AMC) Reporting')
2602 'enable_amc_prompting' => array(
2603 xl('Enable AMC Prompting'),
2604 'bool', // data type
2606 xl('Enable Prompting For Automated Measure Calculations (AMC) Required Data')
2609 'enable_amc_tracking' => array(
2610 xl('Enable AMC Tracking'),
2611 'bool', // data type
2613 xl('Enable Reporting of Tracking Date For Automated Measure Calculations (AMC)')
2616 'cdr_report_nice' => array(
2617 xl('CDR Reports Processing Priority'),
2619 '' => xl('Default Priority'),
2620 '5' => xl('Moderate Priority'),
2621 '10' => xl('Moderate/Low Priority'),
2622 '15' => xl('Low Priority'),
2623 '20' => xl('Lowest Priority')
2626 xl('Set processing priority for CDR engine based reports.')
2629 'pat_rem_clin_nice' => array(
2630 xl('Patient Reminder Creation Processing Priority'),
2632 '' => xl('Default Priority'),
2633 '5' => xl('Moderate Priority'),
2634 '10' => xl('Moderate/Low Priority'),
2635 '15' => xl('Low Priority'),
2636 '20' => xl('Lowest Priority')
2639 xl('Set processing priority for creation of Patient Reminders (in full clinic mode).')
2642 'report_itemizing_standard' => array(
2643 xl('Enable Standard Report Itemization'),
2644 'bool', // data type
2646 xl('Enable Itemization of Standard Clinical Rules Reports')
2649 'report_itemizing_cqm' => array(
2650 xl('Enable CQM Report Itemization'),
2651 'bool', // data type
2653 xl('Enable Itemization of CQM Reports')
2656 'report_itemizing_amc' => array(
2657 xl('Enable AMC Report Itemization'),
2658 'bool', // data type
2660 xl('Enable Itemization of AMC Reports')
2662 'dated_reminders_max_alerts_to_show' => array(
2663 xl('Dated reminders maximum alerts to show'),
2666 xl('Dated reminders maximum alerts to show')
2668 'patient_birthday_alert' => array(
2669 xl('Alert on patient birthday'),
2671 '0' => xl('No alert'),
2672 '1' => xl('Alert only on birthday'),
2673 '2' => xl('Alert on and after birthday'),
2674 '3' => xl('Alert on and up to 28 days after birthday')
2677 xl('Alert on patient birthday')
2679 'patient_birthday_alert_manual_off' => array(
2680 xl('Patient birthday alert requires turning off'),
2681 'bool', // data type
2683 xl('Patient birthday alert requires turning off')
2691 'user_debug' => array(
2692 xl('User Debugging Options'),
2695 '1' => xl('Display Window Errors Only'),
2696 '2' => xl('Display Application Errors Only'),
2700 xl('User Debugging Mode.')
2703 'enable_auditlog' => array(
2704 xl('Enable Audit Logging'),
2705 'bool', // data type
2707 xl('Enable Audit Logging')
2710 'audit_events_patient-record' => array(
2711 xl('Audit Logging Patient Record'),
2712 'bool', // data type
2714 xl('Enable logging of patient record modifications.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2717 'audit_events_scheduling' => array(
2718 xl('Audit Logging Scheduling'),
2719 'bool', // data type
2721 xl('Enable logging of scheduling activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2724 'audit_events_order' => array(
2725 xl('Audit Logging Order'),
2726 'bool', // data type
2728 xl('Enable logging of ordering activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2731 'audit_events_security-administration' => array(
2732 xl('Audit Logging Security Administration'),
2733 'bool', // data type
2735 xl('Enable logging of security and administration activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2738 'audit_events_backup' => array(
2739 xl('Audit Logging Backups'),
2740 'bool', // data type
2742 xl('Enable logging of backup related activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2745 'audit_events_other' => array(
2746 xl('Audit Logging Miscellaneous'),
2747 'bool', // data type
2749 xl('Enable logging of miscellaneous activities.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2752 'audit_events_query' => array(
2753 xl('Audit Logging SELECT Query'),
2754 'bool', // data type
2756 xl('Enable logging of all SQL SELECT queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2759 'audit_events_cdr' => array(
2760 xl('Audit CDR Engine Queries'),
2761 'bool', // data type
2763 xl('Enable logging of CDR Engine Queries.') . ' (' . xl('Note that Audit Logging needs to be enabled above') . ')'
2766 'gbl_force_log_breakglass' => array(
2767 xl('Audit all Emergency User Queries'),
2768 'bool', // data type
2770 xl('Force logging of all Emergency User (ie. breakglass) activities.')
2773 'enable_atna_audit' => array(
2774 xl('Enable ATNA Auditing'),
2775 'bool', // data type
2777 xl('Enable Audit Trail and Node Authentication (ATNA).')
2780 'atna_audit_host' => array(
2781 xl('ATNA audit host'),
2782 'text', // data type
2784 xl('The hostname of the ATNA audit repository machine.')
2787 'atna_audit_port' => array(
2788 xl('ATNA audit port'),
2789 'text', // data type
2791 xl('Listening port of the RFC 5425 TLS syslog server.')
2794 'atna_audit_localcert' => array(
2795 xl('ATNA audit local certificate'),
2796 'text', // data type
2798 xl('Certificate to send to RFC 5425 TLS syslog server.')
2801 'atna_audit_cacert' => array(
2802 xl('ATNA audit CA certificate'),
2803 'text', // data type
2805 xl('CA Certificate for verifying the RFC 5425 TLS syslog server.')
2808 'enable_auditlog_encryption' => array(
2809 xl('Enable Audit Log Encryption'),
2810 'bool', // data type
2812 xl('Enable Audit Log Encryption')
2815 'api_log_option' => array(
2816 xl('API Log Option'),
2818 '0' => xl('No logging'),
2819 '1' => xl('Minimal Logging'),
2820 '2' => xl('Full Logging'),
2823 xl('API Log Option (Full includes requests and responses).')
2826 'billing_log_option' => array(
2827 xl('Billing Log Option'),
2829 '1' => xl('Billing Log Append'),
2830 '2' => xl('Billing Log Overwrite')
2833 xl('Billing log setting to append or overwrite the log file.')
2836 'gbl_print_log_option' => array(
2837 xl('Printing Log Option'),
2839 '0' => xl('No logging'),
2840 '1' => xl('Hide print feature'),
2841 '2' => xl('Log entire document'),
2844 xl('Individual pages can override 2nd and 3rd options by implementing a log message.')
2847 'system_error_logging' => array(
2848 xl('System Error Logging Options'),
2850 'WARNING' => xl('Standard Error Logging'),
2851 'DEBUG' => xl('Debug Error Logging'),
2853 'WARNING', // default
2854 xl('System Error Logging Options.')
2859 // Miscellaneous Tab
2861 'Miscellaneous' => array(
2863 'enable_database_connection_pooling' => array(
2864 xl('Enable Database Connection Pooling'),
2865 'bool', // data type
2867 xl('Enable Database Connection Pooling')
2870 'mysql_bin_dir' => array(
2871 xl('Path to MySQL Binaries'),
2872 'text', // data type
2873 $mysql_bin_dir, // default
2874 xl('Full path to directory containing MySQL executables.')
2877 'perl_bin_dir' => array(
2878 xl('Path to Perl Binaries'),
2879 'text', // data type
2880 $perl_bin_dir, // default
2881 xl('Full path to directory containing Perl executables.')
2884 'temporary_files_dir' => array(
2885 xl('Path to Temporary Files'),
2886 'text', // data type
2887 $temporary_files_dir, // default
2888 xl('Full path to directory used for temporary files.')
2891 'backup_log_dir' => array(
2892 xl('Path for Event Log Backup'),
2893 'text', // data type
2894 $backup_log_dir, // default
2895 xl('Full path to directory for event log backup.')
2898 'state_data_type' => array(
2899 xl('State Data Type'),
2901 '2' => xl('Text field'),
2902 '1' => xl('Single-selection list'),
2903 '26' => xl('Single-selection list with ability to add to the list'),
2906 xl('Field type to use for employer or subscriber state in demographics.')
2909 'state_list' => array(
2911 'text', // data type
2913 xl('List used by above State Data Type option.')
2916 'state_custom_addlist_widget' => array(
2917 xl('State List Widget Custom Fields'),
2918 'bool', // data type
2920 xl('Show the custom state form for the add list widget (will ask for title and abbreviation).')
2923 'country_data_type' => array(
2924 xl('Country Data Type'),
2926 '2' => xl('Text field'),
2927 '1' => xl('Single-selection list'),
2928 '26' => xl('Single-selection list with ability to add to the list'),
2931 xl('Field type to use for employer or subscriber country in demographics.')
2934 'country_list' => array(
2936 'text', // data type
2937 'country', // default
2938 xl('List used by above Country Data Type option.')
2941 'post_to_date_benchmark' => array(
2942 xl('Financial Close Date (yyyy-mm-dd)'),
2943 'text', // data type
2944 date('Y-m-d', time() - (10 * 24 * 60 * 60)), // default
2945 xl('The payments posted cannot go below this date.This ensures that after taking the final report nobody post for previous dates.')
2948 'enable_hylafax' => array(
2949 xl('Enable Hylafax Support'),
2950 'bool', // data type
2952 xl('Enable Hylafax Support')
2955 'hylafax_server' => array(
2956 xl('Hylafax Server'),
2957 'text', // data type
2958 'localhost', // default
2959 xl('Hylafax server hostname.')
2962 'hylafax_basedir' => array(
2963 xl('Hylafax Directory'),
2964 'text', // data type
2965 '/var/spool/hylafax', // default
2966 xl('Location where Hylafax stores faxes.')
2969 'enable_scanner' => array(
2970 xl('Enable Scanner Support'),
2971 'bool', // data type
2973 xl('Enable Scanner Support')
2976 'scanner_output_directory' => array(
2977 xl('Scanner Directory'),
2978 'text', // data type
2979 '/mnt/scan_docs', // default
2980 xl('Location where scans are stored.')
2983 'unique_installation_id' => array(
2984 xl('Unique Installation ID'),
2985 'if_empty_create_random_uuid', // data type
2987 xl('Unique installation ID. Creates a random UUID if empty.')
2995 'portal_onsite_two_enable' => array(
2996 xl('Enable Patient Portal'),
2997 'bool', // data type
2999 xl('Enable Patient Portal')
3002 'portal_onsite_two_address' => array(
3003 xl('Patient Portal Site Address'),
3004 'text', // data type
3005 'https://your_web_site.com/openemr/portal',
3006 xl('Website link for the Patient Portal.')
3009 'portal_onsite_two_basepath' => array(
3010 xl('Portal Uses Server Base Path (internal)'),
3013 xl('Use servers protocol and host in urls (portal internal only).')
3016 'enforce_signin_email' => array(
3017 xl('Enforce E-Mail in Portal Log On Dialog'),
3018 'bool', // data type
3020 xl('Patient is required to enter their contact e-mail if present in Demographics Contact.')
3023 'google_recaptcha_site_key' => array(
3024 xl('Google reCAPTCHA V2 site key'),
3027 xl('Google reCAPTCHA V2 site key')
3030 'google_recaptcha_secret_key' => array(
3031 xl('Google reCAPTCHA V2 secret key'),
3034 xl('Google reCAPTCHA V2 secret key')
3037 'portal_onsite_two_register' => array(
3038 xl('Allow New Patient Registration Widget'),
3039 'bool', // data type
3041 xl('Enable Patient Portal new patient to self register.')
3044 'allow_portal_appointments' => array(
3045 xl('Allow Online Appointments'),
3046 'bool', // data type
3048 xl('Allow Patient to make and view appointments online.')
3051 'allow_portal_chat' => array(
3052 xl('Allow Online Secure Chat'),
3053 'bool', // data type
3055 xl('Allow Patient to use Secure Chat Application.')
3058 'portal_two_ledger' => array(
3059 xl('Allow Patient Ledger'),
3060 'bool', // data type
3062 xl('Allow Patient to view their accounting ledger online.')
3065 'portal_two_payments' => array(
3066 xl('Allow Online Payments'),
3067 'bool', // data type
3069 xl('Allow Patient to make payments online.')
3072 'portal_two_pass_reset' => array(
3073 xl('Allow Patients to Reset Credentials'),
3074 'bool', // data type
3076 xl('Patient may change their logon from portal login dialog.')
3079 'portal_onsite_document_download' => array(
3080 xl('Enable Patient Portal Document Download'),
3081 'bool', // data type
3083 xl('Enables the ability to download documents in the Patient Portal by the user.')
3089 'Connectors' => array(
3091 'site_addr_oath' => array(
3092 xl('Site Address Override (if needed for OAuth2, FHIR, CCDA, or Payment Processing)'),
3095 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 .'
3098 'rest_fhir_api' => array(
3099 xl('Enable OpenEMR Standard FHIR REST API'),
3102 xl('Enable OpenEMR Standard FHIR RESTful API.')
3105 'rest_system_scopes_api' => array(
3106 xl('Enable OpenEMR FHIR System Scopes (Turn on only if you know what you are doing)'),
3109 xl('Enable OpenEMR FHIR System Scopes.')
3112 'rest_api' => array(
3113 xl('Enable OpenEMR Standard REST API'),
3116 xl('Enable OpenEMR Standard RESTful API.')
3119 'rest_portal_api' => array(
3120 xl('Enable OpenEMR Patient Portal REST API (EXPERIMENTAL)'),
3123 xl('Enable OpenEMR Patient Portal RESTful API.')
3126 'oauth_password_grant' => array(
3127 xl('Enable OAuth2 Password Grant (Not considered secure)'),
3129 0 => xl('Off (Recommended setting)'),
3130 1 => xl('On for Users Role'),
3131 2 => xl('On for Patient Role'),
3132 3 => xl('On for Both Roles')
3135 xl('Enable OAuth2 Password Grant. Recommend turning this setting off for production server. Recommend only using for testing.')
3138 'cc_front_payments' => array(
3139 xl('Accept Credit Card transactions from Front Payments'),
3142 xl('Allow manual entry and authorise credit card payments. Ensure a gateway is enabled.')
3144 'cc_stripe_terminal' => array(
3145 xl('In person payments with Stripe Verifone P400'),
3148 xl('Allow in person credit card payments using Stripe Verifone P400. Ensure Stripe gateway is enabled.')
3150 'payment_gateway' => array(
3151 xl('Select Credit Card Payment Gateway'),
3153 'InHouse' => xl('In House Authorize Payments'),
3154 'AuthorizeNet' => xl('Gateway for AuthorizeNet Manual Payments'),
3155 'Sphere' => xl('Gateway for Sphere Payments'),
3156 'Stripe' => xl('Gateway for Stripe Manual Payments')
3159 xl('Enable a Payment Gateway Service for processing credit card transactions')
3162 'gateway_mode_production' => array(
3163 xl('Set Gateway to Production Mode'),
3164 'bool', // data type
3166 xl('Check this to go live. Not checked is testing mode.')
3169 'gateway_public_key' => array(
3170 xl('Gateway Publishable Key'),
3173 xl('The public access key for secure tokenize of credit or debit card authorization. PCI compliance')
3176 'gateway_api_key' => array(
3177 xl('Gateway API Login Auth Name or Secret'),
3180 xl('The Auth Name or API key for selected account. Auth Name for Authorize.Net and API Secret for Stripe.')
3183 'gateway_transaction_key' => array(
3184 xl('Gateway Transaction Key'),
3187 xl('Mainly Authorize.Net uses two keys')
3190 'sphere_clinicfront_trxcustid' => array(
3191 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID'),
3194 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID')
3197 'sphere_clinicfront_trxcustid_licensekey' => array(
3198 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key'),
3201 xl('Sphere Clinicfront over phone (MOTO) Transaction CustID License Key')
3204 'sphere_moto_tc_link_pass' => array(
3205 xl('Sphere MOTO TC Link Password'),
3208 xl('Sphere MOTO TC Link Password')
3211 'sphere_clinicfront_retail_trxcustid' => array(
3212 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID'),
3215 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID')
3218 'sphere_clinicfront_retail_trxcustid_licensekey' => array(
3219 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key'),
3222 xl('Sphere Clinicfront in person (RETAIL) Transaction CustID License Key')
3225 'sphere_retail_tc_link_pass' => array(
3226 xl('Sphere RETAIL TC Link Password'),
3229 xl('Sphere RETAIL TC Link Password')
3232 'sphere_patientfront_trxcustid' => array(
3233 xl('Sphere Patientfront (Ecomm) Transaction CustID'),
3236 xl('Sphere Patientfront (Ecomm) Transaction CustID')
3239 'sphere_patientfront_trxcustid_licensekey' => array(
3240 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key'),
3243 xl('Sphere Patientfront (Ecomm) Transaction CustID License Key')
3246 'sphere_ecomm_tc_link_pass' => array(
3247 xl('Sphere Ecomm TC Link Password'),
3250 xl('Sphere Ecomm TC Link Password')
3253 'sphere_credit_void_confirm_pin' => array(
3254 xl('Sphere Void/Credit Confirmation PIN'),
3257 xl('Sphere Void/Credit Confirmation Password. OpenEMR confirms pin/password before proceeding with void/credit.')
3260 'medex_enable' => array(
3261 xl('Enable MedEx Communication Service'),
3262 'bool', // data type
3264 xl('Enable MedEx Communication Service')
3267 'erx_enable' => array(
3268 xl('Enable NewCrop eRx Service'),
3271 xl('Enable NewCrop eRx Service.') . ' ' .
3272 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.')
3275 'erx_newcrop_path' => array(
3276 xl('NewCrop eRx Site Address'),
3278 'https://secure.newcropaccounts.com/InterfaceV7/RxEntry.aspx',
3279 xl('URL for NewCrop eRx Site Address.')
3282 'erx_newcrop_path_soap' => array(
3283 xl('NewCrop eRx Web Service Address'),
3285 'https://secure.newcropaccounts.com/v7/WebServices/Update1.asmx?WSDL;https://secure.newcropaccounts.com/v7/WebServices/Patient.asmx?WSDL',
3286 xl('URLs for NewCrop eRx Service Address, separated by a semi-colon.')
3289 'erx_soap_ttl_allergies' => array(
3290 xl('NewCrop eRx SOAP Request Time-To-Live for Allergies'),
3293 xl('Time-To-Live for NewCrop eRx Allergies SOAP Request in seconds.')
3296 'erx_soap_ttl_medications' => array(
3297 xl('NewCrop eRx SOAP Request Time-To-Live for Medications'),
3300 xl('Time-To-Live for NewCrop eRx Medications SOAP Request in seconds.')
3303 'erx_account_partner_name' => array(
3304 xl('NewCrop eRx Partner Name'),
3307 xl('Partner Name issued for NewCrop eRx service.')
3310 'erx_account_name' => array(
3311 xl('NewCrop eRx Name'),
3314 xl('Account Name issued for NewCrop eRx service.')
3317 'erx_account_password' => array(
3318 xl('NewCrop eRx Password'),
3321 xl('Account Password issued for NewCrop eRx service.')
3324 'erx_account_id' => array(
3325 xl('NewCrop eRx Account Id'),
3328 xl('Account Id issued for NewCrop eRx service, used to separate multi-facility accounts.')
3331 'erx_upload_active' => array(
3332 xl('Only upload active prescriptions'),
3335 xl('Only upload active prescriptions to NewCrop eRx.')
3338 'erx_import_status_message' => array(
3339 xl('Enable NewCrop eRx import status message'),
3342 xl('Enable import status message after visiting NewCrop eRx.')
3345 'erx_medication_display' => array(
3346 xl('Do not display NewCrop eRx Medications uploaded'),
3349 xl('Do not display Medications uploaded after visiting NewCrop eRx.')
3352 'erx_allergy_display' => array(
3353 xl('Do not display NewCrop eRx Allergy uploaded'),
3356 xl('Do not display Allergies uploaded after visiting NewCrop eRx.')
3359 'erx_default_patient_country' => array(
3360 xl('NewCrop eRx Default Patient Country'),
3364 'CA' => xl('Canada'),
3365 'MX' => xl('Mexico'),
3368 xl('Default Patient Country sent to NewCrop eRx, only if patient country is not set.'),
3371 'erx_debug_setting' => array(
3372 xl('NewCrop eRx Debug Setting'),
3375 1 => xl('Request Only'),
3376 2 => xl('Response Only'),
3377 3 => xl('Request & Response'),
3380 xl('Log all NewCrop eRx Requests and / or Responses.'),
3383 'weno_rx_enable' => array(
3384 xl('Enable Weno eRx Service'),
3387 xl('Enable Weno eRx Service') . ' ' . xl('Contact https://online.wenoexchange.com to sign up for Weno Free eRx service.')
3390 'weno_rx_enable_test' => array(
3391 xl('Enable Weno eRx Service Test mode'),
3394 xl('Enable Weno eRx Service Test mode')
3397 'weno_encryption_key' => array(
3398 xl('Weno Encryption Key'),
3399 'encrypted', // data type
3401 xl('Encryption key issued by Weno eRx service.')
3404 'weno_provider_password' => array(
3405 xl('Weno Provider Account Password'),
3406 'encrypted', // data type
3408 xl('Each provider needs to set this under user settings. This should be blank')
3411 'ccda_alt_service_enable' => array(
3412 xl('Enable C-CDA Service'),
3415 1 => xl('Care Coordination Only'),
3416 2 => xl('Portal Only'),
3420 xl('Enable C-CDA Service')
3423 'phimail_enable' => array(
3424 xl('Enable phiMail Direct Messaging Service'),
3425 'bool', // data type
3427 xl('Enable phiMail Direct Messaging Service')
3429 'phimail_testmode_disabled' => array(
3430 xl('Disable phiMail Test Mode'),
3431 'bool', // data type
3433 xl('When you are ready to run phiMail in production mode. Turn on this flag.')
3435 'phimail_verifyrecipientreceived_enable' => array(
3436 xl("phiMail default force message receipt confirmation to on"),
3439 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")
3442 'phimail_server_address' => array(
3443 xl('phiMail Server Address'),
3444 'text', // data type
3445 'https://phimail.example.com:32541',
3446 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3449 'phimail_username' => array(
3450 xl('phiMail Username'),
3451 'text', // data type
3453 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3456 'phimail_password' => array(
3457 xl('phiMail Password'),
3458 'encrypted', // data type
3460 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
3463 'phimail_notify' => array(
3464 xl('phiMail notification user'),
3465 'text', // data type
3467 xl('This user will receive notification of new incoming Direct messages')
3470 'phimail_interval' => array(
3471 xl('phiMail Message Check Interval (minutes)'),
3474 xl('Interval between message checks (set to zero for manual checks only)')
3477 'phimail_ccd_enable' => array(
3478 xl('phiMail Allow CCD Send'),
3479 'bool', // data type
3481 xl('phiMail Allow CCD Send')
3484 'phimail_ccr_enable' => array(
3485 xl('phiMail Allow CCR Send'),
3486 'bool', // data type
3488 xl('phiMail Allow CCR Send')
3491 'easipro_enable' => array(
3492 xl('Enable Easipro'),
3493 'bool', // data type
3495 xl('Enable Easipro. For licensing options for this feature, please contact') . ' api@assessmentcenter.net'
3498 'easipro_server' => array(
3499 xl('Easipro Server'),
3500 'text', // data type
3502 xl('Easipro Server')
3505 'easipro_name' => array(
3506 xl('Easipro Server Username'),
3507 'text', // data type
3509 xl('Easipro Server Username')
3512 'easipro_pass' => array(
3513 xl('Easipro Server Password'),
3514 'encrypted', // data type
3516 xl('Easipro Server Password')
3519 'usps_webtools_enable' => array(
3520 xl('Enable USPS Web Tools API'),
3521 'bool', // data type
3523 xl('Enable USPS Web Tools API')
3526 'usps_webtools_username' => array(
3527 xl('USPS Web Tools API Username'),
3528 'text', // data type
3530 xl('USPS Web Tools API Username')
3533 'mdht_conformance_server_enable' => array(
3534 xl('Use MDHT External Validation Service'),
3535 'bool', // data type
3537 xl('Enable CCDA conformance and validation API service')
3540 'mdht_conformance_server' => array(
3541 xl('CCDA MDHT Validation API Server Address'),
3542 'text', // data type
3544 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.')
3549 'rx_enable_DEA' => array(
3550 xl('Rx Enable DEA #'),
3551 'bool', // data type
3553 xl('Rx Enable DEA #')
3555 'rx_show_DEA' => array(
3556 xl('Rx Show DEA #'),
3557 'bool', // data type
3561 'rx_enable_NPI' => array(
3562 xl('Rx Enable NPI'),
3563 'bool', // data type
3567 'rx_show_NPI' => array(
3569 'bool', // data type
3573 'rx_enable_SLN' => array(
3574 xl('Rx Enable State Lic. #'),
3575 'bool', // data type
3577 xl('Rx Enable State Lic. #')
3579 'rx_show_SLN' => array(
3580 xl('Rx Show State Lic. #'),
3581 'bool', // data type
3583 xl('Rx Show State Lic. #')
3585 'rx_show_drug_drug' => array(
3586 xl('Rx NLM Drug-Drug'),
3587 'bool', // data type
3589 xl('Rx NLM Drug-Drug')
3591 'rx_paper_size' => array(
3592 xl('Rx Paper Size'), // descriptive name
3594 'LETTER' => xl('Letter Paper Size'),
3595 'LEGAL' => xl('Legal Paper Size'),
3596 'FOLIO' => xl('Folio Paper Size'),
3597 'EXECUTIVE' => xl('Executive Paper Size'),
3598 '4A0' => ('4A0' . " " . xl('Paper Size')),
3599 '2A0' => ('2A0' . " " . xl('Paper Size')),
3600 'A0' => ('A0' . " " . xl('Paper Size')),
3601 'A1' => ('A1' . " " . xl('Paper Size')),
3602 'A2' => ('A2' . " " . xl('Paper Size')),
3603 'A3' => ('A3' . " " . xl('Paper Size')),
3604 'A4' => ('A4' . " " . xl('Paper Size')),
3605 'A5' => ('A5' . " " . xl('Paper Size')),
3606 'A6' => ('A6' . " " . xl('Paper Size')),
3607 'A7' => ('A7' . " " . xl('Paper Size')),
3608 'A8' => ('A8' . " " . xl('Paper Size')),
3609 'A9' => ('A9' . " " . xl('Paper Size')),
3610 'A10' => ('A10' . " " . xl('Paper Size')),
3611 'B0' => ('B0' . " " . xl('Paper Size')),
3612 'B1' => ('B1' . " " . xl('Paper Size')),
3613 'B2' => ('B2' . " " . xl('Paper Size')),
3614 'B3' => ('B3' . " " . xl('Paper Size')),
3615 'B4' => ('B4' . " " . xl('Paper Size')),
3616 'B5' => ('B5' . " " . xl('Paper Size')),
3617 'B6' => ('B6' . " " . xl('Paper Size')),
3618 'B7' => ('B7' . " " . xl('Paper Size')),
3619 'B8' => ('B8' . " " . xl('Paper Size')),
3620 'B9' => ('B9' . " " . xl('Paper Size')),
3621 'B10' => ('B10' . " " . xl('Paper Size')),
3622 'C0' => ('C0' . " " . xl('Paper Size')),
3623 'C1' => ('C1' . " " . xl('Paper Size')),
3624 'C2' => ('C2' . " " . xl('Paper Size')),
3625 'C3' => ('C3' . " " . xl('Paper Size')),
3626 'C4' => ('C4' . " " . xl('Paper Size')),
3627 'C5' => ('C5' . " " . xl('Paper Size')),
3628 'C6' => ('C6' . " " . xl('Paper Size')),
3629 'C7' => ('C7' . " " . xl('Paper Size')),
3630 'C8' => ('C8' . " " . xl('Paper Size')),
3631 'C9' => ('C9' . " " . xl('Paper Size')),
3632 'C10' => ('C10' . " " . xl('Paper Size')),
3633 'RA0' => ('RA0' . " " . xl('Paper Size')),
3634 'RA1' => ('RA1' . " " . xl('Paper Size')),
3635 'RA2' => ('RA2' . " " . xl('Paper Size')),
3636 'RA3' => ('RA3' . " " . xl('Paper Size')),
3637 'RA4' => ('RA4' . " " . xl('Paper Size')),
3638 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
3639 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
3640 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
3641 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
3642 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
3644 'LETTER', // default = tree menu
3647 'rx_left_margin' => array(
3648 xl('Rx Left Margin (px)'),
3651 xl('Rx Left Margin (px)')
3653 'rx_right_margin' => array(
3654 xl('Rx Right Margin (px)'),
3657 xl('Rx Right Margin (px)')
3659 'rx_top_margin' => array(
3660 xl('Rx Top Margin (px)'),
3663 xl('Rx Top Margin (px)')
3665 'rx_bottom_margin' => array(
3666 xl('Rx Bottom Margin (px)'),
3669 xl('Rx Bottom Margin (px)')
3671 'rx_use_fax_template' => array(
3672 xl('Show button for download fax template'),
3673 'bool', // data type
3674 '1', // default = true
3675 xl('Show button in the prescription list for download fax template')
3677 'rx_zend_html_template' => array(
3678 xl('Rx html print - zend module'),
3679 'bool', // data type
3680 '0', // default = false
3681 xl('Use an html template from zend module')
3683 'rx_zend_html_action' => array(
3684 xl('Name of zend template for html print'),
3685 'text', // data type
3687 xl('Name of zend template for html print, possible to add custom template in the PrescriptionTemplate module')
3689 'rx_zend_pdf_template' => array(
3690 xl('Rx pdf - zend template'),
3691 'bool', // data type
3692 '0', // default = false
3693 xl('Use a pdf template from zend module')
3695 'rx_zend_pdf_action' => array(
3696 xl('Name of zend template for pdf export'),
3697 'text', // data type
3699 xl('Name of zend template for pdf export, possible to add custom template in the PrescriptionTemplate module')
3703 'pdf_layout' => array(
3706 'P' => xl('Portrait'),
3707 'L' => xl('Landscape')
3710 xl("Choose Layout Direction"),
3712 'pdf_language' => array(
3716 'af' => xl('Afrikaans'),
3718 'sq' => xl('Albanian'),
3719 'am' => xl('Amharic'),
3720 'ar' => xl('Arabic'),
3721 'an' => xl('Aragonese'),
3722 'hy' => xl('Armenian'),
3723 'as' => xl('Assamese'),
3724 'av' => xl('Avaric'),
3725 'ae' => xl('Avestan'),
3726 'ay' => xl('Aymara'),
3727 'az' => xl('Azerbaijani'),
3728 'bm' => xl('Bambara'),
3729 'ba' => xl('Bashkir'),
3730 'eu' => xl('Basque'),
3731 'be' => xl('Belarusian'),
3732 'bn' => xl('Bengali- Bangla'),
3733 'bh' => xl('Bihari'),
3734 'bi' => xl('Bislama'),
3735 'bs' => xl('Bosnian'),
3736 'br' => xl('Breton'),
3737 'bg' => xl('Bulgarian'),
3738 'my' => xl('Burmese'),
3739 'ca' => xl('Catalan-Â Valencian'),
3740 'ch' => xl('Chamorro'),
3741 'ce' => xl('Chechen'),
3742 'ny' => xl('Chichewa- Chewa- Nyanja'),
3743 'zh' => xl('Chinese'),
3744 'cv' => xl('Chuvash'),
3745 'kw' => xl('Cornish'),
3746 'co' => xl('Corsican'),
3748 'hr' => xl('Croatian'),
3749 'cs' => xl('Czech'),
3750 'da' => xl('Danish'),
3751 'dv' => xl('Divehi- Dhivehi- Maldivian-'),
3752 'nl' => xl('Dutch'),
3753 'dz' => xl('Dzongkha'),
3754 'en' => xl('English'),
3755 'eo' => xl('Esperanto'),
3756 'et' => xl('Estonian'),
3758 'fo' => xl('Faroese'),
3759 'fj' => xl('Fijian'),
3760 'fi' => xl('Finnish'),
3761 'fr' => xl('French'),
3762 'ff' => xl('Fula- Fulah- Pulaar- Pular'),
3763 'gl' => xl('Galician'),
3764 'ka' => xl('Georgian'),
3765 'de' => xl('German'),
3766 'el' => xl('Greek, Modern'),
3767 'gn' => xl('Guarani'),
3768 'gu' => xl('Gujarati'),
3769 'ht' => xl('Haitian- Haitian Creole'),
3770 'ha' => xl('Hausa'),
3771 'he' => xl('Hebrew (modern)'),
3772 'hz' => xl('Herero'),
3773 'hi' => xl('Hindi'),
3774 'ho' => xl('Hiri Motu'),
3775 'hu' => xl('Hungarian'),
3776 'ia' => xl('Interlingua'),
3777 'id' => xl('Indonesian'),
3778 'ie' => xl('Interlingue'),
3779 'ga' => xl('Irish'),
3781 'ik' => xl('Inupiaq'),
3783 'is' => xl('Icelandic'),
3784 'it' => xl('Italian'),
3785 'iu' => xl('Inuktitut'),
3786 'ja' => xl('Japanese'),
3787 'jv' => xl('Javanese'),
3788 'kl' => xl('Kalaallisut, Greenlandic'),
3789 'kn' => xl('Kannada'),
3790 'kr' => xl('Kanuri'),
3791 'ks' => xl('Kashmiri'),
3792 'kk' => xl('Kazakh'),
3793 'km' => xl('Khmer'),
3794 'ki' => xl('Kikuyu, Gikuyu'),
3795 'rw' => xl('Kinyarwanda'),
3796 'ky' => xl('Kyrgyz'),
3798 'kg' => xl('Kongo'),
3799 'ko' => xl('Korean'),
3800 'ku' => xl('Kurdish'),
3801 'kj' => xl('Kwanyama, Kuanyama'),
3802 'la' => xl('Latin'),
3803 'lb' => xl('Luxembourgish, Letzeburgesch'),
3804 'lg' => xl('Ganda'),
3805 'li' => xl('Limburgish, Limburgan, Limburger'),
3806 'ln' => xl('Lingala'),
3808 'lt' => xl('Lithuanian'),
3809 'lu' => xl('Luba-Katanga'),
3810 'lv' => xl('Latvian'),
3812 'mk' => xl('Macedonian'),
3813 'mg' => xl('Malagasy'),
3814 'ms' => xl('Malay'),
3815 'ml' => xl('Malayalam'),
3816 'mt' => xl('Maltese'),
3817 'mi' => xl('Maori'),
3818 'mr' => xl('Marathi (Marathi)'),
3819 'mh' => xl('Marshallese'),
3820 'mn' => xl('Mongolian'),
3821 'na' => xl('Nauru'),
3822 'nv' => xl('Navajo, Navaho'),
3823 'nb' => xl('Norwegian Bokmal'),
3824 'nd' => xl('North Ndebele'),
3825 'ne' => xl('Nepali'),
3826 'ng' => xl('Ndonga'),
3827 'nn' => xl('Norwegian Nynorsk'),
3828 'no' => xl('Norwegian'),
3829 'ii' => xl('Nuosu'),
3830 'nr' => xl('South Ndebele'),
3831 'oc' => xl('Occitan'),
3832 'oj' => xl('Ojibwe, Ojibwa'),
3833 'cu' => xl('Old Church Slavonic, Church Slavonic, Old Bulgarian'),
3834 'om' => xl('Oromo'),
3835 'or' => xl('Oriya'),
3836 'os' => xl('Ossetian, Ossetic'),
3837 'pa' => xl('Panjabi, Punjabi'),
3839 'fa' => xl('Persian (Farsi)'),
3840 'pl' => xl('Polish'),
3841 'ps' => xl('Pashto, Pushto'),
3842 'pt' => xl('Portuguese'),
3843 'qu' => xl('Quechua'),
3844 'rm' => xl('Romansh'),
3845 'rn' => xl('Kirundi'),
3846 'ro' => xl('Romanian'),
3847 'ru' => xl('Russian'),
3848 'sa' => xl('Sanskrit (Samskrta)'),
3849 'sc' => xl('Sardinian'),
3850 'sd' => xl('Sindhi'),
3851 'se' => xl('Northern Sami'),
3852 'sm' => xl('Samoan'),
3853 'sg' => xl('Sango'),
3854 'sr' => xl('Serbian'),
3855 'gd' => xl('Scottish Gaelic- Gaelic'),
3856 'sn' => xl('Shona'),
3857 'si' => xl('Sinhala, Sinhalese'),
3858 'sk' => xl('Slovak'),
3859 'sl' => xl('Slovene'),
3860 'so' => xl('Somali'),
3861 'st' => xl('Southern Sotho'),
3862 'es' => xl('Spanish- Castilian'),
3863 'su' => xl('Sundanese'),
3864 'sw' => xl('Swahili'),
3865 'ss' => xl('Swati'),
3866 'sv' => xl('Swedish'),
3867 'ta' => xl('Tamil'),
3868 'te' => xl('Telugu'),
3869 'tg' => xl('Tajik'),
3871 'ti' => xl('Tigrinya'),
3872 'bo' => xl('Tibetan Standard, Tibetan, Central'),
3873 'tk' => xl('Turkmen'),
3874 'tl' => xl('Tagalog'),
3875 'tn' => xl('Tswana'),
3876 'to' => xl('Tonga (Tonga Islands)'),
3877 'tr' => xl('Turkish'),
3878 'ts' => xl('Tsonga'),
3879 'tt' => xl('Tatar'),
3881 'ty' => xl('Tahitian'),
3882 'ug' => xl('Uyghur, Uighur'),
3883 'uk' => xl('Ukrainian'),
3885 'uz' => xl('Uzbek'),
3886 've' => xl('Venda'),
3887 'vi' => xl('Vietnamese'),
3888 'vo' => xl('Volapuk'),
3889 'wa' => xl('Walloon'),
3890 'cy' => xl('Welsh'),
3891 'wo' => xl('Wolof'),
3892 'fy' => xl('Western Frisian'),
3893 'xh' => xl('Xhosa'),
3894 'yi' => xl('Yiddish'),
3895 'yo' => xl('Yoruba'),
3896 'za' => xl('Zhuang, Chuang'),
3899 'en', // default English
3900 xl('Choose PDF languange Preference'),
3902 'pdf_size' => array(
3903 xl('Paper Size'), // Descriptive Name
3905 'LETTER' => xl('Letter Paper Size'),
3906 'LEGAL' => xl('Legal Paper Size'),
3907 'FOLIO' => xl('Folio Paper Size'),
3908 'EXECUTIVE' => xl('Executive Paper Size'),
3909 '4A0' => ('4A0' . " " . xl('Paper Size')),
3910 '2A0' => ('2A0' . " " . xl('Paper Size')),
3911 'A0' => ('A0' . " " . xl('Paper Size')),
3912 'A1' => ('A1' . " " . xl('Paper Size')),
3913 'A2' => ('A2' . " " . xl('Paper Size')),
3914 'A3' => ('A3' . " " . xl('Paper Size')),
3915 'A4' => ('A4' . " " . xl('Paper Size')),
3916 'A5' => ('A5' . " " . xl('Paper Size')),
3917 'A6' => ('A6' . " " . xl('Paper Size')),
3918 'A7' => ('A7' . " " . xl('Paper Size')),
3919 'A8' => ('A8' . " " . xl('Paper Size')),
3920 'A9' => ('A9' . " " . xl('Paper Size')),
3921 'A10' => ('A10' . " " . xl('Paper Size')),
3922 'B0' => ('B0' . " " . xl('Paper Size')),
3923 'B1' => ('B1' . " " . xl('Paper Size')),
3924 'B2' => ('B2' . " " . xl('Paper Size')),
3925 'B3' => ('B3' . " " . xl('Paper Size')),
3926 'B4' => ('B4' . " " . xl('Paper Size')),
3927 'B5' => ('B5' . " " . xl('Paper Size')),
3928 'B6' => ('B6' . " " . xl('Paper Size')),
3929 'B7' => ('B7' . " " . xl('Paper Size')),
3930 'B8' => ('B8' . " " . xl('Paper Size')),
3931 'B9' => ('B9' . " " . xl('Paper Size')),
3932 'B10' => ('B10' . " " . xl('Paper Size')),
3933 'C0' => ('C0' . " " . xl('Paper Size')),
3934 'C1' => ('C1' . " " . xl('Paper Size')),
3935 'C2' => ('C2' . " " . xl('Paper Size')),
3936 'C3' => ('C3' . " " . xl('Paper Size')),
3937 'C4' => ('C4' . " " . xl('Paper Size')),
3938 'C5' => ('C5' . " " . xl('Paper Size')),
3939 'C6' => ('C6' . " " . xl('Paper Size')),
3940 'C7' => ('C7' . " " . xl('Paper Size')),
3941 'C8' => ('C8' . " " . xl('Paper Size')),
3942 'C9' => ('C9' . " " . xl('Paper Size')),
3943 'C10' => ('C10' . " " . xl('Paper Size')),
3944 'RA0' => ('RA0' . " " . xl('Paper Size')),
3945 'RA1' => ('RA1' . " " . xl('Paper Size')),
3946 'RA2' => ('RA2' . " " . xl('Paper Size')),
3947 'RA3' => ('RA3' . " " . xl('Paper Size')),
3948 'RA4' => ('RA4' . " " . xl('Paper Size')),
3949 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
3950 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
3951 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
3952 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
3953 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
3956 xl('Choose Paper Size')
3958 'pdf_left_margin' => array(
3959 xl('Left Margin (mm)'),
3962 xl('Left Margin (mm)')
3964 'pdf_right_margin' => array(
3965 xl('Right Margin (mm)'),
3968 xl('Right Margin (mm)')
3970 'pdf_top_margin' => array(
3971 xl('Top Margin (mm)'),
3974 xl('Top Margin (mm)')
3976 'pdf_bottom_margin' => array(
3977 xl('Bottom Margin (px)'),
3980 xl('Bottom Margin (px)')
3982 'pdf_output' => array(
3985 'D' => xl('Download'),
3989 xl("Choose Download or Display Inline"),
3992 'chart_label_type' => array(
3993 xl('Patient Label Type'),
4001 xl('Avery Label type for printing patient labels from popups in left nav screen'),
4004 'barcode_label_type' => array(
4005 xl('Barcode Label Type'),
4019 '12' => 'datamatrix'
4021 '9', // default = None
4022 xl('Barcode type for printing barcode labels from popups in left nav screen.')
4025 'addr_label_type' => array(
4026 xl('Print Patient Address Label'),
4027 'bool', // data type
4028 '1', // default = false
4029 xl('Select to print patient address labels from popups in left nav screen.')
4032 'env_x_width' => array(
4033 xl('Envelope Width in mm'),
4036 xl('In Portrait mode, determines the width of the envelope along the x-axis in mm')
4039 'env_y_height' => array(
4040 xl('Envelope Height in mm'),
4043 xl('In Portrait mode, determines the height of the envelope along the y-axis in mm')
4046 'env_font_size' => array(
4047 xl('Font Size in Pt'),
4050 xl('Sets the font of the address text on the envelope in mm')
4053 'env_x_dist' => array(
4054 xl('Envelope x-axis starting pt'),
4057 xl('Distance from the \'top\' of the envelope in mm')
4060 'env_y_dist' => array(
4061 xl('Envelope y-axis starting pt'),
4064 xl('Distance from the right most edge of the envelope in portrait position in mm')
4069 'Patient Banner Bar' => [
4070 'patient_name_display' => [
4071 xl('Patient Name Display'),
4073 'btn' => xl('As Button'),
4074 'text' => xl('As Text Link'),
4075 'text-large' => xl('As Large Text Link'),
4078 xl('How to display the patient name'),
4082 'Encounter Form' => [
4083 'default_chief_complaint' => array(
4084 xl('Default Reason for Visit'),
4085 'text', // data type
4087 xl('You may put text here as the default complaint in the New Patient Encounter form.')
4090 'default_visit_category' => [
4091 xl('Default Visit Category'),
4092 'default_visit_category',
4094 xl('Define a default visit category'),
4097 'enable_follow_up_encounters' => [
4098 xl('Enable follow-up encounters'),
4101 xl('Enable follow-up encounters feature')
4104 'gbl_visit_referral_source' => array(
4105 xl('Referral Source for Encounters'),
4106 'bool', // data type
4107 '0', // default = false
4108 xl('A referral source may be specified for each visit.')
4111 'gbl_visit_onset_date' => array(
4112 xl('Onset/Hosp Date for Encounters'),
4113 'bool', // data type
4114 '1', // default = true
4115 xl('An onset/hospitalization date may be specified for each visit.')
4118 'set_pos_code_encounter' => [
4119 xl('Set POS code in encounter'),
4120 'bool', // data type
4121 '0', // default = false
4122 xl('This feature will allow the default POS facility code to be overridden from the encounter.')
4125 'enc_service_date' => [
4126 xl('Show Date of Service on Encounter Form'),
4127 getDefaultRenderListOptions(),
4128 RenderFormFieldHelper
::SHOW_ALL
,
4129 xl('How to display the Date of Service on the Encounter form. Defaults to the current time on a new form'),
4132 'enc_sensitivity_visibility' => [
4133 xl('Show Sensitivity on Encounter Form'),
4134 getDefaultRenderListOptions(),
4135 RenderFormFieldHelper
::SHOW_ALL
,
4136 xl('How to display the sensitivity option'),
4139 'enc_enable_issues' => [
4140 xl('Allow Linking/Adding Issues on Encounter'),
4141 getDefaultRenderListOptions(),
4142 RenderFormFieldHelper
::SHOW_ALL
,
4143 xl('Allow issues to be linked or added to an encounter'),
4146 'enc_enable_referring_provider' => [
4147 xl('Show Referring Provider option on Encounters'),
4148 getDefaultRenderListOptions(),
4149 RenderFormFieldHelper
::SHOW_ALL
,
4150 xl('Display the Referring Provider option on Encounters'),
4153 'enc_enable_facility' => [
4154 xl('Show Facility option on Encounters'),
4155 getDefaultRenderListOptions(),
4156 RenderFormFieldHelper
::SHOW_ALL
,
4157 xl('Display the Referring Provider option on Encounters'),
4160 'enc_enable_discharge_disposition' => [
4161 xl('Show Discharge Disposition option on Encounters'),
4162 getDefaultRenderListOptions(),
4163 RenderFormFieldHelper
::SHOW_ALL
,
4164 xl('Display the Discharge Disposition option on the Encounter form'),
4167 'enc_enable_visit_category' => [
4168 xl('Show Visit Category option on Encounters'),
4169 getDefaultRenderListOptions(),
4170 RenderFormFieldHelper
::SHOW_ALL
,
4171 xl('Show Visit Category option on Encounters'),
4174 'enc_enable_class' => [
4175 xl('Show Encounter Class option on Encounters'),
4176 getDefaultRenderListOptions(),
4177 RenderFormFieldHelper
::SHOW_ALL
,
4178 xl('Show Encounter Class option on Encounters'),
4181 'enc_enable_type' => [
4182 xl('Show Encounter Type option on Encounters'),
4183 getDefaultRenderListOptions(),
4184 RenderFormFieldHelper
::SHOW_ALL
,
4185 xl('Show Encounter Class option on Encounters'),
4191 if (!empty($GLOBALS['ippf_specific'])) {
4192 $GLOBALS['GLOBALS_METADATA']['IPPF Menu'] = array(
4194 'gbl_menu_stats_ippf' => array(
4195 xl('IPPF Statistics Reporting'),
4196 'bool', // data type
4198 xl('IPPF statistical reports.')
4201 'gbl_menu_stats_gcac' => array(
4202 xl('GCAC Statistics Reporting'),
4203 'bool', // data type
4205 xl('GCAC statistical reports.')
4208 'gbl_menu_stats_ma' => array(
4209 xl('MA Statistics Reporting'),
4210 'bool', // data type
4212 xl('MA statistical reports.')
4215 'gbl_menu_stats_cyp' => array(
4216 xl('CYP Statistics Reporting'),
4217 'bool', // data type
4219 xl('CYP statistical reports.')
4222 'gbl_menu_stats_daily' => array(
4223 xl('Daily Statistics Reporting'),
4224 'bool', // data type
4226 xl('Daily statistical reports.')
4229 'gbl_menu_stats_c3' => array(
4230 xl('C3 Statistics Reporting'),
4231 'bool', // data type
4233 xl('C3 statistical reports.')
4236 'gbl_menu_stats_cc' => array(
4237 xl('Cervical Cancer Reporting'),
4238 'bool', // data type
4240 xl('Cervical cancer statistical reports.')
4243 'gbl_menu_stats_sinadi' => array(
4244 xl('SINADI Report'),
4245 'bool', // data type
4247 xl('Uruguay SINADI statistical report.')
4250 'gbl_menu_visits_by_item' => array(
4251 xl('Visits by Item Report'),
4252 'bool', // data type
4254 xl('Visits by Item Report')
4257 'gbl_menu_acct_trans' => array(
4258 xl('Accounting Transactions Export'),
4259 'bool', // data type
4261 xl('Accounting transactions export to CSV')
4264 'gbl_menu_projects' => array(
4265 xl('Restricted Projects Reporting'),
4266 'bool', // data type
4268 xl('For IPPF Belize and maybe others')
4271 'gbl_menu_surinam_insurance' => array(
4272 xl('LOBI Insurers Report'),
4273 'bool', // data type
4275 xl('For IPPF Suriname and maybe others')
4278 'gbl_menu_netsuite' => array(
4279 xl('NetSuite Reports'),
4280 'bool', // data type
4282 xl('For NetSuite financial integration')
4285 'gbl_menu_ive_clients' => array(
4286 xl('IVE Client List'),
4287 'bool', // data type
4289 xl('Client List of IVE Activity')
4292 'gbl_menu_shifts' => array(
4293 xl('Shifts Reporting'),
4294 'bool', // data type
4296 xl('For IPPF Argentina and maybe others')
4299 'gbl_menu_service_and_client_volume' => array(
4300 xl('Service and Client Volume Report'),
4301 'bool', // data type
4303 xl('Service and Client Volume Report')
4307 $GLOBALS['GLOBALS_METADATA']['IPPF Features'] = array(
4309 'gbl_rapid_workflow' => array(
4310 xl('Rapid Workflow Option'),
4313 'LBFmsivd' => xl('MSI (requires LBFmsivd form)'),
4314 'fee_sheet' => xl('Fee Sheet and Checkout'),
4317 xl('Activates custom work flow logic')
4320 'gbl_new_acceptor_policy' => array(
4321 xl('New Acceptor Policy'),
4323 '0' => xl('Not applicable'),
4324 '1' => xl('Simplified; Contraceptive Start Date on Tally Sheet'),
4325 '3' => xl('Contraception Form; Acceptors New to Modern Contraception'),
4328 xl('Applicable only for family planning clinics')
4331 'gbl_min_max_months' => array(
4332 xl('Min/Max Inventory as Months'),
4333 'bool', // data type
4334 '1', // default = true
4335 xl('Min/max inventory is expressed as months of supply instead of units')
4338 'gbl_restrict_provider_facility' => array(
4339 xl('Restrict Providers by Facility'),
4340 'bool', // data type
4342 xl('Limit service provider selection according to the facility of the logged-in user.')
4345 'gbl_checkout_line_adjustments' => array(
4346 xl('Adjustments at Checkout'),
4348 '0' => xl('Invoice Level Only'),
4349 '1' => xl('Line Items Only'),
4350 '2' => xl('Invoice and Line Levels'),
4352 '1', // default = line items only
4353 xl('Discounts at checkout time may be entered per invoice or per line item or both.')
4356 'gbl_checkout_charges' => array(
4357 xl('Unit Price in Checkout and Receipt'),
4358 'bool', // data type
4359 '0', // default = false
4360 xl('Include line item unit price amounts in checkout and receipts.')
4363 'gbl_charge_categories' => array(
4364 xl('Customers in Checkout and Receipt'),
4365 'bool', // data type
4366 '0', // default = false
4367 xl('Include Customers in checkout and receipts. See the Customers list.')
4370 'gbl_auto_create_rx' => array(
4371 xl('Automatically Create Prescriptions'),
4372 'bool', // data type
4373 '0', // default = false
4374 xl('Prescriptions may be created from the Fee Sheet.')
4377 'gbl_checkout_receipt_note' => array(
4378 xl('Checkout Receipt Note'),
4379 'text', // data type
4381 xl('This note goes on the bottom of every checkout receipt.')
4384 'gbl_custom_receipt' => array(
4385 xl('Custom Checkout Receipt'),
4388 'checkout_receipt_general.inc.php' => xl('POS Printer'),
4389 'checkout_receipt_panama.inc.php' => xl('Panama'),
4392 xl('Present an additional PDF custom receipt after checkout.')
4395 'gbl_ma_ippf_code_restriction' => array(
4396 xl('Allow More than one MA/IPPF code mapping'),
4397 'bool', // data type
4398 '0', // default = false
4399 xl('Disable the restriction of only one IPPF code per MA code in superbill')
4402 'gbl_uruguay_asse_url' => array(
4403 xl('Uruguay ASSE URL'),
4404 'text', // data type
4406 xl('URL of ASSE SOAP server. Must be blank if not a Uruguay site. Enter "test" for dummy data.')
4409 'gbl_uruguay_asse_token' => array(
4410 xl('Uruguay ASSE Token'),
4411 'text', // data type
4413 xl('Token for connection to ASSE SOAP server')
4416 } // end if ippf_specific
4418 if (empty($skipGlobalEvent)) {
4419 $globalsInitEvent = new GlobalsInitializedEvent(new GlobalsService($GLOBALS_METADATA, $USER_SPECIFIC_GLOBALS, $USER_SPECIFIC_TABS));
4420 $globalsInitEvent = $GLOBALS["kernel"]->getEventDispatcher()->dispatch(GlobalsInitializedEvent
::EVENT_HANDLE
, $globalsInitEvent, 10);
4421 $globalsService = $globalsInitEvent->getGlobalsService()->save();