Views:

Transcript:

0:01 okay uh let's get underway um thank you
0:03 very much for uh joining our webinar
0:06 this afternoon or morning depending on
0:08 where you are uh I am recording this
0:10 session um so it will be made available
0:13 uh to everybody after after the webinar
0:17 I've got my colleagues John uh and
0:19 Patrick with me today uh who are going
0:22 to be doing some of the demonstration
0:25 I've got a couple of slides to go
0:26 through but we'll get straight into the
0:28 uh
0:28 demonstration um so you can see what new
0:32 stuff new features we have for the
0:34 decision decision table features um if
0:38 we can just move on to the next slide
0:41 just going to give you a quick little
0:42 bit of a background uh just a refresher
0:44 for for those you who may not have been
0:47 uh familiar with North52 um North52
0:50 business process activities is a
0:53 business rules engine for dynamic CRM um
0:56 and we go under the mentra that it
0:57 turbocharges uh Microsoft CRM M um and
1:02 what it essentially does is it helps you
1:03 deliver your CRM projects significantly
1:07 faster than using custom code um we've
1:10 got a simple to use pointand click
1:13 interface that allows you to build
1:15 simple or complex rules um without
1:20 creating any code that uh that a
1:23 developer would normally have to
1:25 do um it's the smarter Choice it lowers
1:28 your project risk um and ongoing
1:30 maintenance costs um we're 100% native
1:34 to CRM so we we're a solution that you
1:36 install there are no third party servers
1:39 involved um and what we do is when
1:43 Microsoft updates CRM we make sure that
1:45 our underlying rules engine um is
1:49 compatible with the SDK and therefore
1:52 any any rules that you build with North
1:53 52 uh will continue to run uh as the CRM
1:58 system underlying CRM systems get up
2:01 upgraded just move on to the next slide
2:03 please
2:06 John when we talk about uh North52 BPA
2:11 um we tend to use an analogy of a of a
2:14 typical CRM project um North North52
2:20 will take care of about 30% of the or
2:23 25% of the
2:25 customizations um that are required if
2:28 we estimate that about 70% could
2:31 probably be provided by uh Microsoft ZM
2:33 out of the box um there's always going
2:36 to be some uh requirements that probably
2:38 going to need some custom code um
2:41 although we do have a number of our
2:42 clients that uh are using North52 and
2:44 its entire entirety just for the
2:46 customizations that they can't do with
2:48 Microsoft
2:49 CRM we have um Seven Pillars to the
2:53 product um the first being the formula
2:56 manager itself this essentially is the
3:00 business rules engine that underpins all
3:02 the other um pillars of the product and
3:06 within that we've got over 300 I think
3:08 it's up to 350 now Excel like functions
3:11 that uh you can utilize to do all sorts
3:14 of Transformations or decisions or rules
3:17 Etc we've got a component called process
3:19 Genie um this is a custom workflow
3:22 activity that allows you to hook
3:25 into um any of the functions within the
3:28 formula manager use that within a uh
3:31 workflow um a action or a
3:34 dialogue we have a scheduler so if
3:37 you've got a recurring job that you need
3:39 to do on a on a nightly basis or a
3:41 weekly basis um you can do that using
3:44 the schedule of
3:45 functionality we have a smart flow
3:47 component uh this is where you have more
3:50 complex um business rules or business
3:52 logic that you need to put into a um
3:55 North52 formula and it basically allows
3:59 you to
4:00 um layer many formulas on top of each
4:02 other and execute them and similar in a
4:05 similar to the out of the blocks
4:07 workflow editor where you can create
4:09 lots of steps smart flow does the Sim
4:11 similar sort of thing with North
4:13 52 formulas we have um xcache
4:18 um which is a data cache which is um
4:23 stored in a CRM entity and then is um
4:26 loaded into memory um which any of the
4:28 North52 formulas can access um and can
4:32 be used for things like um setting
4:35 reference data like vat rates or uh
4:38 sales tax rates um can be used for
4:41 things like usernames and passwords for
4:44 uh
4:45 your um web Fusion which is the um rest
4:49 API connector so if you want to store
4:50 username and passwords you can do that
4:52 in xcash
4:54 securely web Fusion is the ability to
4:57 connect to rest based web services so
4:59 you might want to send an SMS message do
5:01 some data validation or have a uh an
5:05 internal system that you can connect to
5:07 and you want to um hook CRM up up to
5:11 that you can use the web Fusion
5:12 component to do do those sorts of
5:15 functions um decision tables um is what
5:18 we're going to be talking about today uh
5:20 this is essentially something that makes
5:22 complex rules and actions easy so we
5:24 just move on to the next
5:27 slide just a quick overview
5:30 um essentially a decision table is a a
5:33 simple visualization um in a in a table
5:37 format so it's very easy to see your
5:40 your rules laid out um an Excel like
5:43 table you
5:46 can easily understand uh what sort of
5:50 rules are in place um by just scanning
5:54 the conditions and the actions on the
5:56 decision table itself and it's very
5:58 useful um for facilitating an
6:01 understanding between the testers um
6:03 business analysts project managers even
6:05 developers as well they can all open up
6:07 a decision table and see fairly quickly
6:10 what uh decision logic is is going
6:13 on and with that I'm going to pass you
6:16 over to John who is going to um go
6:19 through a few decision table scenarios
6:21 with you so you can see what can be
6:26 done thanks Bruce Bruce did just confirm
6:30 you can hear
6:35 me hi Bruce just confirm yes yes I can
6:38 sorry no no worries just let me make
6:41 sure we're on um okay so there's going
6:45 to be two two scenarios two demos we're
6:47 going to be doing today um I'm going to
6:49 take the first one and it's going to be
6:51 around um heart disease um from a from a
6:55 a query we got from a um a customer
6:58 while back and um so it's it's going to
7:00 be showing you um around risk scoring so
7:03 how how would you implement a risk
7:04 scoring model within Dynamic CRM um and
7:08 then the second one is going to be
7:09 around and Patrick's going to lead that
7:11 one it's going to be to do with um
7:13 public sector around food assistance in
7:15 the United States um there's some kind
7:17 of complex rules there about who's who's
7:20 eligible so it's an eligibility type um
7:22 scenario um so who qualifies for for
7:25 food stamps um so for the heart disease
7:28 one um so we got a um a query in from a
7:32 a customer a couple of months back um
7:35 and they were working with an insurance
7:37 company and they were trying to put a a
7:40 risk model in place for determining
7:43 what's the uh risk factor for heart
7:44 disease for all the um contacts or
7:47 patients in their Dynamic CRM system so
7:49 that you know if you have a low risk
7:51 score then you would get cheaper
7:53 insurance if you have a higher risk
7:54 score then you're going to pay more for
7:55 your insurance um the document have
7:59 screen right now this is the kind of the
8:01 the simplest one that we we we we could
8:03 find online so that you know it's just
8:05 in one page um so you can imagine this
8:08 is like a document that a business
8:10 analyst might write up um that the
8:12 development team or the CRM team would
8:15 would would get and they and You' be
8:17 told please implement this in Dynamic
8:18 CRM and you can see here what we have is
8:22 there's a couple of different sections
8:23 there's um there's all these risk
8:25 factors so family history cigarette
8:27 smoking obesity um Etc and then there's
8:31 some criteria so these are all the rules
8:33 and then we have a very simple scoring
8:35 system um plus one um for each one that
8:38 is a a match and then it gives you an
8:41 overall score so you know if you had a
8:43 score of let's say five you know that
8:45 means you're in in a very high risk for
8:47 heart disease so you're going to be
8:48 paying more for your insurance while if
8:50 you maybe a risk score of one then um
8:52 you're going to get the insurance a lot
8:53 small a lot cheaper um there is many
8:56 many documents you know if you Google in
8:58 coronary artery disease risk factors
9:00 you'll see lots of different models
9:02 there's um one there's lots of these
9:04 that are a lot more complicated but we
9:06 just kept this one just uh for this demo
9:08 nice and simple so you can imagine you
9:10 get this document from your business
9:12 analyst team um you know how how would
9:14 you go about implementing that in
9:16 Dynamic CRM um so the way that we model
9:19 something like this is I just go into
9:22 Dynamic
9:23 CRM just make it a bit
9:26 bigger so actually just for people who
9:29 might be seeing North52 for the for the
9:31 first time so this is Microsoft Dynamics
9:32 CRM we're a native add-on for for for
9:36 Dynamics you can see here we're just
9:37 adding um um a site map menu and I'm
9:40 just going to go to a list of the
9:41 formulas so these are all the business
9:43 rules and then I'm going to open up my
9:45 one for um coronary artery uh disease
9:49 risk scoring and what you're going to
9:50 see here is you're going to see our
9:52 decision table um so we're actually
9:54 going to show how it's modeled first um
9:57 so you can see here's the here's the
9:59 decision table um and you can see I'm on
10:01 a tab called risk score so it's very
10:04 like Excel that's how we've tried to
10:05 model it um so we've spent lots of time
10:09 looking at you know lots of different um
10:13 business modeling um pieces of software
10:15 like sap Salesforce IBM um and a lot of
10:20 them you know they've got drag and drop
10:21 editors and but some of them have
10:22 decision tables and um when we start
10:25 when we first released this maybe about
10:27 a year ago now we found that decision
10:29 table was the fastest way to uh create
10:32 complex business rules in Dynamic CRM
10:34 there's just no faster way than having
10:36 this like structured Excel format um in
10:39 CRM um you know you can imagine the
10:41 existing workflow editor in in in in in
10:45 CRM it's very kind of clunky to build up
10:47 extra steps you can't move them around
10:49 and even if you could move them around
10:51 you can't easily copy and paste them
10:53 well we bring all that features like
10:55 Excel Rich features into a dynamic CRM
10:59 so um it's just like Excel because we
11:01 have a list of sheets down the bottom so
11:03 you can see we have for each one of
11:05 those um risk factors that we had here
11:07 like family history cigarette smoking
11:10 we've put a corresponding um sheet so
11:13 you can see here I've got one for
11:14 smoking one for lifestyle and each of
11:16 these build up the rules so it keeps
11:19 them all nicely segregated um and then
11:23 it runs through all the rules and it's
11:24 basically coming down to this master
11:26 kind of sheet this risk score and what
11:28 we've done is we've got these conditions
11:30 um and actions across the top so the
11:33 conditions um you can see here we're
11:34 looking for on the first one we're
11:36 looking for a smoke risk so is is it
11:38 equal to true if it is equal to true
11:41 then we're going to assign a risk score
11:42 of just one the same for lifestyle if
11:44 that evaluates the true we're going to
11:46 assign it to one and this is a it's a
11:48 running total so if I was to show you if
11:51 I toggle the Advan mode you can see here
11:53 we've got a plus equals uh sign in here
11:55 and there's lots of different operators
11:56 that we can use but this is just a a
11:58 running to total so it's going to sum up
12:00 the the
12:02 values um so when it sums up these
12:04 values um where is it going to put the
12:06 result so over here on the left hand
12:10 side um I'm going to go to my register
12:12 Tab and you can see here we've got an
12:14 entity called patient vitals um so we've
12:17 connected into the patient vical entity
12:19 and we've said whenever any of these
12:20 fields change on the patient vcal we
12:23 want to execute the decision table and
12:25 the results you can see the target
12:27 property so the target entity is patient
12:29 vitals and the target property is the
12:32 coronary artery disease risk score so
12:34 that's just a whole number field within
12:35 Dynamic CRM and then just for
12:37 completeness you can see here um the
12:40 formula type we have is safe to current
12:41 record and it's executing server side so
12:44 that's pretty pretty straightforward so
12:46 I'm just going to give you a quick demo
12:47 of what that actually looks like in in
12:49 Dynamic CRM so um if I bring up a new
12:55 tab so what we've done is we've used the
12:58 contact enti
12:59 so contacts to represent patients so if
13:02 we go into aen Grace my
13:05 brother you can see over here on the
13:07 right hand side we've got a a subgrid
13:09 called patient vitals so I'm just going
13:11 to open up that
13:13 record so you can imagine um you know
13:16 they'll be doing um you know your uh
13:19 Insurance probably once a year CU that's
13:21 when you renew your policy so you'll be
13:22 creating a new patient vital record
13:25 every year so you might you know um
13:27 you'll see some of the items in here if
13:29 you start doing a lot of exercise or if
13:31 you're um you know stop smoking then
13:34 your risk score goes down so you can
13:36 imagine you'll be entering a patient
13:37 vicle record once per year so this is
13:41 one that I've already created so you can
13:42 see here again I've broken out just all
13:45 the um all the questions from the from
13:48 the from the documents that that we got
13:50 into um sections so we've got the
13:53 smoking section current smoker it's a
13:55 yes no um smoker in the last 6 months
13:58 yes snow an environmental tobacco smos
14:01 exposure and that's basically going here
14:04 to this cigarette smoking um business
14:07 rule that we have so that's how the
14:08 mapping is done um and then when when we
14:12 take in all these values so we got
14:13 hypertension so you got the the systolic
14:16 and the diastolic uh blood pressure
14:18 rates as well any of your family history
14:21 questions um so we get all this data
14:23 into CRM and then when we save this
14:25 record or change a value on the record
14:28 it's going to modify by this risk score
14:29 here so the coronary artery disease risk
14:32 score so if I was to come in and let's
14:34 say um you know I made a small mistake
14:36 on my I'm creating the data the first
14:38 time and I change my current smoker to
14:40 from no to yes and then I hit save so
14:43 what's happened there is the decision
14:45 table is actually executed in the
14:46 background and can you see the coronary
14:48 artery went up to two um if I go in and
14:51 say that my father so sudden debt before
14:54 55 and I put that to yes hit save you
14:58 can see it's just gone up to three so
15:01 you can see there where there's like a
15:02 running total so it's actually what it's
15:05 actually done is I go back to decision
15:07 table it executes it um uh from left to
15:11 right so each decision table um so like
15:14 smoking executes first then lifestyle
15:16 then obesity and then it all comes into
15:18 this risk uh scoring Master spreadsheet
15:21 that does the summing up and places the
15:23 result in the um in the field for for
15:26 the risk score so um hopefully you can
15:29 see there that um by using the decision
15:32 tables and the excels uh structured that
15:35 it's um it's easy for like a business
15:37 analyst you can imagine if if the uh
15:39 functional consultant or the developer
15:41 handed this over or took a screenshot or
15:43 even printed out a report and sent it to
15:45 the business analyst he could actually
15:47 work out what's actually happening
15:48 because it's very much in English as you
15:50 can see here um just to talk about the
15:53 the individual decision um sheets that
15:55 we have so the first one smoking and um
15:59 what's interesting about this one is
16:00 that um it's got condition ores across
16:03 the top so therefore what we're saying
16:06 is if if he's a current smoker or he
16:09 smoked in the last six months or he's
16:11 got environmental exposure to Tobacco
16:14 then the overall result is set the true
16:17 um the default um when you insert a new
16:19 uh condition just to show you if I do
16:21 insert
16:23 condition wrong
16:26 place delete call so if I wanted to put
16:30 in a new one
16:31 here so normally comes in condition on
16:34 its own which is just an and the default
16:36 is and but if I was to right click and
16:38 do toggle colume R you can see it
16:40 changes it over to an R so really easy
16:42 to add in R statements um to it and you
16:46 can see actually that all of these
16:49 individual sheets they've got they all
16:51 um their own action called Smoke risk
16:53 and this is like a it's like an an
16:55 inmemory um calculation like a Virtual
16:58 Field for one of a better way to say it
17:00 so these three conditions are making up
17:02 this Virtual Field smoke risk and then
17:05 just to show you where all those appear
17:07 if I go to my source um so this is the
17:11 source and you've got access to all of
17:13 the dynamic CRM data model um and all
17:16 all the related fields and we've also
17:18 got all these decision table
17:20 calculations so risk score so all these
17:22 ones that I'm working that with that
17:24 I've been building up from sheet to
17:26 sheet they all come in here and what's
17:28 great is if I go back to my
17:34 um if I go back to my risk score so if I
17:37 want to bring in the the smoking let me
17:39 just bring that over a bit if I want to
17:41 bring in the smoking how I actually
17:42 built this up day one is it's just all
17:45 point and click so I can just click
17:46 where smoke risk I just click on smoke
17:48 risk and you can see it just brought it
17:50 into the master um risk scoring model so
17:53 any of the ones to the left hand side um
17:55 you can just with a point and click on
17:57 this under Source you can bring in those
17:59 data values into the into the master
18:02 risk
18:03 model um if I just go back to the
18:06 smoking
18:07 one let me just collapse that
18:11 down so that was the smoking one just to
18:13 the C the condition or the lifestyle um
18:17 interesting one with the lifestyle is
18:18 that there are just all conditions so
18:20 these are just all ANS and you can see
18:23 here it's just going in off of um uh a
18:26 whole number field so the
18:28 the the weekly exercise so how many
18:30 times do you exercise per week so if you
18:32 ex exercise less than four times um for
18:35 less than 20 minutes um moderate
18:38 exercise and less than 10 minutes
18:39 vigorous exercise then you know you've
18:41 got a risk of plus one or we set the the
18:44 lifestyle risk true so on the master
18:46 sheet that'll set it to a plus one um
18:49 this exercise so if you were to read up
18:51 on all the all the heart disease um
18:54 documentation it's to do with the amount
18:56 of usually the amount of oxygen that
18:57 you're getting in and they actually have
18:59 very specific um rates of oxygen that
19:02 decide whether you're moderate or
19:04 vigorous exercise um so we we just put
19:07 in 10 and
19:08 20 um
19:10 obesity
19:12 um the interesting one here kind of the
19:14 similar again you've got actually a
19:15 mixture of condition ORS and ANS so what
19:18 we're saying is for the Obesity to be a
19:21 risk then um It's A or B have to be true
19:25 and then for and then depending on
19:27 whether you're male or Fe female it it
19:29 ends that into the condition so
19:31 basically for a male um to be at obesity
19:34 risk you have to have a waist SK size of
19:36 greater than 102 cm and a body mass
19:39 index greater than 30 but if you're a
19:41 woman um so female then um your G size
19:45 just needs to be 88 or um or more and
19:48 then you'll be at risk what what's
19:52 interesting here as well is that this
19:53 male and female where did we actually
19:55 get it from so the the relationship if
19:58 you remember uh go to contact so we've
20:01 got here's the patient record the
20:03 contact record so there's like a one to
20:05 many relationship with all the patient
20:07 vitals so we're on in the decision table
20:10 we're actually on the the patient vital
20:13 entity so we actually have to go out and
20:15 find related data um this this gender is
20:18 actually a field on the parent contact
20:21 record so how did we do that so if it
20:23 was just to remove it how how would we
20:25 add that back
20:26 in um what what you could do is again
20:29 under Source we've got this related node
20:31 related 1 to n and I can expand it out
20:34 and it shows me all the nend to1
20:35 relationships so I could basically all
20:37 the parent entities so I can expand the
20:39 contact entity and then you can see um
20:43 we've got attributes or we've got all
20:44 the other relationships so we can
20:46 actually go out um as many um levels in
20:49 the hierarchy as you need so if you need
20:51 to go you know five entities away 10
20:53 entities away from the base entity we
20:55 can easily do that and you just you just
20:57 to keep expanding out to the entity that
20:59 that you need um so if I go into
21:03 attributes you can see I then all I have
21:05 to do is find gender or I could just
21:07 type it
21:09 in so I just do a quick search and I
21:12 bring in gender and you can see then
21:13 gender is just come into the um into the
21:15 decision table for those who are a
21:17 little bit more technical um just to
21:19 show you tole um advanced mode you can
21:23 see here what it's after doing is it's
21:25 after bringing in if you look here in
21:27 the in the formula
21:28 it's it's going North52 the patient
21:30 vical then it's going um out to the
21:32 contact ID set the parent and then it's
21:35 picking up the gender code that um
21:37 option set that's on the on that field
21:40 it's as easy as
21:41 that toggle it back um then for
21:44 hypertension uh this one's pretty
21:46 straightforward it's just um all
21:48 condition RS again um I'll skip that one
21:51 because I can never pronounce the the
21:52 word um interesting one here is around
21:57 um How We Do to um twens so this is to
22:01 an impaired fasting glucose and where
22:03 you're between a range of numbers um so
22:06 what we've done here is that um if your
22:09 um impaired fasting glucose level is
22:11 between 100 um and 126 then you're at
22:14 risk or if it's the glucose tolerance
22:17 then it's between 140 and 200 and the
22:20 the square you can see there's a double
22:22 bracket at one side that means it's
22:24 inclusive and a and a square bracket
22:26 means it's it's up to that value but not
22:29 including it so we have a whole range of
22:31 options there for putting in um using
22:34 between either inclusive or exclusive on
22:36 the left hand side or the right hand
22:38 side um and then we go to the age gender
22:42 one and what's interesting here is that
22:43 we have a a calculation called age so it
22:47 was um 55 basically you're at risk if
22:50 you're over 55 years of age for a woman
22:52 actually that should be the other way
22:53 around it should be 45 for a woman and
22:58 sorry no it's 55 for woman 45 for a man
23:01 um so what we need to do is calculate
23:03 the age of the person so that age is not
23:06 actually stored as a field in Dynamic
23:08 CRM so we're able to calculate that
23:10 field um in memory as part of the
23:12 decision table execution so the way we
23:15 calculate that age is we've got these
23:17 calculations and actions so if I go to
23:19 calculations you can see here I've got a
23:21 calculation just called age and if I
23:23 toggle the formula box and you can see
23:26 here what that calculation is so it's
23:28 doing a date diff um on the and again
23:31 we're using this um walk the tree
23:33 functionality we actually call it going
23:35 from patient vitals to the contact
23:37 getting the birth date of the parent
23:39 contact compared against today's date
23:41 UTC date time and we're getting back the
23:44 um the number of years so it'll actually
23:46 tell me how old somebody is and the
23:47 great thing about this is it's all
23:49 calculated in memory at runtime so just
23:53 um it it'll be just done immediately and
23:55 you'll have that value of 55 or or 29 or
23:58 whatever the patient's age is within
24:00 your formula to
24:02 use
24:04 um that one off and then compan history
24:08 that's pretty straightforward they're
24:09 just all condition ORS um and that one's
24:12 pretty straightforward so all of these
24:13 as you can see they're all individual
24:16 rule sets and they're then coming as I
24:18 said before all into this master um risk
24:21 scoring um so when when any of these so
24:24 the way this master table executes is it
24:27 does it row by row um so I I could just
24:30 show you here so this one here we've got
24:33 these Advanced options exit this
24:35 decision table on first match exit all
24:37 decision tables on first match so
24:40 basically we have this turned off it
24:41 means it's a multi-hit decision table so
24:44 when it's turned off so it means each
24:46 one of these rows will be evaluated so
24:49 it's going to check every every single
24:50 one so let's say the Obesity risk was
24:53 true and the aid risk was true so that
24:56 will give you a one and a one one so
24:58 that gives us the overall value of two
25:00 and then that's put in the in in the
25:02 risk score
25:03 field
25:06 um that's the core of it the then just
25:10 for people to know how does this get
25:11 deployed
25:13 um so if I go back to my register tab I
25:17 go to deployment so you can actually
25:19 pick out the solution that you wanted to
25:20 deploy this in so how do you move this
25:22 from development to test production so I
25:25 can pick out you know um say just the
25:28 the North52 the standard deployment
25:29 solution and therefore this decision
25:32 table is put into that deployment
25:33 solution so you just need to export that
25:36 solution from your development system
25:38 import it into your test click publish
25:40 all and then you're ready to start
25:41 testing and you can actually open up the
25:43 decision table and it'll have and it'll
25:45 look and feel the exact same ways as you
25:48 were in your development
25:49 system um is there any questions on
25:56 that
26:01 I'll take that as a no I'm just looking
26:03 at the
26:05 list can you add multiple conditions
26:08 yeah you can actually so just to
26:12 um yeah so if you want to you know if
26:15 you want to go in bulk so you know if
26:17 you select three rows it's just like
26:19 Excel and you would to go um uh insert
26:22 row you can see it's just after
26:24 inserting three rows and then you can
26:26 fill it out afterwards
26:28 um yeah and then you can you can drag
26:30 and drag and Dr drop as well um so you
26:33 know not really applicable to this one
26:35 but you can just go in so this is where
26:38 we get to the speed where using a
26:40 structured Excel sheet like this is It's
26:42 just just much faster than um you know
26:44 the workflow editor that Microsoft has
26:47 or even if you had a full-blown drag and
26:49 drop one you still just can't be um you
26:51 know the Excel kind of drag and drop
26:53 like this for entering in uh business
26:56 rules um
26:59 just scroll
27:02 down Poss to do a configure price quot
27:06 um not that I'm aware of um I'd have to
27:10 double check um I mean for most of those
27:13 configure price quote systems um a lot
27:17 of them kind of like some of the
27:18 scenarios is like you're working out
27:20 discounting levels so basically if you
27:22 buy you know 400 units of um product a
27:26 then we're going to give you 10 10%
27:28 discount um actually if you were to take
27:30 a look at uh Paul if you were take a
27:32 look at our got some samples actually if
27:35 we were to go to let me just show you
27:37 where just in case people we've been
27:40 adding in lots of decision table samples
27:42 so we've got 18 articles up there and
27:45 there's just a good one here for credit
27:47 card
27:48 entitlements um just show
27:50 people so if if you look at that one
27:53 Paul that would be kind of similar to
27:55 some of the configure price quote where
27:57 depending on you know the the amount of
28:01 um stock they're going to purchase what
28:03 type of stock is you give a certain uh
28:05 discount um this this example is just to
28:08 do with a credit card score um okay with
28:11 that what I'm going to do is uh put you
28:14 over to Patrick Patrick's going to do
28:16 the next
28:19 one goes down
28:21 this back the
28:24 formulas
28:26 cool
28:30 hello everyone uh my name is Patrick um
28:33 I'm going to talk to you today about the
28:34 Idaho uh Department of Health and
28:36 Welfare specifically their food
28:38 assistance program so um food stamps
28:41 food assistance is available in the US
28:44 um for People based on a v variety of
28:47 criteria so in this particular instance
28:50 the criteria we have here is in order to
28:52 be eligible for food assistance uh you
28:55 have to be either citizen or legal
28:56 immigrant with in the US you must be
28:59 resident in the state of Idaho your
29:01 household income I'm actually just going
29:03 to draw attention to that your household
29:05 income not your personal income must be
29:07 less than the program limits for your
29:09 household size which are listed here on
29:11 the right and then with some exceptions
29:14 obviously you must be uh in work or in
29:16 some kind of training um program Etc so
29:20 some of this isn't that complicated for
29:22 example citizen or legal immigrant
29:24 that's basically an options at Value um
29:27 you know same for are you in um
29:30 employment are you in a training program
29:32 Etc but here now for the household
29:34 income so it's on the right hand side of
29:36 the menu here display so for household
29:39 income of one your gross income must be
29:42 less than
29:44 $1,276 for two etc for three for four
29:47 for five so as you can see it list
29:49 values up as far as eight residents and
29:52 then at a residence it's
29:54 $443 is a household income and then for
29:57 every additional person living there 9
30:00 10 11 you add an extra $451 on so just
30:05 going to go on and show you how we have
30:07 that implemented
30:09 here so I food
30:16 assistance so we have
30:18 um obviously a decision table and then
30:21 we're going to have a set of
30:23 calculations and then it uh we actually
30:26 then go back and have a look there's one
30:28 extra requirement that came in later on
30:30 so after we detail the the generic stuff
30:33 sorry the more easier stuff we come back
30:35 and go into the more complex version so
30:38 this is a very quick overview of what
30:41 the decision table is like so as you can
30:43 see immigration status here add it's a
30:45 DEC or an option
30:47 set what we have here is we have in this
30:50 is actually two options so what we're
30:52 seeing is here for immigation status you
30:54 want to this colume to be true for one
30:56 of a better term
30:57 if they're either a legal immigrant or a
31:00 US
31:02 citizen then we have here same again on
31:05 employment status they must be either
31:07 part-time employed full-time employed or
31:09 unapproved training course and again
31:11 these are option set values so this will
31:15 this will evaluate the true if they're
31:16 in either of
31:18 those then we have I'm just going to go
31:20 back and go to calculations very quickly
31:22 so resident and Idaho so the the model
31:25 that we use for this was that we
31:27 converted the contact entity into a
31:30 resonant just changed the name of it
31:32 added a few Fields the same then for the
31:34 account we changed it into a household
31:38 entity so over here the formula it's
31:42 going to open it up now we can have a
31:43 look in the
31:47 color so it's an in oper F value Etc
31:52 basically all that's doing is it's going
31:54 out to the associated primary residence
31:56 which is a look look up field for the
31:58 accounts returning back the address one
32:01 uh state or Province code um doing an
32:04 upper which basically turns it all into
32:06 capital letters and then we just see
32:08 this function will return true if the
32:11 state or province is either ID as in ID
32:14 is typed in or Idaho in full is typed in
32:17 there the next one we do a fine
32:23 sum so basically this is a very simple
32:26 one all we do is we go off and we find
32:28 any contacts where their primary
32:30 residents is listed as the the current
32:34 um resident for want better term so
32:38 sorry put this one up
32:41 here so find some get all the contacts
32:44 that are living in the same property and
32:45 we get their monthly income some are all
32:48 together it just comes back as a number
32:49 value and this value here where it say
32:52 zero just people who might not be
32:53 familiar with North52 that's just a where
32:56 you can set your own default value nice
32:57 and
33:00 simple and then finally this
33:06 guy we just do a fine count on all of
33:09 the contacts that are currently resident
33:11 in that premise it's all it is so
33:14 anybody's resident there this will tell
33:16 us how many people are there so are
33:18 three calculations if the person's
33:20 resident in Idaho will return a true or
33:22 false household income will actually
33:23 give us a numeric value and household
33:25 residents will give us a numeric value
33:27 of the actual people living there so you
33:30 go back to the decision
33:31 table and we expand out and we go to
33:35 calculations so as you can see because
33:37 they're listed as calculations they're
33:39 now available here on calculations on
33:40 the left hand side so we have here
33:43 resident Nido and true or false um their
33:48 household income again we just the
33:51 values returned here and we just said if
33:53 there's currently one person or less
33:56 well inance in one person there has to
33:58 be maximum household income allow for
34:00 that property
34:02 1,276 um looks like I actually um here
34:05 we are then for two it's 1,726 Etc but
34:10 now if we go
34:12 back here we can see that for each
34:15 additional member it's
34:18 $451 so we have to add that so we handle
34:22 that right here with this guy this very
34:24 simple line here so we say is that if
34:28 the number of household residents in the
34:30 property is greater than
34:34 eight then what we do is we take the
34:36 value 4430 because that's the the max
34:40 number of uh the maximum allowed income
34:43 for for eight people and then we deduct
34:47 the number eight from the current number
34:49 of household residents and then multiply
34:52 up by 451 and then add it so basically
34:55 it sounds complicated but basically all
34:56 we're do doing is saying imagine there
34:58 is 10 people living in this
35:00 property so the the income limit for
35:02 eight people is
35:05 4,430 now we have to add on an extra
35:08 $451 for each extra resident so that's
35:11 10 residents minus 8 gives us two
35:14 multiply by
35:15 451 gives us
35:18 $92 and then we add that to the
35:22 4,430 now that actually expands out as
35:24 well so there might be 20 people living
35:26 there 30 people it's just a calculation
35:29 because we use the inherent Excel
35:31 formatting and the inherent Excel
35:33 actions it's very easy to add that kind
35:35 of logic into an R 52 decision
35:38 table so just going to go back now here
35:41 to the risk factors or sorry to the uh
35:44 food assistance because there is an
35:45 additional requirement
35:47 here so effective July 21 resources must
35:51 be under $5,000 to qualify for food
35:53 stamps and then a whole list of
35:55 resources as can or sorry cash uh bank
35:58 accounts stocks bonds Etc so for the
36:02 purpose of this we didn't actually input
36:04 all of these types but we did just
36:05 create another one called savings so I'm
36:08 just going to do is go back and very
36:09 quickly update the existing decision
36:12 table and put in that that
36:15 calculation
36:18 so second
36:24 that
36:25 so
36:29 first thing we're just going to add in
36:30 is under the calculations tab a new
36:33 calculation called current
36:37 date just going to use the existing nor
36:39 52 formula uh UTC
36:42 [Music]
36:43 date so that's going to return back the
36:46 um the date for everyone uh then we're
36:49 just going to do add in the value in
36:51 July
36:54 2011 so we're just going to use the
36:57 create a
37:04 formula and then current resources now
37:07 as I was saying we only added in one
37:10 field the actual savings here
37:14 um for all the in a more complex
37:18 environment you would have obviously
37:19 added in each of the
37:20 individual um you know Banks uh bank
37:23 accounts stocks bonds Etc so
37:27 what we've done now is we've haded three
37:29 additional calculations current date is
37:31 going to tell us what our current date
37:32 actually is when the decision table runs
37:34 July 2011 is just basically the date
37:38 July 2011 and then current resources
37:40 similar to when we did a fine sum on the
37:42 household income the current resources
37:45 does a fine sum uh for all the current
37:47 savings just rather than the monthly
37:49 income this
37:50 time so we go back to the decision
37:53 table and we start making some changes
37:55 here
37:57 so I'm going to need to add in three
37:58 additional columns three additional
38:01 conditions so condition
38:04 one condition
38:05 two and condition
38:08 three so the first one we're going to
38:11 add in is uh what the current datee
38:16 is so if the current date is less than
38:20 or equal
38:22 to um this guy one second here
38:46 2011
38:52 okay we want the current date to be less
38:54 than or equal to July 2011
38:57 and just going to very quickly add that
39:00 to all of the existing
39:03 requirements so now what this what's
39:06 going to happen here is at the moment
39:08 the way it's let out is that you have to
39:10 be legal immigrant or US citizen and a
39:13 resent Idaho and have the correct
39:15 employment status and your housing
39:16 income has to be below limit and and the
39:19 date needs to be before after July
39:22 2011 so that's fine in some instances
39:26 but it's not going to work in all
39:27 instances because obviously it's no
39:29 longer July 2011 so what we're going to
39:32 do is add in another one here I'm going
39:34 to say after July
39:38 2011 and drag it
39:41 down
39:43 so as per the requirements after July
39:46 2011 your current resources have to be
39:48 less than
39:49 $55,000 so just going to add in current
39:53 resources
39:55 here
40:00 there we
40:09 are
40:16 okay
40:18 so right now we have what is essentially
40:21 in non nonfunctional decision table
40:24 because it has two rules one that says
40:26 that has to be before July 2011 and the
40:28 other one says you have to be after July
40:30 2011 so obviously it's not exactly what
40:32 we're looking for here so we're going to
40:34 we're going to put an or condition on
40:35 these so the way we want this decision
40:37 table to actually read is that after
40:39 it's evaluated everything on the left
40:41 over as far as household income we want
40:43 to check is the current date before July
40:46 2011 or if it is after July 2011 is the
40:50 current resource is less than $5,000 as
40:52 well so this is where we go in here we
40:55 add
40:57 so I can do uh toggle column R so the
41:01 first time I do this what happens now is
41:03 it says um it's household income less
41:06 than
41:08 1,276 or is the date below less than
41:11 July 2011 or is the date after July 2011
41:13 or is the current resources less than
41:15 5,000 it's making progress but it's not
41:18 exactly what we're looking for so when
41:20 to come along and hit toggle Callum more
41:22 again so this is going to create what we
41:24 call a compound or
41:26 so this guy we want to be by himself
41:29 he's not part of the other two
41:32 conditions both of these guys we're just
41:35 going to
41:36 add the number two to them what that
41:39 means is we're telling the decision
41:40 table that we want both of these
41:43 calculations to be evaluated
41:46 together so now when the decision table
41:49 is going to execute this kind of logic
41:51 what I will actually do is it'll check
41:53 are they a legal immigrant or a US
41:55 citizen are they resent in Idaho are
41:58 they part-time employed Etc are their
42:01 household income limits acceptable and
42:04 then they'll
42:05 say and is the date before July
42:10 2011 or if the date is after July 2011
42:13 how are they also less than $5,000 in
42:15 current resources so we can very quickly
42:18 and easily add in quite complex
42:21 functionality quite complex
42:24 um I like or ands in all kinds of
42:28 formats to meet just about any kind of
42:30 business rule and
42:32 requirement now um that was possibly a
42:34 little bit complex but does anybody have
42:36 any questions on it or want to see
42:45 anything okay in that instance um I
42:48 might I just pass you off back to
42:53 Bru okay yes I'm here thank you thank
42:56 you Patrick um and Sean um so everybody
42:59 well thank you very much for um
43:01 attending the webinar today uh if you've
43:03 got any last minute questions please uh
43:06 either throw them in the conversation uh
43:08 type them in or unmute your microphone
43:10 and and ask the question uh and we're
43:12 happy to take those questions now or
43:15 send us a uh an email at support
43:19 or52 uh but hopefully this has given you
43:21 a little bit of an insight into some of
43:23 the new functionalities of the um
43:25 decision
43:26 tables uh component of North52 BPA um
43:31 and uh we look forward to you all having
43:33 a go with it and and uh making good use
43:36 of
43:38 it okay so we've got uh a question here
43:43 is one of the actions available to
43:44 trigger an on demand workflow for
43:46 example uh yes that's that's possible um
43:50 it's easy to do um so Patrick's going to
43:53 just configure one here so we give it a
43:55 name
43:57 execute workflow um and within the
44:02 action value then we just use a North52
44:05 function
44:07 called um
44:12 execute workflow I think it is called
44:14 the actual function
44:16 itself um replace the workflow name we
44:20 can get those from The Source function
44:22 or if you know the source area or if you
44:24 know what it's called you can enter in
44:26 here and then you need just pass the
44:27 context of the uh record that you're
44:29 working
44:45 on are there any other
44:54 questions
44:59 just uh following up on that uh action
45:02 question um just going to enter the
45:05 action column a new action column into
45:09 the spreadsheet and then reference the
45:11 action
45:13 uh from our source
45:16 menu so everything that you create in
45:19 the calculations or actions column uh
45:21 becomes available in the in the source
45:23 menu uh for your reference
45:31 question around uh can we bring in data
45:33 directly from an external database or
45:36 system um we can reach out to external
45:39 systems using our um web
45:42 fusion um component which will can call
45:45 out to any rest based
45:49 API we can't call directly to any
45:53 um database directly
45:56 um I believe John or Patrick do you want
45:59 to clarify that
46:01 one yeah um so we can't obviously call
46:04 it a database directly like a store
46:07 procedure or a select but we can call
46:09 any rest based API so you might have
46:11 some external data you know in an Oracle
46:14 database or you know just just somewhere
46:16 on the web uh that's exposed via um uh
46:20 arrest uh web service and what we have
46:22 the ability to do go to functions and
46:24 just type in rest
46:27 um we've got a function here let me
46:29 actually give you an example of one um
46:32 so this is one an example for twio so
46:34 twilio is a very common SMS uh uh
46:37 platform for sending and receiving text
46:39 messages so here we've got the uh call
46:41 rest API function and then you give it
46:43 the the the URL of the web service the
46:46 the resource name um whether it's a post
46:49 a get a put um then you pass in any
46:52 parameters so for an SMS message you
46:54 know you're you're passing in the
46:56 telephone number that you're from the
46:58 the two the two number for the mobile
47:00 number and then the the message you want
47:02 to send so just you know North52 rocks
47:04 and then you can enter in the username
47:05 and password for the web service and
47:07 that will make a call to that web
47:08 service to send an SMS message um but in
47:11 your case you know it might be to send
47:14 you know get patient details so there
47:16 might be a web service called get
47:17 patient details and it would give you
47:19 back a a Json um document of all the the
47:22 patient details and then with that Json
47:24 document you can load it into or you can
47:27 map it sorry into a say a contract
47:29 record within Dynamic CRM um a lot of
47:32 customers actually do that for sa
47:34 actually they have data in in sap and
47:37 they use the um um the North52 um call
47:40 rest API function to bring data into um
47:43 Dynamic CRM and then they use the
47:45 schedular uh component to execute that
47:47 every night so what they're asking
47:49 actually for an sap scenario is the um
47:52 caller web service give me back a list
47:54 of all the contacts
47:56 um that have changed and then we get the
47:58 data back in and we synchronize it and
48:00 then they'd also have one get a list of
48:02 all the new or changed orders in the sap
48:05 system brings back that data um
48:07 scheduled to run every night and loads
48:09 it into um say the order entity within
48:11 Dynamic
48:14 CRM great thank you
48:16 Joel
48:19 um it has to be rest we don't support
48:22 soap soap the most of the world is
48:24 moving away from soap
48:26 and um 90 95% of all web services are
48:30 now rest
48:40 based okay I think that's the uh the
48:43 questions done uh we'll have a recording
48:45 of this uh session uh made available um
48:48 later on and I will send that out as as
48:50 an email to everyone so thank you very
48:52 much everyone for attending today's
48:54 webinar uh and we look forward to seeing
48:57 you again soon on another
48:58 one thanks
49:03 everyone