Preliminary Work

Identify a Windows computer to host the Titanium Blizzard software. This computer must remain logged in and on overnight

If you are unfamiliar with configuring software and working with your printer, please schedule a time for your IT vendor to be on-site

Key Decisions

Will you print deliverables in-house or use a vendor?

Determine on which calendar days you do not want printing to occur. Clients typically do not print on Saturday, Sunday, and a handful of holidays

Will you install Titanium Blizzard on one or more computer?Only one running copy of the program should have auto-printing turned on, otherwise you could experience duplicate copies of deliverables. Turn auto-printing on/off via Titanium Blizzard Menu > Configuration > Auto-print

Will you print deliverables by policy number, by deliverable type, or by batch?

Document Sort Order

The Configure Trays (Advanced) screen has been renamed Configure Sorting and Routing. From the Configure Sorting and Routing screen, you can configure how your documents are sorted when being downloaded and printed:

If you use Print By Policy, you can define how the documents are ordered within a policy

If you use Print By Document Type, all files will be grouped by document type and then sorted by the order you define

When you first view the Configure Sorting and Routing screen, you will see either a single pane screen that shows only Document Sort Order like the image below or a double pane screen that shows Document Sort Order and Advanced Routing Schema if you already have advanced routing schema setup.

To configure document sort order, complete the following steps:

Under Document Sort Order, drag and drop to select a document or batch label and create the order you would like to receive your documents

Click Save and Close

To test if the sort order takes place, retrieve a print job. If a document or batch label is missing, you may not have retrieved your batch labels (see Batch Printing) or need to add the individual document (see Add Known Documents).

Routing

Single Tray Routing

Most common.

Single tray routing allows you to select one paper tray for all routing. However, a tray must be set up for auto-print to function, or you may use Advanced Routing.

Most clients use “Automatically Select” (or some variation in wording) which lets the printer choose from which paper tray to print. If you utilize different paper types for different items, you may want to use the Advanced Routing Schema.

Advanced Routing

The Advanced Routing Schema allows you to set up individual paper trays and specify which documents print from each tray. Document types must be nested within the proper paper trays like the image below.

Once you have configured specific trays, add an additional tray with no documents

Unknown documents will default to this tray

Document Sort Order defines what order files are printed, so it doesn't matter what order documents appear under each paper tray in Advanced Routing Schema

Add Known Documents

Known Documents are document types that can be sorted in Document Sort Order. They are referenced on the main screen as FileType. The default setup includes Declarations and Bills, but many clients have their own custom deliverables, forms, and batch labels. In order to sort these documents, you need to add them as known document types.

BriteCore Setup

Settings

Calendar

Navigate to Settings > System Wide > Calendar

Federal holidays

Check the box next to the Federal holidays on which you will not print deliverables

If desired, define the Days Before and Days After as well. For example, if you do not print on Christmas and Christmas Eve, check the Christmas box then set Days Before to 1
This setting governs the Federal holiday rather than the actual day. If Christmas falls on a Sunday, the Federal holiday is Monday; therefore, you would not receive printing on Monday

Other holidays

Consider adding holidays in which the USPS is closed. For example, the Martin Luther King, Jr. holiday in January

Business Days

Check the box next to the days you want printing to occur

Emails

Two sets of emails concern printing.

Titanium Blizzard

The Print Job Complete For: mutual.britecorepro.com email is configured in TB and contains the details of a print job and the files that printed:

Open Titanium Blizzard

Navigate to Titanium Blizzard Menu > Configuration

The right half is titled Optional Configuration

Enter an email(s) in the Send Print Emails To section at the bottom of the screen. Use a comma to separate emails

Click Save and Close

Example

BriteCore

This email has an administrative and agency version.

Administrative

The Files That Printed For Insurance Company on YYYY-MM-DD email, or Print Hawk report, is configured in BriteCore and details all documents that printed overnight. The email is sent automatically overnight to identified email address(es). This email should match the TB email with the exception of forms, which appear on the TB report but not this report. To identify recipients of the Print Hawk report, complete the following steps:

Agency

The agency New Documents Available - YYYY-MM-DD email is also configured in BriteCore and details the documents that printed overnight for that agency. The email is sent automatically overnight to the agency's identified email address:

Navigate to the Contacts module

Access the agency

Set an email address for the agency in the Email section

Navigate to the Notices section

Check the Accept Policy Documents Electronically setting

Check the Send Daily "Print List" Email setting

Select the email address in the Email Address to Use section

Click Save

Example

Printing options

Printing options are configured in the settings.section='printing' area of the database.

Print by Policy Number

Deliverables print alphanumerically by policy number via the sort_by_policy option, the default setting for printing. A computer sorts numbers differently than a person. For example, 10-2015-123 would appear before 10-2015-2 as the computer is comparing 1 to 2 rather than 123 to 2.

To enable, run

#UPDATE settings SET value=1 WHERE option= 'sort_by_policy'

Example

Policy list

Print order

10-2015-2

10-2015-1

10-2016-1

10-2015-123

10-2015-1

10-2015-2

FO123

10-2016-1

HO123

FO123

FO124

FO124

10-2015-123

HO123

Print by Policy Number and Explicitly Set the Order of Deliverables for Each Policy

When printing by policy number (the above option), the order of deliverables can be explicitly defined via the order option.

Initial (new business) and renewal billing statements print with their respective Declarations. For that reason, they are not explicitly set in the setting

Document types are matched against types in the list. For example, a custom deliverable called Cancellation Notice will match, by name, to the Notice of Cancellation Non-Payment of Premium. If a match cannot be found, the deliverable will print alphabetically by document type after deliverables found in the list have printed

Print by Deliverable Type

Using a different combination of the above two settings, deliverables can print by type first then by policy number. In this case, new business Declarations and invoices can print for all policies in policy number order, followed by renewal Declarations and invoices for all policies in policy number order:

Disable the sort_by_policy option by running#UPDATE settings SET value=0 WHERE option='sort_by_policy'

Group Deliverables by Policy Number and Recipient then Print by Defined Batches

Deliverables for a given contact on a policy are merged together into one PDF file. Merged files are then printed in defined batches using classifiers. Batch classifiers currently include

page_range(x,y) batches where x and y are inclusive start and end points for the range. For example, page_range(1,4) will include mailings between 1 and 4 pages

certified_mail batches based upon whether This document must be sent by certified mail is checked for a deliverable in Settings > Deliverables

return_premium batches based upon the existence of the Return Premium Notice

new_business batches based upon whether or not the mailing contains a new business Declaration or invoice

billing batches based upon whether the mailing contains a billing statement

Conditions are evaluated in Python. Given this, classifiers can be combined using logical operations that follow this order of operation: parenthesis, not, and, then or. For example, a batch setup of billing and page_range(1,2) would print mailings that are 1-2 pages long and contain a bill, but not new business.

Initial Setup

Enable the sort_by_policy setting by running#UPDATE settings SET value=1 WHERE option='sort_by_policy'

Set the order of deliverables, which defines the order of deliverables in the merged PDF, and then run

Enable the merge_docs_by_recipient_and_pol by running
#UPDATE settings SET value=1 WHERE option='merge_docs_by_recipient_and_pol'

Set the batches using the available classifiers, and then runWhen updating batches, use a JSON parser
#UPDATE settings SET value = [ {"name": "New Policies","condition": "new_business","comment": "Mailings with new business declarations."},{"name": "Bills w/ 1 page","condition": "billing and page_range(1,1)","comment": "Mailings that are 1 page long and contain a bill, but not a new business dec."},{"name": "2-5 page bills, standard mail","condition": "billing and page_range(2, 5) and not certified_mail","comment": "Mailings that are 2-5 pages containing a bill, but not documents which must be sent via certified mail, or a new business declaration."},{"name": "2-5 page bills, certified mail","condition": "billing and page_range(2, 5) and certified_mail","comment": "Mailings that are 2-5 pages containing a bill, documents which must be sent via certified mail, but not a new business declaration."},{"name": "Contrived Example","condition": "not billing and (page_range(6) or return_premium())",
"comment": "Mailings that do not contain a bill and are either 6 pages or more in length or contain a return premium notice, but do not contain a new business declaration."} ] WHERE option='batches'

Important notesGeneral

Forms are included in the merged PDF file but only for the primary named insured

Along with being merged, each individual document will be forced to have an even page count. This is to prevent forms from being printed on the back of other forms if duplexed printing is used

The agency print hawk report will contain the individual policy documents as pictured above and not the combined mailing deliverable

Attachments tab of the policy

Each merged PDF file will appear in a new Mailings folder within the policy's Attachments tab

The Mailings folder is locked by default (files.private=1), which means agents can neither see the folder nor its contents

Individual deliverables follow the print state of the merged document to ensure agency print hawk emails and InsVista notifications continue to function

Any documents that cannot be merged will print as an individual file and its print state will update accordingly

Additional Settings

Each merged PDF file will appear in a new Mailings folder within the policy's Attachments tab. However, the name of the folder can be customized. To change the name of the folder from Mailings, contact IWS via a ticket with your desired folder name. Whatever you name the folder, it will be plural and the document name will be followed by "of ". For example, if "Mailing" is entered for the merged_mailing_doc_name setting, the folder will be named "Mailings" and documented will be named "Mailing of Joe Sample".

IWS Only

Navigate to Settings > Advanced

Search for merged_mailing_doc_name

Select True or False

By default, the Mailings folder is hidden from agents. To allow agents to access this folder and its contents, contact IWS via a ticket

IWS Only

Navigate to Settings > Advanced

Search for privatize_merge_mailings

Select True or False

Batches setting

This setting can be left empty. When empty, all merged documents will be assigned a batch of unclassified

The order of the batch classifiers as listed in the batches setting is the order of precedence for each batch. If a mailing would fit in more than one batch, the batch earliest in the list will be used

Overwrite stock deliverables functionality will not trigger batching

The setting must have at least two keys (name and condition). An optional third key (comment) is provided to describe the purpose of the batch

The name key should be limited to 32 characters as that is the limit of characters in the files table

With an API key, the vendor will have access to all API functions that appear on the api.britecore.com site. Given this, secure a written agreement from vendor indicating they will handle your data in a secure way and only with your permission. Also, the agreement should specify the vendor will only use API calls that you approve during the development phase, which are those listed in the Printing API document.

Implementation

In conjunction with the Printing API document, the vendor should notate the following during implementation and the initial phase of testing:

Within BriteCore, printing occurs after your Cron finishes processing. The Cron does not complete at the same time each evening. As such, the vendor should retrieve the documents when {"processing": "done"} is true within the getToBePrinted API call. Otherwise, the vendor might attempt to retrieve documents while BriteCore is still generating them

When testing getToBePrinted, the result will most likely be empty. An empty result will be due to timing. Printing occurs automatically overnight and, as a result, deliverables update to a state of printed. This means when the test is run, all deliverables will have printed for the day. To continue testing, then, a manageable set of results is needed. A manageable set of results can be returned by

Passing the ignore_state parameter a value of true. This ignores the fact that the deliverables printed

Scanning for one date rather than a full year. Scanning an entire year while ignoring the print state of deliverables would result in too many results

Testing

In the testing phase, ensure there are stock and custom deliverables scheduled to print

In Titanium Blizzard, turn Automatic Print to off

Wait to manually print deliverables from Titanium Blizzard

The vendor should remove ignore_state from their API call, thereby scanning back a full year to pick up all unprinted deliverables

Deliverables should be retrieved when {"processing": "done"} is true

The vendor will print the deliverables

You, the client, should manually print deliverables from Titanium Blizzard. Since you used Titanium Blizzard to print, it will update the deliverables to printed. As such, the vendor does not need to call markAsPrinted during this test

Compare the two print jobs

Live

FAQ

Will I still receive the daily print report (Print Hawk)?Yes. The vendor will need to make a final API call to send the report. The call looks like this
curl -d '{"api_key": "YOUR_API_KEY", "date": "2016-08-31"}' https://yoursitename.britecorepro.com/api/v1/printing/sendPrintHawkEmail

What if the vendor experiences an issue and cannot print the documents?Manually print the documents from your office:

Open Titanium Blizzard

Click Retrieve

Select the documents to print

Click PrintDo not turn on auto-print

Change Printers While Using Titanium Blizzard

Open Titanium Blizzard

Click Titanium Blizzard Menu

Click Configuration

Click Add in the BriteCore Printers section

Add the new printer

Select the new printer

Click Edit

Click Configure Sorting and Routing

Select a tray from the dropdown

Click Save and Close

Prepare For Long Holidays

General Printing

Review your calendar settings in Settings > System Wide Calendar. Update the settings far in advance of the holiday. For example, Thanksgiving settings should be updated no later than October.

Add a New Holiday

To add a new holiday, such as Good Friday, complete the following steps:

Navigate to Settings > System Wide Calendar

Under Other Holidays, click +

Name the holiday

Set the holiday dates

Click Save

Once saved, documents will no longer be scheduled to print on the dates indicated. Again, the dates should be set far in advance of the holiday.

Non-Pays

Assessment

For potential non-pays, run the Invoices Coming Due report the week of the holiday (e.g., Thanksgiving).

Possible Action

To avoid non-pays over the holiday, edit/reprint the invoice in question and change its due date to the next available business day (e.g., Monday after Thanksgiving). Update the cancel date accordingly.

Possible Action

If a non-renewal is set to generate over the holiday (e.g., a policy with a January effective date), generate and mail the notice the week of Thanksgiving via the Custom Deliverable button on the policy.

The originally scheduled copy will still generate over the holiday and potentially print on the next scheduled business day.

Generate an API key

This is reserved for IWS employees:

When setting up Titanium Blizzard, an API key and URL are needed

To generate an API key, grab the contact's UUID

Access the britecore shell > contacts > generate_api_key

The URL is the client's BriteCore site URL

FAQs

When days are not selected for printing, when would documents that should have printed on that day print? For example, if Saturday and Sunday are not selected as printing days and an invoice has a bill date of that Sunday, would the document print on the next selected day (Monday) or the previous selected day (Friday)?Printing always occurs on the next business day. For example, deliverables that are scheduled to print on a Saturday or Sunday will print on Monday.

My deliverables did not print automatically. What do I do?

Verify the computer is on and the Windows user account is logged in. The computer can be locked but not logged out, in sleep mode, or turned off

Verify Titanium Blizzard is running. If the computer was shutdown, restart it; if Titanium Blizzard application was closed, reopen it

Ensure you can print any document from that computer. If not, there is a disconnect between the computer and your printer. Re-establish the connection

Verify the computer is connected to the internet

Ensure the auto print checkbox is selected in the Titanium Blizzard configuration

If any changes were made to printers or trays, update your tray configuration via Titanium Blizzard Menu > Configuration > Select printer and edit > Configure Sorting and Routing > Select tray and ensure it is enabled > Save and Close

The Titanium Blizzard application will not start/open or I received the message Cannot continue. The application is improperly formatted. Contact the application vendor for assistance. What is my next step?

This is a problem with the .NET framework installed on the machine and can occur after a Windows update or patch

Uninstall then reinstall Titanium Blizzard using the steps above, which will install .NET Framework 4.5Your configuration will not be removed and all settings will be saved throughout the process

Does the DayCron report in Settings > System Wide > Administrative Alerts > DayCron Report impact Titanium Blizzard?No. The Daycron Report is a separate report that shows deliverables expected to print tomorrow. This report is sent from BriteCore and is neither sent nor retrieved from Titanium Blizzard.

More Information

Batch Printing Functionality

General Information

Each night a new process called create_mailings runs additional processing on the set of documents to be printed. This process runs get_to_be_printed, indexes each document, and sends each individual's set of policy documents to the newly created PaperPusher service for merging. Learn more about PaperPusher

The integration with PaperPusher is configured like a vendor in vendors.title='PaperPusher'. It is enabled for all sites but does not appear on the interface. Also, it is only referenced if the merge_docs_by_recipient_and_pol setting is set to 1. Finally, configuration changes can be done manually by modifying vendors.customData, but generally changes will be managed through code

All individual deliverables of the merged document, including forms and merge order, are recorded in the composite_file_components database table

The code is in lib/core/uploads and classifiers are defined in get_batch_classifiers

Configuration Information

In the configuration, classifiers may be called or not (e.g. certified_mail and certified_mail() are both valid). The, processing will implicitly ensure any classifier that is not actually called gets called.

Testing Configuration

Within the settings section of the shell is a tool called try_print_batching_conditions, which catches any conditions that cannot be evaluated. See the tesing steps in PR 4313 for step-by-step instructions.

Titanium Blizzard Functionality

Auto-Prints

Automatic print jobs are the primary function of Titanium Blizzard. Titanium Blizzard will print documents as they become available from the BriteCore server, which is accomplished by sending a small web request every five (5) minutes.

Titanium Blizzard receives a status from BriteCore to know whether or not the nightly cron processing has finished. If it has not, Titanium Blizzard won’t print and will keep polling until it receives the all-clear to print.

Once an automatic print job has been printed, another will not fire until the next day. This is to prevent auto-jobs from firing throughout the day as documents are generated by the system.

Titanium Blizzard Manual Prints

Manual print jobs can be initiated by the user at any time and will print identically to automatic print jobs with two small exceptions:

The Print Hawk emails will not be sent. To send them, see the above instructions. Also, the email that Titanium Blizzard sends to the BriteCore team will note that the print job was manual

The below options are available with a manual print job. Changing these options will result in different printing behavior than the daily automatic job. These options exist to handle more advanced printing requirements

Date range selectors

Policy number filter

Re-print checkbox (Include marked as printed)

Technical Information

Since Titanium Blizzard is a Microsoft ClickOnce application, it runs in the user space with no administrative rights required. This means the application is highly portable and non-invasive

Specifications

Type of Deployment

ClickOnce

Language

C#

NET Version

4.5

Windowing Library

WPF

Minimum Windows Version

Windows 7, Windows Server 2008

Minimum Processor

1 Ghz, 32-bit, Intel-x86-Compatible Processor*

Minimum RAM

1 GB*

Minimum Screen Resolution

1024x768

Printers Supported

Any Windows printer via direct connection or a network interface**

*Rough requirements. Actual performance will vary by machine or virtual machine host
**If you can manually print to the printer through Windows and the document comes out the way you intended without needing to select print dialog options, it should work with Titanium Blizzard. We do not guarantee compatibility with all printers. Testing the connection is essential

Outside the Scope of IWS Support

Some issues are outside IWS's control and will need to be resolved with your IT team, including

Printer drivers

Windows printer configuration. IWS can help set up working Windows printer drivers inside of Titanium Blizzard. However, the printer driver must already be installed and working in the Windows environment to setup Titanium Blizzard successfully

Network / Internet issues

Antivirus and Firewall issues

General computer problems. If Titanium Blizzard works on one computer but not another, IWS may not be able to troubleshoot the issue. Either move Titanium Blizzard to another machine or contact your IT vendor to repair the computer in question

Windows Domain configuration

Code

The code is stored in the Titanium-Blizzard repo. You must have a login to access this repo, which is for IWS and client engineers.