Group Controls & Job Routing Rules Setup

Search Optifacts User Documentation


Table of Contents (on this page)


Introduction

This document explains the job routing tables, the Routing Group tables, their functions, and how they work together. Job routing manages the transfer of jobs to an outside source or regional processing center for production and coating based upon account and product group mapping.

Priority Number Assignments - Layering

The routing system works best when set up to manage a set of rules in a hierarchical approach. It is important to remember that priority numbers are sorted from highest to lowest number and used to select routing rules in a specific order. The system will find the first match (highest priority number) based on the routing and group definition and use that rule to route a job. If a job does not match the definition of a routing rule, it will then drop down to the next rule and try to match it. Once matched, the job will route to the specified site. Therefore, the correct structure of the group table definitions is imperative. Priority Number, System ID, and other fields are not mandatory, but the priority number is mandatory in the Job Routing Reason and Control Manager Menu. Although not mandatory, the priority number is also useful when used in the Group Control table to assign a specific routing rule. You can use the same priority number in both tables makes it easy to identify but not mandatory. The Group Control Name Set is a trigger in the Job routing Reason and Control Manager. Fill in only the fields needed to identify the required information.

Example: You may want to group a specific set of progressives with a specific coating. You can create a Group Style Name Set with several entries using the type code for each applicable progressive. Then, create a Group Lite-up Name Set for the coating and combine the two tables within the Group Control table.

Keys to this hierarchy are:

  • Account groupings - assigned to a local lab as a default.
  • Process groupings - assigned to processing centers that can do specific processes such as digital processing.
  • Product groupings combined with the two groupings above.
  • Order attribute groupings: For example, Frame-to-come suggests that the order be edged at a local lab even though surfacing may get done at a digital lab. Uncut orders could be sent directly to a digital lab.

Example: Top-level (highest priority) – Management of customer and product name sets. A combination of group account name set and product name set (s) = one rule.   At this level, we are mainly assigning group names to accounts, products, and processes. Therefore, we do not trigger routing at this level, just associating group names with the order to use these group names in the next levels.

Example: A combination of a group account name set and product name set (s) = one rule. This name set is used as a trigger in the Job Routing Reason and Control Manager.

  • Mid-level (mid priority) – Management of uncut distribution.
  • Low-level (lowest priority) – Management of edged jobs or uncut work processed at the local site.

Group Name Sets

Name sets were designed to associate several entries into one group or table. Therefore, you can combine these name sets with other name sets to create a job routing rule.

Example: Create an account group name set to include accounts specific to a region or processing center.

Name sets can also define groups of products.

Example: A product name set combined with an account group name set and a group lite-up table defined to allow or disallow a specific coating(s). Combine any group of tables or name sets within the group control menu to create a routing rule. 

Procedure

Custom Configuration for Save Group Names

From the Optifacts main menu:

Select Option 3 - Editor Utilities and press Enter.

Select Option 6 - Configuration Editor and press Enter.

Select Option 6 – Edit Custom Configuration and press Enter.

The Custom Configuration Editor displays.

The following custom configuration must be enabled. 

  • Press Q to Query to search if the table you are looking for exists and is
  • If the table exists but is not enabled:
  • Type U to update.
  • Change to Enabled field to Y
  • Press escape to save the data
  • If the table does not exist:
  • Press “A” to add a new record.
  • Enter all the information as shown in the diagram below.

 

  • Press Escape to save the data.
  • Press “E” to exit.

Group Control Menu

Use the tables within this menu to set up group tables and name sets to define job routing rules.

From the Optifacts main menu:

Select Option 3 - Editor Utilities and press Enter.

Select Option 11 - Job Routing Menu and press Enter.

Select Option 14 -  Group Control Menu and press Enter to display the Group Control Menu.

Tables 4 through 11 are optional, and only those necessary to define the type of job need to be created. Use the Group Control Editor Menu option 2 to create a combined group based upon tables created for the account, product style, material, color, etc.

Use menu option 3 – Add New Name Set to create the various account and product tables within one screen.

Group Account

Select Option 4 and press Enter to display the Group Account table.

Use the Group Account table to define an account or group of accounts when a routing rule is to apply to specific accounts (not all accounts).

The Group Account Table displays.

  • Press “A” to add a new record.
  • Enter all the pertinent information and press Enter past each field.
  • Create a name set for the account or a group of accounts. If the rule applies to only one account, you can enter an account number or enter 0 (zero) to apply to all accounts.

Examples:

Account Name Set:  [ACCOUNT 30]                                         

Account Name Set:  [        30]                                         

Account Name Set:  [UNCUT ACCT]

The account can be defined by entering the account number in the Beginning Account Code field and Ending Account Code field. In addition, a group of accounts can be defined by creating multiple entries (one for each account) or by entering specifics such as Company Code, Branch Code, Territory Code, and Ship Code.

  • Enter all the pertinent information and press Enter past each field.

  • Press Escape to save the data.
  • Press “E” to exit.

Group Frame

Select Option 5 and press Enter to display the Group Frame table.

The Group Frame Table is used to define a specific frame or group of frames.

  • Press “A” to add a new record.
  • Enter all the pertinent information and press Enter past each field. You can create multiple entries under the same Name Set.

  • Press Escape to save the data.
  • Press “E” to exit.

Group Rx

Select Option 6 and press Enter to display the Group RX table

Use the Group RX table to define RX-specific ranges and limitations.

  • Press “A” to add a new record.
  • Enter all the pertinent information and press Enter past each field. There are three screens available for data entry. In addition, you can create multiple entries under the same Name Set.

  • Press Enter through the last field to view the next screen.
  • Enter any applicable data.

  • Press Enter through the last field to view the next screen.
  • Enter any applicable data.

  • Press Escape to save the data.
  • Press “E” to exit.

Group Lite Up

Select Option 7 and press Enter to display the Group Lite Up table.

Use the Group Lite-ups Table to define a coating, tint, services, etc., or groups of coatings, tints, and services applicable to the job criteria.

  • Press “A” to add a new record.
  • Enter all the pertinent information and press Enter past each field. You can create multiple entries under the same Name Set.

  • Press Escape to save the data.
  • Press “E” to exit.

You can create multiple conditions as shown in the following example:

                                                                          

Group Style

Select Option 8 and press Enter to display the Group Style table.

Use the Group Style table to define a product by style, type, manufacturer, etc., or groups of products under the same name set.

  • Press “A” to add a new record.
  • Enter all the pertinent information and press Enter past each field. You can create multiple entries under the same Name Set.

  • Press Escape to save the data.
  • Press “E” to exit.

Group Material

Select Option 9 and press Enter to display the Group Material table.

Use the Group Material table to define a product by material code or groups of materials.

  • Press “A” to add a new record.
  • Enter all the pertinent information and press Enter past each field. You can create multiple entries under the same Name Set.

  • Press Escape to save the data.
  • Press “E” to exit.

Group Color

Select Option 10 and press Enter to display the Group Color table.

Use the Group Color table to define products by color or groups of colors.

  • Press “A” to add a new record.
  • Enter all the pertinent information and press Enter past each field. You can create multiple entries under the same Name Set.

  • Press Escape to save the data.
  • Press “E” to exit.

Group Control

Select Option 2 and press Enter to display the Group Control table.

The Group Control table is used to combine group tables into one Group Name Set, which will then be used as a trigger in the Job Routing Reason and Control Manager table to route the job with the combined criteria to a specified site. Two pages allow a combination of 6 tables and name sets.

  • Press “A” to add a new record.
  • Enter all the relevant information to define a group of products.

Two pages allow a combination of 6 tables and name sets.

  • Press Enter through the last field to view the next screen.

  • Press Escape to save the data.
  • Press “E” to exit.

Use of NOT Name Sets

To disregard a name set within a rule, type “NOT” in the NOT name set field.

In the following example: Table Name Set PROG GRP B will be ignored in this rule.

Use of the Parenthesis Around Name Sets

We can use parenthesis around name sets to let the system know to look at either entry.

In the following example, the rule applies if group style “SV” and group color (TRG or TRB) are on the job.

Combined Name Sets

Use the Group Control table to create Name Sets which you can combine to create another Control Name Set.

Example: We can create new Name Sets and combine them to create a new Control Name Set used as a trigger in the Job Routing Reason and Control Manager.

  • First, we create two separate Control Name Sets.

Name Set PROG GRP B – Plastic Uncoated Progressive and Name Set SV GRP A – Single Vision Plastic Uncoated

 

  • Then we combine them to make a new Control Name Set.

New Control Name Set - LENS GRP A combines PROG GRP A and SV GRP A. The table is defined as “name set” rather than the table name. In addition, a priority number is used, which we will match to the priority number used in the Job Routing Reason and Control Manager.

Matching priority numbers is not mandatory but makes it easier to identify what groups match routing rules.

The results state, “If the job specifications fall into name set SV GRP A or Prog Grp A, then the job will route using “LENS GRP A,”  which will be a trigger in the Job Routing Reason and Control Manager.

Combined Name Sets and Group Tables

You can also combine tables with name sets when creating a Control Name Set.

The results state, “If the job specifications fall into name set Prog Grp A and grp_rx table PROGRESSIVES, then the job will route using “LENS GRP B,”  which will be a trigger in the Job Routing Reason and Control Manager.

Coat Codes

Use the Coat Codes table to define coatings by Group Name Set and code. This code will print on the work ticket for use in production.

Select Option 11 – Coat Codes Table and press Enter to display the Coat Codes table.

Before setting up a coat codes table, you must first set up the applicable group tables.

Example:

We will set up a group lite-up table with a name set of AR COAT and a group material table with a name set of PLASTIC

     

Then we will create the Control Name Set (group menu option 2) in the Group Control table to associate the two tables into 1 Control Name Set.

Once you have created the Group Name Set, then you can add a Coating Code.

Select Option 11 and press Enter to display the Coating Codes table.

  • Press “A” to add a new record.
  • Enter all the pertinent information and press Enter past each field. You can create multiple entries under the same Name Set.
  • Group Name Set - same as the name set created in the group control table.
  • Priority Number
  • Position - Enter the character position if using the POSITION COAT CODES configuration.
  • Coating Code
  • Press Escape to save the data
  • Press “E” to exit.

The coating code will print on the work ticket.

Optifacts Rx Transfer Menu

Once you have set up all group tables, name sets, and controls, it is time to add them to routing rules.

From the Optifacts Main Menu:

Select Option 3 and press Enter to display the Editor Utilities Menu.

Select Option 11 and press Enter to display the (Job Routing) Rx Transfer Menu.

Select Option 1 to Set Send Interval & Force Transfer. Next, type the value and press Enter.

Select Option 2 to Re-Start Queued Transmissions

Select Option 3 to Check Status of the Last Transmission

Select Option 4 to review the Log File

Select Option 5 to Pause/Resume the Receiving Program

Select Option 6 to Set Time Periods to Send/Receive

Select Option 7 to Re-send an old transmission

Route Destination Editor

The Job Routing Destination Control Manager is used to define destination sites. The Route Destination Editor allows the routing lab to set up destinations to other labs that receive the work. The following are steps to help you set up this page. 

From the Optifacts Rx Transfer Menu:

Select Option 11 - Route Destination Editor and press Enter.

The Job Routing Destination Control Manager is displayed.

  • Press “A” to add a new record.
  • Enter all applicable information, and press Enter past each field.
  • Destination Site
  • Choose the lab to receive the routed job and Enter up to a 7-character lab identification name. The receiving lab provides this name.
  • Out-Going file Format
  • Enter file format: OPTI2.5, OPTI2.8, or other. Optifacts Customer Support can provide this information.
  • Transmit Protocol
  • U: UUCP, V: VisionWeb, E: External, I: Internal System, F: FTP, C: Local Copy. The protocol allows you to determine how the work gets transmitted to the receiving lab. 
  • Destination Directory
  • Enter Optifacts home directory at the remote site. This field identifies the current working directory of the receiving lab.
  • Lab ID Number (if applicable) This is the site ID for the sending lab.
  • Outgoing Site ID (if applicable) This is the site ID for the sending lab.
  • Destination Agency (if applicable)
  • Enter the DestAgency for the ECGXML file.
  • Frame Points Required (if applicable)
  • Enter 0 for ‘no requirement,’ or enter 128 if 128 points are explicitly required.
  • *** Commercial Code Format 
  • If the destination requires different commercial codes than the default, supply the format.
  • *** Commercial Diameter Format
  • Format for commercial code searches to use in searching for commercial diameter.

 *** These formats are used instead of the lab’s specified commercial code and commercial diameter formats if the receiving lab uses different codes than the Optifacts lab. 

  • Press Escape to save all entries.

Examples:

Example of an External site.


Example of setup for jobs outgoing through VisionWeb

Examples of Internal sites.

     

Job Routing Reason and Control Manager

Use the Job Routing Reason and Control Manager to define a condition for a product or product group.

Select Option 8  - Route Reason and Control Editor and press Enter.

The Job Routing Reason and Control Manager screen is displayed.

This table has three screens.

  • Press “S” to view the next screen. When editing an entry, press Enter through all the fields to access the subsequent screens.

   

 

  • Type A to add a new record.
  • Enter all the pertinent information pressing enter past each field.
  • Help prompts are indicated at the bottom of the screen when the cursor is moved to each field.
  • Press Escape to save the data.
  • Type E to exit the screen.

1st Screen: 

  • Priority - The program drops highest to lowest to find the first set of conditions matching the job. We recommend starting with a large number such as 999,900 and increment additional priorities by 100, i.e., 999,800, 999,700. Doing this will allow you to sneak in additional priorities as they apply to a situation.   For example, you decide to route all Crizal jobs, so you prioritize 999,100.  You also decide to route all glass jobs, so you assign a priority of 999,200.  Everything is working well until you realize you don’t want to route Crizal jobs that must be tinted.  Because you left space, you can now assign your new routing requirement for tinted Crizal 999,050. The priority number used can be the same number used in the Group Control table for consistency.
  • Origination Site ID - Site ID of origination site (optional). Leave Empty to work from any site.
  • Condition ID - Condition Name to match conditions for job attributes to set during transfer. The Condition Name name must match the Condition Name given in the Route Conditions Control Editor page for mapping purposes. The condition ID is free format text and does not have to match the Group Trigger name but must match the entry in the condition ID table menu 3-11-9.
  • Destination Site ID - Site ID of destination site (optional). It may be specified in Route Conditions.  The receiving lab will provide this name.
  • Group Trigger 1 - Enter a Group Name to cause routing for the Group. Precede with an exclamation mark (!) for NOT.
  • Group Trigger 2 - Enter a Group Name to cause routing for the Group. Precede with an exclamation mark (!) for NOT. It is not always required to have entries in both fields 1 and 2.
  • Group Name Set - Ties a Group Name to a condition, so won’t route. Use Group triggers to route.
  • Comments - Enter your comments for future reference. For example, “All glass jobs routed to lab XYZ.”
  • Lite-Up (num) (NOT the number viewed on the screen) - To find the num of the lite-up, see the Pricing Options Available Report in Retail Transfer (menu 11-14).
  • Lite-Up (bit) (NOT the number viewed on the screen) - To find the bit of the lite-up, see the Pricing Options Available Report in Retail Transfer (menu 11-14).
  • Lite-Up (num) (NOT the number viewed on the screen) - To find the num of the lite-up, see the Pricing Options Available Report in Retail Transfer (menu 11-14).
  • Lite-Up (bit) (NOT the number viewed on the screen) - To find the bit of the lite-up, see the Pricing Options Available Report in Retail Transfer (menu 11-14).
  • Fld Name frm Job Def. - Field Name from Job Data Definitions Editor in Configuration Menu.
  • Fld Value for Fld Name - Field Value entered as a result of Job Data Name.
  • Uncut - Enter U/E: U if the transfer should occur when the job an uncut.
  • Finished Only - Enter F/S: F to transfer if the job is Finished Lens on Both Eyes, S for Semi-Fin.
  • Industrial - Enter I/D: I to transfer when the job is industrial thickness, D for Dress Thick.
  • Company Code - Optional.
  • Branch Code - Optional.
  • Territory Code - Optional.
  • Account Number - Optional.
  • Ship-To Code - Optional.

2nd Screen:

  • Lens Manufacturer - Enter lens manufacture code. i.e., Y for Younger, HO for Hoya, or KB for KBCO.
  • Lens Style - Example 7X, P, SV, SVST. Note: Don’t include seg size
  • Seg Size - Inclusive lowest seg size to trigger
  • Through - Inclusive Highest seg size to trigger
  • Lens Type - Progressive or Aspheric Lens Type or Design. Example VC for Varilux Comfort or CL for Cosmolite.
  • Color Code - Color code may be left blank or added, such as BP3 for polarized brown 3.
  • Material Code - Material code may be left blank of a material code added, such as TVX for Trivex.
  • Pair Only - Y to only transfer if the job is a pair, not R for right or L for the left eye.
  • Exclude Power Increment - Exclude if power increment sphere or cylinder (0.125 is only exclusion allowed).
  • Highest Minus Power - Exclude if combined minus power of sphere & cyl is more minus than this value.
  • Highest Plus Power - Exclude if highest plus power without lower add is than this value.
  • Highest Plus with Add - Exclude if highest plus power including lower add is than this value.
  • Lower Add Range - Enter range values if applicable. Example: 0.00 through 4.00
  • Upper Add Range - Enter range values if applicable. Example: 0.00 through 4.00
  • True Base Range - Enter range values if applicable. Example: 1.12 through 8.49
  • Blank Diameter Range - Set the range from 98 to 99 if you create a manual routing rule. This setting will stop this rule from being included in auto-routing. If it is to be part of auto-routing, then leave this blank.
  • Minimum Blank Range - Enter range values if applicable
  • Sphere Power Range - Enter range values if applicable. Example -12.00 through 10.00
  • Cylinder Power Range - Enter range values if applicable. Example: -4.00 through 4.00
  • Resolved Prism Range - Enter range values if applicable.

3rd Screen:

  • Center Thickness Minus - Enter range values if applicable.
  • Edge Thickness Minus - Enter range values if applicable.
  • Center Thickness Plano - Enter range values if applicable.
  • Edge Thickness Plano - Enter range values if applicable.
  • Center Thickness Plus - Enter range values if applicable.
  • Edge Thickness Plus - Enter range values if applicable.
  • Day of the Week - Enter 0 for Sunday, 1 Monday, 2 Tuesday, 3 Wednesday, 4 Thursday, 5 Friday, 6 Saturday. Day of the Week fields are built to be a range. (0 through 6, 1 through 5, etc.) You cannot have an entry such as 6 through 0 for Saturday and Sunday only. You would need to set up two entries—one for each day. One would be range 0 through 0, and the other would be range 6 through 6. Also, the routing rule date range is based on the job calculation date, so the job would have to be calculated within the date range for the routing to be picked up.

Example:

Let’s say the date range is 6 through 6, and if the order came in on days 0 through 5, would it be routed on day 6?  

Answer: No. Any day between 0 and 5 would fail the first test. For example, day 1 is less than the beginning day (day 6), so we’d ignore the rule for that reason. Likewise, the routing comment “Will route to xxxxx” may print on the work ticket but still be ignored.

Similarly, if the range was 6 through 6 and a job came in on day 6 without a calculation error, it would be routed. Again, to be clear, the tests are based on the day of the calculation (not the day the job came in).   So, if the job came in on day 1 and was recalled on day 6, it could route on day 6 if the range begins and ends on day 6.   This is essentially the same logic that would apply if you recalled a job and turn on a lite-up that might trigger a routing rule. We’d then route the order on the recall.

In short: The system will route the job successfully based on whether the calculation date is within the range in the routing rule. If calculated outside the range specified in the rule, it gets ignored.

  • Time of Day - 24 Hour time: 100 = 1:00AM, 2330 = 11:30PM. If left blank, all times are considered
  • Beginning Date Range through Ending Date Range - Enter range values if applicable.

All the fields do not have to be filled out. It just depends on how refined you want to make your routing rule. The more information that you add will narrow your routing parameters.

Rules without using group triggers or name sets.

You can set up the Job Routing Reason and Control Manager without using group tables and triggers. There are multiple screens available for data entry.

A Group Trigger is not used, but job specifics are specified as shown below.

The following fields can define the rule:

  • Condition ID
  • Comment
  • Lite-up num and Lite-up bit (to define the applicable coating)
  • Uncut flag
  • Semi-finished flag
  • Lens Style code
  • Lens Type code
  • Color code
  • Material code
  • Lower add range

     

Route Conditions Control Editor

The Route Conditions Control Editor allows the routing lab to set all the conditions defining when and why a job should route to a different lab.

Select Option 9 - Route Conditions Control Editor and press Enter.

The Job routing condition Control Manager screen is displayed.


  • Press “A” to add a new record.

Enter all the pertinent information and press Enter past each field. Help prompts are indicated at the bottom of the screen when the cursor moves to each field.

  • Condition ID - Enter a Condition ID that will map this set of conditions to the Routing Editor. This ID can be as simple as “Glass Job” or  “Crizal Job.”  This name must match the Condition Name given in the Route Reason and Control Editor menu 3-11-8  for mapping purposes.
  • Destination Site - Destination site to which condition applies. (Routing Editor may override entry.) Choose the lab to receive the routed job and enter up to a 7-character lab identification name. The receiving lab will provide this name. The destination site must exist in the Route Destination table (menu 3-11-11).
  • Send As Uncut - Enter Y to force the job to become Uncut en route to the destination. Leaving this entry blank may tell the receiving lab to edge the lens as well.
  • Clear Lens Diameter - Enter Y to clear the blank diameter en route to allow blank selection at the destination.
  • Clear Lens Nominal Base - Enter Y to clear nominal base en route to allow blank selection at the destination.
  • Bill-To-Account - Billing Account Number applied at the destination site. The receiving lab will enter the account number for the sending lab or the doctor’s office that ordered the job.
  • Bill-To Ship Code - Ship-to Code that matches the Billing Account Number at the destination site.
  • Ship-To-Account - Ship-To Account Number to apply at the destination site. The receiving lab will enter the ship-to number they have for the Bill-To-Account.
  • Ship-To-Ship Code - Ship-to code that matches the Ship-To Account Number at the destination site.
  • Clear VSP Flag - Enter Y to clear the VSP Billing designation so it doesn’t apply at the destination.
  • Clear Second Billing Flag - Enter Y to clear the split bill or co-pay designation en route.
  • Clear Safety Billing Flag - Enter Y to clear the safety billing en route, so it doesn’t apply at the destination.


  • Press Escape to save the data.
  • Press “E” to exit the screen.

Clear all lite-ups: Y clears all the lite-ups en route, but the lite-up editor entries may turn some of them back on.

Route Conditions Lite-up Editor

Select Option 10 - Route Conditions Lite-up Editor and press enter.

The Job Routing Lite-Up Control Manager is displayed.

  • Press “A” to add a new record.

Enter all the pertinent information and press Enter past each field. Help prompts are indicated at the bottom of the screen when the cursor moves to each field.

  • Condition ID - Condition Name to match conditions for job attributes to set during transfer. This name must match the ‘Condition Name’ given in the ‘Route Conditions Control Editor’ page for mapping purposes.
  • First Number (num) - See the Pricing Options Available Report in Retail Transfer (menu 11-14).
  • Second Number (bit) - See the Pricing Options Available Report in Retail Transfer (menu 11-14).
  • On Off or Ignore
  • O - will turn this option On en route
  • F - will turn Off this option en route
  • I - will Ignore this option altogether
  • S - turn this option on for the local job
  • U - to turn this off for the local job.


  • Press Escape to save the data.
  • Press “E” to exit the screen.

Multi-Site Destination Editor

A multi-site destination editor gets used when a job must route to multiple locations for processing. We provide examples of one sequence of events below.

Menu option 15 from the Optifacts Rx Transfer menu 

  • Press “A” to add a new record
  • Enter all the applicable data and press Enter past each field.
  • Multiple-Condition ID
  • Order Sequence – the order in which the routing is to occur
  • Condition ID that matches the rte_mgr and rte_cndtn tables
  • Comments get used to describe the condition

Example:

The job needs to transfer to one location for surfacing, another for tinting, and finally another for edging.


To view and, or download these instructions as a PDF file, click on the following document image.

Did you know?...
Optifacts is now utilizing a help-desk ticket system to better serve your emailed support needs and have your requests assigned to a team member that can support you best.
Please consider emailing your support requests to support@optifacts.com rather than individual addresses for more efficient support.
You may also log in to your account at https://rxuniverse.atlassian.net/servicedesk/customer/portal/12 to submit your requests directly and see the status of any currently open tickets your lab may have.
If you are in need of immediate support, please call the support desk directly at (800)  678-4322 during business hours of 8 am to 5 pm CST/CDT, Monday through Friday.  

Optifacts, Inc.   Suite 100 - 18 Riverside Ave. S.   Sartell MN 56377

Phone: (800) 378-4322   Phone: (320) 258-3559   Fax: (320) 258-3880

Email: sales@olsssystems.com   Email: support@optifacts.com

Optifacts Service Desk: http://support.optifacts.com 
Click Here to Find Out More About Us