log failed queries to php log and provide stack trace in browser error message
[openemr.git] / library / globals.inc.php
blob739659a9a114bc1615b6f1ebe18d1916652569c5
1 <?php
2 // Copyright (C) 2010 Rod Roark <rod@sunsetsystems.com>
3 //
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License
6 // as published by the Free Software Foundation; either version 2
7 // of the License, or (at your option) any later version.
9 // $GLOBALS['print_command'] is the
10 // Print command for spooling to printers, used by statements.inc.php
11 // This is the command to be used for printing (without the filename).
12 // The word following "-P" should be the name of your printer. This
13 // example is designed for 8.5x11-inch paper with 1-inch margins,
14 // 10 CPI, 6 LPI, 65 columns, 54 lines per page.
16 // IF lpr services are installed on Windows this setting will be similar
17 // Otherwise configure it as needed (print /d:PRN) might be an option for Windows parallel printers
19 // Current supported languages: // Allow capture of term for translation:
20 // Albanian // xl('Albanian')
21 // Amharic // xl('Amharic')
22 // Arabic // xl('Arabic')
23 // Armenian // xl('Armenian')
24 // Bahasa Indonesia // xl('Bahasa Indonesia')
25 // Bengali // xl('Bengali')
26 // Chinese (Simplified) // xl('Chinese (Simplified)')
27 // Chinese (Traditional) // xl('Chinese (Traditional)')
28 // Czech // xl('Czech')
29 // Danish // xl('Danish')
30 // Dutch // xl('Dutch')
31 // English (Indian) // xl('English (Indian)')
32 // English (Standard) // xl('English (Standard)')
33 // Estonian // xl('Estonian')
34 // French // xl('French (Standard)')
35 // French // xl('French (Canadian)')
36 // German // xl('German')
37 // Greek // xl('Greek')
38 // Hebrew // xl('Hebrew')
39 // Hindi // xl('Hindi')
40 // Hungarian // xl('Hungarian')
41 // Italian // xl('Italian')
42 // Lithuanian // xl('Lithuanian')
43 // Norwegian // xl('Norwegian')
44 // Persian // xl('Persian')
45 // Polish // xl('Polish')
46 // Portuguese (Brazilian) // xl('Portuguese (Brazilian)')
47 // Portuguese (European) // xl('Portuguese (European)')
48 // Romanian // xl('Romanian')
49 // Russian // xl('Russian')
50 // Slovak // xl('Slovak')
51 // Spanish (Latin American) // xl('Spanish (Latin American)')
52 // Spanish (Spain) // xl('Spanish (Spain)')
53 // Swedish // xl('Swedish')
54 // Turkish // xl('Turkish')
55 // Ukrainian // xl('Ukrainian')
56 // Vietnamese // xl('Vietnamese')
58 // OS-dependent stuff.
59 if (stristr(PHP_OS, 'WIN')) {
60 // MS Windows
61 $mysql_bin_dir = 'C:/xampp/mysql/bin';
62 $perl_bin_dir = 'C:/xampp/perl/bin';
63 $temporary_files_dir = 'C:/windows/temp';
64 $backup_log_dir = 'C:/windows/temp';
66 else {
67 // Everything else
68 $mysql_bin_dir = '/usr/bin';
69 $perl_bin_dir = '/usr/bin';
70 $temporary_files_dir = '/tmp';
71 $backup_log_dir = '/tmp';
74 // Language constant declarations:
75 // xl('Appearance')
76 // xl('Locale')
77 // xl('Features')
78 // xl('Calendar')
79 // xl('Security')
80 // xl('Notifications')
81 // xl('Miscellaneous')
83 // List of user specific tabs and globals
84 $USER_SPECIFIC_TABS = array('Appearance',
85 'Locale',
86 'Calendar',
87 'Connectors');
88 $USER_SPECIFIC_GLOBALS = array('default_top_pane',
89 'concurrent_layout',
90 'css_header',
91 'gbl_pt_list_page_size',
92 'gbl_pt_list_new_window',
93 'units_of_measurement',
94 'us_weight_format',
95 'date_display_format',
96 'time_display_format',
97 'event_color',
98 'erx_import_status_message');
100 $GLOBALS_METADATA = array(
102 // Appearance Tab
104 'Appearance' => array(
106 'default_top_pane' => array(
107 xl('Main Top Pane Screen'), // descriptive name
108 array(
109 'main_info.php' => xl('Calendar Screen'),
110 '../new/new.php' => xl('Patient Search/Add Screen'),
112 'main_info.php', // default = calendar
113 xl('Type of screen layout')
116 'concurrent_layout' => array(
117 xl('Layout Style'), // descriptive name
118 array(
119 '0' => xl('Old style layout with no left menu'),
120 '1' => xl('Navigation menu consists of pairs of radio buttons'),
121 '2' => xl('Navigation menu is a tree view'),
122 '3' => xl('Navigation uses a sliding menu'),
124 '3', // default = tree menu
125 xl('Type of screen layout')
128 'css_header' => array(
129 xl('Theme'),
130 'css',
131 'style_oemr.css',
132 xl('Pick a CSS theme.')
135 'gbl_nav_area_width' => array(
136 xl('Navigation Area Width'),
137 'num',
138 '150',
139 xl('Width in pixels of the left navigation frame.')
142 'openemr_name' => array(
143 xl('Application Title'),
144 'text',
145 'OpenEMR',
146 xl('Application name for login page and main window title.')
149 'full_new_patient_form' => array(
150 xl('New Patient Form'),
151 array(
152 '0' => xl('Old-style static form without search or duplication check'),
153 '1' => xl('All demographics fields, with search and duplication check'),
154 '2' => xl('Mandatory or specified fields only, search and dup check'),
155 '3' => xl('Mandatory or specified fields only, dup check, no search'),
157 '1', // default
158 xl('Style of form used for adding new patients')
161 'patient_search_results_style' => array(
162 xl('Patient Search Results Style'),
163 array(
164 '0' => xl('Encounter statistics'),
165 '1' => xl('Mandatory and specified fields'),
167 '0', // default
168 xl('Type of columns displayed for patient search results')
171 'gbl_tall_nav_area' => array(
172 xl('Tall Navigation Area'),
173 'bool', // data type
174 '0', // default = false
175 xl('Navigation area uses full height of frameset')
178 'gbl_nav_visit_forms' => array(
179 xl('Navigation Area Visit Forms'),
180 'bool', // data type
181 '1', // default = true
182 xl('Navigation area includes encounter forms')
185 'simplified_demographics' => array(
186 xl('Simplified Demographics'),
187 'bool', // data type
188 '0', // default = false
189 xl('Omit insurance and some other things from the demographics form')
192 'simplified_prescriptions' => array(
193 xl('Simplified Prescriptions'),
194 'bool', // data type
195 '0', // default = false
196 xl('Omit form, route and interval which then become part of dosage')
199 'simplified_copay' => array(
200 xl('Simplified Co-Pay'),
201 'bool', // data type
202 '0', // default = false
203 xl('Omit method of payment from the co-pay panel')
206 'use_charges_panel' => array(
207 xl('Use Charges Panel'),
208 'bool', // data type
209 '0', // default = false
210 xl('Enables the old Charges panel for entering billing codes and payments. Not recommended, use the Fee Sheet instead.')
213 // TajEmo Work BY CB 2012/06/21 10:42:31 AM added option to Hide Fees
214 'enable_fees_in_left_menu' => array(
215 xl('Enable Fees In Left Menu'),
216 'bool', // data type
217 '1', // default = true
218 xl('Enable Fees In Left Menu')
220 // EDI history 2012-09-13
221 'enable_edihistory_in_left_menu' => array(
222 xl('Enable EDI History In Left Menu'),
223 'bool', // data type
224 '1', // default = true
225 xl('EDI History (under Fees) for storing and interpreting EDI claim response files')
228 'online_support_link' => array(
229 xl('Online Support Link'),
230 'text', // data type
231 'http://open-emr.org/',
232 xl('URL for OpenEMR support.')
235 'encounter_page_size' => array(
236 xl('Encounter Page Size'),
237 array(
238 '0' => xl('Show All'),
239 '5' => '5',
240 '10' => '10',
241 '15' => '15',
242 '20' => '20',
243 '25' => '25',
244 '50' => '50',
246 '20',
247 xl('Number of encounters to display per page.')
250 'gbl_pt_list_page_size' => array(
251 xl('Patient List Page Size'),
252 array(
253 '10' => '10',
254 '25' => '25',
255 '50' => '50',
256 '100' => '100',
258 '10',
259 xl('Number of patients to display per page in the patient list.')
262 'gbl_pt_list_new_window' => array(
263 xl('Patient List New Window'),
264 'bool', // data type
265 '0', // default = false
266 xl('Default state of New Window checkbox in the patient list.')
269 'gbl_vitals_options' => array(
270 xl('Vitals Form Options'),
271 array(
272 '0' => xl('Standard'),
273 '1' => xl('Omit circumferences'),
275 '0', // default
276 xl('Special treatment for the Vitals form')
281 // Locale Tab
283 'Locale' => array(
285 'language_default' => array(
286 xl('Default Language'),
287 'lang', // data type
288 'English (Standard)', // default = english
289 xl('Default language if no other is allowed or chosen.')
292 'language_menu_showall' => array(
293 xl('All Languages Allowed'),
294 'bool', // data type
295 '1', // default = true
296 xl('Allow all available languages as choices on menu at login.')
299 'language_menu_other' => array(
300 xl('Allowed Languages'),
301 'm_lang', // data type
302 '', // default = none
303 xl('Select which languages, if any, may be chosen at login. (only pertinent if above All Languages Allowed is turned off)')
306 'allow_debug_language' => array(
307 xl('Allow Debugging Language'),
308 'bool', // data type
309 '1', // default = true during development and false for production releases
310 xl('This will allow selection of the debugging (\'dummy\') language.')
313 'translate_layout' => array(
314 xl('Translate Layouts'),
315 'bool', // data type
316 '1', // default = true
317 xl('Is text from form layouts to be translated?')
320 'translate_lists' => array(
321 xl('Translate Lists'),
322 'bool', // data type
323 '1', // default = true
324 xl('Is text from lists to be translated?')
327 'translate_gacl_groups' => array(
328 xl('Translate Access Control Groups'),
329 'bool', // data type
330 '1', // default = true
331 xl('Are access control group names to be translated?')
334 'translate_form_titles' => array(
335 xl('Translate Patient Note Titles'),
336 'bool', // data type
337 '1', // default = true
338 xl('Are patient note titles to be translated?')
341 'translate_document_categories' => array(
342 xl('Translate Document Categories'),
343 'bool', // data type
344 '1', // default = true
345 xl('Are document category names to be translated?')
348 'translate_appt_categories' => array(
349 xl('Translate Appointment Categories'),
350 'bool', // data type
351 '1', // default = true
352 xl('Are appointment category names to be translated?')
355 'units_of_measurement' => array(
356 xl('Units for Visit Forms'),
357 array(
358 '1' => xl('Show both US and metric (main unit is US)'),
359 '2' => xl('Show both US and metric (main unit is metric)'),
360 '3' => xl('Show US only'),
361 '4' => xl('Show metric only'),
363 '1', // default = Both/US
364 xl('Applies to the Vitals form and Growth Chart')
367 'us_weight_format' => array(
368 xl('Display Format for US Weights'),
369 array(
370 '1'=>xl('Show pounds as decimal value'),
371 '2'=>xl('Show pounds and ounces')
373 '1',
374 xl('Applies to Vitals form')
377 'disable_deprecated_metrics_form' => array(
378 xl('Disable Old Metric Vitals Form'),
379 'bool', // data type
380 '1', // default = true
381 xl('This was the older metric-only Vitals form, now deprecated.')
384 'phone_country_code' => array(
385 xl('Telephone Country Code'),
386 'num',
387 '1', // default = North America
388 xl('1 = North America. See http://www.wtng.info/ for a list of other country codes.')
391 'date_display_format' => array(
392 xl('Date Display Format'),
393 array(
394 '0' => xl('YYYY-MM-DD'),
395 '1' => xl('MM/DD/YYYY'),
396 '2' => xl('DD/MM/YYYY'),
398 '0',
399 xl('Format used to display most dates.')
402 'time_display_format' => array(
403 xl('Time Display Format'),
404 array(
405 '0' => xl('24 hr'),
406 '1' => xl('12 hr'),
408 '0',
409 xl('Format used to display most times.')
412 'currency_decimals' => array(
413 xl('Currency Decimal Places'),
414 array(
415 '0' => xl('0'),
416 '1' => xl('1'),
417 '2' => xl('2'),
419 '2',
420 xl('Number of digits after decimal point for currency, usually 0 or 2.')
423 'currency_dec_point' => array(
424 xl('Currency Decimal Point Symbol'),
425 array(
426 '.' => xl('Period'),
427 ',' => xl('Comma'),
429 '.',
430 xl('Symbol used as the decimal point for currency. Not used if Decimal Places is 0.')
433 'currency_thousands_sep' => array(
434 xl('Currency Thousands Separator'),
435 array(
436 ',' => xl('Comma'),
437 '.' => xl('Period'),
438 ' ' => xl('Space'),
439 '' => xl('None'),
441 ',',
442 xl('Symbol used to separate thousands for currency.')
445 'gbl_currency_symbol' => array(
446 xl('Currency Designator'),
447 'text', // data type
448 '$', // default
449 xl('Code or symbol to indicate currency')
451 'age_display_format'=>array(xl('Age Display Format'),
452 array(
453 '0'=>xl('Years or months'),
454 '1'=>xl('Years, months and days')
456 '0',
457 xl('Format for age display')
459 'age_display_limit' => array(
460 xl('Age in Years for Display Format Change'),
461 'num',
462 '3',
463 xl('If YMD is selected for age display, switch to just Years when patients older than this value in years')
467 // Features Tab
469 'Features' => array(
471 'specific_application' => array(
472 xl('Specific Application'),
473 array(
474 '0' => xl('None'),
475 '1' => xl('Athletic team'),
476 '2' => xl('IPPF'),
477 '3' => xl('Weight loss clinic'),
479 '0', // default
480 xl('Indicator for specialized usage')
483 'inhouse_pharmacy' => array(
484 xl('Drugs and Products'),
485 array(
486 '0' => xl('Do not inventory and sell any products'),
487 '1' => xl('Inventory and sell drugs only'),
488 '2' => xl('Inventory and sell both drugs and non-drug products'),
489 '3' => xl('Products but no prescription drugs and no templates'),
491 '0', // default
492 xl('Option to support inventory and sales of products')
495 'disable_chart_tracker' => array(
496 xl('Disable Chart Tracker'),
497 'bool', // data type
498 '0', // default = false
499 xl('Removes the Chart Tracker feature')
502 'disable_phpmyadmin_link' => array(
503 xl('Disable phpMyAdmin'),
504 'bool', // data type
505 '0', // default = false
506 xl('Removes support for phpMyAdmin')
509 'disable_immunizations' => array(
510 xl('Disable Immunizations'),
511 'bool', // data type
512 '0', // default = false
513 xl('Removes support for immunizations')
516 'disable_prescriptions' => array(
517 xl('Disable Prescriptions'),
518 'bool', // data type
519 '0', // default = false
520 xl('Removes support for prescriptions')
523 'omit_employers' => array(
524 xl('Omit Employers'),
525 'bool', // data type
526 '0', // default = false
527 xl('Omit employer information in patient demographics')
530 'select_multi_providers' => array(
531 xl('Support Multi-Provider Events'),
532 'bool', // data type
533 '0', // default = false
534 xl('Support calendar events that apply to multiple providers')
537 'disable_non_default_groups' => array(
538 xl('Disable User Groups'),
539 'bool', // data type
540 '1', // default = true
541 xl('Normally this should be checked. Not related to access control.')
544 'ignore_pnotes_authorization' => array(
545 xl('Skip Authorization of Patient Notes'),
546 'bool', // data type
547 '1', // default = true
548 xl('Do not require patient notes to be authorized')
551 'support_encounter_claims' => array(
552 xl('Allow Encounter Claims'),
553 'bool', // data type
554 '0', // default = false
555 xl('Allow creation of claims containing diagnoses but not procedures or charges. Most clinics do not want this.')
558 'advance_directives_warning' => array(
559 xl('Advance Directives Warning'),
560 'bool', // data type
561 '0', // default = false
562 xl('Display advance directives in the demographics page.')
565 'configuration_import_export' => array(
566 xl('Configuration Export/Import'),
567 'bool', // data type
568 '0', // default = false
569 xl('Support export/import of configuration data via the Backup page.')
572 'restrict_user_facility' => array(
573 xl('Restrict Users to Facilities'),
574 'bool', // data type
575 '0', // default
576 xl('Restrict non-authorized users to the Schedule Facilities set in User admin.')
579 'set_facility_cookie' => array(
580 xl('Remember Selected Facility'),
581 'bool', // data type
582 '0', // default
583 xl('Set a facility cookie to remember the selected facility between logins.')
586 'receipts_by_provider' => array(
587 xl('Print Receipts by Provider'),
588 'bool',
589 '0', // default
590 xl('Causes Receipts to Print Encounter/Primary Provider Info')
593 'discount_by_money' => array(
594 xl('Discounts as Monetary Amounts'),
595 'bool', // data type
596 '1', // default = true
597 xl('Discounts at checkout time are entered as money amounts, as opposed to percentage.')
600 'gbl_visit_referral_source' => array(
601 xl('Referral Source for Encounters'),
602 'bool', // data type
603 '0', // default = false
604 xl('A referral source may be specified for each visit.')
607 'gbl_mask_patient_id' => array(
608 xl('Mask for Patient IDs'),
609 'text', // data type
610 '', // default
611 xl('Specifies formatting for the external patient ID. # = digit, @ = alpha, * = any character. Empty if not used.')
614 'gbl_mask_invoice_number' => array(
615 xl('Mask for Invoice Numbers'),
616 'text', // data type
617 '', // default
618 xl('Specifies formatting for invoice reference numbers. # = digit, @ = alpha, * = any character. Empty if not used.')
621 'gbl_mask_product_id' => array(
622 xl('Mask for Product IDs'),
623 'text', // data type
624 '', // default
625 xl('Specifies formatting for product NDC fields. # = digit, @ = alpha, * = any character. Empty if not used.')
628 'force_billing_widget_open' => array(
629 xl('Force Billing Widget Open'),
630 'bool', // data type
631 '0', // default = false
632 xl('This will force the Billing Widget in the Patient Summary screen to always be open.')
635 'num_past_appointments_to_show' => array(
636 xl('Past Appointment Display Widget'),
637 'num', // data type
638 '0', // default = false
639 xl('A positive number will show that many past appointments on a Widget in the Patient Summary screen.')
642 'activate_ccr_ccd_report' => array(
643 xl('Activate CCR/CCD Reporting'),
644 'bool', // data type
645 '1', // default = true
646 xl('This will activate the CCR(Continuity of Care Record) and CCD(Continuity of Care Document) reporting.')
649 'hide_document_encryption' => array(
650 xl('Hide Encryption/Decryption Options In Document Management'),
651 'bool', // data type
652 '1', // default = true
653 xl('This will deactivate document the encryption and decryption features, and hide them in the UI.')
656 'use_custom_immun_list' => array(
657 xl('Use Custom Immunization List'),
658 'bool', // data type
659 '0', // default = true
660 xl('This will use the custom immunizations list rather than the standard CVX immunization list.')
665 //Documents Tab
666 'Documents' => array(
667 'document_storage_method' => array(
668 xl('Document Storage Method'),
669 array(
670 '0' => xl('Hard Disk'),
671 '1' => xl('CouchDB')
673 '0', // default
674 xl('Option to save method of document storage.')
676 'couchdb_host' => array(
677 xl('CouchDB HostName'),
678 'text',
679 'localhost',
680 xl('CouchDB host'),
682 'couchdb_user' => array(
683 xl('CouchDB UserName'),
684 'text',
686 xl('Username to connect to CouchDB'),
688 'couchdb_pass' => array(
689 xl('CouchDB Password'),
690 'text',
692 xl('Password to connect to CouchDB'),
694 'couchdb_port' => array(
695 xl('CouchDB Port'),
696 'text',
697 '5984',
698 xl('CouchDB port'),
700 'couchdb_dbase' => array(
701 xl('CouchDB Database'),
702 'text',
704 xl('CouchDB database name'),
706 'couchdb_log' => array(
707 xl('CouchDB Log Enable'),
708 'bool',
709 '0',
710 xl('Enable log for document uploads/downloads to CouchDB'),
713 'patient_id_category_name' => array(
714 xl('Patient ID Category Name'),
715 'text', // data type
716 'Patient ID card', // default
717 xl('Optional category name for an ID Card image that can be viewed from the patient summary page.')
720 'patient_photo_category_name' => array(
721 xl('Patient Photo Category Name'),
722 'text', // data type
723 'Patient Photograph', // default
724 xl('Optional category name for photo images that can be viewed from the patient summary page.')
727 'lab_results_category_name' => array(
728 xl('Lab Results Category Name'),
729 'text', // data type
730 'Lab Report', // default
731 xl('Document category name for storage of electronically received lab results.')
736 // Calendar Tab
738 'Calendar' => array(
740 'disable_calendar' => array(
741 xl('Disable Calendar'),
742 'bool', // data type
743 '0', // default
744 xl('Do not display the calendar.')
747 'schedule_start' => array(
748 xl('Calendar Starting Hour'),
749 'hour',
750 '8', // default
751 xl('Beginning hour of day for calendar events.')
754 'schedule_end' => array(
755 xl('Calendar Ending Hour'),
756 'hour',
757 '17', // default
758 xl('Ending hour of day for calendar events.')
761 'calendar_interval' => array(
762 xl('Calendar Interval'),
763 array(
764 '5' => '5',
765 '10' => '10',
766 '15' => '15',
767 '20' => '20',
768 '30' => '30',
769 '60' => '60',
771 '15', // default
772 xl('The time granularity of the calendar and the smallest interval in minutes for an appointment slot.')
775 'calendar_appt_style' => array(
776 xl('Appointment Display Style'),
777 array(
778 '1' => 'Last name',
779 '2' => 'Last name, first name',
780 '3' => 'Last name, first name (title)',
781 '4' => 'Last name, first name (title: description)',
783 '2', // default
784 xl('This determines how appointments display on the calendar.')
787 'docs_see_entire_calendar' => array(
788 xl('Providers See Entire Calendar'),
789 'bool', // data type
790 '0', // default
791 xl('Check this if you want providers to see all appointments by default and not just their own.')
794 'auto_create_new_encounters' => array(
795 xl('Auto-Create New Encounters'),
796 'bool', // data type
797 '1', // default
798 xl('Automatically create a new encounter when appointment status is set to "@" (arrived).')
801 'event_color' => array(
802 xl('Appointment/Event Color'),
803 array(
804 '1' => 'Category Color Schema',
805 '2' => 'Facility Color Schema',
806 ), // data type
807 '1', // default
808 xl('This determines which color schema used for appointment')
813 // Security Tab
815 'Security' => array(
817 'timeout' => array(
818 xl('Idle Session Timeout Seconds'),
819 'num', // data type
820 '7200', // default
821 xl('Maximum idle time in seconds before logout. Default is 7200 (2 hours).')
824 'secure_password' => array(
825 xl('Require Strong Passwords'),
826 'bool', // data type
827 '0', // default
828 xl('Strong password means at least 8 characters, and at least three of: a number, a lowercase letter, an uppercase letter, a special character.')
831 'password_history' => array(
832 xl('Require Unique Passwords'),
833 'bool', // data type
834 '0', // default
835 xl('Means none of last three passwords are allowed when changing a password.')
837 'password_compatibility' => array(
838 xl('Permit unsalted passwords'),
839 'bool', // data type
840 '1', // default
841 xl('After migration from the old password mechanisms where passwords are stored in the users table without salt is complete, this flag should be set to false so that only authentication by the new method is possible')
844 'password_expiration_days' => array(
845 xl('Default Password Expiration Days'),
846 'num', // data type
847 '0', // default
848 xl('Default password expiration period in days. 0 means this feature is disabled.')
851 'password_grace_time' => array(
852 xl('Password Expiration Grace Period'),
853 'num', // data type
854 '0', // default
855 xl('Period in days where a user may login with an expired password.')
858 'is_client_ssl_enabled' => array(
859 xl('Enable Client SSL'),
860 'bool', // data type
861 '0', // default
862 xl('Enable client SSL certificate authentication.')
865 'certificate_authority_crt' => array(
866 xl('Path to CA Certificate File'),
867 'text', // data type
868 '', // default
869 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
872 'certificate_authority_key' => array(
873 xl('Path to CA Key File'),
874 'text', // data type
875 '', // default
876 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
879 'client_certificate_valid_in_days' => array(
880 xl('Client Certificate Expiration Days'),
881 'num', // data type
882 '365', // default
883 xl('Number of days that the client certificate is valid.')
886 'Emergency_Login_email_id' => array(
887 xl('Emergency Login Email Address'),
888 'text', // data type
889 '', // default
890 xl('Email address, if any, to receive emergency login user activation messages.')
895 // Notifications Tab
897 'Notifications' => array(
899 'patient_reminder_sender_name' => array(
900 xl('Patient Reminder Sender Name'),
901 'text', // data type
902 '', // default
903 xl('Name of the sender for patient reminders.')
906 'patient_reminder_sender_email' => array(
907 xl('Patient Reminder Sender Email'),
908 'text', // data type
909 '', // default
910 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.')
913 'practice_return_email_path' => array(
914 xl('Notification Email Address'),
915 'text', // data type
916 '', // default
917 xl('Email address, if any, to receive administrative notifications.')
920 'EMAIL_METHOD' => array(
921 xl('Email Transport Method'),
922 array(
923 'PHPMAIL' => 'PHPMAIL',
924 'SENDMAIL' => 'SENDMAIL',
925 'SMTP' => 'SMTP',
927 'SMTP', // default
928 xl('Method for sending outgoing email.')
931 'SMTP_HOST' => array(
932 xl('SMTP Server Hostname'),
933 'text', // data type
934 'localhost', // default
935 xl('If SMTP is used, the server`s hostname or IP address.')
938 'SMTP_PORT' => array(
939 xl('SMTP Server Port Number'),
940 'num', // data type
941 '25', // default
942 xl('If SMTP is used, the server`s TCP port number (usually 25).')
945 'SMTP_USER' => array(
946 xl('SMTP User for Authentication'),
947 'text', // data type
948 '', // default
949 xl('Must be empty if SMTP authentication is not used.')
952 'SMTP_PASS' => array(
953 xl('SMTP Password for Authentication'),
954 'text', // data type
955 '', // default
956 xl('Must be empty if SMTP authentication is not used.')
959 'EMAIL_NOTIFICATION_HOUR' => array(
960 xl('Email Notification Hours'),
961 'num', // data type
962 '50', // default
963 xl('Number of hours in advance to send email notifications.')
966 'SMS_NOTIFICATION_HOUR' => array(
967 xl('SMS Notification Hours'),
968 'num', // data type
969 '50', // default
970 xl('Number of hours in advance to send SMS notifications.')
973 'SMS_GATEWAY_USENAME' => array(
974 xl('SMS Gateway Username'),
975 'text', // data type
976 '', // default
977 xl('Username for SMS Gateway.')
980 'SMS_GATEWAY_PASSWORD' => array(
981 xl('SMS Gateway Password'),
982 'text', // data type
983 '', // default
984 xl('Password for SMS Gateway.')
987 'SMS_GATEWAY_APIKEY' => array(
988 xl('SMS Gateway API Key'),
989 'text', // data type
990 '', // default
991 xl('API key for SMS Gateway.')
994 'phone_notification_hour' => array(
995 xl('Phone Notification Hour'),
996 'num', // data type
997 '50', // default
998 xl('Number of hours in advance to send Phone notification.')
1001 'phone_gateway_username' => array(
1002 xl('Phone Gateway Username'),
1003 'text', // data type
1004 '', // default
1005 xl('Username for Phone Gateway. Automated VOIP service provided by Maviq. Please visit http://signup.maviq.com for more information.')
1008 'phone_gateway_password' => array(
1009 xl('Phone Gateway Password'),
1010 'text', // data type
1011 '', // default
1012 xl('Password for Phone Gateway. Automated VOIP service provided by Maviq. Please visit http://signup.maviq.com for more information.')
1015 'phone_gateway_url' => array(
1016 xl('Phone Gateway URL'),
1017 'text', // data type
1018 '', // default
1019 xl('URL for Phone Gateway. Automated VOIP service provided by Maviq. Please visit http://signup.maviq.com for more information.')
1024 // CDR (Clinical Decision Rules)
1026 'CDR' => array(
1028 'enable_cdr' => array(
1029 xl('Enable Clinical Decisions Rules (CDR)'),
1030 'bool', // data type
1031 '1', // default
1032 xl('Enable Clinical Decisions Rules (CDR)')
1035 'enable_cdr_crw' => array(
1036 xl('Enable Clinical Reminder Widget'),
1037 'bool', // data type
1038 '1', // default
1039 xl('Enable Clinical Reminder Widget')
1042 'enable_cdr_crp' => array(
1043 xl('Enable Clinical Reminder Popup'),
1044 'bool', // data type
1045 '1', // default
1046 xl('Enable Clinical Reminder Popup')
1049 'enable_cdr_prw' => array(
1050 xl('Enable Patient Reminder Widget'),
1051 'bool', // data type
1052 '1', // default
1053 xl('Enable Patient Reminder Widget')
1056 'enable_cqm' => array(
1057 xl('Enable CQM Reporting'),
1058 'bool', // data type
1059 '1', // default
1060 xl('Enable Clinical Quality Measure (CQM) Reporting')
1063 'pqri_registry_name' => array(
1064 xl('PQRI Registry Name'),
1065 'text', // data type
1066 'Model Registry', // default
1067 xl('PQRI Registry Name')
1070 'pqri_registry_id' => array(
1071 xl('PQRI Registry ID'),
1072 'text', // data type
1073 '125789123', // default
1074 xl('PQRI Registry ID')
1077 'enable_amc' => array(
1078 xl('Enable AMC Reporting'),
1079 'bool', // data type
1080 '1', // default
1081 xl('Enable Automated Measure Calculations (AMC) Reporting')
1084 'enable_amc_prompting' => array(
1085 xl('Enable AMC Prompting'),
1086 'bool', // data type
1087 '1', // default
1088 xl('Enable Prompting For Automated Measure Calculations (AMC) Required Data')
1091 'enable_amc_tracking' => array(
1092 xl('Enable AMC Tracking'),
1093 'bool', // data type
1094 '1', // default
1095 xl('Enable Reporting of Tracking Date For Automated Measure Calculations (AMC)')
1098 'cdr_report_nice' => array(
1099 xl('CDR Reports Processing Priority'),
1100 array(
1101 '' => xl('Default Priority'),
1102 '5' => xl('Moderate Priority'),
1103 '10' => xl('Moderate/Low Priority'),
1104 '15' => xl('Low Priority'),
1105 '20' => xl('Lowest Priority')
1107 '', // default
1108 xl('Set processing priority for CDR engine based reports.')
1111 'pat_rem_clin_nice' => array(
1112 xl('Patient Reminder Creation Processing Priority'),
1113 array(
1114 '' => xl('Default Priority'),
1115 '5' => xl('Moderate Priority'),
1116 '10' => xl('Moderate/Low Priority'),
1117 '15' => xl('Low Priority'),
1118 '20' => xl('Lowest Priority')
1120 '', // default
1121 xl('Set processing priority for creation of Patient Reminders (in full clinic mode).')
1126 // Logging
1128 'Logging' => array(
1130 'enable_auditlog' => array(
1131 xl('Enable Audit Logging'),
1132 'bool', // data type
1133 '1', // default
1134 xl('Enable Audit Logging')
1137 'audit_events_patient-record' => array(
1138 xl('Audit Logging Patient Record'),
1139 'bool', // data type
1140 '1', // default
1141 xl('Enable logging of patient record modifications.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1144 'audit_events_scheduling' => array(
1145 xl('Audit Logging Scheduling'),
1146 'bool', // data type
1147 '1', // default
1148 xl('Enable logging of scheduling activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1151 'audit_events_order' => array(
1152 xl('Audit Logging Order'),
1153 'bool', // data type
1154 '1', // default
1155 xl('Enable logging of ordering activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1158 'audit_events_security-administration' => array(
1159 xl('Audit Logging Security Administration'),
1160 'bool', // data type
1161 '1', // default
1162 xl('Enable logging of security and administration activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1165 'audit_events_backup' => array(
1166 xl('Audit Logging Backups'),
1167 'bool', // data type
1168 '1', // default
1169 xl('Enable logging of backup related activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1172 'audit_events_other' => array(
1173 xl('Audit Logging Miscellaneous'),
1174 'bool', // data type
1175 '1', // default
1176 xl('Enable logging of miscellaneous activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1179 'audit_events_query' => array(
1180 xl('Audit Logging SELECT Query'),
1181 'bool', // data type
1182 '0', // default
1183 xl('Enable logging of all SQL SELECT queries.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1186 'audit_events_cdr' => array(
1187 xl('Audit CDR Engine Queries'),
1188 'bool', // data type
1189 '0', // default
1190 xl('Enable logging of CDR Engine Queries.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1193 'enable_atna_audit' => array(
1194 xl('Enable ATNA Auditing'),
1195 'bool', // data type
1196 '0', // default
1197 xl('Enable Audit Trail and Node Authentication (ATNA).')
1200 'atna_audit_host' => array(
1201 xl('ATNA audit host'),
1202 'text', // data type
1203 '', // default
1204 xl('The hostname of the ATNA audit repository machine.')
1207 'atna_audit_port' => array(
1208 xl('ATNA audit port'),
1209 'text', // data type
1210 '6514', // default
1211 xl('Listening port of the RFC 5425 TLS syslog server.')
1214 'atna_audit_localcert' => array(
1215 xl('ATNA audit local certificate'),
1216 'text', // data type
1217 '', // default
1218 xl('Certificate to send to RFC 5425 TLS syslog server.')
1221 'atna_audit_cacert' => array(
1222 xl('ATNA audit CA certificate'),
1223 'text', // data type
1224 '', // default
1225 xl('CA Certificate for verifying the RFC 5425 TLS syslog server.')
1230 // Miscellaneous Tab
1232 'Miscellaneous' => array(
1234 'mysql_bin_dir' => array(
1235 xl('Path to MySQL Binaries'),
1236 'text', // data type
1237 $mysql_bin_dir, // default
1238 xl('Full path to directory containing MySQL executables.')
1241 'perl_bin_dir' => array(
1242 xl('Path to Perl Binaries'),
1243 'text', // data type
1244 $perl_bin_dir, // default
1245 xl('Full path to directory containing Perl executables.')
1248 'temporary_files_dir' => array(
1249 xl('Path to Temporary Files'),
1250 'text', // data type
1251 $temporary_files_dir, // default
1252 xl('Full path to directory used for temporary files.')
1255 'backup_log_dir' => array(
1256 xl('Path for Event Log Backup'),
1257 'text', // data type
1258 $backup_log_dir, // default
1259 xl('Full path to directory for event log backup.')
1262 'state_data_type' => array(
1263 xl('State Data Type'),
1264 array(
1265 '2' => xl('Text field'),
1266 '1' => xl('Single-selection list'),
1267 '26' => xl('Single-selection list with ability to add to the list'),
1269 '26', // default
1270 xl('Field type to use for employer or subscriber state in demographics.')
1273 'state_list' => array(
1274 xl('State list'),
1275 'text', // data type
1276 'state', // default
1277 xl('List used by above State Data Type option.')
1280 'state_custom_addlist_widget' => array(
1281 xl('State List Widget Custom Fields'),
1282 'bool', // data type
1283 '1', // default
1284 xl('Show the custom state form for the add list widget (will ask for title and abbreviation).')
1287 'country_data_type' => array(
1288 xl('Country Data Type'),
1289 array(
1290 '2' => xl('Text field'),
1291 '1' => xl('Single-selection list'),
1292 '26' => xl('Single-selection list with ability to add to the list'),
1294 '26', // default
1295 xl('Field type to use for employer or subscriber country in demographics.')
1298 'country_list' => array(
1299 xl('Country list'),
1300 'text', // data type
1301 'country', // default
1302 xl('List used by above Country Data Type option.')
1305 'print_command' => array(
1306 xl('Print Command'),
1307 'text', // data type
1308 'lpr -P HPLaserjet6P -o cpi=10 -o lpi=6 -o page-left=72 -o page-top=72',
1309 xl('Shell command for printing from the server.')
1312 'default_chief_complaint' => array(
1313 xl('Default Reason for Visit'),
1314 'text', // data type
1316 xl('You may put text here as the default complaint in the New Patient Encounter form.')
1319 'default_new_encounter_form' => array(
1320 xl('Default Encounter Form ID'),
1321 'text', // data type
1323 xl('To automatically open the specified form. Some sports teams use football_injury_audit here.')
1326 'MedicareReferrerIsRenderer' => array(
1327 xl('Medicare Referrer Is Renderer'),
1328 'bool', // data type
1329 '0', // default = true
1330 xl('For Medicare only, forces the referring provider to be the same as the rendering provider.')
1333 'post_to_date_benchmark' => array(
1334 xl('Financial Close Date (yyyy-mm-dd)'),
1335 'text', // data type
1336 date('Y-m-d',time() - (10 * 24 * 60 * 60)), // default
1337 xl('The payments posted cannot go below this date.This ensures that after taking the final report nobody post for previous dates.')
1340 'enable_hylafax' => array(
1341 xl('Enable Hylafax Support'),
1342 'bool', // data type
1343 '0', // default
1344 xl('Enable Hylafax Support')
1347 'hylafax_server' => array(
1348 xl('Hylafax Server'),
1349 'text', // data type
1350 'localhost', // default
1351 xl('Hylafax server hostname.')
1354 'hylafax_basedir' => array(
1355 xl('Hylafax Directory'),
1356 'text', // data type
1357 '/var/spool/fax', // default
1358 xl('Location where Hylafax stores faxes.')
1361 'hylafax_enscript' => array(
1362 xl('Hylafax Enscript Command'),
1363 'text', // data type
1364 'enscript -M Letter -B -e^ --margins=36:36:36:36', // default
1365 xl('Enscript command used by Hylafax.')
1368 'enable_scanner' => array(
1369 xl('Enable Scanner Support'),
1370 'bool', // data type
1371 '0', // default
1372 xl('Enable Scanner Support')
1375 'scanner_output_directory' => array(
1376 xl('Scanner Directory'),
1377 'text', // data type
1378 '/mnt/scan_docs', // default
1379 xl('Location where scans are stored.')
1384 // Portal Tab
1386 'Portal' => array(
1388 'portal_onsite_enable' => array(
1389 xl('Enable Onsite Patient Portal'),
1390 'bool', // data type
1391 '0',
1392 xl('Enable Onsite Patient Portal.')
1395 'portal_onsite_address' => array(
1396 xl('Onsite Patient Portal Site Address'),
1397 'text', // data type
1398 'https://your_web_site.com/openemr/patients',
1399 xl('Website link for the Onsite Patient Portal.')
1402 'portal_offsite_enable' => array(
1403 xl('Enable Offsite Patient Portal'),
1404 'bool', // data type
1405 '0',
1406 xl('Enable Offsite Patient Portal.')
1409 'portal_offsite_providerid' => array(
1410 xl('Offsite Patient Portal Provider ID'),
1411 'text', // data type
1413 xl('Offsite Patient Portal Provider ID(Put Blank If not Registered).')
1416 'portal_offsite_username' => array(
1417 xl('Offsite Patient Portal Username'),
1418 'text', // data type
1420 xl('Offsite Patient Portal Username(Put Blank If not Registered).')
1423 'portal_offsite_password' => array(
1424 xl('Offsite Patient Portal Password'),
1425 'pwd', // data type
1427 xl('Offsite Patient Portal Password(Put Blank If not Registered).')
1430 'portal_offsite_address' => array(
1431 xl('Offsite Patient Portal Site Address'),
1432 'text', // data type
1433 'https://ssh.mydocsportal.com/provider.php',
1434 xl('Offsite Https link for the Patient Portal.')
1436 'portal_offsite_address_patient_link' => array(
1437 xl('Offsite Patient Portal Site Address (Patient Link)'),
1438 'text', // data type
1439 'https://ssh.mydocsportal.com',
1440 xl('Offsite Https link for the Patient Portal.(Patient Link)')
1445 // Connectors Tab
1447 'Connectors' => array(
1449 'lab_exchange_enable' => array(
1450 xl('Enable Lab Exchange'),
1451 'bool', // data type
1452 '0',
1453 xl('Enable the Medical Information Integration, LLC Lab Exchange Service.')
1456 'lab_exchange_siteid' => array(
1457 xl('Lab Exchange Site ID'),
1458 'text', // data type
1459 '3',
1460 xl('Site ID for the Medical Information Integration, LLC Lab Exchange Service.')
1463 'lab_exchange_token' => array(
1464 xl('Lab Exchange Token ID'),
1465 'text', // data type
1466 '12345',
1467 xl('Token ID for the Medical Information Integration, LLC Lab Exchange Service.')
1470 'lab_exchange_endpoint' => array(
1471 xl('Lab Exchange Site Address'),
1472 'text', // data type
1473 'https://len.mi-squared.com:29443/len/api',
1474 xl('Contact Medical Information Integration, LLC at http://mi-squared.com for Lab Exchange Service.')
1477 'erx_enable' => array(
1478 xl('Enable NewCrop eRx Service'),
1479 'bool', // data type
1480 '0',
1481 xl('Enable NewCrop eRx Service')
1484 'erx_path_production' => array(
1485 xl('NewCrop eRx Site Address'),
1486 'text', // data type
1487 'https://secure.newcropaccounts.com/InterfaceV7/RxEntry.aspx',
1488 xl('Contact Medical Information Integration, LLC at http://mi-squared.com or ZH Healthcare at http://zhservices.com for subscribing the eRx service')
1491 'erx_path_soap_production' => array(
1492 xl('NewCrop eRx Web Service Address'),
1493 'text', // data type
1494 'https://secure.newcropaccounts.com/v7/WebServices/Update1.asmx?WSDL;https://secure.newcropaccounts.com/v7/WebServices/Patient.asmx?WSDL',
1495 xl('Contact Medical Information Integration, LLC at http://mi-squared.com or ZH Healthcare at http://zhservices.com for subscribing the eRx service')
1498 'partner_name_production' => array(
1499 xl('NewCrop eRx Partner Name'),
1500 'text', // data type
1502 xl('Contact Medical Information Integration, LLC at http://mi-squared.com or ZH Healthcare at http://zhservices.com for subscribing the eRx service')
1505 'erx_name_production' => array(
1506 xl('NewCrop eRx Name'),
1507 'text', // data type
1509 xl('Contact Medical Information Integration, LLC at http://mi-squared.com or ZH Healthcare at http://zhservices.com for subscribing the eRx service')
1512 'erx_password_production' => array(
1513 xl('NewCrop eRx Password'),
1514 'pass', // data type
1516 xl('Contact Medical Information Integration, LLC at http://mi-squared.com or ZH Healthcare at http://zhservices.com for subscribing the eRx service')
1519 'erx_upload_active' => array(
1520 xl('Only upload active prescriptions'),
1521 'bool', // data type
1522 '0',
1523 xl('Only upload active prescriptions')
1526 'erx_import_status_message' => array(
1527 xl('Enable import status message for NewCrop erx'),
1528 'bool', // data type
1529 '0',
1530 xl('Enable import status message for NewCrop erx')
1533 'erx_medication_display' => array(
1534 xl('Do not display Medications uploaded to NewCrop'),
1535 'bool', // data type
1536 '0',
1537 xl('Do not display Medications uploaded to NewCrop')
1540 'erx_allergy_display' => array(
1541 xl('Do not display Allergy uploaded to NewCrop'),
1542 'bool', // data type
1543 '0',
1544 xl('Do not display Allergy uploaded to NewCrop')
1547 'erx_default_patient_country' => array(
1548 xl('Default Patient Country'),
1549 array(
1550 '' => '',
1551 'US' => 'USA',
1552 'CA' => 'Canada',
1553 'MX' => 'Mexico'
1556 xl('Default Patient Country'),
1559 'phimail_enable' => array(
1560 xl('Enable phiMail Direct Messaging Service'),
1561 'bool', // data type
1562 '0',
1563 xl('Enable phiMail Direct Messaging Service')
1566 'phimail_server_address' => array(
1567 xl('phiMail Server Address'),
1568 'text', // data type
1569 'https://phimail.example.com:32541',
1570 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
1573 'phimail_username' => array(
1574 xl('phiMail Username'),
1575 'text', // data type
1577 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
1580 'phimail_password' => array(
1581 xl('phiMail Password'),
1582 'pass', // data type
1584 xl('Contact EMR Direct to subscribe to the phiMail Direct messaging service')
1587 'phimail_notify' => array(
1588 xl('phiMail notification user'),
1589 'text', // data type
1590 'admin',
1591 xl('This user will receive notification of new incoming Direct messages')
1594 'phimail_interval' => array(
1595 xl('phiMail Message Check Interval (minutes)'),
1596 'num', // data type
1597 '5',
1598 xl('Interval between message checks (set to zero for manual checks only)')
1601 'phimail_ccd_enable' => array(
1602 xl('phiMail Allow CCD Send'),
1603 'bool', // data type
1604 '0',
1605 xl('phiMail Allow CCD Send')
1608 'phimail_ccr_enable' => array(
1609 xl('phiMail Allow CCR Send'),
1610 'bool', // data type
1611 '0',
1612 xl('phiMail Allow CCR Send')
1617 'Rx' => array(
1618 'rx_enable_DEA' => array(
1619 xl('Rx Enable DEA #'),
1620 'bool', // data type
1621 '1',
1622 xl('Rx Enable DEA #')
1624 'rx_show_DEA' => array(
1625 xl('Rx Show DEA #'),
1626 'bool', // data type
1627 '0',
1628 xl('Rx Show DEA #')
1630 'rx_enable_NPI' => array(
1631 xl('Rx Enable NPI'),
1632 'bool', // data type
1633 '0',
1634 xl('Rx Enable NPI')
1636 'rx_show_NPI' => array(
1637 xl('Rx Show NPI'),
1638 'bool', // data type
1639 '0',
1640 xl('Rx Show NPI')
1642 'rx_enable_SLN' => array(
1643 xl('Rx Enable State Lic. #'),
1644 'bool', // data type
1645 '0',
1646 xl('Rx Enable State Lic. #')
1648 'rx_show_SLN' => array(
1649 xl('Rx Show State Lic. #'),
1650 'bool', // data type
1651 '0',
1652 xl('Rx Show State Lic. #')
1654 'rx_paper_size' => array(
1655 xl('Rx Paper Size'), // descriptive name
1656 array(
1657 'LETTER' => xl('Letter Paper Size'),
1658 'LEGAL' => xl('Legal Paper Size'),
1659 'FOLIO' => xl('Folio Paper Size'),
1660 'EXECUTIVE' => xl('Executive Paper Size'),
1661 '4A0' => ('4A0' . " " . xl('Paper Size')),
1662 '2A0' => ('2A0' . " " . xl('Paper Size')),
1663 'A0' => ('A0' . " " . xl('Paper Size')),
1664 'A1' => ('A1' . " " . xl('Paper Size')),
1665 'A2' => ('A2' . " " . xl('Paper Size')),
1666 'A3' => ('A3' . " " . xl('Paper Size')),
1667 'A4' => ('A4' . " " . xl('Paper Size')),
1668 'A5' => ('A5' . " " . xl('Paper Size')),
1669 'A6' => ('A6' . " " . xl('Paper Size')),
1670 'A7' => ('A7' . " " . xl('Paper Size')),
1671 'A8' => ('A8' . " " . xl('Paper Size')),
1672 'A9' => ('A9' . " " . xl('Paper Size')),
1673 'A10' => ('A10' . " " . xl('Paper Size')),
1674 'B0' => ('B0' . " " . xl('Paper Size')),
1675 'B1' => ('B1' . " " . xl('Paper Size')),
1676 'B2' => ('B2' . " " . xl('Paper Size')),
1677 'B3' => ('B3' . " " . xl('Paper Size')),
1678 'B4' => ('B4' . " " . xl('Paper Size')),
1679 'B5' => ('B5' . " " . xl('Paper Size')),
1680 'B6' => ('B6' . " " . xl('Paper Size')),
1681 'B7' => ('B7' . " " . xl('Paper Size')),
1682 'B8' => ('B8' . " " . xl('Paper Size')),
1683 'B9' => ('B9' . " " . xl('Paper Size')),
1684 'B10' => ('B10' . " " . xl('Paper Size')),
1685 'C0' => ('C0' . " " . xl('Paper Size')),
1686 'C1' => ('C1' . " " . xl('Paper Size')),
1687 'C2' => ('C2' . " " . xl('Paper Size')),
1688 'C3' => ('C3' . " " . xl('Paper Size')),
1689 'C4' => ('C4' . " " . xl('Paper Size')),
1690 'C5' => ('C5' . " " . xl('Paper Size')),
1691 'C6' => ('C6' . " " . xl('Paper Size')),
1692 'C7' => ('C7' . " " . xl('Paper Size')),
1693 'C8' => ('C8' . " " . xl('Paper Size')),
1694 'C9' => ('C9' . " " . xl('Paper Size')),
1695 'C10' => ('C10' . " " . xl('Paper Size')),
1696 'RA0' => ('RA0' . " " . xl('Paper Size')),
1697 'RA1' => ('RA1' . " " . xl('Paper Size')),
1698 'RA2' => ('RA2' . " " . xl('Paper Size')),
1699 'RA3' => ('RA3' . " " . xl('Paper Size')),
1700 'RA4' => ('RA4' . " " . xl('Paper Size')),
1701 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
1702 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
1703 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
1704 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
1705 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
1707 'LETTER', // default = tree menu
1708 xl('Rx Paper Size')
1710 'rx_left_margin' => array(
1711 xl('Rx Left Margin (px)'),
1712 'num',
1713 '30',
1714 xl('Rx Left Margin (px)')
1716 'rx_right_margin' => array(
1717 xl('Rx Right Margin (px)'),
1718 'num',
1719 '30',
1720 xl('Rx Right Margin (px)')
1722 'rx_top_margin' => array(
1723 xl('Rx Top Margin (px)'),
1724 'num',
1725 '72',
1726 xl('Rx Top Margin (px)')
1728 'rx_bottom_margin' => array(
1729 xl('Rx Bottom Margin (px)'),
1730 'num',
1731 '30',
1732 xl('Rx Bottom Margin (px)')