Tuesday, 26 November 2024

How to use Data Tables and filter component in Screen Flow?

 Business Requirement 

You are salesforce Admin working in Acute Care company, receives patient referral from different hospitals, Intake user need to assign each patient to some facilities that has been configured under hospital Account. And if patient is already referred one facility then It should filter.

Here is salesforce object references and Data Model 

Lead - Stores Patient Information 

Account - Hospital Account 

Facility - Facility Information 

Hospital Facility Mapping - Junction object between Account and Hospital Facility Mapping. 

Opportunity - Created under Lead stores how many facility lead has been referred, so It is junction between  Lead and Facility.




Solution without using Apex and LWC

  1. Create a Quick Action Named Assign Facility on Lead, which calls a screen flow.

     2. On click of Assign Facility button, user can select which Facility to add.



     3. Here is the whole flow. Let me explain each component


a.      a. First Get Opportunity Record Type- It is a get record element to get recordtypeId of Opportunity



b.     bGet Hospital Account Id from Lead – It is a get record element to query referring hospital Account which is look up field from Lead to Account. Since flow going to be launched from Lead record, recordId variable will have Lead Id.


CGet Hospital Mapping Records: It is a get record element to get all child records(facility configured) under particular hospital Account. Used referring hospital Account Id from previous step in query filter



d.     d. Create Facility Opportunities – Screen component containing data table where Source Collections configured all records retrieved from previous step c.



e.      e. Loop through Hospital Mappings Records



f.        f. Assign Opportunity Fields – Assignment element under loop to add all required field mapping for opportunity



g.      g. Store Opportunity to a List – Assignment element under loop to add single opportunity variable to a list.



h.      h.Get Opportunities Record For Lead – Get record element to get opportunities created under same lead.



i.        i. Decision element to check If Lead has any opportunity, If there is not any opportunity then Create record element to create all opportunities. Refer list variables used in step g





j.         j. If there are any opportunities present under lead, then run loop



k.      k. Filter element run list variables step -g, compare current item’s facility should not match listopportunities facility.



l.        lNow facilities will be filtered, there will be another list variable created, Use filtered list variable to do null check.



m.  mCreate element to created opportunities, refer filtered list.

n.      nError Screen to show any error occurred.







 






No comments: