Sample Configuration

This is an example of a configuration site for a relatively complex site.  The configuration utilizes most of the integration features.

======================================================================
# ExtraView Integration Daemon Configuration File
# Copyright (c) 2015 ExtraView Corporation # ======================================================================

# ====== Server Connection Information ======

# (required)
#
# SERVER = <EVAPI URL>
#
# This string specifies the URL of the first ExtraView server API
#
SERVER = https://myserver1.mycompany.com/evj1/ExtraView/ev_api.action

# (required)
#
# SERVER2 = <EVAPI URL>
#
# This string specifies the URL of the second ExtraView server API
#
SERVER2 = https://myserver2.mycompany.com/evj2/ExtraView/ev_api.action

# ====== User Sign On Information ======

# (required)
#
# USER = <ExtraView user id>
#
# The first ExtraView user id used for accessing EVAPI
#
USER = USER_ONE

(required)
#
# PASSWORD = <ExtraView user password>
#
# The first ExtraView user's password for accessing EVAPI
#
PASSWORD = password1

# (required)
#
# USER2 = <ExtraView user id>
#
# The second ExtraView user id used for accessing EVAPI
#
USER2 = USER_TWO

# (required)
#
# PASSWORD2 = <ExtraView user password>
#
# The second ExtraView user's password for accessing EVAPI
#
PASSWORD2 = password2

# ====== Field Validation Information ======

# (optional)
#
# These settings determine whether the integration should test for the
# fields being synchronized being on the ADD, EDIT, and DETAILED_REPORT
# layouts. The default is true, but you may change these to false
#
BYPASS_EDIT_TEST = true
BYPASS_ADD_TEST = true
BYPASS_DETAILED_REPORT_TEST = true

# ====== Field Mapping Information ======

# (required)
#
# evfn.<ExtraView field name> = evfn2.<ExtraView field name>
# evfn.<ExtraView field name> => evfn2.<ExtraView field name> (one-way server-to-server2)
# evfn.<ExtraView field name> <= evfn2.<ExtraView field name> (one-way server2-to-server)
#
# Map the named field in the first ExtraView server to the named field
# in the second ExtraView server (GLOBALLY FOR ALL BUSINESS AREAS AND
# PROJECTS)
# NOTE: The CLI_EDIT_MULTI_VALUE_FIELDS behavior setting must be turned on
# in order for multi-value fields to be visible/editable in ExtraView.
#
# Examples:
# evfn.SHORT_DESCR = evfn2.SHORT_DESCR
# evfn.DESCRIPTION = evfn2.DESCRIPTION
# evfn.SHORT_DESCR = evfn2.FRED_TEXTAREA
# evfn.AREA = evfn2.AREA
# evfn.PROJECT = evfn2.PROJECT
# evfn.OP_SYS = evfn2.OP_SYS

# Facility Information
evfn.AREA = evfn2.AREA
evfn.PROJECT = evfn2.PROJECT
evfn.FACILITY_NO => evfn2.FACILITY_NO
evfn.FAC_GLOBAL_ID => evfn2.FAC_GLOBAL_ID
evfn.STATUS => evfn2.STATUS
evfn.FAC_ACUTE_ONLY_IND => evfn2.FAC_ACUTE_ONLY_IND
evfn.FACILITY_NAME => evfn2.FACILITY_NAME
evfn.FAC_DL_NAME_LIST => evfn2.FAC_DL_NAME_LIST
evfn.DIVISION => evfn2.DIVISION
evfn.OPERATING_GROUP => evfn2.OPERATING_GROUP
evfn.REGION => evfn2.REGION
evfn.AREA_LOCATION => evfn2.AREA_LOCATION

# Facility Staff
evfn.DATE_CREATED => evfn2.DATE_CREATED
evfn.ORIGINATOR => evfn2.ORIGINATOR
evfn.LEGAL_PERSONNEL_ID => evfn2.LEGAL_PERSONNEL_ID
evfn.LEGAL_OD_FLAG => evfn2.LEGAL_OD_FLAG
evfn.FAC_EFFECTIVE_DATE => evfn2.FAC_EFFECTIVE_DATE
evfn.FAC_STAFF_FNAME => evfn2.FAC_STAFF_FNAME
evfn.FAC_STAFF_MID_INITIAL => evfn2.FAC_STAFF_MID_INITIAL
evfn.FAC_STAFF_LNAME => evfn2.FAC_STAFF_LNAME
evfn.FAC_STAFF_SUFFIX => evfn2.FAC_STAFF_SUFFIX
evfn.FAC_STAFF_JOB_TITLE => evfn2.FAC_STAFF_JOB_TITLE
evfn.FAC_STAFF_PLACE_OF_BIRTH => evfn2.FAC_STAFF_PLACE_OF_BIRTH
evfn.FAC_STAFF_CTRY_OF_BIRTH => evfn2.FAC_STAFF_CTRY_OF_BIRTH

# Ownership Information
evfn.FAC_TYPE => evfn2.FAC_TYPE
evfn.FAC_PERCENTAGE => evfn2.FAC_PERCENTAGE
evfn.FAC_EFFECTIVE_DATE_OF_TYPE => evfn2.FAC_EFFECTIVE_DATE_OF_TYPE
evfn.FAC_HOME_IND => evfn2.FAC_HOME_IND
evfn.FAC_ACUTE_IND => evfn2.FAC_ACUTE_IND
evfn.FAC_IN_CTR_IND => evfn2.FAC_IN_CTR_IND

# Legal information
evfn.FAC_LEGAL_BUSINESS_NAME_LIST => evfn2.FAC_LEGAL_BUSINESS_NAME_LIST
evfn.FAC_OTHER_NAME_DBA => evfn2.FAC_OTHER_NAME_DBA

# Address Information
evfn.FAC_MAILING_ADDRESS_LINE1 => evfn2.FAC_MAILING_ADDRESS_LINE1
evfn.FAC_MAILING_ADDRESS_LINE2 => evfn2.FAC_MAILING_ADDRESS_LINE2
evfn.FAC_CITY_TOWN => evfn2.FAC_CITY_TOWN
evfn.FAC_STATE => evfn2.FAC_STATE
evfn.FAC_ZIP_CODE => evfn2.FAC_ZIP_CODE
evfn.FAC_TELEPHONE_NUMBER => evfn2.FAC_TELEPHONE_NUMBER
evfn.FAC_FAX_NUMBER => evfn2.FAC_FAX_NUMBER

# ID information
evfn.FAC_TAX_ID_NUM => evfn2.FAC_TAX_ID_NUM
evfn.FAC_STATE_INCORPORATED => evfn2.FAC_STATE_INCORPORATED
evfn.FAC_INCORPORTATION_DT => evfn2.FAC_INCORPORTATION_DT
evfn.FAC_STATE_LICENSE_NUMBER => evfn2.FAC_STATE_LICENSE_NUMBER
evfn.FAC_STATE_LICENSE_WHERE_ISSUED => evfn2.FAC_STATE_LICENSE_WHERE_ISSUED
evfn.FAC_PROFIT_CENTER => evfn2.FAC_PROFIT_CENTER
evfn.FAC_EFFECTIVE_DT_STATE_LICENSE => evfn2.FAC_EFFECTIVE_DT_STATE_LICENSE
evfn.FAC_EXP_RENEW_DT_STATE_LICENSE => evfn2.FAC_EXP_RENEW_DT_STATE_LICENSE
evfn.FAC_STATE_CERT_REQUIRED => evfn2.FAC_STATE_CERT_REQUIRED
evfn.FAC_STATE_CERT_NUMBER => evfn2.FAC_STATE_CERT_NUMBER
evfn.FAC_STATE_CERT_WHERE_ISSUED => evfn2.FAC_STATE_CERT_WHERE_ISSUED
evfn.FAC_EFFECTIVE_DT_STATE_CERT => evfn2.FAC_EFFECTIVE_DT_STATE_CERT
evfn.FAC_EXP_RENEW_DT_STATE_CERT => evfn2.FAC_EXP_RENEW_DT_STATE_CERT
evfn.FAC_MEDICARE_ID_NUM => evfn2.FAC_MEDICARE_ID_NUM
evfn.FAC_EFF_DATE_OF_TERMINATION => evfn2.FAC_EFF_DATE_OF_TERMINATION
evfn.MEDICARE_ID_CHANGED => evfn2.MEDICARE_ID_CHANGED
evfn.FAC_NPI => evfn2.FAC_NPI
evfn.FAC_CLIA_NUM => evfn2.FAC_CLIA_NUM
evfn.FAC_CLIA_EXP_DATE => evfn2.FAC_CLIA_EXP_DATE

# Regulatory Approval Information
evfn.DATE_CREATED => evfn2.DATE_CREATED
evfn.ORIGINATOR => evfn2.ORIGINATOR
evfn.FACILITY_NO => evfn2.FACILITY_NO
evfn.MY_FACILITY_ID => evfn2.MY_FACILITY_ID
evfn.FAC_APPROVAL_TYPE_1 => evfn2.FAC_APPROVAL_TYPE_1
evfn.FAC_REASON_TYPE_1 => evfn2.FAC_REASON_TYPE_1
evfn.FAC_APPROVAL_EFFECTIVE_DATE_1 => evfn2.FAC_APPROVAL_EFFECTIVE_DATE_1
evfn.FAC_APPROVAL_EXPIRATION_DATE_1 => evfn2.FAC_APPROVAL_EXPIRATION_DATE_1

# 3427 Related Information
evfn.DATE_CREATED = evfn2.DATE_CREATED
evfn.ORIGINATOR = evfn2.ORIGINATOR
evfn.NURSING_HOME_NAME = evfn2.NURSING_HOME_NAME
evfn.FDB_CARE_NURSINGHOME_LONG_TERM = evfn2.FDB_CARE_NURSINGHOME_LONG_TERM
evfn.FAC_ONSITE_HOME_TRN_ROOM = evfn2.FAC_ONSITE_HOME_TRN_ROOM
evfn.FAC_CHECK_SERVICES = evfn2.FAC_CHECK_SERVICES
evfn.FDB_CARE_NURSINGHOME_LONG_TERM = evfn2.FDB_CARE_NURSINGHOME_LONG_TERM
evfn.FMC_3427_REVIEW_DATE = evfn2.FMC_3427_REVIEW_DATE

# Medical Director Waiver
evfn.FAC_WVR_MD_UPL_DT_RR => evfn2.FAC_WVR_MD_UPL_DT_RR
evfn.FAC_WVR_MD_EFF_DT_RR => evfn2.FAC_WVR_MD_EFF_DT_RR
evfn.FAC_WVR_MD_EXP_DT_RR => evfn2.FAC_WVR_MD_EXP_DT_RR
evfn.FAC_WVR_MD_DOC_RR => evfn2.FAC_WVR_MD_DOC_RR

# CMS Isolation Room Waiver
evfn.FAC_WVR_ISO_RM_UPL_DT_RR => evfn2.FAC_WVR_ISO_RM_UPL_DT_RR
evfn.FAC_WVR_ISO_RM_EFF_DT_RR => evfn2.FAC_WVR_ISO_RM_EFF_DT_RR
evfn.FAC_WVR_ISO_RM_DOC_RR => evfn2.FAC_WVR_ISO_RM_DOC_RR

# Sister Facility Contract
evfn.FAC_WVR_SIS_FAC_UPL_DT_RR => evfn2.FAC_WVR_SIS_FAC_UPL_DT_RR
evfn.FAC_WVR_SIS_FAC_EFF_DT_RR => evfn2.FAC_WVR_SIS_FAC_EFF_DT_RR
evfn.FAC_WVR_SIS_FAC_EXP_DT_RR => evfn2.FAC_WVR_SIS_FAC_EXP_DT_RR
evfn.FAC_WVR_SIS_FAC_DOC_RR => evfn2.FAC_WVR_SIS_FAC_DOC_RR

# State CLIA
evfn.CMS_STATE_CLIA_DATE_RR = evfn2.CMS_STATE_CLIA_DATE_RR
evfn.CMS_STATE_CLIA_RR = evfn2.CMS_STATE_CLIA_RR

# 3427
evfn.CMS_3427_DATE_RR = evfn2.CMS_3427_DATE_RR
evfn.CMS_3427_RR = evfn2.CMS_3427_RR

# Statement of Deficiency
evfn.CMS_SOD_DATE_RR = evfn2.CMS_SOD_DATE_RR
evfn.CMS_SOD_RR = evfn2.CMS_SOD_RR
evfn.REG_DATE_OF_SURVEY = evfn2.REG_DATE_OF_SURVEY

# Adverse Survey Document
evfn.CMS_SERVICE_DOC_DATE_RR = evfn2.CMS_SERVICE_DOC_DATE_RR
evfn.CMS_SERVICE_DOC_RR = evfn2.CMS_SERVICE_DOC_RR

# Plan of Correction
evfn.CMS_POC_DATE_RR = evfn2.CMS_POC_DATE_RR
evfn.CMS_POC_RR = evfn2.CMS_POC_RR
evfn.CMS_POC_REJECT_DATE_RR = evfn2.CMS_POC_REJECT_DATE_RR

# State License
evfn.CMS_855_STATE_LIC_DATE_RR = evfn2.CMS_855_STATE_LIC_DATE_RR
evfn.CMS_855_STATE_LIC_RR = evfn2.CMS_855_STATE_LIC_RR

# Certificate of Need
evfn.CMS_855_CERT_OF_NEED_DATE_RR = evfn2.CMS_855_CERT_OF_NEED_DATE_RR
evfn.CMS_855_CERT_OF_NEED_RR = evfn2.CMS_855_CERT_OF_NEED_RR

# CLIA Certificate evfn.CMS_855_CLIA_CERT_DATE_RR = evfn2.CMS_855_CLIA_CERT_DATE_RR
evfn.CMS_855_CLIA_CERT_RR = evfn2.CMS_855_CLIA_CERT_RR

# Medicare Certificate
evfn.CMS_STATE_MED_CERT_LET_DATE_RR = evfn2.CMS_STATE_MED_CERT_LET_DATE_RR
evfn.CMS_STATE_MEDI_CERT_LET_RR = evfn2.CMS_STATE_MEDI_CERT_LET_RR

# Other Documents
evfn.REG_ASST_OTHER_DOCUMENT => evfn2.REG_ASST_OTHER_DOCUMENT
evfn.REG_OTHER_UPLOAD_DATE => evfn2.REG_OTHER_UPLOAD_DATE

# INSERT_NEW_ALLOWED_VALUES = true|false
# If true, each insert or update of an issue will cause new allowed values to be added
# for each combination of values in the mapped fields that has an enabled allowed value type,
# if not already present, at area 0/project 0
# Default is false
INSERT_NEW_ALLOWED_VALUES = true

# ====== Field Value Mapping ======

# (optional)
#
# evv.<ExtraView field name>.<ExtraView field value> = evv2.<ExtraView field name>.<ExtraView field value>
#
# Maps the field value in the first ExtraView server to the field value
# in the second ExtraView server
# NOTE: spaces in field values must be escaped with the \ character.
#
# Examples:
# evv.STATUS.In\ Progress = evv2.STATUS.Work\ In\ Progress
# evv.AREA.Empty\ Area = evv2.AREA.Engineering\ Issues
# evv.PROJECT.Empty\ Area\ -\ Project\ Data = evv2.PROJECT.Defects

# (optional)
#
# INSERT_VALUES.<ExtraView field name> = <ExtraView field value>
#
# The value to be used to set a field in all item INSERT operations
# in the first ExtraView server. (Not used for updates, only inserts.)

# (optional)
#
# INSERT_VALUES2.<ExtraView field name> = <ExtraView field value>
#
# The value to be used to set a field in all item INSERT operations
# in the second ExtraView server. (Not used for updates, only inserts.)

# ====== User ID Mapping ======

# (optional)
#
# evv.user.<ExtraView user id> = evv2.user.<ExtraView user id>
#
# Maps the user id in the first ExtraView server to the user id in
# the second ExtraView server
#
# Example:
# evv.user.USER_ID1 = evv2.user.USER_ID2

# ======= ExtraView ID Mapping ======

# (required)
#
# EVID_FIELD = <ExtraView Field Name>
#
# Identify the name of the field in the first ExtraView server containing the mapped item ID
# in the second ExtraView server.
# EVID_FIELD = EV_ID RR_EVID_FIELD = EV_ID_RR

# (required)
#
# EVID_FIELD2 = <ExtraView field name>
#
# Identify the name of the field in the second ExtraView server containing the mapped item ID
# in the first ExtraView server.
# EVID_FIELD2 = EV_ID RR_EVID_FIELD2 = EV_ID_RR

# ====== Relationship Group Mapping ======
# (optional)
#
# The mapping provides for replication of relationship group entries from/to the instances
# Only those rg entries that have issues that are replicated by this daemon will be replicated
#
# rg.<Relationship Group Name> = rg2.<Relationship Group Name>
#
# Example:
# rg.best_data_rg = rg2.related_test_results
# NOTE: I think this is going to have to be between parent-child on both sides, because the
# relationship group on the source is doing many things, such as facility - facility staff, facility - approvals
# and facility - 3427. rg.PARENT_CHILD = rg2.PARENT_CHILD
#
layout_type.RELATED_REG_APPROVALS = layout_type2.RELATED_APPROVAL
layout_type.FACILITY_3427_RR = layout_type2.FACILITY_3427_RR
layout_type.FAC_WVR_MD_WVR_RR = layout_type2.FAC_WVR_MD_WVR_RR
layout_type.FAC_SVR_ISO_RM_RR = layout_type2.FAC_SVR_ISO_RM_RR
layout_type.FAC_WVR_SIS_FAC_RR = layout_type2.FAC_WVR_SIS_FAC_RR
layout_type.FACILITY_STATE_CLIA_RR = layout_type2.FACILITY_STATE_CLIA_RR
layout_type.FACILITY_SOD_RR = layout_type2.FACILITY_SOD_RR
layout_type.RELATED_3427 = layout_type2.RELATED_3427
layout_type.FAC_ADVERSE_SERVICE_DOCUMENT = layout_type2.FAC_ADVERSE_SERVICE_DOCUMENT
layout_type.FACILITY_POC_RR = layout_type2.FACILITY_POC_RR
layout_type.FACILITY_STATE_LIC_RR = layout_type2.FACILITY_STATE_LIC_RR
layout_type.FACILITY_CERT_OF_NEED_RR = layout_type2.FACILITY_CERT_OF_NEED_RR
layout_type.FACILITY_CLIA_CERT_RR = layout_type2.FACILITY_CLIA_CERT_RR
layout_type.FACILITY_MEDI_CERT_RR = layout_type2.FACILITY_MEDI_CERT_RR
layout_type.REG_ASST_OTHER_DOCS = layout_type2.REG_ASST_OTHER_DOCS

# ====== Synchronization ======
# (optional)
#
# Identify the field to be inspected for the MI_REGEX evaluation to determine
# if an item in the first ExtraView server maps to an item in the second ExtraView server
#
# MI_FIELD = <ExtraView field name>

# (optional)
#
# The expression that is used with MI_FIELD value to determine if an
# item in the first ExtraView server maps to an item in the second ExtraView server
#
# MI_REGEX = <regular expression>

# (optional)
#
# Identify the field to be inspected for the MJ_REGEX evaluation to determine
# if an item in the second ExtraView server maps to an item in the first ExtraView server
#
# MJ_FIELD = <ExtraView field name>

# (optional)
#
# The expression that is used with MJ_FIELD value to determine if an
# item in the second ExtraView server maps to an item in the first ExtraView server
#
# MJ_REGEX = <regular expression>

# (optional)
#
# The expression that determines if an item in the first ExtraView server maps to an
# item in the second ExtraView server.
# In this expression, a string in the form "__NAME__" refers to a field name in
# the ExtraView issue; when the expression is evaluated, this string is substituted
# with the value of the field in the issue being tested.
#
# Examples:
# MI_POLL_TRIGGER = <Boolean expression with replaceable variables>
# MI_POLL_TRIGGER = "__area__" eq "Empty Area"
# MI_POLL_TRIGGER = "__area__" eq "Engineering Issues"
# MI_POLL_TRIGGER = "__STATUS__" eq "Sync Me"
# MI_POLL_TRIGGER = "__PROJECT__" eq "Facility" && "__STATUS__" eq "Sync Me"
# MI_POLL_TRIGGER = "__AREA__" eq "Legal" && "__STATUS__" eq "Syncme"
MI_POLL_TRIGGER = "__AREA__" eq "Legal" && "__STATUS__" eq "Syncme"

# MJ_POLL_TRIGGER = "__AREA__" eq "Legal" && "__STATUS__" eq "Syncme"
MJ_POLL_TRIGGER = "__AREA__" eq "Legal" && "__STATUS__" eq "Syncme"

# Defines the number of milliseconds between subsequent queries to the
# first ExtraView server. Default is 10000 (10 seconds).
EVPOLLWAITTIME = 10000

# Defines the number of milliseconds between subsequent queries to the
# second ExtraView server. Default is 10000 (10 seconds).
EVPOLLWAITTIME2 = 10000

# Switch that controls whether attachments are upserted along with records.
# Default is YES.
ATTACHMENT_UPSERT = YES

# ====== Notification Control ======
# (optional)
#
# Notification control values #
# Error email notification will be sent no more often than once every
# <DAEMON_ERROR_NOTIFICATION_INTERVAL> minutes
DAEMON_ERROR_NOTIFICATION_INTERVAL = 15

#
# Error email notification will not be sent until <DAEMON_WARN_NOTIFICATION_COUNT> error logs
# have occurred in <DAEMON_WARN_NOTIFICATION_INTERVAL> minutes
DAEMON_WARN_NOTIFICATION_COUNT = 5
DAEMON_WARN_NOTIFICATION_INTERVAL = 5

#
# Errors that are sent to the log are not reported until there are
# <DAEMON_ERROR_THRESHOLD> errors
DAEMON_ERROR_THRESHOLD = 15

# ====== Log File Management ======
#
# Specifies which log messages are sent to the log file: higher numbers denote
# more detailed logs
#
# The default log level 6 = OPS, 8 = DEBUG, 12 = ALL
DEFAULT_LOG_LEVEL = 6

# The Daemon log path / file name (relative to the WEB-INF directory)
LOG_FILE_PATH_NAME = logs/EVPeerDaemon.log

# This setting will use the ExtraView application server log file as opposed to
# using LOG_FILE_PATH_NAME
# Used for standalone installations on Windows, or when running in a war file
#
USE_SYSTEM_LOG = Y

# Use this statement if you want to write the SQL from the task to the log file
#PSP_LOG=YES

# Standard log file settings LOG_CHARSET=UTF-8
# Include the thread name in the log messages LOG_INCLUDE_THREAD_NAME=YES
# The date format to use in generating log records. Default: yyyy-MM-dd
# LOG_DATE_FORMAT = <valid date format>

# The time format to use in generating log records: Default kk:mm:ss
# LOG_TIME_FORMAT = <valid time format>

# Name of a script to run when switching log files. Default: none
# LOG_FILE_MANAGE_SCRIPT = <script name>

# This is the maximum number of old log files retained, when switching from
# one log file to the next. Default is -1 (infinite)
# LOG_FILE_MAX_RETAINED = <number of log files>

# This is the maximum size that the logger will permit the log file to grow
# (default is 10MB).
# LOG_FILE_MAX_SIZE = <size of file in bytes>
LOG_FILE_MAX_SIZE = 10000000

# The directory name to use for the log file (default is ./logs).
# LOG_FILE_DIR = <directory pathname>

# If true, the directory name for the log file is absolute, not relative to
# the current log file directory (./logs)
# LOG_FILE_DIR_ABSOLUTE = <true|false>

# If specified the file path name for the path name for the log file is not relative to the
# current log file directory (./logs).
# LOG_FILE_PATH_NAME_ABSOLUTE = <absolute path name for the log file>

# If true, the log file name is generated with a creation date/time string # appended.
# Default is false.
# LOG_TIME_AT_CREATION = <true|false>

# Defines log format: false (plain text) is the default
# XML_LOG_FLAG = <true|false>