Delivering Value in a Crisis

Lessons Learned from Delivering a Healthcare App to Track the Spread of COVID-19

Salesforce Architects
Salesforce Architects
14 min readJun 19, 2020

--

The COVID-19 pandemic led to unprecedented call volumes for many companies, especially healthcare organizations. To help individual healthcare providers better handle this increased demand, Geneia, a healthcare analytics solution and services company, built an app that leverages core functionality from the company’s Theon® Platform for Care Management (Theon® Care Management). The resulting solution, released on Salesforce AppExchange in early April, includes a COVID-19 extension offered through Salesforce Health Cloud.

To help design, implement, and deliver this critical new functionality, Geneia enlisted Salesforce Certified Technical Architect (CTA) Steve Baines and his team at Forcivity. The Geneia-Forcivity team went from concept to production-ready build in less than three weeks. Alexis Ardito, Global Architect Program Coordinator at Salesforce, and Marc Braga, Principal Architect Evangelist & CTA at Salesforce, talked with Steve about the solution, how Geneia managed the project through change and uncertainty, and what they learned about delivering business-critical apps in the midst of a crisis.

The following conversation has been edited for length and clarity.

Solution Architecture and Design

Alexis Ardito: Thanks for taking the time to speak with us, Steve. Can you tell us more about the overall solution architecture? What is the Theon® Platform? What did your team help build into that existing platform and how is it related to Salesforce Health Cloud?

Steve Baines: My pleasure, Alexis. Geneia’s enterprise solution is called the Theon® platform and the app is marketed as the Theon® Platform for Population Analytics (Theon® Population Analytics). More recently, Geneia created Theon® Care Management. The COVID app is an extension to the Care Management module (powered by Salesforce Health Cloud). Forcivity was enlisted to help architect and deliver the solution. From an architectural perspective, Theon® Population Analytics is the base package, and the COVID extension in Salesforce Health Cloud specifically rides on Theon® Care Management.

Ardito: And what is the functionality of the COVID extension in Salesforce Health Cloud?

Baines: The COVID extension integrates Geneia’s healthcare analytics and AI with Salesforce Health Cloud patient and payment management to provide physicians with more interactive ways to assess patient health, including the ability to customize patient care plans. It also helps hospitals and physician practices better manage COVID-19 by enabling intake specialists and nurses to track and triage patients who report symptoms or believe they may have the virus.

Marc Braga: Going into this project, what metrics did Geneia focus on?

Image showing outline of earth and the continents with a series of trend lines and points on the lines in front.

Baines: Geneia was focused on the metrics that an individual healthcare provider in a virus hot spot would need to track the spread of COVID-19. This included patient demographics, intake volume, numbers of symptomatic and asymptomatic patients — basically any metric that provided clinicians with insights into their patient population was considered as part of requirements gathering. Geneia did a really good job of keeping us focused on these outputs from the beginning.

Ardito: I saw that Forcivity entered a partnership with Geneia in January of 2019 to work on a separate project before COVID-19 came into the picture. Can you walk us through the process of conception, execution, and launch for these projects and how you handled the sudden change in priorities?

Baines: Once the virus began to spread, both Forcivity and Geneia shifted their priorities to create the COVID extension. I completely suspended my normal course of work with them to focus 100% on the COVID extension. The other work for Theon® Population Analytics and Theon® Care Management still continued, just at a different pace.

Geneia assisted me in assembling an agile Scrum team comprised of Forcivity and Geneia employees. We told them that we needed a solution ready for market within a few weeks. We asked them to focus only on what was critical and what was achievable, and we promised to remove any barriers to their success. I was guiding the team technically. Architecturally, we relied heavily on the input of several Geneia clinical experts who were working on the front lines. These clinical experts, nurses who all had prior experience with Salesforce, focused primarily on declarative functionality while I focused on Salesforce architecture and design.

Ardito: It’s great that you were able to apply human-centered design while building the solution. How was it working with Geneia’s clinical experts?

Baines: It was amazing; they were approaching the project as if they were sitting at a triage desk using the application. They would say things like, “Nope, that’s not going to work. When I talk to a patient, I’m not going to ask those types of questions.” I mean, it was real-world experience coming through — and total rapid prototyping. Their expertise and guidance helped us build appropriate design flows and ultimately made the solution what it is.

Braga: Tell us more about the rapid prototyping process and what tools you used.

Baines: It was pretty straightforward. Geneia’s clinical experts developed the initial set of requirements and created a rough Visio diagram, which I used as a starting point for the initial design before creating flows. From there, I just designed on the fly right in Flow Builder.

I have rarely found the answer to the question, “Can we do X in Salesforce?” to be “No”. Rather, the question I often face is, “Should we use this in Salesforce this way?” This is the exact question we had to answer while working on this solution.

Screenshot of Cloud Flow Designer canvas with complex, multi-step flow on canvas.
Rapid prototyping in Flow Builder. (Image courtesy of Steve Baines)

Ardito: Did working directly with Geneia’s clinical experts accelerate the process because they told you how the flows should look?

Baines: Yes, absolutely. Their clinical expertise allowed us to prototype quickly in Flow Builder, especially since their team had Salesforce skills already. Fortunately, I served as a medical technician in the United States Air Force prior to becoming a CTA, so I had some healthcare experience and could understand some of the medical terminology they were using. It was a challenge for me at times because I really had to step outside of my role as a technical architect and treat them as business and clinical users in order to translate clinical requirements into a technical build and configuration.

Ardito: Even with your healthcare background from the Air Force, you noted that this project tested your communication skills, but what about the implementation? Was that part of the process easier?

Baines: The easiest part by far was rapid prototyping. Being able to leverage all the tools available to us through AppExchange was immensely helpful. We wanted to roll out the solution as a managed package because it makes maintenance and upgrades exponentially easier; that was a decision we made very early on.

We released the first version of the solution in early April, but we were still building new metadata that had to be incorporated back into the normal process and wanted to make sure there was flexibility in later versions that got released. Now it’s kind of a “field product” that people, even outside of this one implementation, could download and use. Using AppExchange and having all of those rich tools available to us, out-of-the-box, really helped make this happen.

Ardito: And the most difficult part?

Baines: The most challenging part of the process was getting the solution ready for users. When you take a product to market, you need to produce user guides, train people, and define the steps needed to install the product, among other logistical considerations.

Braga: As an architect with limited time and resources, how were you confident you were making the right design decisions with a no-code solution?

Baines: I don’t think I have ever worked at that pace before. We were working at an extraordinary pace and went from conception to working product in less than three weeks. I believe having a declarative solution is really what allowed us to operate in the way that we did. Otherwise, we wouldn’t have been able to react as fast and make the changes that we needed.

If you think about what you can do with Flow screens versus writing Apex and Lightning components or using Visualforce, there is just no comparison. It would have been impossible to meet our deadline. Having a powerful tool like Flow Builder at our disposal was really what made this possible.

Person account lightning record page, with custom intake flow component on top right column of page.
Person account record page in a test environment, with Patient Intake flow.

Managing Releases and Technical Debt

Braga: Aside from its accelerated pace, how else did this project differ from a typical Forcivity delivery?

Baines: On a typical project, I would start by asking myself and my team, “What does the outcome need to be?” and work backwards from there. We would try to do as much assessment and discovery design as possible instead of rolling our sleeves up and putting our hands on the keyboard right away. But in this case, given the magnitude of the pandemic, we had to do exactly that.

Braga: Did you approach testing and release management differently for this project due to the accelerated timelines? How did that impact quality?

Baines: We leveraged Geneia’s talented QA team and treated it like a real release. We put the solution through the normal testing cycles we use when we work with Geneia on other application packages, so from that perspective we didn’t deviate because Geneia was focused on ensuring this was a quality build.

The QA team really stepped up during regression testing. Because of the situation with COVID and the accelerated timeline, we didn’t have access to true testing scripts upfront. This is typically part of the standard operating procedure and QA cycle at Geneia, so to solve this problem, Geneia’s QA team worked with the clinical experts to design those as they went. The process is much more formalized now that the solution has been released, but the DevOps team was working tirelessly to get the solution organized and they really came through.

Braga: Can you dive deeper into the DevOps process? What kind of source control and tools did you use?

Baines: We used a combination of GitLab, Jenkins, and Salesforce Developer Experience (DX). Geneia had just put out a major release about six weeks prior to us beginning the COVID extension, so we had a clean release branch to work off of. We worked with Geneia’s release manager, who provided us the right point to branch off and build from.

From a source control perspective, we had a clean starting point and knew we would be able to merge back into the master branch. We were trying to eliminate any typical challenges you may see during a build before we even got started. By the time we actually began to build our solution, we were able to follow the standard process of committing changes, submitting merge requests, reviewing the changes, and merging them back into the master branch.

In this case, Geneia had branches for each sprint, both dev and master. Along the way there were continuous integration and continuous deployment (CI/CD) processes that ran with Jenkins, so when changes were committed to certain branches, they were automatically pushed to QA environments and user acceptance testing (UAT) environments.

Braga: Technical debt is something that architects encounter during every implementation. How did you address that, especially with so many unknowns and a tight deadline?

Baines: That’s a great question. We actually set up a technical debt sprint because with these unknowns and the accelerated timeline, we knew we were going to have some. Geneia has their own sprint schedule and release schedules for their core products. We could have worked the solution into their normal operating procedure and release cycle since the build was an add-on to Theon® Care Management, but we just didn’t have the time because of the tight deadline.

We knew going into it that we were going to have to play catch-up on a lot of things, so we proactively decided to build in a technical debt sprint specific to Theon® Care Management to ensure it was incorporated back into the fold for later versions that got released. Our goal was to accumulate as little technical debt as possible in all parts of the build, so in that sprint we focused on the DevOps process, documentation, marketing, and testing.

Advice for Other Architects

Braga: I know you’ve spoken on this topic frequently in the past, but what are your thoughts about architects possessing and maintaining a balance of technical and soft skills?

Baines: That’s correct, I have actually spoken about this at TrailheaDX and Dreamforce. I gave a presentation called Essential Soft Skills to Become an Exceptional Architect. The underlying theme throughout the presentation is that to be an effective architect you need a high level of soft skill expertise. It has nothing to do with what you know about Salesforce or what level of certifications you have. It’s about who you are as a person and your ability to communicate with other people. And this is something I shout from the rooftops anytime I can because the people aspect can really impact a project. I almost view it as my duty and responsibility to manage the people side of the project far more in-depth than the technical side, just to ensure that everyone is being involved and communicated with accordingly.

Braga: When you say you view it as your duty and responsibility to manage the people aspect of a project, can you elaborate on that?

Baines: Sure. From a people perspective, it is important for me to understand who is an advocate and who is an adversary in order to help people communicate effectively. It also helps me better communicate my needs to my team so they understand what we are doing and why we are doing it. That is really where I feel I can contribute my greatest value to a customer project. Technical skills are important, but there’s a whole other part of the equation that often gets overlooked. Soft skills can really make or break a project.

Soft skills can really make or break a project.

Braga: I agree with you on the essential need for soft skills. Thinking about how those skills are balanced on the technical side, I am wondering about if and how the CTA Review Board exam prepared you for situations like this.

Baines: It was almost impossible to approach this COVID extension like a review board because I wasn’t in control, but I typically approach everything I as if I’m sitting for a review board. Even though building a solution for a client is completely different because it is usually on a much smaller scale and without time constraints, I still do things like identify systems, think about how the solution is going be used, and consider what types of data will be produced. No matter how big or how small the project, the CTA Review Board exam really taught me to think about solutions differently.

Ardito: How did your background as a CTA influence your contributions to Theon® Care Management and the COVID extension?

Baines: There’s always a natural tendency to go with the technique you know best, even though it may not be the best approach for any particular use case you are solving. By leaning on my past experiences and how I’ve been able to leverage technology across the entire Salesforce platform, I was able to assist the team in developing a working prototype very quickly, and then use their feedback to create a working, production-ready solution.

Ardito: That’s awesome. Considering your career arc from Air Force medical technician to Salesforce CTA, what about being an architect inspires you to stay in this line of work?

Baines: Believe it or not, I’m not an architect for technology reasons. It’s really about the softer skills of architecture for me: listening to folks, empathizing with them, and understanding their perspective. The act of actually sitting down and configuring technology these days is such a small piece of the puzzle because it has become so easy. It’s really about everything leading up to that point that truly motivates me; it’s the people aspect, understanding motivations, and designing solutions that have an impact. It seems incredible, but the smallest amount of change can really rock a person’s world. So, you have to be sensitive to that. You have to help people and companies through those changes.

Ardito: Do you have any advice for other architects, whether they’re CTAs or not, who want to use Salesforce to create their own solutions?

Baines: I do. Don’t underestimate the power of simplicity. There is elegance in simplicity. Keeping it simple is what enabled us to roll out Geneia’s solution as fast as we did, and we were still able to create a robust user experience using declarative tools. There’s literally not one line of code in the COVID extension. It is all declarative.

Ardito: How do you think the architect community can best leverage their skills to help make a positive difference during this — or another — crisis?

Baines: I think it is our responsibility as architects to also be educators. It’s all about empowerment. This is something I say all the time and truly believe: It’s incumbent upon us and look at the people around us and ask, “Do you need help with that?”

Ardito: Absolutely. With that being said, why do you think that collaboration, especially in times of crisis, is important?

Baines: I think if anything, maintaining human connection is important. You know the difference between being alone versus being lonely? There is such a huge difference and if you can create a galvanizing effort in a time like this, I think that’s pretty cool. It was very inspiring to see people rallying around a common goal and figuring things out collectively. In a way, I wish I could relive it again because I was in awe watching it happen in real time and seeing how people worked together. I thought, “These people are incredible!”

Ardito: Very well said. I have one more question for you. What other unique value do architects bring to projects and why is it important for teams to work with them?

Baines: Architects possess deep insight into what is possible with the tools and requirements they’ve been given. Having an architect on your team not only contributes to the success of the project, but it also gives the team an opportunity to learn best practices and high-level solution design while at the same time growing professionally.

__

As TrailheaDX quickly approaches on June 25th, Marc will be sitting down with Steve for a second time, along with another world-class architect, to discuss how they’ve been able to guide their teams and customers through change and uncertainty during the COVID-19 pandemic. Be sure to tune in to their TDX session from 10:40–11:00 AM PDT.

To learn more about Theon® Care Management for COVID-19 triage and patient management, read the Forcivity press release and the Geneia press release.

About the Authors:

Alexis Ardito joined Salesforce in March of 2020 as a Global Architect Program Coordinator for the Technical Architect Program team. She is directly involved with the planning and execution of CTA Review Board exams, while also supporting candidates on their #JourneyToCTA.

Marc Braga is a Principal Architect Evangelist and Certified Technical Architect at Salesforce. Since joining Salesforce in 2016, Marc has served as a trusted advisor, technical leader, and platform expert for Salesforce’s most complex enterprise customers and partners. Marc is passionate about empowering our customers, mentoring other architects, and leading our internal candidates on their #JourneyToCTA.

About the Architect:

Steve Baines is a serial entrepreneur who loves working with early stage, technology-focused startups. His latest venture is as Founder and CEO of Forcivity, a Salesforce.com ISV and Consulting Partner firm that specializes in architectural, integration, development, and strategic services. Steve is a Salesforce Certified Technical Architect, Salesforce MVP, and co-organizer of the Manchester, New Hampshire Salesforce.com Developer Group.

--

--

Salesforce Architects
Salesforce Architects

We exist to empower, inspire and connect the best folks around: Salesforce Architects.