 Let's take another couple of additional examples. So these are all just using standard charts, and these charts are put onto dashboards. And just like how Bob talked a little bit about how you can build standard data quality dashboards, this is just coming from a data quality dashboard from one DHIs to implementation. So here's another one looking at BCG to measles first dose dropout rates. And so we can see probably a couple of outliers here. So on the chart itself, we give kind of an acceptable range. We give a target, which is zero. We want there to be a one-to-one relationship between BCG and measles one. But we give an acceptable range, which is 20, and anything above this range must be investigated. But the other thing is that there is clearly some massive negative dropouts here as well. We have one that's negative 271. This is probably an outlier. Anything with this massive of a negative dropout means that there's probably an outlier in the BCG value or the measles one value. Let's take another example here. These are just again using standard charts to find outliers. But we're going to talk about how these outliers can be then pushed to people's emails so they're not hidden in DHIs too. Here's another example. Look at November 2018. November 2018, what are we actually looking at here? We're looking at the number of new malaria cases under five and the number of malaria cases five and above. So under five is green, five and above is blue. And we have an expected range for this. We expect about 30% of our malaria cases to be under five, right? That's kind of most Southern Africa endemic places. What you can expect about 30% of your malaria cases to be under five. And then, and here we've said an expected range for under five maximum to 35. So you see these two lines, we have an expected range and then we kind of have a threshold. That threshold is 35 and anything above 35 needs to be investigated. But here, look at March 2018. We have nearly 65% of our malaria cases are under five. Is that possible in one month? No, clearly not. This is an outlier. This is exactly this. So this is kind of what an outlier looks like in a standard chart. Okay, so let's take just before we get into the crazy predictor stuff. Let's just do a quick overview of how do we identify these outliers on a standard dashboard and isolate the actual outlier itself. Well, we have some steps for this and I'm gonna show these to you just in a second. The first step is that we want to isolate the period. They usually we just wanna drill into one month. Then we want to change the chart type to a bar chart. Then we need to isolate the data element. Then we need to isolate the facility level to see where the data is coming from. Then we change the layout so that org units is in category, periods and filter, and data is in series. Now, I just did that really fast. Let me just show it to you in real life here. So I'm going to go to the demo site for the academies. Here we are. I'm going to log in as demo and then district one, hashtag. Scott, could you provide us a link in chat so I can copy it for the Slack please? It's the same link that we've been using in the last couple of days. All right, it's the same one as previous one, cool. Yeah, okay, so here we have a similar chart to what I just showed you. And I think even Bob mentioned this in the videos. Where is the outlier here? Well, there's probably two outliers this point here. Back May 2019, ANC first visits and this one here, ANC first visits from January 2020. Now, how do we figure out where this data is coming from? Where's the facility that's causing this outlier, right? Now we need to do a quick recap of how to use the data visualizer app. So what I'm going to do is just show you the whole process here. I am going to, I can't explore this on the dashboard. So I'm going to click the open in visualizer app button. And that's going to take me into the data visualizer application. So now we're in the application and we can start to drill into this data. What was my first step? My first step was to isolate the periods. So we know that the outliers in January 2020, I am going to go to my period selection. I'm going to deselect all these periods. You see we have 13 months here selected and deselect these. I'm going to go to fixed periods and I'm going to say January 2020. Turn that one on and here we go. Just some dots because, you know, we have a trend line, but we don't have a trend if it's just one period. Here's still my outlier way up here. Then we need to change the chart type to a bar chart. So I'm going to cover here to the chart types, change it to a column. You could also change it to bar. I'm going to choose column and there we go. So now we actually see all the data next to each other. And still here's our outlier. Now we want to isolate that data element. That data element that has the outliers A and C first visits. So I'm going to come to data and I'm going to turn off everything. That's not A and C first visits. Click update. Boom. Now we just got one big bar. That's fine. Now let's figure out where this data is actually coming from. Now the easiest way to do that is to go into our organizational units. And you see right now I have user organization, the relative user organization units tick box selected. I'm going to untick that. I'm going to select national level or the national. And then I'm going to select my level and I'm going to go ahead and go all the way down to facility level. So that's going to show me all of the facilities. Click update. Nothing changed. Why did nothing change? Because my layout is not correct. So the last step is to change the layout. We are going to move organizational units to category. We are going to move period to filter, which automatically went for us when we switched out with the org units. And we're going to leave data in series. Click update. Boom. Where is that outlier? Well, it is clear this is right here. Outlier is at facility 147. And in one month they reported 35,888 A and C first visits. OK. This is how you isolate for the outliers going from a dashboard and through the data visualizer. A few steps here, right? You also have to know how to use the data visualizer. Now, wouldn't it be nice if this notification was just sent directly to my email? How do we do that? Well, that's what we're going to talk about now. How do we see this outlier sent directly to my email? I know I just went through that quite quickly. If you want to revisit how I just gone through and used the applications in the dashboards to identify this outlier, please go back and rewatch this presentation. And you're certainly welcome to slow it down if necessary. All right. And again, I showed this example just before the break, but Rwanda has at least configured some to do this, at least partially, to automatically detect the outliers and send them and push them to people's to emails. All right. So the way that we actually calculate the outlier threshold, and we have to compare the data that is entered against an outlier threshold. The way that we actually calculate that outlier threshold is using predictors. And we put that predicted value into a validation rule. Right, so predictors have typically only been used for data elements in DHS 2.28 to 2.34. Starting in 2.35, we can actually start to do some of this analysis, not using predictors, but using indicators. So the release that we actually just put out yesterday, you can start to use this in standard indicators. But most of you, basically all of you, because we released it yesterday, are not using 2.35 yet. I'm going to show you how to do it in 2.28 to 2.34. So let's take a look at some of these predictors. Sorry, Martin, did you say something? I just lost your son for a second, but that may be a connectivity issue. OK, so let's take a look at some example predictors. What are these calculations for? So predictors really use previously reported values. They use previously reported values to calculate a new value. That's really what predictors are for. And we can, a couple of examples of this. So the first example, I want to get the average malaria incidence over the last six months. You can't use a standard indicator for that. You cannot use, the only thing that you can use to calculate that value in DHS 2 is a predictor. Another example, I want to calculate the average ART consumption over the last three months. Maybe you're using DHS 2 for some kind of supply chain monitoring. And using predictors, you would be able to calculate, say, average consumption. Next point, I want to see the average ANC visits with three standard deviations. Remember, we talked about what standard deviations were yesterday for the last 12 months. This would produce an ANC 1 outlier threshold. This is really the actual, we're going to be building now. We want to see what is the outlier threshold. And the way we calculate that is we want three standard deviations from the average over the last 12 months. Predictors can also be used, the next bullet point, the fourth bullet point here. Predictors can also be used to count the number of facilities that report some value. This is a very, very highly requested indicator in DHS 2. And even though it's not related to data quality necessarily, I just want to make the point clear that using predictors, you can count the number of org units that did something. So I want to know every org unit that recorded more than five malaria cases. Or how many org units recorded more than five malaria cases? Well, you can actually get that number using predictors from aggregate data. One, a couple of words of warning here. Predictors have to be scheduled jobs, just like we talked about scheduling jobs and validation rules. Predictors have to be scheduled jobs. Predictors do also require quite a lot of processing on your CPU, on your servers. So if you have a lot of that predictors running quite often, you can really text your server, just like we talked about with validation rules. So you have to be very careful about how many predictors you have run, when they run, and how much data they actually generate. Because these could all have server implemented. They could all affect your server, excuse me. If you are a server expert or a server administrator out there, please feel free to talk to us about exactly how you should be considering how many predictors to run, when to run them, how much data to store. If you just set these up without considering how your server is performing, you could really set yourself up for disaster. So how do we make a predictor? Well, predictors are actually the value that's generated through a predictor is actually stored as a data element in DHS2. And the reason that this is good or is useful is that that data element can then be used in indicators. It can be used in validation rules. It can be used in anywhere that you use a data element. So again, predictors are very different than standard indicators. Standard indicators calculate values on the fly. They do not store those values. Every time you turn on an indicator, that value is calculated. Predictors actually calculate the value and then store that value as a data element so that you can go back and use it in other places. So how do we do this? We first make a data element. Then we make the predictor and we assign that predictor to store that value that it generates in the data element. Then just like with indicators and data elements, we have to put the predictor in a predictor group. Then we schedule the predictor group to run just like we did with the validation rules. And then finally, we can put that predictor into a validation rule to allow us to get those outlier detection going. So how do we make the outlier threshold? Well, the first step is you have to make your data element. And so I'm going to quickly cover how to make data elements. This is not a DHIS II configuration course specifically, but you have to make the data element first. And this is the screen to make a data element. Again, you go to your maintenance app, you click data elements, you click the plus button and then you're into making a data element. You have to give your data element a name, of course. You also have to give it a short name. Typically the short name is the same as the long name. In this case, we're saying A and C1 outlier threshold hyphen your name. And again, you're hyphen your name in case you're doing this right now, you're following along, you're able to recognize your outlier threshold from anyone else who's making those right now. Your domain type will be set to aggregate, your value type set to number, and your aggregation type set to sum. Then we need to go in and make the predictor. So again, we go to maintenance app. We scroll all the way down to the bottom of the maintenance app. You'll see the predictors there. You'll click on the predictor and you can click that blue plus button again and you'll go into making the predictor. The screen you see here is actually how is the screen you would build the predictor in. Again, first step, as always, give it a name. Second step is to, of course, you can also give it a short name and a code and a description as well. But the second compulsory step is to define the output. So we just made a data element. We need to go in and find that data element we just made and assign that data element to this predictor. And just to repeat myself, the predictor will store the value that is generated in that data element. We also have to define a period type. So what frequency will, or not sort of frequency with predictor one, but like how will that aggregated value in that data element be stored? And we're gonna say a monthly here. And then the next step, which is absolutely required, but it does not have an asterisk next to it. And so please hear me. You have to select an organizational unit group level, or sorry, organizational unit level. You have to select an organizational level for predictors. So here the typical rule of thumb is select the level at which the data is captured against the values that will be used to calculate your predictor, select that same level. So in this case, A and C data is coming in at facility level. So I want my predictor, I want the value that is generated to also be stored at facility level. So I'm selecting facility here, okay? So please you have to select an organizational unit level. If you don't, the predictor will not work. The next step is to define your generator, okay? In the generator, this is where you actually put in the calculation for the predictor. And in the generator, you first have to define a missing value strategy. This is the same as the validation rules. And it will just say, if the values that are missing, how do I handle the values that are missing in the calculation that you're providing? The default is skip any values if it's missing. And the question is, is this usually good? And typically with predictors, it's not useful. We actually want the calculation even if there are some values missing. And the reason is for that because we still wanna calculate this value. This value is actually referencing previously reported data. So even if, in this case, we're actually gonna be looking at 12 previous months of data. So if we leave it to skip if all values are missing or skip if any values are missing, then if it's skip if any values are missing, then if there's one month of where there is no data, then we won't actually generate our predictor. And that's not what we want. We actually want them to generate the predicted value for the average of the last 12 months, even if there is one of those months that doesn't have a value. Okay. Again, I think this is something that's easier to show you than to talk about on a slide. So I am gonna go into my maintenance app. I'm gonna scroll all the way down to predictors. I'm gonna go into my generator. All right. And remember, we're making a predictor that is going to produce an outlier threshold for A and C one. So again, how do we calculate an outlier threshold? Well, the outlier threshold is the average plus three standard deviations of the value. So how do we do that? Well, in predictors, we are allowed to type in various mathematical operators. If you're curious on what all of these operators are, I think I have a slide on it, but you can also just Google DHIS2Predictors and there is a clear documentation on all the various ones. But for the one that we're gonna use right now is AVG. And then that's average. And then we're gonna find A and C one. And I'm just gonna say A and C one visits. Close my, sorry, close my brackets. And you see my translator is already working. So I'm taking the average of A and C one plus I'm gonna do another open bracket three times the standard deviation. And standard deviation is type STD, DEV, another open brackets. I'm gonna then add A and C one visits again and two closes. Right, so now it's actually translating properly. So we are taking the average plus three standard deviations from the average. Remember yesterday we talked about standard deviations and the bell curve, three standard deviations off the average means that it's going to pick up any value that is 98% different than the average, okay? 98% different than the average over all of the sampled values. Again, I have to give it a name for the sake of time. I'm just gonna copy and paste that in there, submit. Okay, here it is again. I'm back into my PowerPoint. So the formula for standard deviations is average plus the data element plus three standard deviations, three times STD, DEV, and then A and C one again. You might be wondering if this is case sensitive. In older versions of DHIs too, it is case sensitive. In newer versions, it is not. So if you're using DHIs 2.3 or older and you're using predictors, you need to put these in all capital letters. If you're using 31 or newer, so 31, 32, 33, or 34, you can put these in lower case letters like you see here. Yeah, so here are the other functions for predictors. You can see that there's quite a lot like average count, max, median, min, standard deviation sum. These can be used in different situations. The next step is that we have to define our counts. Sorry for the spelling mistake here on count, but we have to define our counts. Now, again, in this particular situation, looking at producing an outlier threshold, we want to reference the last 12 months of data. So we are gonna say 12 sequential sample counts here. A sequential sample count is just what was the last period and how many of those periods do you wanna count? So we're gonna say our last period was months. We've already defined that elsewhere in the predictor. We're gonna say 12. We wanna look at the last 12 months of data. Our annual sample count, which is saying how many previous years do you wanna reference? We're gonna leave that one to zero. And then we have a sequential skip count. Sequential skip count will allow you to say, I wanna skip some number of previous samples. In this case, we're not adding a sequential, we don't need a sequential skip count. So we're not gonna even add it in. So what does this actually look like? Let's pretend that we are in March right now, okay? Let's pretend that we are in March. And if we say, and the numbers that you see listed here, these are months of the year. So January through December, and then one, two, three, four, January, February, March, April. Okay, so let's say that we are in April. And we say we have a sequential sample count of 12. What will that do? Well, that will take the previous 12 months. So that would take from March to April of last year. Annual skip count is, annual sample count is zero. So we're just looking at just those last 12 months. And our skip count is zero. So we're not skipping any values in the last 12 months. This can become more complex, of course, right? So for seasonal data, you typically have to have some combination of annual sample count and sequential sample count to be able to factor in the epi curve of malaria, that bell curve that you have of seasonal malaria or any kind of seasonal disease. I won't go into it now for the sake of time, but there is clear documentation on our website and our user manual on how to build out predictors using combinations of sequential sample counts and annual sample counts to factor in more seasonal data. So that is how you make the outlier, or sorry, the predictor that generates the outlier threshold. How do we then put that into our validation rules? Again, we wanna have a validation rule that checks the ANC one value against the ANC outlier threshold and say if that ANC one value is higher than that outlier threshold, send me an alert, send me a notification, let me know that this value is 99% different than the average. Well, it's the exact same process that we just went through in building validation rules. Here, you can see building out the validation rule. We give it a name, we can give it a description, again an instruction, you can define the importance. Our period type again is monthly, our left side expression is ANC one visits, our operator is less than and our right side operator expression will be ANC one threshold. So again, validation rules need to be defined based on what we know to be true. And in this case, we can interpret that to be ANC one visits should be less than ANC one outlier threshold. And again, that threshold value is a data element that is coming from a predictor. So what happens when we run this validation rule? We can see that we received a lot of validation notifications. And just looking at this one example here, we can see that we have a value for facility 583 in October, 2019 that was reported a ANC one value of 126, but our outlier threshold is 117.9. So it's saying, hey, look, 126 is bigger than 117.9. It should be less than, here's an alert. Before I cut over to revisiting some of the scheduling, I do wanna quickly show you how you use predictors to count org units. And in this case, I'm counting the number of org units that have a stock out of some commodity. This is not related to data quality, it's just highly requested thing to know. And so in predictors, we can also put an if statements in our generators. And that if statement here, if you look at the translator, where it says valid at the bottom of the screenshot, just directly above that, you have the translation. And this saying, if the stock out of RDTs, number of days is greater than zero, count a one, if not record a zero. So what is that actually gonna do? That's gonna say that if you have more than one, or if you have one or more days of stock out of RDTs that's recorded in your monthly reporting form, then it's going to count a one value. And that one will be saved as a data element against that facility, and you can use that value to then aggregate up the hierarchy and say, how many facilities did I have a stock out of RDTs last month? Or you can even say put that value onto a map and you can make a map showing specifically, these are the facilities that had a stock out last month. That's how predictors can be used to count health facilities. Again, it's a little bit more of an advanced concept. If you have questions, please send those on Slack and we'll be happy to come back to them. For the sake of time here, we don't have time to go into more advanced functionalities with predictors, but there is a lot that you can do with them. And hopefully you appreciate that. All right. So one additional point that I need to make is that predictors also have to be scheduled in the scheduler app, okay? So it's a different job than the maintenance job that we use to make validation, to schedule validation rules. So we have our ANC outlier threshold. And we are going to make the job type predictor. Again, you select the frequency that you want. Again, just like we did the validation rules exact same, you can select a predefined frequency and you can put in your own frequency through a chron expression or you can say continuous execution. Again, I highly recommend that you do not use continuous execution unless you are in a disease surveillance scenario and you're only using one or maybe two validation rules. The job type will be predictor. This is again different. The job type for the validation rule was a monitoring job type. This is a predictor job type, but the parameters are the same. So we have to define our relative start and our relative end. Again, rule of thumb, relative start negative 60, maybe negative 30, you just want to cover a few previous months, right? Relative end to being just one, which is tomorrow. And then we have to give our predictors into our scheduler. So you just type out the predictors here, though you'll be able to select them and then you add the job. Now, let's say that you have some predictor jobs, then you have your analytics tables and your validation rule alerts. If you're a system administrator, I'm talking to you right now. If you're not a DHIS2 techie, you're probably not gonna appreciate a lot of this. But the point that we made is that you have to schedule these jobs to run concurrently. You cannot schedule these jobs to run at the same time and they need to run in a specific order, okay? For you to actually be able to generate your validation rule alerts. So the first thing is that you schedule the predictors jobs to run first, okay? And again, you want to have all of these jobs run when the server usage is low, when there's not a lot of people on the database. The predictor jobs, for example, you see the example here on the right side of the screen, could run at say 11 o'clock, 23 on a Sunday. Very few people are gonna be looking at DHIS2 at 11 o'clock on a Sunday. Then you have your analytics tables run after that. Again, the analytics tables are just a function that has to be performed in order to see the data on the dashboards or in the data visualizer on maps, et cetera. So you want those to probably run right after their predictors. You can have that run maybe an hour later, run that at midnight on Sunday. Analytics tables, depending on the size of your database may take a while. So if you give yourself a few extra hours of buffer and say, then you want your validation rule alerts jobs to run at maybe zero three. So a few hours after your analytics tables. And if you run them in this order, that means that your predictors come first, those predictors are then able to be seen on your dashboards if you want, if you have them there, and then they'll be able to be pushed out in your emails. If everything goes properly, then this will all happen when you're asleep. When you wake up in the morning, you'll see an email from DHIS2 saying, hey, look, these are the alerts that were generated last night. Okay. There is some question already posted in the community, a practitioner on the Slack channel around how do I get email or how do I configure DHIS2 to send an email? Well, the reality is that you have to generate an email service from your service provider. DHIS2 does not have a built-in email host. This has to be provided from your service provider. So if you are a ministry of health and you are using a telecommunications company in your country hosting your DHIS2 instance, then or hosting say your email service for your ministry, that host, that company, whoever it is needs to provide an email host or an email endpoint for your DHIS2 instance to be able to send emails. Again, not something that University of Oslo can provide you. This has to come from whoever's hosting your email service. Many of you are probably using Google as your default email service. So if you have like a Gmail, for example, and if you are using Google, then we've given you some of the guidance on how to configure this. But you have to provide a host name, a port number, a username, a password. A username, a password, this is for your email service. This is not for your DHIS2. You need to provide a TLS, an email sender address and an address to send test emails. Again, all of this has to be provided by your email service provider. We cannot provide this to you. This has to come from whoever's hosting your email service. Any telecommunications company that hosts email services should be able to provide this to you. These are fairly basic things, to be honest with you. The example that you see here is if you have your email hosted by, say, Amazon web services on the left side of the screen. And like we do here at DHIS2, we have our email hosted by Amazon web services. So that would be our host criteria. Of course, you don't have our password, so you can't use the same thing. Okay, so I know that we are getting close to the end of time already. We have covered a whole lot today, and it was very fast. And I do apologize for that, but I wanted to make sure that you were introduced to all of the potential that you have available to you with predictors and how to get predictors and notifications pushed out to people. Again, it's extremely effective and it's very much underutilized. I encourage you to go back and re-watch today's lessons if you are, if it was a bit too fast for you. I also wanna make sure that you are pointed to, yeah, sorry, I just wanna make sure you also have the resources that you need. So we have guides here on how to use predictors. So everything that I've just covered, if you go to today and you go to assignments, if you go today and go to assignments, and then you can click on how to use predictors to visualize outliers. And then we also have an outlier validation rule, alerts, notifications, exercise document. If you click on those documents, we give you step-by-step instructions of everything that I've just covered. So you will have the PowerPoint slides. I think you already have the PowerPoint slides. You will have the session that I'm narrating. We also provide you a Word document with the step-by-steps instructions of everything that I've just covered, okay? Again, the exercise for today, if we open the exercise, is optional. So the exercise today, if you feel that you would like to do it, and I encourage you to do it if you feel comfortable doing everything I just talked about, building data elements, building the predictors, or you wanna figure it out. Because I'll be monitoring those of you who are doing the exercise, and I'll be able to check and make sure you're doing it right. And if you're not doing it right, then I can talk to you and tell you how you need to update it. So this is the exercise. And the exercise first starts having you make the data element. Then you create the predictor that calculates the ANC outlier threshold. Then you create the validation rule that includes the ANC outlier threshold. Then you make the validation rule group. Then you create the validation rule notification. Then you have to schedule your predictors to run. As well as scheduling your validation rules to run. So this exercise actually has you go through the whole process, A to Z, from starting with the most basic thing, making the data element, all the way through being able to configure your validation rules, and having those set up to be pushed automatically. You're going to do this exercise if you choose to do it in the academies.demosdhs2.org, backslashdqapp-config. Please do it here. This demo database gives you access and the authority to do all of this configuration. Again, this is optional. This is not required for you to complete this course. What we do require you to do is to answer these questions. There are four questions here for day four. Again, these questions come directly from the PowerPoints. We're not trying to trick you at all. We just want to make sure that you are following along and that you understand the basics. So please answer these questions and these questions are counted for your final assessment. Okay, so we have maybe just 10 more minutes for any burning questions. Nora, is there any terrible issues out there or what's the most terrible issue out there? Yes, Scott, there were a few questions. I'm just going through them. Do you under-introduce yourself from the ribbon? Does predictors work in Event and Tracker 2? How does that differ from program indicators? That's a really good question. Yes, you can use Event and Tracker data in predictors. The difference between a program indicator is that that predictor value is actually saved as a data element. So you're able to then use that predicted value in other calculations, in validation rule notifications, anywhere that you can use a data element. And that's very unique in that you cannot do that with a program indicator. There's also different types of calculations that can be done in predictors that cannot be done in program indicators. Predictors can also incorporate values across multiple programs. So that could be very useful to you, that if you have a program for A and C, a program for immunization, a program for birth or follow-up or something like that, and you want to have a value across all of those different programs, you can use that to make a single calculation. You can do that in a predictor. You cannot do that in a program indicator. Any other questions? Yes, there was something about can you use data elements across different data sets? Yes, of course, you can use any combination of data elements that you want to make a predictor. And then for the general QA, that the number of standard deviation to add to the average to say the threshold should vary depending on the value we're tracking, but a good rule of thumb is three. And I think that is what you are more releasing. Yeah, I think he said it perfectly. I would totally agree. I think three is a good rule of thumb. We don't have the intelligence in DHIS too yet to be a little bit more flexible there. We would like it to help the user define what would be an appropriate number of standard deviations. We are kind of starting to explore how to do that, but right now I think you're absolutely right. Just set it to three. Three is probably not going to steer you wrong in most cases. And then there's a question just above that from Pearl from Cameroon. Can you explain the significance of each term? Zero comma one, zero, zero comma one, comma zero. I think that's a chron expression. That could be a chron expression. It could also be that he was referring to the if statement. So I could go in a little bit more to detail on the chron expression. So the, let me just get back. Let me go to the scheduler app. Okay. I think folks have already done this. That's great. So the chron expression, the, if I just make a new job, I've got to define my job type. Again, the monitoring job is for validation rules. The predictor is for predictors. So I'm just going to make a validation rules. My chron expression. I have the ones that I can already choose. So like every day at midnight. And like say every week. And this would be every week at, at three a, a, I think it's three a.m. So I'm just going to say test. Add job. Yeah. Okay. So that would be the first day every day, the first day of the week at three a.m. So let me kind of explain this to you a little bit more clearly. So each one of these values, so we have zero, zero, three question mark, asterisk, and then M.O.N. Well, hopefully you understand the M.O.N. That's Monday. So each one of these actually represents a unit of time. So we have second minute. So zero and zero seconds at zero minutes on the third hour. And then we have day and month. So it's the, the day is defined as Monday and the month is, or sorry, we have a day and week, and then the day of the week month. So we have this running every Monday. Now I know that is kind of confusing to folks, please just Google it. So if I just Google chronic expressions, there are free four matters online for building chronic expressions. So for example, if I want to say, I want something to run every month, then I'm sorry. I want something to run every day starting on Sunday. Then I automatically generates a chronic expression for me. If I could say I want every, every day on the first day of the month, then you see it generates chronic expression. So if I copy this, go back to DHS to Scott, there was an update about that question from the user. Apparently it's about predictor configuration. Okay. Well, let me just finish this then. So I've just copied and pasted the chronic expression for every day, the first day of every month here. So you see that if I click save changes. Then you see, you can say, when's my next execution? You can see my next execution is November 1st at midnight. Okay. So you see that there. So that's how you can do chronic expressions. The actual question was on setting the or unit level for the predictors. Is that correct? It was to do to come facilities with dropout drugs. Yeah. So this is not, you know, actually in two weeks, we have an entire Academy on supply chain and building predictors for the supply chain. So I recommend that you attend that Academy. If you really want to specifically know how to do that, but very quickly here, let me just show you. If I want to count the number of facilities that have any specific value that's recorded, I go into my generator and I type if open brackets. And I'm just going to say acute flaccid paralysis death under five, just for the exam. And I want to say if acute flaccid paralysis deaths are greater than just say five, then record one. If else record a zero. Now what does this predictor do? You can see that it is considered valid. This will say, if that health facility that month recorded more than five acute flaccid paralysis deaths, then it will count one. So the way you translate these if statements like if this, then this, if else, then this. So if this is greater than five, count one. If else count zero. All right. So this is like, this is basic, basic, basic, basic computer programming. Basic if statements. But here that's what it's going on. So if this is greater than five, then count one. If else count zero. And so what will this do? This will say, oh, this facility had more than five. Record a one value. And that one value again is saved as a data element. And that data element can be aggregated up. So you can say, you know, how many across the entire country, how many health facilities that I have more than five acute flaccid paralysis deaths this month. And you'll have a number there because for every single one that does, it's counting a one. Okay. Now this is a very basic example. You can make these much, much more complex. And you'll actually, if you do come to the supply chain Academy in two weeks, you'll see that we've made some that are much more complex than this. But this is a very basic one to be able to count the number of facilities that record any particular value. Okay.