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