Past Appointment Widget, Configurable in Globals Features
[openemr.git] / library / globals.inc.php
blob0e198ac160ccb4d8cc860c403240d7caf4e5f336
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 // Norwegian // xl('Norwegian')
43 // Polish // xl('Polish')
44 // Portuguese (Brazilian) // xl('Portuguese (Brazilian)')
45 // Portuguese (European) // xl('Portuguese (European)')
46 // Romanian // xl('Romanian')
47 // Russian // xl('Russian')
48 // Slovak // xl('Slovak')
49 // Spanish (Latin American) // xl('Spanish (Latin American)')
50 // Spanish (Spain) // xl('Spanish (Spain)')
51 // Swedish // xl('Swedish')
52 // Turkish // xl('Turkish')
53 // Ukrainian // xl('Ukrainian')
54 // Vietnamese // xl('Vietnamese')
56 // OS-dependent stuff.
57 if (stristr(PHP_OS, 'WIN')) {
58 // MS Windows
59 $mysql_bin_dir = 'C:/xampp/mysql/bin';
60 $perl_bin_dir = 'C:/xampp/perl/bin';
61 $temporary_files_dir = 'C:/windows/temp';
62 $backup_log_dir = 'C:/windows/temp';
64 else {
65 // Everything else
66 $mysql_bin_dir = '/usr/bin';
67 $perl_bin_dir = '/usr/bin';
68 $temporary_files_dir = '/tmp';
69 $backup_log_dir = '/tmp';
72 // Language constant declarations:
73 // xl('Appearance')
74 // xl('Locale')
75 // xl('Features')
76 // xl('Calendar')
77 // xl('Security')
78 // xl('Notifications')
79 // xl('Miscellaneous')
81 // List of user specific tabs and globals
82 $USER_SPECIFIC_TABS = array('Appearance',
83 'Locale',
84 'Calendar',
85 'Connectors');
86 $USER_SPECIFIC_GLOBALS = array('default_top_pane',
87 'concurrent_layout',
88 'css_header',
89 'gbl_pt_list_page_size',
90 'gbl_pt_list_new_window',
91 'units_of_measurement',
92 'date_display_format',
93 'time_display_format',
94 'event_color',
95 'erx_import_status_message');
97 $GLOBALS_METADATA = array(
99 // Appearance Tab
101 'Appearance' => array(
103 'default_top_pane' => array(
104 xl('Main Top Pane Screen'), // descriptive name
105 array(
106 'main_info.php' => xl('Calendar Screen'),
107 '../new/new.php' => xl('Patient Search/Add Screen'),
109 'main_info.php', // default = calendar
110 xl('Type of screen layout')
113 'concurrent_layout' => array(
114 xl('Layout Style'), // descriptive name
115 array(
116 '0' => xl('Old style layout with no left menu'),
117 '1' => xl('Navigation menu consists of pairs of radio buttons'),
118 '2' => xl('Navigation menu is a tree view'),
119 '3' => xl('Navigation uses a sliding menu'),
121 '3', // default = tree menu
122 xl('Type of screen layout')
125 'css_header' => array(
126 xl('Theme'),
127 'css',
128 'style_oemr.css',
129 xl('Pick a CSS theme.')
132 'gbl_nav_area_width' => array(
133 xl('Navigation Area Width'),
134 'num',
135 '150',
136 xl('Width in pixels of the left navigation frame.')
139 'openemr_name' => array(
140 xl('Application Title'),
141 'text',
142 'OpenEMR',
143 xl('Application name for login page and main window title.')
146 'full_new_patient_form' => array(
147 xl('New Patient Form'),
148 array(
149 '0' => xl('Old-style static form without search or duplication check'),
150 '1' => xl('All demographics fields, with search and duplication check'),
151 '2' => xl('Mandatory or specified fields only, search and dup check'),
152 '3' => xl('Mandatory or specified fields only, dup check, no search'),
154 '1', // default
155 xl('Style of form used for adding new patients')
158 'patient_search_results_style' => array(
159 xl('Patient Search Results Style'),
160 array(
161 '0' => xl('Encounter statistics'),
162 '1' => xl('Mandatory and specified fields'),
164 '0', // default
165 xl('Type of columns displayed for patient search results')
168 'gbl_tall_nav_area' => array(
169 xl('Tall Navigation Area'),
170 'bool', // data type
171 '0', // default = false
172 xl('Navigation area uses full height of frameset')
175 'gbl_nav_visit_forms' => array(
176 xl('Navigation Area Visit Forms'),
177 'bool', // data type
178 '1', // default = true
179 xl('Navigation area includes encounter forms')
182 'simplified_demographics' => array(
183 xl('Simplified Demographics'),
184 'bool', // data type
185 '0', // default = false
186 xl('Omit insurance and some other things from the demographics form')
189 'simplified_prescriptions' => array(
190 xl('Simplified Prescriptions'),
191 'bool', // data type
192 '0', // default = false
193 xl('Omit form, route and interval which then become part of dosage')
196 'simplified_copay' => array(
197 xl('Simplified Co-Pay'),
198 'bool', // data type
199 '0', // default = false
200 xl('Omit method of payment from the co-pay panel')
203 'use_charges_panel' => array(
204 xl('Use Charges Panel'),
205 'bool', // data type
206 '0', // default = false
207 xl('Enables the old Charges panel for entering billing codes and payments. Not recommended, use the Fee Sheet instead.')
210 // TajEmo Work BY CB 2012/06/21 10:42:31 AM added option to Hide Fees
211 'enable_fees_in_left_menu' => array(
212 xl('Enable Fees In Left Menu'),
213 'bool', // data type
214 '1', // default = true
215 xl('Enable Fees In Left Menu')
217 // EDI history 2012-09-13
218 'enable_edihistory_in_left_menu' => array(
219 xl('Enable EDI History In Left Menu'),
220 'bool', // data type
221 '1', // default = true
222 xl('EDI History (under Fees) for storing and interpreting EDI claim response files')
225 'online_support_link' => array(
226 xl('Online Support Link'),
227 'text', // data type
228 'http://open-emr.org/',
229 xl('URL for OpenEMR support.')
232 'encounter_page_size' => array(
233 xl('Encounter Page Size'),
234 array(
235 '0' => xl('Show All'),
236 '5' => '5',
237 '10' => '10',
238 '15' => '15',
239 '20' => '20',
240 '25' => '25',
241 '50' => '50',
243 '20',
244 xl('Number of encounters to display per page.')
247 'gbl_pt_list_page_size' => array(
248 xl('Patient List Page Size'),
249 array(
250 '10' => '10',
251 '25' => '25',
252 '50' => '50',
253 '100' => '100',
255 '10',
256 xl('Number of patients to display per page in the patient list.')
259 'gbl_pt_list_new_window' => array(
260 xl('Patient List New Window'),
261 'bool', // data type
262 '0', // default = false
263 xl('Default state of New Window checkbox in the patient list.')
268 // Locale Tab
270 'Locale' => array(
272 'language_default' => array(
273 xl('Default Language'),
274 'lang', // data type
275 'English (Standard)', // default = english
276 xl('Default language if no other is allowed or chosen.')
279 'language_menu_showall' => array(
280 xl('All Languages Allowed'),
281 'bool', // data type
282 '1', // default = true
283 xl('Allow all available languages as choices on menu at login.')
286 'language_menu_other' => array(
287 xl('Allowed Languages'),
288 'm_lang', // data type
289 '', // default = none
290 xl('Select which languages, if any, may be chosen at login. (only pertinent if above All Languages Allowed is turned off)')
293 'allow_debug_language' => array(
294 xl('Allow Debugging Language'),
295 'bool', // data type
296 '1', // default = true during development and false for production releases
297 xl('This will allow selection of the debugging (\'dummy\') language.')
300 'translate_layout' => array(
301 xl('Translate Layouts'),
302 'bool', // data type
303 '1', // default = true
304 xl('Is text from form layouts to be translated?')
307 'translate_lists' => array(
308 xl('Translate Lists'),
309 'bool', // data type
310 '1', // default = true
311 xl('Is text from lists to be translated?')
314 'translate_gacl_groups' => array(
315 xl('Translate Access Control Groups'),
316 'bool', // data type
317 '1', // default = true
318 xl('Are access control group names to be translated?')
321 'translate_form_titles' => array(
322 xl('Translate Patient Note Titles'),
323 'bool', // data type
324 '1', // default = true
325 xl('Are patient note titles to be translated?')
328 'translate_document_categories' => array(
329 xl('Translate Document Categories'),
330 'bool', // data type
331 '1', // default = true
332 xl('Are document category names to be translated?')
335 'translate_appt_categories' => array(
336 xl('Translate Appointment Categories'),
337 'bool', // data type
338 '1', // default = true
339 xl('Are appointment category names to be translated?')
342 'units_of_measurement' => array(
343 xl('Units for Visit Forms'),
344 array(
345 '1' => xl('Show both US and metric (main unit is US)'),
346 '2' => xl('Show both US and metric (main unit is metric)'),
347 '3' => xl('Show US only'),
348 '4' => xl('Show metric only'),
350 '1', // default = Both/US
351 xl('Applies to the Vitals form and Growth Chart')
354 'disable_deprecated_metrics_form' => array(
355 xl('Disable Old Metric Vitals Form'),
356 'bool', // data type
357 '1', // default = true
358 xl('This was the older metric-only Vitals form, now deprecated.')
361 'phone_country_code' => array(
362 xl('Telephone Country Code'),
363 'num',
364 '1', // default = North America
365 xl('1 = North America. See http://www.wtng.info/ for a list of other country codes.')
368 'date_display_format' => array(
369 xl('Date Display Format'),
370 array(
371 '0' => xl('YYYY-MM-DD'),
372 '1' => xl('MM/DD/YYYY'),
373 '2' => xl('DD/MM/YYYY'),
375 '0',
376 xl('Format used to display most dates.')
379 'time_display_format' => array(
380 xl('Time Display Format'),
381 array(
382 '0' => xl('24 hr'),
383 '1' => xl('12 hr'),
385 '0',
386 xl('Format used to display most times.')
389 'currency_decimals' => array(
390 xl('Currency Decimal Places'),
391 array(
392 '0' => xl('0'),
393 '1' => xl('1'),
394 '2' => xl('2'),
396 '2',
397 xl('Number of digits after decimal point for currency, usually 0 or 2.')
400 'currency_dec_point' => array(
401 xl('Currency Decimal Point Symbol'),
402 array(
403 '.' => xl('Period'),
404 ',' => xl('Comma'),
406 '.',
407 xl('Symbol used as the decimal point for currency. Not used if Decimal Places is 0.')
410 'currency_thousands_sep' => array(
411 xl('Currency Thousands Separator'),
412 array(
413 ',' => xl('Comma'),
414 '.' => xl('Period'),
415 ' ' => xl('Space'),
416 '' => xl('None'),
418 ',',
419 xl('Symbol used to separate thousands for currency.')
422 'gbl_currency_symbol' => array(
423 xl('Currency Designator'),
424 'text', // data type
425 '$', // default
426 xl('Code or symbol to indicate currency')
431 // Features Tab
433 'Features' => array(
435 'specific_application' => array(
436 xl('Specific Application'),
437 array(
438 '0' => xl('None'),
439 '1' => xl('Athletic team'),
440 '2' => xl('IPPF'),
441 '3' => xl('Weight loss clinic'),
443 '0', // default
444 xl('Indicator for specialized usage')
447 'inhouse_pharmacy' => array(
448 xl('Drugs and Products'),
449 array(
450 '0' => xl('Do not inventory and sell any products'),
451 '1' => xl('Inventory and sell drugs only'),
452 '2' => xl('Inventory and sell both drugs and non-drug products'),
453 '3' => xl('Products but no prescription drugs and no templates'),
455 '0', // default
456 xl('Option to support inventory and sales of products')
459 'disable_chart_tracker' => array(
460 xl('Disable Chart Tracker'),
461 'bool', // data type
462 '0', // default = false
463 xl('Removes the Chart Tracker feature')
466 'disable_phpmyadmin_link' => array(
467 xl('Disable phpMyAdmin'),
468 'bool', // data type
469 '0', // default = false
470 xl('Removes support for phpMyAdmin')
473 'disable_immunizations' => array(
474 xl('Disable Immunizations'),
475 'bool', // data type
476 '0', // default = false
477 xl('Removes support for immunizations')
480 'disable_prescriptions' => array(
481 xl('Disable Prescriptions'),
482 'bool', // data type
483 '0', // default = false
484 xl('Removes support for prescriptions')
487 'omit_employers' => array(
488 xl('Omit Employers'),
489 'bool', // data type
490 '0', // default = false
491 xl('Omit employer information in patient demographics')
494 'select_multi_providers' => array(
495 xl('Support Multi-Provider Events'),
496 'bool', // data type
497 '0', // default = false
498 xl('Support calendar events that apply to multiple providers')
501 'disable_non_default_groups' => array(
502 xl('Disable User Groups'),
503 'bool', // data type
504 '1', // default = true
505 xl('Normally this should be checked. Not related to access control.')
508 'ignore_pnotes_authorization' => array(
509 xl('Skip Authorization of Patient Notes'),
510 'bool', // data type
511 '1', // default = true
512 xl('Do not require patient notes to be authorized')
515 'support_encounter_claims' => array(
516 xl('Allow Encounter Claims'),
517 'bool', // data type
518 '0', // default = false
519 xl('Allow creation of claims containing diagnoses but not procedures or charges. Most clinics do not want this.')
522 'advance_directives_warning' => array(
523 xl('Advance Directives Warning'),
524 'bool', // data type
525 '0', // default = false
526 xl('Display advance directives in the demographics page.')
529 'configuration_import_export' => array(
530 xl('Configuration Export/Import'),
531 'bool', // data type
532 '0', // default = false
533 xl('Support export/import of configuration data via the Backup page.')
536 'restrict_user_facility' => array(
537 xl('Restrict Users to Facilities'),
538 'bool', // data type
539 '0', // default
540 xl('Restrict non-authorized users to the Schedule Facilities set in User admin.')
543 'set_facility_cookie' => array(
544 xl('Remember Selected Facility'),
545 'bool', // data type
546 '0', // default
547 xl('Set a facility cookie to remember the selected facility between logins.')
550 'receipts_by_provider' => array(
551 xl('Print Receipts by Provider'),
552 'bool',
553 '0', // default
554 xl('Causes Receipts to Print Encounter/Primary Provider Info')
557 'discount_by_money' => array(
558 xl('Discounts as Monetary Amounts'),
559 'bool', // data type
560 '1', // default = true
561 xl('Discounts at checkout time are entered as money amounts, as opposed to percentage.')
564 'gbl_visit_referral_source' => array(
565 xl('Referral Source for Encounters'),
566 'bool', // data type
567 '0', // default = false
568 xl('A referral source may be specified for each visit.')
571 'gbl_mask_patient_id' => array(
572 xl('Mask for Patient IDs'),
573 'text', // data type
574 '', // default
575 xl('Specifies formatting for the external patient ID. # = digit, @ = alpha, * = any character. Empty if not used.')
578 'gbl_mask_invoice_number' => array(
579 xl('Mask for Invoice Numbers'),
580 'text', // data type
581 '', // default
582 xl('Specifies formatting for invoice reference numbers. # = digit, @ = alpha, * = any character. Empty if not used.')
585 'gbl_mask_product_id' => array(
586 xl('Mask for Product IDs'),
587 'text', // data type
588 '', // default
589 xl('Specifies formatting for product NDC fields. # = digit, @ = alpha, * = any character. Empty if not used.')
592 'force_billing_widget_open' => array(
593 xl('Force Billing Widget Open'),
594 'bool', // data type
595 '0', // default = false
596 xl('This will force the Billing Widget in the Patient Summary screen to always be open.')
599 'num_past_appointments_to_show' => array(
600 xl('Past Appointment Display Widget'),
601 'num', // data type
602 '0', // default = false
603 xl('A positive number will show that many past appointments on a Widget in the Patient Summary screen.')
606 'activate_ccr_ccd_report' => array(
607 xl('Activate CCR/CCD Reporting'),
608 'bool', // data type
609 '1', // default = true
610 xl('This will activate the CCR(Continuity of Care Record) and CCD(Continuity of Care Document) reporting.')
613 'hide_document_encryption' => array(
614 xl('Hide Encryption/Decryption Options In Document Management'),
615 'bool', // data type
616 '1', // default = true
617 xl('This will deactivate document the encryption and decryption features, and hide them in the UI.')
620 'use_custom_immun_list' => array(
621 xl('Use Custom Immunization List'),
622 'bool', // data type
623 '0', // default = true
624 xl('This will use the custom immunizations list rather than the standard CVX immunization list.')
629 //Documents Tab
630 'Documents' => array(
631 'document_storage_method' => array(
632 xl('Document Storage Method'),
633 array(
634 '0' => xl('Hard Disk'),
635 '1' => xl('CouchDB')
637 '0', // default
638 xl('Option to save method of document storage.')
640 'couchdb_host' => array(
641 xl('CouchDB HostName'),
642 'text',
643 'localhost',
644 xl('CouchDB host'),
646 'couchdb_user' => array(
647 xl('CouchDB UserName'),
648 'text',
650 xl('Username to connect to CouchDB'),
652 'couchdb_pass' => array(
653 xl('CouchDB Password'),
654 'text',
656 xl('Password to connect to CouchDB'),
658 'couchdb_port' => array(
659 xl('CouchDB Port'),
660 'text',
661 '5984',
662 xl('CouchDB port'),
664 'couchdb_dbase' => array(
665 xl('CouchDB Database'),
666 'text',
668 xl('CouchDB database name'),
670 'couchdb_log' => array(
671 xl('CouchDB Log Enable'),
672 'bool',
673 '0',
674 xl('Enable log for document uploads/downloads to CouchDB'),
678 // Calendar Tab
680 'Calendar' => array(
682 'disable_calendar' => array(
683 xl('Disable Calendar'),
684 'bool', // data type
685 '0', // default
686 xl('Do not display the calendar.')
689 'schedule_start' => array(
690 xl('Calendar Starting Hour'),
691 'hour',
692 '8', // default
693 xl('Beginning hour of day for calendar events.')
696 'schedule_end' => array(
697 xl('Calendar Ending Hour'),
698 'hour',
699 '17', // default
700 xl('Ending hour of day for calendar events.')
703 'calendar_interval' => array(
704 xl('Calendar Interval'),
705 array(
706 '5' => '5',
707 '10' => '10',
708 '15' => '15',
709 '20' => '20',
710 '30' => '30',
711 '60' => '60',
713 '15', // default
714 xl('The time granularity of the calendar and the smallest interval in minutes for an appointment slot.')
717 'calendar_appt_style' => array(
718 xl('Appointment Display Style'),
719 array(
720 '1' => 'Last name',
721 '2' => 'Last name, first name',
722 '3' => 'Last name, first name (title)',
723 '4' => 'Last name, first name (title: description)',
725 '2', // default
726 xl('This determines how appointments display on the calendar.')
729 'docs_see_entire_calendar' => array(
730 xl('Providers See Entire Calendar'),
731 'bool', // data type
732 '0', // default
733 xl('Check this if you want providers to see all appointments by default and not just their own.')
736 'auto_create_new_encounters' => array(
737 xl('Auto-Create New Encounters'),
738 'bool', // data type
739 '1', // default
740 xl('Automatically create a new encounter when appointment status is set to "@" (arrived).')
743 'event_color' => array(
744 xl('Appointment/Event Color'),
745 array(
746 '1' => 'Category Color Schema',
747 '2' => 'Facility Color Schema',
748 ), // data type
749 '1', // default
750 xl('This determines which color schema used for appointment')
755 // Security Tab
757 'Security' => array(
759 'timeout' => array(
760 xl('Idle Session Timeout Seconds'),
761 'num', // data type
762 '7200', // default
763 xl('Maximum idle time in seconds before logout. Default is 7200 (2 hours).')
766 'secure_password' => array(
767 xl('Require Strong Passwords'),
768 'bool', // data type
769 '0', // default
770 xl('Strong password means at least 8 characters, and at least three of: a number, a lowercase letter, an uppercase letter, a special character.')
773 'password_history' => array(
774 xl('Require Unique Passwords'),
775 'bool', // data type
776 '0', // default
777 xl('Means none of last three passwords are allowed when changing a password.')
780 'password_expiration_days' => array(
781 xl('Default Password Expiration Days'),
782 'num', // data type
783 '0', // default
784 xl('Default password expiration period in days. 0 means this feature is disabled.')
787 'password_grace_time' => array(
788 xl('Password Expiration Grace Period'),
789 'num', // data type
790 '0', // default
791 xl('Period in days where a user may login with an expired password.')
794 'is_client_ssl_enabled' => array(
795 xl('Enable Client SSL'),
796 'bool', // data type
797 '0', // default
798 xl('Enable client SSL certificate authentication.')
801 'certificate_authority_crt' => array(
802 xl('Path to CA Certificate File'),
803 'text', // data type
804 '', // default
805 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
808 'certificate_authority_key' => array(
809 xl('Path to CA Key File'),
810 'text', // data type
811 '', // default
812 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
815 'client_certificate_valid_in_days' => array(
816 xl('Client Certificate Expiration Days'),
817 'num', // data type
818 '365', // default
819 xl('Number of days that the client certificate is valid.')
822 'Emergency_Login_email_id' => array(
823 xl('Emergency Login Email Address'),
824 'text', // data type
825 '', // default
826 xl('Email address, if any, to receive emergency login user activation messages.')
831 // Notifications Tab
833 'Notifications' => array(
835 'patient_reminder_sender_name' => array(
836 xl('Patient Reminder Sender Name'),
837 'text', // data type
838 '', // default
839 xl('Name of the sender for patient reminders.')
842 'patient_reminder_sender_email' => array(
843 xl('Patient Reminder Sender Email'),
844 'text', // data type
845 '', // default
846 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.')
849 'practice_return_email_path' => array(
850 xl('Notification Email Address'),
851 'text', // data type
852 '', // default
853 xl('Email address, if any, to receive administrative notifications.')
856 'EMAIL_METHOD' => array(
857 xl('Email Transport Method'),
858 array(
859 'PHPMAIL' => 'PHPMAIL',
860 'SENDMAIL' => 'SENDMAIL',
861 'SMTP' => 'SMTP',
863 'SMTP', // default
864 xl('Method for sending outgoing email.')
867 'SMTP_HOST' => array(
868 xl('SMTP Server Hostname'),
869 'text', // data type
870 'localhost', // default
871 xl('If SMTP is used, the server`s hostname or IP address.')
874 'SMTP_PORT' => array(
875 xl('SMTP Server Port Number'),
876 'num', // data type
877 '25', // default
878 xl('If SMTP is used, the server`s TCP port number (usually 25).')
881 'SMTP_USER' => array(
882 xl('SMTP User for Authentication'),
883 'text', // data type
884 '', // default
885 xl('Must be empty if SMTP authentication is not used.')
888 'SMTP_PASS' => array(
889 xl('SMTP Password for Authentication'),
890 'text', // data type
891 '', // default
892 xl('Must be empty if SMTP authentication is not used.')
895 'EMAIL_NOTIFICATION_HOUR' => array(
896 xl('Email Notification Hours'),
897 'num', // data type
898 '50', // default
899 xl('Number of hours in advance to send email notifications.')
902 'SMS_NOTIFICATION_HOUR' => array(
903 xl('SMS Notification Hours'),
904 'num', // data type
905 '50', // default
906 xl('Number of hours in advance to send SMS notifications.')
909 'SMS_GATEWAY_USENAME' => array(
910 xl('SMS Gateway Username'),
911 'text', // data type
912 '', // default
913 xl('Username for SMS Gateway.')
916 'SMS_GATEWAY_PASSWORD' => array(
917 xl('SMS Gateway Password'),
918 'text', // data type
919 '', // default
920 xl('Password for SMS Gateway.')
923 'SMS_GATEWAY_APIKEY' => array(
924 xl('SMS Gateway API Key'),
925 'text', // data type
926 '', // default
927 xl('API key for SMS Gateway.')
930 'phone_notification_hour' => array(
931 xl('Phone Notification Hour'),
932 'num', // data type
933 '50', // default
934 xl('Number of hours in advance to send Phone notification.')
937 'phone_gateway_username' => array(
938 xl('Phone Gateway Username'),
939 'text', // data type
940 '', // default
941 xl('Username for Phone Gateway. Automated VOIP service provided by Maviq. Please visit http://signup.maviq.com for more information.')
944 'phone_gateway_password' => array(
945 xl('Phone Gateway Password'),
946 'text', // data type
947 '', // default
948 xl('Password for Phone Gateway. Automated VOIP service provided by Maviq. Please visit http://signup.maviq.com for more information.')
951 'phone_gateway_url' => array(
952 xl('Phone Gateway URL'),
953 'text', // data type
954 '', // default
955 xl('URL for Phone Gateway. Automated VOIP service provided by Maviq. Please visit http://signup.maviq.com for more information.')
960 // CDR (Clinical Decision Rules)
962 'CDR' => array(
964 'enable_cdr' => array(
965 xl('Enable Clinical Decisions Rules (CDR)'),
966 'bool', // data type
967 '1', // default
968 xl('Enable Clinical Decisions Rules (CDR)')
971 'enable_cdr_crw' => array(
972 xl('Enable Clinical Reminder Widget'),
973 'bool', // data type
974 '1', // default
975 xl('Enable Clinical Reminder Widget')
978 'enable_cdr_crp' => array(
979 xl('Enable Clinical Reminder Popup'),
980 'bool', // data type
981 '1', // default
982 xl('Enable Clinical Reminder Popup')
985 'enable_cdr_prw' => array(
986 xl('Enable Patient Reminder Widget'),
987 'bool', // data type
988 '1', // default
989 xl('Enable Patient Reminder Widget')
992 'enable_cqm' => array(
993 xl('Enable CQM Reporting'),
994 'bool', // data type
995 '1', // default
996 xl('Enable Clinical Quality Measure (CQM) Reporting')
999 'pqri_registry_name' => array(
1000 xl('PQRI Registry Name'),
1001 'text', // data type
1002 'Model Registry', // default
1003 xl('PQRI Registry Name')
1006 'pqri_registry_id' => array(
1007 xl('PQRI Registry ID'),
1008 'text', // data type
1009 '125789123', // default
1010 xl('PQRI Registry ID')
1013 'enable_amc' => array(
1014 xl('Enable AMC Reporting'),
1015 'bool', // data type
1016 '1', // default
1017 xl('Enable Automated Measure Calculations (AMC) Reporting')
1020 'enable_amc_prompting' => array(
1021 xl('Enable AMC Prompting'),
1022 'bool', // data type
1023 '1', // default
1024 xl('Enable Prompting For Automated Measure Calculations (AMC) Required Data')
1027 'enable_amc_tracking' => array(
1028 xl('Enable AMC Tracking'),
1029 'bool', // data type
1030 '1', // default
1031 xl('Enable Reporting of Tracking Date For Automated Measure Calculations (AMC)')
1034 'cdr_report_nice' => array(
1035 xl('CDR Reports Processing Priority'),
1036 array(
1037 '' => xl('Default Priority'),
1038 '5' => xl('Moderate Priority'),
1039 '10' => xl('Moderate/Low Priority'),
1040 '15' => xl('Low Priority'),
1041 '20' => xl('Lowest Priority')
1043 '', // default
1044 xl('Set processing priority for CDR engine based reports.')
1047 'pat_rem_clin_nice' => array(
1048 xl('Patient Reminder Creation Processing Priority'),
1049 array(
1050 '' => xl('Default Priority'),
1051 '5' => xl('Moderate Priority'),
1052 '10' => xl('Moderate/Low Priority'),
1053 '15' => xl('Low Priority'),
1054 '20' => xl('Lowest Priority')
1056 '', // default
1057 xl('Set processing priority for creation of Patient Reminders (in full clinic mode).')
1062 // Logging
1064 'Logging' => array(
1066 'enable_auditlog' => array(
1067 xl('Enable Audit Logging'),
1068 'bool', // data type
1069 '1', // default
1070 xl('Enable Audit Logging')
1073 'audit_events_patient-record' => array(
1074 xl('Audit Logging Patient Record'),
1075 'bool', // data type
1076 '1', // default
1077 xl('Enable logging of patient record modifications.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1080 'audit_events_scheduling' => array(
1081 xl('Audit Logging Scheduling'),
1082 'bool', // data type
1083 '1', // default
1084 xl('Enable logging of scheduling activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1087 'audit_events_order' => array(
1088 xl('Audit Logging Order'),
1089 'bool', // data type
1090 '1', // default
1091 xl('Enable logging of ordering activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1094 'audit_events_security-administration' => array(
1095 xl('Audit Logging Security Administration'),
1096 'bool', // data type
1097 '1', // default
1098 xl('Enable logging of security and administration activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1101 'audit_events_backup' => array(
1102 xl('Audit Logging Backups'),
1103 'bool', // data type
1104 '1', // default
1105 xl('Enable logging of backup related activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1108 'audit_events_other' => array(
1109 xl('Audit Logging Miscellaneous'),
1110 'bool', // data type
1111 '1', // default
1112 xl('Enable logging of miscellaneous activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1115 'audit_events_query' => array(
1116 xl('Audit Logging SELECT Query'),
1117 'bool', // data type
1118 '0', // default
1119 xl('Enable logging of all SQL SELECT queries.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1122 'audit_events_cdr' => array(
1123 xl('Audit CDR Engine Queries'),
1124 'bool', // data type
1125 '0', // default
1126 xl('Enable logging of CDR Engine Queries.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
1129 'enable_atna_audit' => array(
1130 xl('Enable ATNA Auditing'),
1131 'bool', // data type
1132 '0', // default
1133 xl('Enable Audit Trail and Node Authentication (ATNA).')
1136 'atna_audit_host' => array(
1137 xl('ATNA audit host'),
1138 'text', // data type
1139 '', // default
1140 xl('The hostname of the ATNA audit repository machine.')
1143 'atna_audit_port' => array(
1144 xl('ATNA audit port'),
1145 'text', // data type
1146 '6514', // default
1147 xl('Listening port of the RFC 5425 TLS syslog server.')
1150 'atna_audit_localcert' => array(
1151 xl('ATNA audit local certificate'),
1152 'text', // data type
1153 '', // default
1154 xl('Certificate to send to RFC 5425 TLS syslog server.')
1157 'atna_audit_cacert' => array(
1158 xl('ATNA audit CA certificate'),
1159 'text', // data type
1160 '', // default
1161 xl('CA Certificate for verifying the RFC 5425 TLS syslog server.')
1166 // Miscellaneous Tab
1168 'Miscellaneous' => array(
1170 'mysql_bin_dir' => array(
1171 xl('Path to MySQL Binaries'),
1172 'text', // data type
1173 $mysql_bin_dir, // default
1174 xl('Full path to directory containing MySQL executables.')
1177 'perl_bin_dir' => array(
1178 xl('Path to Perl Binaries'),
1179 'text', // data type
1180 $perl_bin_dir, // default
1181 xl('Full path to directory containing Perl executables.')
1184 'temporary_files_dir' => array(
1185 xl('Path to Temporary Files'),
1186 'text', // data type
1187 $temporary_files_dir, // default
1188 xl('Full path to directory used for temporary files.')
1191 'backup_log_dir' => array(
1192 xl('Path for Event Log Backup'),
1193 'text', // data type
1194 $backup_log_dir, // default
1195 xl('Full path to directory for event log backup.')
1198 'state_data_type' => array(
1199 xl('State Data Type'),
1200 array(
1201 '2' => xl('Text field'),
1202 '1' => xl('Single-selection list'),
1203 '26' => xl('Single-selection list with ability to add to the list'),
1205 '26', // default
1206 xl('Field type to use for employer or subscriber state in demographics.')
1209 'state_list' => array(
1210 xl('State list'),
1211 'text', // data type
1212 'state', // default
1213 xl('List used by above State Data Type option.')
1216 'state_custom_addlist_widget' => array(
1217 xl('State List Widget Custom Fields'),
1218 'bool', // data type
1219 '1', // default
1220 xl('Show the custom state form for the add list widget (will ask for title and abbreviation).')
1223 'country_data_type' => array(
1224 xl('Country Data Type'),
1225 array(
1226 '2' => xl('Text field'),
1227 '1' => xl('Single-selection list'),
1228 '26' => xl('Single-selection list with ability to add to the list'),
1230 '26', // default
1231 xl('Field type to use for employer or subscriber country in demographics.')
1234 'country_list' => array(
1235 xl('Country list'),
1236 'text', // data type
1237 'country', // default
1238 xl('List used by above Country Data Type option.')
1241 'print_command' => array(
1242 xl('Print Command'),
1243 'text', // data type
1244 'lpr -P HPLaserjet6P -o cpi=10 -o lpi=6 -o page-left=72 -o page-top=72',
1245 xl('Shell command for printing from the server.')
1248 'default_chief_complaint' => array(
1249 xl('Default Reason for Visit'),
1250 'text', // data type
1252 xl('You may put text here as the default complaint in the New Patient Encounter form.')
1255 'default_new_encounter_form' => array(
1256 xl('Default Encounter Form ID'),
1257 'text', // data type
1259 xl('To automatically open the specified form. Some sports teams use football_injury_audit here.')
1262 'patient_id_category_name' => array(
1263 xl('Patient ID Category Name'),
1264 'text', // data type
1265 'Patient ID card', // default
1266 xl('Optional category name for an ID Card image that can be viewed from the patient summary page.')
1269 'patient_photo_category_name' => array(
1270 xl('Patient Photo Category Name'),
1271 'text', // data type
1272 'Patient Photograph', // default
1273 xl('Optional category name for photo images that can be viewed from the patient summary page.')
1276 'MedicareReferrerIsRenderer' => array(
1277 xl('Medicare Referrer Is Renderer'),
1278 'bool', // data type
1279 '0', // default = true
1280 xl('For Medicare only, forces the referring provider to be the same as the rendering provider.')
1283 'post_to_date_benchmark' => array(
1284 xl('Financial Close Date (yyyy-mm-dd)'),
1285 'text', // data type
1286 date('Y-m-d',time() - (10 * 24 * 60 * 60)), // default
1287 xl('The payments posted cannot go below this date.This ensures that after taking the final report nobody post for previous dates.')
1290 'enable_hylafax' => array(
1291 xl('Enable Hylafax Support'),
1292 'bool', // data type
1293 '0', // default
1294 xl('Enable Hylafax Support')
1297 'hylafax_server' => array(
1298 xl('Hylafax Server'),
1299 'text', // data type
1300 'localhost', // default
1301 xl('Hylafax server hostname.')
1304 'hylafax_basedir' => array(
1305 xl('Hylafax Directory'),
1306 'text', // data type
1307 '/var/spool/fax', // default
1308 xl('Location where Hylafax stores faxes.')
1311 'hylafax_enscript' => array(
1312 xl('Hylafax Enscript Command'),
1313 'text', // data type
1314 'enscript -M Letter -B -e^ --margins=36:36:36:36', // default
1315 xl('Enscript command used by Hylafax.')
1318 'enable_scanner' => array(
1319 xl('Enable Scanner Support'),
1320 'bool', // data type
1321 '0', // default
1322 xl('Enable Scanner Support')
1325 'scanner_output_directory' => array(
1326 xl('Scanner Directory'),
1327 'text', // data type
1328 '/mnt/scan_docs', // default
1329 xl('Location where scans are stored.')
1334 // Portal Tab
1336 'Portal' => array(
1338 'portal_onsite_enable' => array(
1339 xl('Enable Onsite Patient Portal'),
1340 'bool', // data type
1341 '0',
1342 xl('Enable Onsite Patient Portal.')
1345 'portal_onsite_address' => array(
1346 xl('Onsite Patient Portal Site Address'),
1347 'text', // data type
1348 'https://your_web_site.com/openemr/patients',
1349 xl('Website link for the Onsite Patient Portal.')
1352 'portal_offsite_enable' => array(
1353 xl('Enable Offsite Patient Portal'),
1354 'bool', // data type
1355 '0',
1356 xl('Enable Offsite Patient Portal.')
1359 'portal_offsite_username' => array(
1360 xl('Offsite Patient Portal Username'),
1361 'text', // data type
1363 xl('Offsite Patient Portal Username(Put Blank If not Registered).')
1366 'portal_offsite_password' => array(
1367 xl('Offsite Patient Portal Password'),
1368 'pwd', // data type
1370 xl('Offsite Patient Portal Password(Put Blank If not Registered).')
1373 'portal_offsite_address' => array(
1374 xl('Offsite Patient Portal Site Address'),
1375 'text', // data type
1376 'https://mydocsportal.com/provider.php',
1377 xl('Offsite Https link for the Patient Portal.')
1379 'portal_offsite_address_patient_link' => array(
1380 xl('Offsite Patient Portal Site Address (Patient Link)'),
1381 'text', // data type
1382 'https://mydocsportal.com',
1383 xl('Offsite Https link for the Patient Portal.(Patient Link)')
1388 // Connectors Tab
1390 'Connectors' => array(
1392 'lab_exchange_enable' => array(
1393 xl('Enable Lab Exchange'),
1394 'bool', // data type
1395 '0',
1396 xl('Enable the OpenEMR Support LLC Lab Exchange Service.')
1399 'lab_exchange_siteid' => array(
1400 xl('Lab Exchange Site ID'),
1401 'text', // data type
1402 '3',
1403 xl('Site ID for the OpenEMR Support LLC Lab Exchange Service.')
1406 'lab_exchange_token' => array(
1407 xl('Lab Exchange Token ID'),
1408 'text', // data type
1409 '12345',
1410 xl('Token ID for the OpenEMR Support LLC Lab Exchange Service.')
1413 'lab_exchange_endpoint' => array(
1414 xl('Lab Exchange Site Address'),
1415 'text', // data type
1416 'https://openemrsupport.com:29443/len/api',
1417 xl('Https link for the OpenEMR Support LLC Lab Exchange Service.')
1420 'erx_enable' => array(
1421 xl('Enable NewCrop eRx Service'),
1422 'bool', // data type
1423 '0',
1424 xl('Enable ZMG, LLC eRx service')
1427 'erx_path_production' => array(
1428 xl('NewCrop eRx Site Address'),
1429 'text', // data type
1430 'https://secure.newcropaccounts.com/InterfaceV7/RxEntry.aspx',
1431 xl('Contact ZMG, LLC (zmghealth@gmail.com) for subscribing the eRx service')
1434 'erx_path_soap_production' => array(
1435 xl('NewCrop eRx Web Service Address'),
1436 'text', // data type
1437 'https://secure.newcropaccounts.com/v7/WebServices/Update1.asmx?WSDL;https://secure.newcropaccounts.com/v7/WebServices/Patient.asmx?WSDL',
1438 xl('Contact ZMG, LLC (zmghealth@gmail.com) for subscribing the eRx service')
1441 'partner_name_production' => array(
1442 xl('NewCrop eRx Partner Name'),
1443 'text', // data type
1445 xl('Contact ZMG, LLC (zmghealth@gmail.com) for subscribing the eRx service')
1448 'erx_name_production' => array(
1449 xl('NewCrop eRx Name'),
1450 'text', // data type
1452 xl('Contact ZMG, LLC (zmghealth@gmail.com) for subscribing the eRx service')
1455 'erx_password_production' => array(
1456 xl('NewCrop eRx Password'),
1457 'pass', // data type
1459 xl('Contact ZMG, LLC (zmghealth@gmail.com) for subscribing the eRx service')
1462 'erx_upload_active' => array(
1463 xl('Only upload active prescriptions'),
1464 'bool', // data type
1465 '0',
1466 xl('Only upload active prescriptions')
1469 'erx_import_status_message' => array(
1470 xl('Enable import status message for NewCrop erx'),
1471 'bool', // data type
1472 '0',
1473 xl('Enable import status message for NewCrop erx')
1476 'erx_medication_display' => array(
1477 xl('Do not display Medications uploaded to NewCrop'),
1478 'bool', // data type
1479 '0',
1480 xl('Do not display Medications uploaded to NewCrop')
1483 'erx_allergy_display' => array(
1484 xl('Do not display Allergy uploaded to NewCrop'),
1485 'bool', // data type
1486 '0',
1487 xl('Do not display Allergy uploaded to NewCrop')
1490 'erx_default_patient_country' => array(
1491 xl('Default Patient Country'),
1492 array(
1493 '' => '',
1494 'US' => 'USA',
1495 'CA' => 'Canada',
1496 'MX' => 'Mexico'
1499 xl('Default Patient Country'),
1503 'Rx' => array(
1504 'rx_enable_DEA' => array(
1505 xl('Rx Enable DEA #'),
1506 'bool', // data type
1507 '1',
1508 xl('Rx Enable DEA #')
1510 'rx_show_DEA' => array(
1511 xl('Rx Show DEA #'),
1512 'bool', // data type
1513 '0',
1514 xl('Rx Show DEA #')
1516 'rx_enable_NPI' => array(
1517 xl('Rx Enable NPI'),
1518 'bool', // data type
1519 '0',
1520 xl('Rx Enable NPI')
1522 'rx_show_NPI' => array(
1523 xl('Rx Show NPI'),
1524 'bool', // data type
1525 '0',
1526 xl('Rx Show NPI')
1528 'rx_enable_SLN' => array(
1529 xl('Rx Enable State Lic. #'),
1530 'bool', // data type
1531 '0',
1532 xl('Rx Enable State Lic. #')
1534 'rx_show_SLN' => array(
1535 xl('Rx Show State Lic. #'),
1536 'bool', // data type
1537 '0',
1538 xl('Rx Show State Lic. #')
1540 'rx_paper_size' => array(
1541 xl('Rx Paper Size'), // descriptive name
1542 array(
1543 'LETTER' => xl('Letter Paper Size'),
1544 'LEGAL' => xl('Legal Paper Size'),
1545 'FOLIO' => xl('Folio Paper Size'),
1546 'EXECUTIVE' => xl('Executive Paper Size'),
1547 '4A0' => ('4A0' . " " . xl('Paper Size')),
1548 '2A0' => ('2A0' . " " . xl('Paper Size')),
1549 'A0' => ('A0' . " " . xl('Paper Size')),
1550 'A1' => ('A1' . " " . xl('Paper Size')),
1551 'A2' => ('A2' . " " . xl('Paper Size')),
1552 'A3' => ('A3' . " " . xl('Paper Size')),
1553 'A4' => ('A4' . " " . xl('Paper Size')),
1554 'A5' => ('A5' . " " . xl('Paper Size')),
1555 'A6' => ('A6' . " " . xl('Paper Size')),
1556 'A7' => ('A7' . " " . xl('Paper Size')),
1557 'A8' => ('A8' . " " . xl('Paper Size')),
1558 'A9' => ('A9' . " " . xl('Paper Size')),
1559 'A10' => ('A10' . " " . xl('Paper Size')),
1560 'B0' => ('B0' . " " . xl('Paper Size')),
1561 'B1' => ('B1' . " " . xl('Paper Size')),
1562 'B2' => ('B2' . " " . xl('Paper Size')),
1563 'B3' => ('B3' . " " . xl('Paper Size')),
1564 'B4' => ('B4' . " " . xl('Paper Size')),
1565 'B5' => ('B5' . " " . xl('Paper Size')),
1566 'B6' => ('B6' . " " . xl('Paper Size')),
1567 'B7' => ('B7' . " " . xl('Paper Size')),
1568 'B8' => ('B8' . " " . xl('Paper Size')),
1569 'B9' => ('B9' . " " . xl('Paper Size')),
1570 'B10' => ('B10' . " " . xl('Paper Size')),
1571 'C0' => ('C0' . " " . xl('Paper Size')),
1572 'C1' => ('C1' . " " . xl('Paper Size')),
1573 'C2' => ('C2' . " " . xl('Paper Size')),
1574 'C3' => ('C3' . " " . xl('Paper Size')),
1575 'C4' => ('C4' . " " . xl('Paper Size')),
1576 'C5' => ('C5' . " " . xl('Paper Size')),
1577 'C6' => ('C6' . " " . xl('Paper Size')),
1578 'C7' => ('C7' . " " . xl('Paper Size')),
1579 'C8' => ('C8' . " " . xl('Paper Size')),
1580 'C9' => ('C9' . " " . xl('Paper Size')),
1581 'C10' => ('C10' . " " . xl('Paper Size')),
1582 'RA0' => ('RA0' . " " . xl('Paper Size')),
1583 'RA1' => ('RA1' . " " . xl('Paper Size')),
1584 'RA2' => ('RA2' . " " . xl('Paper Size')),
1585 'RA3' => ('RA3' . " " . xl('Paper Size')),
1586 'RA4' => ('RA4' . " " . xl('Paper Size')),
1587 'SRA0' => ('SRA0' . " " . xl('Paper Size')),
1588 'SRA1' => ('SRA1' . " " . xl('Paper Size')),
1589 'SRA2' => ('SRA2' . " " . xl('Paper Size')),
1590 'SRA3' => ('SRA3' . " " . xl('Paper Size')),
1591 'SRA4' => ('SRA4' . " " . xl('Paper Size')),
1593 'LETTER', // default = tree menu
1594 xl('Rx Paper Size')
1596 'rx_left_margin' => array(
1597 xl('Rx Left Margin (px)'),
1598 'num',
1599 '30',
1600 xl('Rx Left Margin (px)')
1602 'rx_right_margin' => array(
1603 xl('Rx Right Margin (px)'),
1604 'num',
1605 '30',
1606 xl('Rx Right Margin (px)')
1608 'rx_top_margin' => array(
1609 xl('Rx Top Margin (px)'),
1610 'num',
1611 '72',
1612 xl('Rx Top Margin (px)')
1614 'rx_bottom_margin' => array(
1615 xl('Rx Bottom Margin (px)'),
1616 'num',
1617 '30',
1618 xl('Rx Bottom Margin (px)')