Tallan Blog

Tallan’s Experts Share Their Knowledge on Technology, Trends and Solutions to Business Challenges

Category Archive for "Custom Software Development"

Chosen as an advocate for Women in STEM

Most of my life I have been the only female in the room in a male-dominated profession.  No matter what obstacles I faced, I persevered and found myself at a great company called Tallan. I was honored when Ben Fischbein, a colleague of mine here at Tallan, approached me and acknowledged my achievements as a female programmer.  He shared his findings about the scarcity of women in STEM while offering me the opportunity to present to the students of Conard High School about the importance of women in these fields during their Computer Science Education Week.
To open my presentation, I wanted to connect with the students about why there is a gender gap in STEM.  I had asked the students what they had thought an artist looked like and I featured a picture of a painter, a musician, a male…

Live Webinar on 11/29! How Digital Strategy Helped American Financial Resources Compete

Do you have lunch plans next Wednesday, 11/29? If not, why don’t you plan to treat yourself to some takeout, and register for our Webinar.
Our Live at Lunch Webinar features Bill Packer, the Chief Operating Officer of American Financial Resources (AFR) and our New York Region Managing Director, discussing the strategy surrounding AFR’s decision to transition to cloud-based infrastructure.
In an hour we plan to ask our client’s advice on what to consider when prioritizing a digital strategy, whether he’ll give us some insight on what he could have done differently – if anything, and how this modernization has empowered his employees as well as his customers (both in the B2B channel, and direct-to-consumer) to take control.
I bet you wouldn’t believe that he was actually hired specifically for his attitude toward innovation to transition AFR.  Mortgage banks are in the financial…

Designing & Developing The Award-Winning malegislature.gov

At this year’s National Conference of State Legislatures (NCSL) Legislative Summit in Los Angeles, the Commonwealth of Massachusetts took home the NALIT/LINCS Online Democracy Award for the best legislative website in the country. Tallan has worked hand-in-hand with the Massachusetts General Court for the better part of a decade, and this is the second time we have helped them take home this prestigious award. This is, however, the first time we’ve done it with a complete website redesign from beginning to end. This will be an exploration of some components of the redesign, and what helped make it such a successful effort.

Accessibility First
A key component of any government website is accessibility. Designers and developers need to make sure that all information is available to all users through the same interface. With Massachusetts, we approached every feature or idea by asking…

Developing Your First VSTO Add-In

Anyone planning to develop a VSTO Add-In may come to realize that documentation and examples are scarce or nonexistent. Recently I have found myself in this exact predicament as I have been developing a Microsoft Word VSTO Add-In to be used in the legislative drafting process. Throughout development, my team has created a handful of solutions for both simple and complex tasks. Many of these solutions could not be found online, and as a result, required significant research and testing. Here are a few examples that I wish I had when I started to develop a VSTO add-in that will hopefully jump-start your VSTO development.
Overriding Default Save Behavior
One of the core features that was required for our Word Add-In was version control. In order to support this functionality, we would need to override the default behavior of Word’s save functionality….

Genetic Algorithm: An Overview

The genetic algorithm is part of a family of algorithms used for optimization problems first conceived of in the 1950s at the Institute for Advanced Study in Princeton, NJ.   The algorithm didn’t gain much commercial use until the late 1980s.  In this post, I will briefly discuss genetic algorithm and how it works, going over an example of its implementation.  I will also discuss what practical problems genetic algorithm can be used to solve.  Lastly, I will provide some links for more reading on the subject should you feel like learning more.
So, the Genetic Algorithm gets its name from the fact that it attempts to simulate biological evolution.    If you recall from high school biology, all life is composed of DNA, and that DNA is made up of chromosomes, which are made up of Nucleic Acids.  When an organism reproduces,…

Simplify Your Mobile Presence With Progressive Web Apps

The biggest thing we take for granted in the current mobile-dominated web is that everything “just works”, no matter what size or type of device you’re on. But what’s the real impact of that expectation?
For customers, the frustration of needing to switch devices can be more than enough to turn them away from a certain product. For product owners, there’s an expectation that everything needs to be created in parallel to be desktop-friendly, tablet-friendly, mobile-friendly, and to have an equal native mobile app for every platform, which can quickly add up in cost. And for developers, there’s the fact that now you have to actually make all those versions of the same app, across completely different technologies for web and native, and have them work similarly enough to not raise any eyebrows.
But luckily, there’s a new way of doing things,…

Splitting 835 Healthcare Claim Payment

The Electronic Data Interchange (EDI) consists of a file in a specific format that represents data exchanged in a transaction from supply chain to healthcare. EDI 835 Claim Payment transaction provides payments information in reference to claims in EDI 837 Healthcare Claim format. The details include transactions such as charges, deductible, copay, payers, payee, etc. The information is stored a hierarchical structure. The standard of EDI format is well defined and the complexity can be very overwhelming. Additionally, we do not want this high degree of detail slowing our processing time.
One of the problems that enterprise systems face with EDI is file size. A single EDI 835 may contain multiple claim records and the quantity of claims in a single file can make it very difficult to process the file. Systems are often bogged down when dealing with a very…

X12 EDI Databases for HIPAA Transactions

The X12 HIPAA transaction set is used across the healthcare industry to transmit claim, enrollment and payment information. Given the importance and ubiquity of these EDI files, you might assume that translating them from ANSI to a relational database format would be well-supported with a range of options.
In practice, a task as common as parsing a claim or encounter and storing it in a database can quickly escalate into a significant problem.
One solution we’ve seen involves archiving a snapshot of the EDI file using filestream storage. This can satisfy some retention requirements, but provides little in terms of fine-grained tracking or analytic capabilities.
A more complete approach is to parse the X12 file into its discrete elements and store them in a relational database. The ideal solution captures the full extent of the EDI transactions while also applying a reasonable leveling of flattening to keep in the number of table joins under control.
The…

Global Message Handling and Catching the Bot Framework Way

So you’ve set up your new chat bot using the Microsoft Bot Framework, and you need to catch messages before they’re read by your dialogs or FormFlows to apply some global or preemptive logic. Luckily, the Bot Framework team thought ahead and built in a concept for handling message interception, called Scorables.
What Are Scorables?
A Scorable is a class that you can register with Autofac (the dependency injection solution used by Bot Framework), that will silently sit in between your externally-facing code accepting incoming user messages, and your internal dialog code. Each one will get the chance to handle the incoming message, and even compete for priority (which is where the “score” originates).
When To Use Scorables
Since they have full access to Autofac and the dialog stack, they can allow you to do anything from:

applying logic across your entire set of dialogs without duplicating…

Using T4 Templates to Generate C# Enums from SQL Server Database Tables

When building applications with C# and SQL Server, it is often necessary to define codes in the database that correspond with enums in the application. However, it can be burdensome to maintain the enums manually, as codes are added, modified, and deleted in the database.
In this blog post, I’ll share a T4 template that I wrote which does this automatically. I looked online first, and did find a few different solutions for this, but none that worked for me as-is. So, I built this generic T4 template to do the job, and you can use it too.
Let’s say you’ve got a Color table and ErrorType table in the database, populated as follows:

Now you’d like enums in your C# application that correspond to these rows. The T4 template will generate them as follows:

Before showing the code that generates this, let’s point…

\\\