2 // Copyright (C) 2010 Rod Roark <rod@sunsetsystems.com>
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 // Arabic // xl('Arabic')
21 // Armenian // xl('Armenian')
22 // Bahasa Indonesia // xl('Bahasa Indonesia')
23 // Chinese (Simplified) // xl('Chinese (Simplified)')
24 // Chinese (Traditional) // xl('Chinese (Traditional)')
25 // Danish // xl('Danish')
26 // Dutch // xl('Dutch')
27 // English (Indian) // xl('English (Indian)')
28 // English (Standard) // xl('English (Standard)')
29 // French // xl('French')
30 // German // xl('German')
31 // Greek // xl('Greek')
32 // Hebrew // xl('Hebrew')
33 // Norwegian // xl('Norwegian')
34 // Portuguese (Brazilian) // xl('Portuguese (Brazilian)')
35 // Portuguese (European) // xl('Portuguese (European)')
36 // Russian // xl('Russian')
37 // Slovak // xl('Slovak')
38 // Spanish // xl('Spanish')
39 // Swedish // xl('Swedish')
40 // Turkish // xl('Turkish')
42 // OS-dependent stuff.
43 if (stristr(PHP_OS
, 'WIN')) {
45 $mysql_bin_dir = 'C:/xampp/mysql/bin';
46 $perl_bin_dir = 'C:/xampp/perl/bin';
47 $temporary_files_dir = 'C:/windows/temp';
48 $backup_log_dir = 'C:/windows/temp';
52 $mysql_bin_dir = '/usr/bin';
53 $perl_bin_dir = '/usr/bin';
54 $temporary_files_dir = '/tmp';
55 $backup_log_dir = '/tmp';
58 // Language constant declarations:
64 // xl('Notifications')
65 // xl('Miscellaneous')
67 $GLOBALS_METADATA = array(
71 'Appearance' => array(
73 'concurrent_layout' => array(
74 xl('Layout Style'), // descriptive name
76 '0' => 'Old style layout with no left menu',
77 '1' => 'Navigation menu consists of pairs of radio buttons',
78 '2' => 'Navigation menu is a tree view',
80 '2', // default = tree menu
81 xl('Type of screen layout')
84 'css_header' => array(
88 xl('Pick a CSS theme.')
91 'gbl_nav_area_width' => array(
92 xl('Navigation Area Width'),
95 xl('Width in pixels of the left navigation frame.')
98 'openemr_name' => array(
99 xl('Application Title'),
102 xl('Application name for login page and main window title.')
105 'full_new_patient_form' => array(
106 xl('New Patient Form'),
108 '0' => xl('Old-style static form without search or duplication check'),
109 '1' => xl('All demographics fields, with search and duplication check'),
110 '2' => xl('Mandatory or specified fields only, search and dup check'),
111 '3' => xl('Mandatory or specified fields only, dup check, no search'),
114 xl('Style of form used for adding new patients')
117 'patient_search_results_style' => array(
118 xl('Patient Search Results Style'),
120 '0' => xl('Encounter statistics'),
121 '1' => xl('Mandatory and specified fields'),
124 xl('Type of columns displayed for patient search results')
127 'simplified_demographics' => array(
128 xl('Simplified Demographics'),
130 '0', // default = false
131 xl('Omit insurance and some other things from the demographics form')
134 'simplified_prescriptions' => array(
135 xl('Simplified Prescriptions'),
137 '0', // default = false
138 xl('Omit form, route and interval which then become part of dosage')
141 'simplified_copay' => array(
142 xl('Simplified Co-Pay'),
144 '0', // default = false
145 xl('Omit method of payment from the co-pay panel')
148 'use_charges_panel' => array(
149 xl('Use Charges Panel'),
151 '0', // default = false
152 xl('Enables the old Charges panel for entering billing codes and payments. Not recommended, use the Fee Sheet instead.')
155 'online_support_link' => array(
156 xl('Online Support Link'),
158 'http://sourceforge.net/projects/openemr/support',
159 xl('URL for OpenEMR support.')
168 'language_default' => array(
169 xl('Default Language'),
171 'English (Standard)', // default = english
172 xl('Default language if no other is allowed or chosen.')
175 'language_menu_showall' => array(
176 xl('All Languages Allowed'),
178 '1', // default = true
179 xl('Allow all available languages as choices on menu at login.')
182 'language_menu_other' => array(
183 xl('Allowed Languages'),
184 'm_lang', // data type
185 '', // default = none
186 xl('Select which languages, if any, may be chosen at login. (only pertinent if above All Languages Allowed is turned off)')
189 'translate_layout' => array(
190 xl('Translate Layouts'),
192 '1', // default = true
193 xl('Is text from form layouts to be translated?')
196 'translate_lists' => array(
197 xl('Translate Lists'),
199 '1', // default = true
200 xl('Is text from lists to be translated?')
203 'translate_gacl_groups' => array(
204 xl('Translate Access Control Groups'),
206 '1', // default = true
207 xl('Are access control group names to be translated?')
210 'translate_form_titles' => array(
211 xl('Translate Patient Note Titles'),
213 '1', // default = true
214 xl('Are patient note titles to be translated?')
217 'translate_document_categories' => array(
218 xl('Translate Document Categories'),
220 '1', // default = true
221 xl('Are document category names to be translated?')
224 'translate_appt_categories' => array(
225 xl('Translate Appointment Categories'),
227 '1', // default = true
228 xl('Are appointment category names to be translated?')
231 'units_of_measurement' => array(
232 xl('Units for Visit Forms'),
234 '1' => xl('Show both US and metric (main unit is US)'),
235 '2' => xl('Show both US and metric (main unit is metric)'),
236 '3' => xl('Show US only'),
237 '4' => xl('Show metric only'),
239 '1', // default = Both/US
240 xl('Applies to the Vitals form and Growth Chart')
243 'disable_deprecated_metrics_form' => array(
244 xl('Disable Old Metric Vitals Form'),
246 '1', // default = true
247 xl('This was the older metric-only Vitals form, now deprecated.')
250 'phone_country_code' => array(
251 xl('Telephone Country Code'),
253 '1', // default = North America
254 xl('1 = North America. See http://www.wtng.info/ for a list of other country codes.')
257 'date_display_format' => array(
258 xl('Date Display Format'),
260 '0' => xl('YYYY-MM-DD'),
261 '1' => xl('MM/DD/YYYY'),
262 '2' => xl('DD/MM/YYYY'),
265 xl('Format used to display most dates.')
268 'currency_decimals' => array(
269 xl('Currency Decimal Places'),
276 xl('Number of digits after decimal point for currency, usually 0 or 2.')
279 'currency_dec_point' => array(
280 xl('Currency Decimal Point Symbol'),
286 xl('Symbol used as the decimal point for currency. Not used if Decimal Places is 0.')
289 'currency_thousands_sep' => array(
290 xl('Currency Thousands Separator'),
298 xl('Symbol used to separate thousands for currency.')
301 'gbl_currency_symbol' => array(
302 xl('Currency Designator'),
305 xl('Code or symbol to indicate currency') . '. ' . xl('Examples') .
306 ': USD GBP EUR $ £ €'
315 'specific_application' => array(
316 xl('Specific Application'),
319 '1' => xl('Athletic team'),
321 '3' => xl('Weight loss clinic'),
324 xl('Indicator for specialized usage')
327 'inhouse_pharmacy' => array(
328 xl('Drugs and Products'),
330 '0' => xl('Do not inventory and sell any products'),
331 '1' => xl('Inventory and sell drugs only'),
332 '2' => xl('Inventory and sell both drugs and non-drug products'),
333 '3' => xl('Products but no prescription drugs and no templates'),
336 xl('Option to support inventory and sales of products')
339 'disable_chart_tracker' => array(
340 xl('Disable Chart Tracker'),
342 '0', // default = false
343 xl('Removes the Chart Tracker feature')
346 'disable_phpmyadmin_link' => array(
347 xl('Disable phpMyAdmin'),
349 '0', // default = false
350 xl('Removes support for phpMyAdmin')
353 'disable_immunizations' => array(
354 xl('Disable Immunizations'),
356 '0', // default = false
357 xl('Removes support for immunizations')
360 'disable_prescriptions' => array(
361 xl('Disable Prescriptions'),
363 '0', // default = false
364 xl('Removes support for prescriptions')
367 'omit_employers' => array(
368 xl('Omit Employers'),
370 '0', // default = false
371 xl('Omit employer information in patient demographics')
374 'select_multi_providers' => array(
375 xl('Support Multi-Provider Events'),
377 '0', // default = false
378 xl('Support calendar events that apply to multiple providers')
381 'disable_non_default_groups' => array(
382 xl('Disable User Groups'),
384 '1', // default = true
385 xl('Normally this should be checked. Not related to access control.')
388 'ignore_pnotes_authorization' => array(
389 xl('Skip Authorization of Patient Notes'),
391 '1', // default = true
392 xl('Do not require patient notes to be authorized')
395 'support_encounter_claims' => array(
396 xl('Allow Encounter Claims'),
398 '0', // default = false
399 xl('Allow creation of claims containing diagnoses but not procedures or charges. Most clinics do not want this.')
402 'advance_directives_warning' => array(
403 xl('Advance Directives Warning'),
405 '0', // default = false
406 xl('Display advance directives in the demographics page.')
409 'configuration_import_export' => array(
410 xl('Configuration Export/Import'),
412 '0', // default = false
413 xl('Support export/import of configuration data via the Backup page.')
416 'restrict_user_facility' => array(
417 xl('Restrict Users to Facilities'),
420 xl('Restrict non-authorized users to the Schedule Facilities set in User admin.')
423 'set_facility_cookie' => array(
424 xl('Remember Selected Facility'),
427 xl('Set a facility cookie to remember the selected facility between logins.')
430 'discount_by_money' => array(
431 xl('Discounts as Monetary Amounts'),
433 '1', // default = true
434 xl('Discounts at checkout time are entered as money amounts, as opposed to percentage.')
437 'gbl_visit_referral_source' => array(
438 xl('Referral Source for Encounters'),
440 '0', // default = false
441 xl('A referral source may be specified for each visit.')
444 'gbl_mask_patient_id' => array(
445 xl('Mask for Patient IDs'),
448 xl('Specifies formatting for the external patient ID. # = digit, @ = alpha, * = any character. Empty if not used.')
451 'gbl_mask_invoice_number' => array(
452 xl('Mask for Invoice Numbers'),
455 xl('Specifies formatting for invoice reference numbers. # = digit, @ = alpha, * = any character. Empty if not used.')
458 'gbl_mask_product_id' => array(
459 xl('Mask for Product IDs'),
462 xl('Specifies formatting for product NDC fields. # = digit, @ = alpha, * = any character. Empty if not used.')
465 'force_billing_widget_open' => array(
466 xl('Force Billing Widget Open'),
468 '0', // default = false
469 xl('This will force the Billing Widget in the Patient Summary screen to always be open.')
478 'disable_calendar' => array(
479 xl('Disable Calendar'),
482 xl('Do not display the calendar.')
485 'schedule_start' => array(
486 xl('Calendar Starting Hour'),
489 xl('Beginning hour of day for calendar events.')
492 'schedule_end' => array(
493 xl('Calendar Ending Hour'),
496 xl('Ending hour of day for calendar events.')
499 'calendar_interval' => array(
500 xl('Calendar Interval'),
510 xl('The time granularity of the calendar and the smallest interval in minutes for an appointment slot.')
513 'calendar_appt_style' => array(
514 xl('Appointment Display Style'),
517 '2' => 'Last name, first name',
518 '3' => 'Last name, first name (title)',
519 '4' => 'Last name, first name (title: description)',
522 xl('This determines how appointments display on the calendar.')
525 'docs_see_entire_calendar' => array(
526 xl('Providers See Entire Calendar'),
529 xl('Check this if you want providers to see all appointments by default and not just their own.')
532 'auto_create_new_encounters' => array(
533 xl('Auto-Create New Encounters'),
536 xl('Automatically create a new encounter when appointment status is set to "@" (arrived).')
546 xl('Idle Session Timeout Seconds'),
549 xl('Maximum idle time in seconds before logout. Default is 7200 (2 hours).')
552 'secure_password' => array(
553 xl('Require Strong Passwords'),
556 xl('Strong password means at least 8 characters, and at least three of: a number, a lowercase letter, an uppercase letter, a special character.')
559 'password_history' => array(
560 xl('Require Unique Passwords'),
563 xl('Means none of last three passwords are allowed when changing a password.')
566 'password_expiration_days' => array(
567 xl('Default Password Expiration Days'),
570 xl('Default password expiration period in days. 0 means this feature is disabled.')
573 'password_grace_time' => array(
574 xl('Password Expiration Grace Period'),
577 xl('Period in days where a user may login with an expired password.')
580 'is_client_ssl_enabled' => array(
581 xl('Enable Client SSL'),
584 xl('Enable client SSL certificate authentication.')
587 'certificate_authority_crt' => array(
588 xl('Path to CA Certificate File'),
591 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
594 'certificate_authority_key' => array(
595 xl('Path to CA Key File'),
598 xl('Set this to the full absolute path. For creating client SSL certificates for HTTPS.')
601 'client_certificate_valid_in_days' => array(
602 xl('Client Certificate Expiration Days'),
605 xl('Number of days that the client certificate is valid.')
608 'Emergency_Login_email_id' => array(
609 xl('Emergency Login Email Address'),
612 xl('Email address, if any, to receive emergency login user activation messages.')
619 'Notifications' => array(
621 'practice_return_email_path' => array(
622 xl('Notification Email Address'),
625 xl('Email address, if any, to receive administrative notifications.')
628 'EMAIL_METHOD' => array(
629 xl('Email Transport Method'),
631 'PHPMAIL' => 'PHPMAIL',
632 'SENDMAIL' => 'SENDMAIL',
636 xl('Method for sending outgoing email.')
639 'SMTP_HOST' => array(
640 xl('SMTP Server Hostname'),
642 'localhost', // default
643 xl('If SMTP is used, the server`s hostname or IP address.')
646 'SMTP_PORT' => array(
647 xl('SMTP Server Port Number'),
650 xl('If SMTP is used, the server`s TCP port number (usually 25).')
653 'SMTP_USER' => array(
654 xl('SMTP User for Authentication'),
657 xl('Must be empty if SMTP authentication is not used.')
660 'SMTP_PASS' => array(
661 xl('SMTP Password for Authentication'),
664 xl('Must be empty if SMTP authentication is not used.')
667 'EMAIL_NOTIFICATION_HOUR' => array(
668 xl('Email Notification Hours'),
671 xl('Number of hours in advance to send email notifications.')
674 'SMS_NOTIFICATION_HOUR' => array(
675 xl('SMS Notification Hours'),
678 xl('Number of hours in advance to send SMS notifications.')
681 'SMS_GATEWAY_USENAME' => array(
682 xl('SMS Gateway Username'),
685 xl('Username for SMS Gateway.')
688 'SMS_GATEWAY_PASSWORD' => array(
689 xl('SMS Gateway Password'),
692 xl('Password for SMS Gateway.')
695 'SMS_GATEWAY_APIKEY' => array(
696 xl('SMS Gateway API Key'),
699 xl('API key for SMS Gateway.')
708 'enable_auditlog' => array(
709 xl('Enable Audit Logging'),
712 xl('Enable Audit Logging.')
715 'audit_events_patient-record' => array(
716 xl('Audit Logging Patient Record'),
719 xl('Enable logging of patient record modifications.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
722 'audit_events_scheduling' => array(
723 xl('Audit Logging Scheduling'),
726 xl('Enable logging of scheduling activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
729 'audit_events_order' => array(
730 xl('Audit Logging Order'),
733 xl('Enable logging of ordering activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
736 'audit_events_security-administration' => array(
737 xl('Audit Logging Security Administration'),
740 xl('Enable logging of security and administration activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
743 'audit_events_backup' => array(
744 xl('Audit Logging Backups'),
747 xl('Enable logging of backup related activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
750 'audit_events_other' => array(
751 xl('Audit Logging Miscellaneous'),
754 xl('Enable logging of miscellaneous activities.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
757 'audit_events_query' => array(
758 xl('Audit Logging SELECT Query'),
761 xl('Enable logging of all SQL SELECT queries.').' ('.xl('Note that Audit Logging needs to be enabled above').')'
764 'enable_atna_audit' => array(
765 xl('Enable ATNA Auditing'),
768 xl('Enable Audit Trail and Node Authentication (ATNA).')
771 'atna_audit_host' => array(
772 xl('ATNA audit host'),
775 xl('The hostname of the ATNA audit repository machine.')
778 'atna_audit_port' => array(
779 xl('ATNA audit port'),
782 xl('Listening port of the RFC 5425 TLS syslog server.')
785 'atna_audit_localcert' => array(
786 xl('ATNA audit local certificate'),
789 xl('Certificate to send to RFC 5425 TLS syslog server.')
792 'atna_audit_cacert' => array(
793 xl('ATNA audit CA certificate'),
796 xl('CA Certificate for verifying the RFC 5425 TLS syslog server.')
803 'Miscellaneous' => array(
805 'mysql_bin_dir' => array(
806 xl('Path to MySQL Binaries'),
808 $mysql_bin_dir, // default
809 xl('Full path to directory containing MySQL executables.')
812 'perl_bin_dir' => array(
813 xl('Path to Perl Binaries'),
815 $perl_bin_dir, // default
816 xl('Full path to directory containing Perl executables.')
819 'temporary_files_dir' => array(
820 xl('Path to Temporary Files'),
822 $temporary_files_dir, // default
823 xl('Full path to directory used for temporary files.')
826 'backup_log_dir' => array(
827 xl('Path for Event Log Backup'),
829 $backup_log_dir, // default
830 xl('Full path to directory for event log backup.')
833 'state_data_type' => array(
834 xl('State Data Type'),
836 '2' => xl('Text field'),
837 '1' => xl('Single-selection list'),
838 '26' => xl('Single-selection list with ability to add to the list'),
841 xl('Field type to use for employer or subscriber state in demographics.')
844 'country_data_type' => array(
845 xl('Country Data Type'),
847 '2' => xl('Text field'),
848 '1' => xl('Single-selection list'),
849 '26' => xl('Single-selection list with ability to add to the list'),
852 xl('Field type to use for employer or subscriber country in demographics.')
855 'print_command' => array(
858 'lpr -P HPLaserjet6P -o cpi=10 -o lpi=6 -o page-left=72 -o page-top=72',
859 xl('Shell command for printing from the server.')
862 'default_chief_complaint' => array(
863 xl('Default Reason for Visit'),
866 xl('You may put text here as the default complaint in the New Patient Encounter form.')
869 'default_new_encounter_form' => array(
870 xl('Default Encounter Form ID'),
873 xl('To automatically open the specified form. Some sports teams use football_injury_audit here.')
876 'patient_id_category_name' => array(
877 xl('Patient ID Category Name'),
879 'Patient ID card', // default
880 xl('Optional category name of a document to link to from the patient summary page. Lets you click on a patient name to see their ID card.')
883 'MedicareReferrerIsRenderer' => array(
884 xl('Medicare Referrer Is Renderer'),
886 '0', // default = true
887 xl('For Medicare only, forces the referring provider to be the same as the rendering provider.')
890 'post_to_date_benchmark' => array(
891 xl('Financial Close Date (yyyy-mm-dd)'),
893 date('Y-m-d',time() - (10 * 24 * 60 * 60)), // default
894 xl('The payments posted cannot go below this date.This ensures that after taking the final report nobody post for previous dates.')