Menu Close

Juggling multiple programs in one Dynamics 365 environment

As IT professionals, we love to solve complex problems with the tools that we have been given. You might have even received the following from the business recently, “Your mission, should you choose to accept it, is to create a solution that allows 20 different programs to track and leverage a single source of truth while allowing each to track their independent reporting data points. Oh and make it simple to use and manage, as we will probably have another program starting soon as well.” If this sounds familiar you are not alone. Over the last couple of years, we have seen this request come in from multiple organizations ranging from nonprofits to state and local government.

In order to accomplish this request, we first need to divide the information into two parts:

  • Information that is used across the organization.
  • Information that is specific to a program.

While this sounds fairly simple and straightforward, you will need to push into each data point to see how sharing the information would benefit the other programs. As with most things regarding a relational database, this should be handled methodically so the business and IT are collaborating and understanding each other.

Once we have the information divided into these two groups, we need to determine how to track the information in the system. In this example we will be using Microsoft Dynamics 365 as the system, but this can be handled with other relational databases. The information that is going to be used across the organization will be placed into specific tables such as individual, agency, case and program.

Now to handle the information that is program specific. In this scenario, we will be using the case table to track each instance that an individual engages in a program. On the case entity, we will track general information that is common across the organization: intake date, program, case assigned to, and other general information about the engagement that is common across all programs.

Now that we have the intersect between the individual and the program, we need table to track the program specific information. So let’s go ahead and create a survey functionality and embed that into the case. Embedding this into the case will allow the content to change based on the program while still maintaining the core data that is used across the system.

In organizations that may provide services to the same individual across multiple programs, it is important to be able to see a 360 degree view of the services provided. In the past, the concept of a 360 degree view was solely focused on a being able to see a client’s interaction between marketing, sales, operations, support and finance. If you can bring this same view across programs, you are now able to tell a completely different story for those you serve. By being able to track and show that the individual you helped from incarceration to job training is now mentoring others, you have gone from simply reporting on numbers to utilizing the numbers to tell a story. Each step of the way you are better able to serve the individual as you can leverage information across the programs instead of them being siloed.

Originally Posted on RSM Technology Blog on May 2018