 All right. So without any further ado, let's go ahead and start talking about how do we actually do some of these calculations and supply chain indicators in DHIS2. You know, over the last few days, we've been seeing quite a few examples. We saw examples from Malawi, also from Laos, as well as West Africa and Burkina Faso and Mali, where they have produced analytics based upon supply chain data. And these analytics are looking at things like average consumption, stock status, seeing where the stock outs are. And these can be done generically in DHIS2. In fact, over the last few years, we have been optimizing how DHIS2 is able to produce calculations and indicators for specifically supply chain. We've been cataloging and documenting all of the very supply chain indicators that we can that we've confined really from various partners and projects and folks like yourselves in the community that have been feeding them to us. And we've been updating and improving DHIS2's ability to actually calculate these indicators. And of course, as I presented on Monday, the overarching goal is that DHIS2 is able to calculate all supply chain indicators from the data that it has available. And so what I'm going to be presenting today is exactly how can we calculate some of these indicators using the WHO metadata that I presented on Tuesday and George followed up with additional details on Wednesday. So this is kind of coming full circle, hopefully, by the end of this presentation. And hopefully you're able to at least get a base understanding of how these are calculated. So we are going to get quite technical quite quickly. So I encourage you if you get lost, you can go back of course and rewatch the video. The PowerPoint is already shared there with you. So at any point if you need to refresh yourself, this is available. If you are not a technical DHIS2 person, meaning that you have never configured any metadata in DHIS2, I strongly encourage you to actually go back, make sure you take the fundamentals online academy and look at some of the basic configuration materials that we have available, because I'm not going to go over a lot of the very basic things. I'm just going to assume that you know them already. Okay, so let's talk about it in a little bit more detail. To be able to calculate these values, I'm going to call them indicators in DHIS2 for supply chain. We are heavily reliant on something called predictors. A predictor is essentially a calculating tool that we have in DHIS2 that allows us to look at previously reported data. It allows us to factor in previously reported data into a calculation. This is not something that we can do with standard indicators. So most of you are probably a little bit more familiar working with standard indicators than you are predictors. Standard indicators really can't do this. In the latest release of DHIS2.35, we built in some ability for standard indicators to do this, but I certainly appreciate, you know, we released 2.35 just a few weeks ago. I certainly appreciate that basically none of you are probably using it yet. So if you're using any older version that goes from DHIS2.28 to DHIS2.34, you will have to use predictors to calculate these kinds of indicators. And predictors allow us to do some really cool calculations actually. I'm going to give you here's a few examples. So let's say I want to calculate the average malaria instance over the last six months for a single health facility. We can do that with predictors. Another example is say the average monthly ART consumption over the last three months. So simple just taking averages from a single health facility for a single data element over a period of time. A specific period of time, not just like we want a running average, but we want to say the last three months or the last six months or the last two years or something like that. Another example, this is the third example is we can take the average A and C visits with three standard deviations for the last 12 months. What does that actually give us? Well, if you are know your statistics at all, you can appreciate this is how we actually calculate outliers. We calculate outliers based upon standard deviations from the mean. And so this is actually what we a calculation that we can use to derive outlier thresholds. And then plot those or build validation rules behind them so that DHS to will start alerting you to outlier detection. This is we had a whole Academy of just a few weeks ago on data quality and how to use this functionality for data quality. So we won't go into it in detail here but that material is available to you if you want to go back and learn that the data quality Academy all the material that we presented there. So if you're interested in knowing more about data quality or specifically how to use predictors to detect outliers that that material is available to you. Another one that we're the last bullet point here is if a value is zero, then count one. So for example, if a facility reported a zero stock for ARVs, then I want to count that as a as a one value, and that one value would then be aggregatable up through the hierarchy and visible any of our analytics. So for example, we could get a total number of facilities in the country that have stocked out of ARVs, or we can make a map showing as a red spot all of the facilities that have a one value. Recorded showing that they've stocked out. Okay, so this is where we actually put in some some if statements some if logic a little bit more advanced aggregation functionality. Okay, I think we will just then continue on a word of warning about predictors. And this is maybe me being a little over dramatic but I'm going to try to spell it out very clearly for you that there does come using predictors heavily does come with some potential sacrifices or considerations that you need to make. The first one is that predictors are run as a scheduled job. What does that mean? Well, in standard indicators, they are calculated on the fly. So whenever you open up a dashboard or any kind of analytics in DHS to you turn on an indicator, DHS to calculate that on the fly meaning it will just automatically as soon as you turn it on predictors because they are much more complex than standard indicators or at least can be have to be generated values at periodically. And that doesn't that means that they cannot be calculated on the fly. So we have to schedule predictors as what we call system jobs or server jobs. And we use the scheduler app for this and I'll cover how to do that later in the presentation, but they have to be scheduled just like you you schedule your analytics tables to run, or your data integrity checks to run. It's a very similar thing to that. But sometimes predictors depending on how many you have how much data they're crunching through how large your health is, you know how many health facilities you have running at a single time. They can take quite a long time to run. It's not uncommon for larger countries if they have quite a lot of predictors for these values for the server to run on them for maybe a couple of hours, and to use up a lot of the bandwidth of the server. And so what we recommend them then is that you do not run the predictors during peak server usage hours. For example, do not run the servers at noon. You want to run or run the predictors at noon you want to schedule this job to run. Excuse me to to run. You want to schedule this job to run when the server traffic is very low, like the middle of the night, like the early hours of the morning, when there's very few people actually using the instance. You do not really want to use predictors at all. If you have server issues. If you're having currently if you're having performance issues with your servers. Really the use of predictors are only going to make those issues worse. They're only going to add stress to the servers to your infrastructure. And so if you're having any kinds of issues right now I actually highly recommend that you do not use predictors you're just going to have to wait on being able to put these calculations into DHS to until you sure up your server infrastructure. And we find there are many countries that are really struggling to maintain their servers and keep the uptime of their servers and that kind of stuff. So if you are one of those do not recommend that you actually use predictors you need to make sure that your servers are running at peak efficiency. No issues at all before you start putting predictors in. Yeah, and that kind of goes with the third point is do not use predictors if you have very limited storage CPUs or Ram. If you're maxing out your server specs right now. Do not use predictors it will only make things worse. I've actually seen pictures of where countries configured a bunch of predictors into their servers. Their servers were already maxed out just running the basic HMIS and their servers actually caught on fire and melted like into a puddle of metal on the ground, which sounds kind of hyperbolic a little dramatic but it actually is true. The predictors, depending on how complex they are how many how much data they have to chew through can be really max out your servers specs, and it's something that you need to be very mindful of. Okay, so that's enough warning if you are in a good server situation. If you're not maxing out your storage your CPUs your Ram you have good uptime, all that jazz you're you're good to go you can start putting your predictors in. Alright, how do we make a predictor. Well predictors the first point is that we have to make a data element to store the predicted value. Now, unlike indicators predictors actually store the value that they generate as a data element in the system. And here I'm making a little bit of assumption that you know the difference between a data element in DHS to and an indicator in DHS to. If you're coming from like an epidemiological background, and you're not familiar with DHS to everything in the world to you as an indicator, right. But in DHS to terminology and basically most information systems, not everything is an indicator in DHS to what a data element is just a raw value that is either generated through a predictor or entered manually by somebody, or. Yeah, and an indicator is a calculated value. Using a combination of data elements it's also generated on the fly like I mentioned. So we actually store predictors as data elements. And that's actually very useful because then we can use them in other indicators. So you'll see that and is an example in a minute. Okay, so once we make the data we make the data element then we have to make the predictor and we assign the predictor to the data element that we have made to store the values that it generates. After we make the predictor just like we do with indicators and data elements we have to put put the predictor in a predictor group. Then the fourth step is we have to schedule the predictor group to run using the scheduler app. The fifth step, which is a little optional is to make a legend and assign that to the data element that you have produced the predictor for so that when you actually see that data element in a chart or a map, or a pivot table that already has a legend applied to it that helps folks interpret the values will go through these steps and making a legend together. And the sixth step is more optional. You can put the predictor into an indicator, and we will make an example where we will calculate the average monthly consumption. And then we will use that value put it into an indicator that for the months of stock available. All right. This next slide is overwhelming, but I want to put it I'm not going to go through each one of these. I want to put it here because these this are all of the indicate how to calculate all of the indicators and predictors using the WHO data elements that we presented to you on Tuesday. Again, I'm not going to go through each one of these. I just want to present it to you here so that you know this is available when and if you want to go in and configure these into your own system. So, so it goes through closing balance stock out count average monthly assumption months of stock available the various stock statuses resupply value. The resupply value here is resupplying to 150% of your average monthly consumption. Of course, you could change that that can be whatever you want this is not we you know these are all configured you're not hard coding anything here. So, if you say you want the resupply to be 120% 200% 300% of your average monthly consumption that can also be done. Or if you want to make the resupply value something that's not based upon average monthly consumption that's you could also configure that. And finally order fill rates. So again, not going to go through these in detail. I'm going to show you an example of a stock out count and calculating average monthly consumption. And then we're going to put that into an index the average monthly consumption like I said into an indicator that calculates months of stock available. So, without any further ado, let's just get our hands dirty here and go through an example. So I'm going to present to you some PowerPoint slides, talk through them. And then I'm going to actually go into DHS to and demonstrate how it's configured. I'm glad Frank thinks this is finally getting interesting. Thanks Frank. Example one. Let's look at how we generate the count of facilities that are stocked out. We want to get a number of facilities that are stocked out of any specific commodity. So again, the first step is that we have to make our data element. I'm giving you an example here of from the EPI program. If we're monitoring say BCG vaccines. So if we want to make a data element that counts the number of health facilities that are stocked out of BCG vaccines, then we have to of course give it a name. You have to give it also a short name. This is a obligatory compulsory DHS to the name and the short name. So we have to define the domain type, the domain type for all of the predictors that we're talking about here is going to be aggregate. The value type for most of these predictors is going to be number. Okay, there's many different value types that don't have we don't have time to get into it, but for basically all these predictors the value type is going to be number, and the aggregation type is going to be some. Again, many different aggregation types available in DHS to most of them are going to be some. Okay, of course you make your data elements in the maintenance app. What's the second step the second step was to make our predictors. So this is also in the maintenance app. Again, I'm just presenting to you a slide but then we're going to go in just a second and do it and I'll show you how it's actually done. Okay, so we make the predictor, we are going to say this predictor, give it the same name as the data element that we just mentioned so the EPI BCG health facility stock out HFS for health facility. That's given a name, then you have to define the output data element and you see that here is kind of as the fifth field in the screenshot. So you define the output here you see that I'm the example I'm showing you I'm sorry is from a data quality predictor, but it's still the same process for this BCG example. So yeah you define your data element output which is hopefully the same name as the predictor that you just named. So you have to record the period type, the period type needs to be the same frequency or higher or greater than the frequency in which the data is captured. So repeat that, if the data is captured monthly, then your period type needs to be monthly, it could also be higher than that it could be quarterly or annually. But if you had it as a higher period type, then it would just aggregate all of the values together within that quarter or year that are used in that predictor and still produce just one value for the month, the year or the or the or the quarter. But basically, in all the examples that we are talking about, if you have monthly capture data, your period type will also be monthly. If you have monthly capture data, your period type should also be monthly in all of these examples. Then you have to select your org unit level, the org unit level, just like with the period type needs to be at the lowest it can be is the level at which the data is captured. That could be higher than that because our data is captured for facility and we want to know the number of facilities that have a stock out, we will select our org unit level to facility. Okay. The next thing that we do with the predictor is we have to define the generator. Okay. So in the generator, we have a missing value strategy. This is going to become a little abstract and I apologize for it, but when we see it in practice, it'll make a little bit more sense. We have to define a missing value strategy. So the generator is essentially where we actually put in the calculation for the predictor. We have to tell DHS to, hey, if any of these values are missing, for example, if a facility didn't report some month, what do I do with this calculation? And there are several options. We can say we want to skip if all values are missing. We can say we want to skip if some values are missing or we can say never skip. And there's different reasons why you would choose different missing value strategies. In the case of our predictors that we are using here, you probably want to go with skip if some values are missing or skip if all values are missing. We do not want the predictors to generate a value if all numbers are missing because then it would just produce a zero value, which may not be actually accurate. It could be the facility forgot to report or had some kind of issues reporting. The predictors automatically run. And if you have a skip strategy of always or skip if or never skip, sorry, if you have a skip strategy of never skip, then you will, it will generate a zero value. You will be sitting there. So that could be a resupply value, for example, and that's not accurate. If you have no reporting from facility, then you shouldn't have, I would recommend that you not have the predictor run. Okay, that's a little abstract, but we're going to come back to it. Then in the generator, again, this is where you actually put in the calculation. We have to do a little bit of very basic coding. Okay, I will give you, I'll just kind of walk you through this. So in the generators screenshot that you see, you see first a description, that's a field that you just type in, and then you see the generator expression builder field. That's where you see the if open parentheses, data element UID equals zero, then count one or count zero. Okay, so here we have the name and the formula and our formula here is an if statement. Now, if you're not a programmer, you're probably not used to talking about if statements, but if statements are a very basic thing in most software development and programming. Here, our if statement is saying that if this value equals zero, in this case, if BCG starting balance equals zero, then, and that comma after the zero said it means then count one. And then the second comment is if else count zero. So if this equals zero, then record a one value. If it does not equal zero, then record a zero value. What does this do this counts and records a one value for any health facility that has a zero value for this data element for that month. Okay. Here in our example, we're we're using BCG starting balance. The reason we're using starting balance is because for this immunization package that we have, instead of stock on hand, we have a starting balance. I think, though, for all of the WHO data elements that we have presented already, we would be using stock on hand instead of starting balance but just this example of what I have available to me is using starting balance but it's the same calculation. Instead of putting starting balance you just put stock on hand. Okay. I just want to make sure that we're going to come through it together. There are, for those of you who are really techies out there, there are many functions that you can put into predictors. Here are some of the examples so you can do average counts max median men standard deviation some you can do if statements. That's true if false statements there's a lot and there's just there's good documentation in the developers manual on this so please have a look at that. Okay. The next step is we need to define our counts. We can define a sequential sample count a sequential sample count means the number of previous periods in our case we're talking about months so be the number of previous months. So that means we also take an annual sample count so if we want to take data from multiple previous years, we can do that as well. We also can define a sequential skip count a sequential skip count is defining the number of previous months that we want to skip over and are from our sequential sample count. So these are available for you so that you can build the sequential sample count the annual sample count and the skip count are all can be used in combination to build out fairly complex of referencing previously reported data specifically so that you could potentially factor in epi curves predictors were originally developed for the CDC to do to do disease surveillance to actually predict how many disease or the total number of diseases or the disease burden for next month or next quarter or next year using current data and previous data. So, so that's why you have a sequential sample count an annual sample count and a skip count. That is again to be able to factor in the epi curve like if you're using predictors to monitor or to predict malaria outbreaks or thresholds, then you have to use a combination of sequential sample counts and annual sample counts and possibly some skip counts. Again, there's really good documentation on our web and the developers manual on this. There is a whole Academy on disease surveillance ID SR that goes over this specific scenario in a lot of detail. We also have predictors built into the data quality Academy to which talks to you how to use sequential samples count annual sample counts to calculate again outlier thresholds. In this case, we are actually very simply just going to turn them all to zero for this particular example. What does that mean that means that DHS to when running this predictor to generate this value will only look at data in that's been reported for that month. Okay, so if I'm running this predictor for October, then it will just look at the data that's been reported in October. So if there was a zero value reported for BCG in October, then it will say one, it will record a one value. All right. That's enough blah blah for me. Let's just have a look. Okay, I am going to this URL. I'm going this instance. This is a sandbox instance that was set up for us. I'm going to post this link in the chat and Martin if you could also please post it in Slack. Actually, I got slack open here as well. So you can if you feel comfortable you can follow along. Click with me here as well. I posted it in the slack technical support as well as the ask about logistics as well as the channel. So you can use the guest district one password here you see I have my own password and login so I'm and that's already auto filled for me, but you can use guest district one exclamation point capital D and district to log into this. All right. When we get in here, we will see some nice supply chain dashboard starting to come up we're going to talk about how to build out these analytics and the second part of today. Let's talk about how we build this predictor so it's in the maintenance app. All most all metadata configuration is done in the maintenance app. So I'm going into the maintenance app. I am going to skip the step of making the data element hopefully you've made some data elements in your time. So I'm just going to go straight into the predictor the predictors are in the other category. And you can see that it's at the very bottom of the page you see the predictors here. I'm going to click the plus button to just go ahead and make a new one. And I am going to give it a name. I'm going to call it BCG health facility stock out. And then I'll just go ahead and give it my name as well so that we can see it later. I'm going to copy and paste my, my name into my short name, not necessary but it's always it's a good practice to have a short name. I'm going to now I'm going to skip the scope that started this code. I'm going to skip the code and the description. Also good to have of course a coding methodology for all of your metadata, as well as provide descriptions and exactly what it's supposed to do. For the sake of time I'm going to skip those but it is highly recommended. And I am going to look for my data element that has the same name. And here it is BCG health facility stock out. There we go. And again, this predictor will generate a value that is stored in this data element. Then we select our period type. Our period type is monthly, like we said, then we have to turn on our facility unit level. We have to org unit level which will be facility. And this is compulsory. This is a step that a lot of people forget you have to turn on organizational unit level. Okay, it really should this should have a little asterisk next to it it does not we should fix that, but you do you are required to have a facility or unit level or this predictor will not generate. Then after we do that we go into the generator. And again is where we actually input the calculation. So you can see right now it wants me to give it a description or a name that's blank. I'll come back to that. What I'm going to do is I'm going to start typing the calculation that we've just gone over so again that's an if statement so if, if open brackets, and then I'm going to come over here and find my data element for BCG. It's opening balance. See I typed BCG starting balance. That's what it's called a BCG starting balance. Again I'm using BCG starting balance here because in this particular configuration of DHS to we don't have a stock on hand, and all of the WHO data elements that we've pointed out earlier, we recommend that you use stock on hand. So I'm going to say equals to, and you don't just put one equal sign you have to put two equal sign. That's just programming for equals to zero. So if it's equal to zero, then I want you to record a one value. If it is not, then record a zero value. So it's zero comma one comma zero. And then I close my brackets, and look what happened. It translated it for me, and it's saying it double it checked it and said valid. If you don't get a translation that says valid like if I delete something. It says expression is not well formed. If I back my close parentheses, then it says, okay, it's well formed it's valid. This should work. And now what I'm going to do is I'm going to copy the expression and just paste it up here in the description. This is something it's kind of a shortcut that I do you don't have to do this I actually probably recommend that you not do this. Maybe I'll just write it for the sake of presentation in longhand so I'll say. EPI. If sorry BCG starting balance is zero, then record one. If else, record zero. Sorry, respect record twice. Record. Yeah. Okay. So now I will save this. And then you have a sequential skip test. I'm not going to cover what this does this does not apply to any of the predictors that we are talking about here. If you're using predictors again for disease surveillance or threshold detection. You would you might need to use a sequential skip test, but for none of these examples we are we're not using it for any of the things that we're talking about today. So I'm just going to skip over that. Then we need to define the sequential sample count again this is the number of previous months that we want the tries to look at in this calculation. But in this particular example we don't want to look at any previous months we want to look at just that one month that we're currently running the calculation for so we will put a zero. The annual sample count is also zero and the sequential skip count also zero. All right. And then we save it. And that is it where is mine here it is the one that I've just made. Okay, so that's how we make that predictor. Let me. Let's look at a more complex example. Let's make a predictor to calculate now the average consumption. And the steps are the same as that we just went through but the but the generator is slightly more advanced. So here we can we make the data element going to skip through this, then we make the predictor that again the same steps to make the average consumption that we did for the, for the BCG stock out, where we just put we have to define the data element, then we define the period and then we put it to facility level. Then our generator is a is a little bit different here we're instead of saying, if we're just going to put the average aggregating function, which is just AVG, and then we put in the value that we want to average. Then we define the sequential sample count, because we want to take the average over the last three months. And then a three value for the sequential sample count. Again, our annual sample count is zero. And we are sequential skip count will remain blank or zero. So what is a sequential sample count of three mean. Well if we're currently, we know down here we have the months of the year. If we're currently sitting in November, then it will include the values for October. September and August. Well, did I say that right. I'm going back to the month, but those the last three months there to calculate a value in November. So this is a very simple example. It can get much more complex. So here, this is actually taken directly from our documentation on if you were to use predictors for malaria and specifically if you were to use it to calculate around a malaria curve, or an epidemiological curve, which again is that that seasonal bell curve of cases. And this is an example of using sequential a combination of sequential sample counts and annual sample counts as well. And I won't go through this in detail but just let you know that there are some examples here. If you want to use predictors for disease surveillance, you should definitely have a look at this and you can of course post any questions you have. I'm happy to answer questions on this as well. So let's just go in now and make this predictor together. You can actually see that there are some there's already one made here but I'm going to make a new one just for the sake of argument. And we are going to call it EPI BCG CG average average consumption and I'll just give it my name so we can find it later. Copy and paste it into the short name. I'm going to skip the code and description but again those are highly recommended. I'm going to go to EPI BCG average consumption that there's my data element. So what I'm going to type up here to type again is monthly facility is my org unit level, go into my generator. And here is where I type in my expression builder the, the AV AVG. And here we want BCG consumption. I think it's actually called doses given yeah BCG doses given. That's how we get consumption. It's does it translate. Yep, everything was good it got that valid here. That's good news. So I will just average BCG doses given. Okay, save my generator. And again my sequential sample count is three we want the last three months annual sample count zero sequential sample count. I'm just going to leave it blank you can put a zero here it doesn't really matter. Then we say this. And there you go. Now we have made the average consumption predictor. Now let's take a look at what we have to do next. Remember the next step was to predict put your predictors in a predictor group. Now this is very, very simple. I'll just demonstrate it quickly. Right under predictor on the left hand selector column we have the predictor group to make a new predictor group you click the plus arrow in the bottom right corner. You can. I'm not going to do that. I'm just going to show you one that's already made here we're going to say API stock averages. And you see that I have my predictor group and consume it a little bit more predictor group and then you turn on your predictors you see all your predictors on the left side you can double click them they come to the right side that means that they are turned on. Of course the opposite works as well double click them on the right side they go back to the left side to be deselected. Okay. Right does anyone remember our next step. Well, the next step is to put the predictors into a scheduled job. Again I'm going to go through this on as a presentation and then we'll go back and do an example together. We use the scheduler app for this the scheduler app just like the maintenance app needs to be a tightly controlled application you do not want anyone who is not a system administrator to have access to the scheduler app. Just like you don't want most people are basic very few people would have access to the maintenance app. So, just to be mindful of that, when we make a we'll go into the schedule wrap we first have to define a new job. And the one of the first things we do when we define a new job and we call we call these jobs but these are scheduled things for the server to do the server will do them automatically once we schedule them to happen. These are called jobs, and we have to choose the frequency that we want this job to happen. We have three options and these are those these three orange boxes that you see in my slide. The first option is on the far left, you will see that we have the option to choose some predefined frequencies. So, for example, we have every hour, every day at midnight, every day at 3am, every day noon and then every week. Okay, so you can pre select those. And then you have the option to write in your own frequency and servers define frequency through what we call cron expressions expression CRON expressions cron expressions. This is a little bit technical, but there are a lot of great resources out there. In fact, there's some websites that will build cron expressions for you, and you can copy and paste those cron expressions into DHS to so you can make a cron expression. This says I want this predictor to run every month on the first day of the month at midnight. Right. That's a very specific time. You can make it say I wanted to run every third Tuesday of the of the year at 2pm or 1400. Right. You can make this whatever time that you want but you have to define it. These kinds of custom frequencies through cron expressions. The third option is what we call continuous execution. That means that it will just constantly run as soon as it finishes the server, it will run it again and just constantly running it. Now, this can be very useful for disease surveillance. For example, a lot of folks are using predictors to monitor like the Ebola outbreaks or even COVID outbreaks. And in that situation, you want it to constantly be looking for new data and updating and producing new predicted values. But when you're using it in this context, you are typically only running one predictor and it is using a relatively small amount of data to calculate that one predictor. If you, it is not recommended. In fact, I highly, highly discourage it to use continuous expression for any of the examples that we are showing you today, or use continuous execution for any supply chain predictors, because it will over tax your server. It will potentially really mess up your system. So I think that this is only useful in disease surveillance purposes for a very few number of predictors. Do not do it for any of the examples that we're talking about today. So what we are going to do is we are going to put in a chron expression that means that we want this predictor to run on the first day of the month at midnight. And here, this is the chron expression that you put in for that. You know, this is not an option in the pre-made frequencies. Every, every on the first day of the month, every month at midnight. That's not an option that we have kind of pre-made. So you have to put that chron expression in. And the way that you type that in is zero space, zero space, zero space, one space, asterisk, space, asterisk. I know that sounds complicated. It's not. It's just zero, zero, zero, one asterisk, asterisk, but you have to put a space between each figure. What does this actually translate in server language? It means at zero seconds, at zero minutes, at zero days on the first day of the month, every month, every year. So that means that the next time this job will run, the example that I have in the screen here, this on zero, zero, zero, one asterisk, asterisk. That means that this next job, the next time this predictor will run is December 1st at midnight. We're in November right now. It's November 13th. So this job will run December 1st at midnight. Then we have to select our job type. Our job type is predictor. Of course, you'll see other job types that are available through the schedule, through the scheduler. But we're going to select predictor. And then we have to define the number of, we have to define the relative start and relative end. This is probably the most confusing part of this. And I apologize for it. So I'm going to try to go through it a little slowly. The relative start and the relative end is measured in days. Okay. So you're talking about the number of days that you want, the range of days that you want the predictor to run for. And it's relative to your current date. Okay. So in this example, we put in a relative start of negative one. Negative one, and I'm talking about days, was yesterday, November 12th. And if we put in a positive one for the relative end, or just one, that relative to today, one day into the future is tomorrow, November 14th. Okay. So it will run the predictor for any data that is entered in that range of dates. And that range of dates is not just in the last, you know, between yesterday and tomorrow, that range of dates includes any larger periods that it falls into as well. So the dates between November 12th and November 14th, that's three days. But that falls into one month, November, which falls into one specific quarter, which is the fourth quarter falls into one year, the year 2020. So just that date range, negative one to one will generate a predictor that uses any data from that predefined month. If we have a predictor that's running on quarters, that quarter, if we have predictors that are running yearly, then that year. Because this, because the predictors that we're putting into this job are monthly predictors, then if we were to run this job today, it would only produce a value for November. Okay. Now, if we have this job scheduled to run on the first day of the month at midnight, then what will it do? It will generate a value, because on the first day of the month, the previous day was last month, right? So it will generate a value for last month as well as this month. Now, why is that useful? That means that we are able to look at, if we're using these predictors to produce these stockout values, then we're able to look at what were the numbers of facilities that were stocked out last month. Okay. So for all of these predictors, if you're capturing your data monthly, you are using these predictors, then I highly recommend this configuration for the job. Have it run monthly at midnight or soon after midnight on the first day of the month. Have your relative start to negative one, your relative end either to zero or positive one, and that means that you will be generating values for last month. Okay. So that means that if I'm coming in on December 1, the morning of December 1, I look at my dashboards, I will see the number of facilities that are stocked out or the average monthly consumption for each facility, for each commodity from November. Okay. Hopefully, this is making sense to you. If it's not, then we can go back and clarify it a little bit more in the Q&A. The next thing that you need to do, this is again that fifth step, which is optional, is that we need to make a legend. I'm not going to go over this in a lot of detail. Making legends is a relatively straightforward thing in DHIS too. Again, it's also in the maintenance app. The thing to point out here is that you see that in the screenshot, I have defined my different ranges based upon my months of stock available. And this is pulling specifically from the malaria example that Malawi presented the other day where a stock out is between zero and here I put in 0.001. I have to put in some range. I can't just say zero to zero. That doesn't mean anything to DHIS too. But I'm basically putting in zero to basically just slightly, slightly more than zero. As you know, essentially zero. If a facility has 0.001 months of stock available, they may as well just have no stock. I mean, that's virtually no stock. Then my understocked is 0.001 to 1. My adequate stock is 1 to 3. My understocked is 3 to 9. And my extremely overstocked is I'm just saying 9 to 10,000. What does this actually translate? People here get often confused when you see the same numbers used across multiple ranges. So for example, if we look at understocked, it says 0.001 to 1. And then my adequate is 1 to 3. And then again, my overstocked is 3 to 9. So what's the difference? What's the break? What's the break between adequate and overstocked? Because I'm using 3 here in two different ranges. Well, if I did a translation for you down below the screenshot. So actually in DHIS 2 World, that adequate value is ranging between 1 and 2.999 repeating. So if the value is actually 3, then it would fall into the overstock category because the overstock is from 3 to 8.99999 repeating. And the reason for this is because we can't, we're not going to ask you to put, you can't possibly type in, you know, 8.999 repeating forever, you know, it just continues to go forever. So, so instead of asking you to do that, which you couldn't technically do anyways, we just say you repeat the number twice, but this is how DHIS 2 interprets it. So if a facility has one month of stock available, then for example, it'll fall into adequate. If it has three months of stock available, it'll fall into over. And if it has nine, then it'll fall into extremely over. All right, the last thing that we need to talk about is how to make the indicator. So we're going to make the indicator months of stock available. Here are some screenshots on how to make the indicator. We first give it a name, give it a short name, define a decimal output. Of course, you need to put a code and description as highly recommended. Then you have to define your indicator type. We're going to leave it as numerator only or just a number. The number, the numerator only doesn't mean that it only has. We can actually put a denominator in this and you see that we have. It just means that the factorial of the indicator is one. It's not like a percentage where the factorial would be 100 or it's not like an incidence where the factorial may be like 10,000. So that just means that it's multiplied by one in your indicator type. You can see that I have applied a legend already. Sorry, the bottom kind of cut off a little bit, but it says legends and this is stock status. So I just went ahead and turned on that legend that we just talked about generate making. And then our numerator for and this is a question in the upcoming minty meter quiz. The numerator is BCG starting balance. You could also use stock on hand if that's what you're capturing. So starting balance or stock on hand, depending upon how you're actually capturing the data. Again, the WHO recommended is to use stock on hand, not to use starting balance. But if you have starting balance, you could use it. And then the denominator is average consumption. Here I said reduction. I guess that's a typo, but it's just to be average consumption. And there you go. So it is going to be the numerator divided by the denominator, which will calculate to you months of stock. Okay. So we are right at 12 o'clock or an actually now 1201. I am going to pause here. I am. That is all for the presentation on configuration. Alice, are you still here? Yeah. I think Alice, it's probably time for the minty. Yes, I'm here. What are you saying, sorry. I think we're ready for the, the minty meter. Okay, just a moment. Let me share my screen. Do you see my screen? Yep. Okay. So you can go on mental.com and type this code. Let's go ahead with the next question. So I'm going to, sorry. Alice, we will do the word for the day right after this, right? Right. Sorry. We will. Sorry, just a minute. I have a little program. I'm stopped. I will stop sharing. We would do the word of the day right after the, the quiz. Okay. So here it is. I will share again. Yes. So some have started, sorry. So the first question was, and what I wanted to do basically is start a countdown. So the first question is predictors in DHS to are able to a use previously reported data to calculate values be. Be saved as data elements to be used in that in standard indicators. See both. A and B. And then last option, I still have no idea. So 30 seconds remaining. Well, that's good. Just two folks still have no idea. I was expecting to have, you know, a lot more there. And it's quite complex topic. So that's good. Yep. C is the correct answer. C is the correct answer. Okay. But I see that basically we are 170 participants online and we have only 71 participants to the mentor. So please don't hesitate to join. We can move to the next one. Yeah, let's go. Next. Okay. Okay. Sorry, I think I have a problem with my mentor basically. Okay. And then. Okay. What is the calculation for month of stock indicators? Let me put this come down. Stock and hand. Average monthly construction stock and hand number of stock. Alice, we just somehow got kicked off to only two people. Sorry. Okay. Sorry. No, never mind. I'm sorry. No, no, it's okay. It's fine. 10 minutes remaining. All right. And, uh, I think, uh, the, the numbers speak for themselves here. The, the correct answer is the stock on hand, divided by the average monthly consumption. Okay. But I think there is a question. Okay. Yeah. I'm not sure what's happened. It's okay. Just, we can go into them. Go into the next. We can go into the next question and. Yeah. As long as they can vote on it. Oh, okay. Okay. Maybe, maybe, maybe a minty is also having a Friday. I'm so sorry. Um, But when I click enter. Yeah, it goes to the next one. Okay. Let's not, let's not worry about it. It's okay. Um, don't want to lose too much. Um, Time here. Okay. So, but thanks. Thanks, Alice. Um, the, the other question that we, that we didn't get to was what is the calculation for the generator of the stock up predictor that is looking at the number of, um, Counting the number of facilities that have a zero stock. And again, that is if a stock on hand equals zero, then record one. If else record zero. All right. Let me just start sharing my screen again, and I will take us to the most important part of the day, which is of course the word of the day. So for the second half of the presentation, what we are going to do is we are going to. Uh, show you how to build out some of these analytics that you're looking at here. How do we actually make maps that show stock status that show us where the stock outs are these nice little kind of score cards that, um, That, uh, That we are able to, um, see the current months of stock available and stock status. Uh, these kinds of things. As well to show us the distribution of, of various stock statuses. So specifically in this presentation, this is not, there is no PowerPoint slide. We've had enough death by PowerPoint in this Academy so far. This is just going to be all live demo. We're going to make a PowerPoint or sorry, a PowerPoint. Oh, we're going to make a pivot table with the months of stock, which is what you see up on the far right here. We're going to make a pie chart showing the stock status, what you see on the left here that my cursor is on. We're going to make a map showing the current stock outs. We're going to make a map showing months of stock available like you see here. And then we are going to put all of these onto a dashboard. Uh, again, this is not, this is all, you know, technically all of these functionalities and using all these tools that I'm about to show you. Are covered in the level zero fundamentals Academy. I'm just going to apply them all to specifically, um, stock status and monitoring. I am going to use a different instance though. So I'm not going to use the one that you're seeing on the screen. I'm going to use, uh, this one. I'm going to again post it to the, uh, Chat. As well. As well as to the Slack. Here it is in the. Slack or chat. Here it comes. In. Slack. Oh, somebody's got their cursor. There. All right. And so you can log in with this on admin and dash district. As you see here. And this is running. DHS 2.34, I believe. The other sandbox instance, the WHO sandbox instance that I pointed you to, um, whoever did the cursor, would you mind removing that? Is that possible? I don't know how that even happened. I guess it's cause we're. Sharing and zoom. Maybe if I stopped sharing for a second. Yeah. And then sharing in. Okay. I don't know how that even happened. I guess it's cause we're. Sharing and zoom. Sharing for a second. Yeah. And then share again. Okay. There it went away. All right. So. Let's start off with that basic pivot table. Um, so. In DH starting in DH is three point. Sorry. 2.33. 233. We started having being able to build pivot tables in the data visualizer application. Um, and so I am going to go to the data visualizer application. Right. And in the data visualizer application, let me zoom in just a little bit for you. In the data visualizer application. In the top left corner, I can see the various chart types that I have available to me. Um, and now you also see pivot table. I highly, highly recommend that you, if you're using a newer version of DH is to being like DH is 2.33 or to the current version, which is 2.35, you use data visualizer to build your pivot tables. We will soon stop supporting the old pivot table app. That app is dead. That app. We're no longer adding new functionality to it. All of the pivot table functionality has been included in the data visualizer. So now you see pivot tables as just a chart type in the data visualizer app. So I'm going to convert this over to a pivot table. Again, we're making a pivot table that's showing us all of the facilities with months of stock. Uh, um, as a, as a scorecard. Um, okay. So change to pivot table. Then with any analytics that we're building in DHS to, we have to define our win or sorry, what, when and where. So our data, our period and our org unit. I am just going to go ahead and define these in the layout menu at the top. So you see, I can click on, uh, them in the layout menu right now. My data is in columns. I'm going to click on that. And I want to look at the months of stock available. Uh, indicator. So I have two options. I have two different ways to get to that. I can click on the indicator group, which they are grouped currently in the LMIS indicator group. And if I see, if I do that, then I can pick out my, these are my various malaria commodity, just like Malawi had, we have LA six by one. That's the smallest treatment of, um, anti-malarial treatment. So some countries call it like ACT six. Um, then we have six by two, some by three by four. Again, some countries usually call this like AT, AT, ACT six, 12, 18 and 24. Um, they call them just LA six by one. So I will go ahead and turn on my LA six by one. If you were not, um, in the indicator group, you can also just search for it. So it's O L MIS. Yeah. And then you see that, um, come up. I've already turned on the one that I want. I'm going to hide this for now. I'm going to, I've turned it on instead of clicking update. I'm just going to click hide. It's still there. It didn't go anywhere. Uh, and then I am going to update my periods. My periods for this particular instance have automatically been set to last month. I'm going to remove this and say last three months. Again, hide. And then I'm going to change my organizational units right now. I'm only looking at the country level, but I want to look at the actual health facility. So I'm going to go down to level select facility. And now let's click update. Let's see what we get. All right. What did we get? Well, this is not terribly useful for us. We have, well, maybe it is useful. It depends on how you look at it, but we have our, all of our facilities, facilities right now is in the filter, right? So this pivot table is being aggregated by the facilities. So we have all of our facilities and the last three months, the total stock months of stock available across all of the facilities is like 5,000 months or something. That's not really a usable number. How do we change this? How do we actually show all of our facilities over here listed on the, in the, in the rows and our periods in the columns? Like we like, we just got to move stuff around in the filter. So indeed in the newer version of DHIs too, we can drag around our dimensions and plop them into whatever area that we want them to be in. So for this example right now, my, my org units and filter, I again want my org units to be in rows. So we want to see each individual health facility. Let's move my periods up to columns. We're going to put it after data. And then if I click update again. Yeah, great. So now we have all of our health facilities. We have LA six by one months of stock. And then we have each month, the last three months. So October, September and August. How do we apply a legend? We go to options. We go over one tab to legend. And we say display legend. Then we have the option of using a, we can change the legend to be background color or text color. I'm going to leave it to background color because that kind of makes the nice scorecard effect. Text color is sometimes harder to, harder to see. And our legend type, we were going to use the predefined legend per data item. And remember, we have already predefined a legend for this indicator when we made it. We applied the stock status indicator, the one that I showed you that we've made. So I'll click update. And boom, here you go. Now we have a little scorecard and we can see the months of stock available are color coded by their classification. So see purple is way over stocked. Blue is, or outlier or extreme, maybe invalid. Blue is over stocked. Blanks are just blank. Red stock out. Green adequate stock. And you see a few yellows here, which is under stocked. So we can see that most of our facilities as we scroll through the list here are either over stocked, adequate, or sorry, over stocked, like way over stocked or stocked out. Just a few adequate and hardly any under stock. If we don't, we can see that there are some facilities that have never reported in the last three months, like Allentown Health Post. If we want to turn these off, we can go back to options and we can say hide empty rows. Turn that off. And there you go. So now it's only the health facilities that have any data in the last three months. Great. That was pretty straightforward, hopefully. I'm going to call this a very simple process of building a pivot table in DHS2. I'm going to save this. So I go to file, save. And I am going to call this a common naming convention. Now it's very common in many DHS2 databases that people build charts and maps and tables without any standard naming convention to them. And that becomes really difficult because if I name this Scott's favorite table version five. Sorry, misspelled favorite. What does this tell me? Well, it communicates to me something, but it doesn't communicate to anyone else. And if this table was shared with everyone else who, you know, if you shared this more broadly, this wouldn't tell anyone else who was looking at this pivot table what it actually is used for. And again, DHS2 is about sharing data, the data visualizer table that you make. Everything is about sharing data. And in order to share effectively, you have to give things very clear, communicative names, descriptive names. So I'm going to call this now something that anyone be able to interpret, LMIS, which is kind of a prefix. So if anyone's searching for LMIS, they will find it. LA six by one. Months of stock by facility. And then I'll do underscore last three months. Okay. That's very clear name. Anyone who comes and looks at this will know what it's actually showing. Hopefully you can also as highly encouraged to give it a description, give it a long text description so that anyone who is looking at this maybe has more information about when it was made, why it was made, how to use it, you know, if this is being made to be used in kind of some kind of standard, standard routine review process, quarterly meetings, monthly meetings, that kind of stuff. Like tell them how to use it in that meeting. Don't let people guess on how to use analytics if you're making these to be shared. For the sake of time, I'll skip this step. So I'll just go ahead and save this. All right. Now you see the name at the top has changed. And there you go. Here it is. All right. The next example example that we want to show you is how to make a pie chart with the various stock statuses, various stock statuses. So this is still in the data visualizer app. Sorry for the slack notifications. If you're seeing in those. Okay. So I've changed my chart type to pie chart. Then I am now going to change out my data. So here we want to look at the number of health facilities that are, we want to make a pie chart showing the number of health statuses that are out of stock, under stocked, adequate stock, over stock and invalid. So let's change. You'll notice that when I change my chart type, my layout also changed. So let me just do that again. So now in the newer versions of DHS2 we have what we call dynamic layouts. So you see in a pivot table, pivot table essentially has three dimensions. It has rows, columns and a filter. When I change it to pie chart, it only has two dimensions, series and filter. So what we can do is let's change out our data in series. Let's go. We're going to be looking at data elements here to find our stock statuses. Again, these are actually made via predictors. I'm going to go down to my LMIS data element group. I don't see them. I'm just going to go to all data elements. Yeah. And just start searching for it. So I know I want to do LA 6 by 1. Here they are. Adequate stock, over stock, stock out, under stock. So let's do this turn on adequate, over, out and under. And let's just update, see what happens. Boom. All right. Then we got a pie chart. But my periods is still last three months. Maybe I don't want that. Maybe I just want to see one period. Let's just say last month. Pie charts really only make sense when you're looking at one specific point of time. It's not really good for aggregating across multiple periods. So does this make, does this chart make sense? Actually, it does make quite a lot of sense. Even the color coding is kind of lining up. So this is the stock blue down here. Tons of that majority of over stock. Adequate stock, which is green, 92, 14, 4.4% under stock, which is this orange color, 88%, 13%. And then our stock out, which is 21 health facilities stocked out. And that's just last month. So this is a fairly simple and clear pie chart. I would say it's representing all facilities in the country. And the current, the, the, the stock status as of last month for each one of those health facilities. You see that we still have the name from the pivot table that we made. We need to change the name. So let's go into file. Let's do save as, and let's change this name again. So we'll say. Stock stock status by facility. Last month. All right. We can save this. You see the save was successful when it's the name changed up here. And there you go. Okay. So that was a simple pie chart. There's a couple of things. That I do also want to point out to you. So we can do. Some other. Advanced stuff is here. So like say, like we wanted to say, see the number of facilities. So we're going to change the number of facilities. We're going to change the number of facilities. Under stocked adequate stock over stock. As like a proportion over time. So maybe potentially let's change this to an area. Let's change our periods to say last. Six months. I don't know. I don't think we have six months. This is this last three months of data. Update. And what did it do? Yeah. It broke because we have nothing in the category. Update again. Right. Okay. So does this, is this helpful? Is this useful? Probably not super useful. Looks like we don't have a lot of data for. The previous months for this particular. Predictor. But let's just change it back to a pivot table. Right. And let's actually, let's open our previously saved pivot table. So open. And it was LMIS. Yeah. And we see that here. You know, and so when we open something, we can actually see the table, the type of visualization. Now we see that this was created today. Or sorry. No, this one is created today. Yeah. This is the one we just did last update. So we'll click on this one. Let's go ahead and open this. Yeah. Let's leave that. Not useful to us anymore. Here we're back. And one thing that I want to point out to you about this, the data visualizer app is that if you look on your extra dimensions over here on the left side, you see that there are some that have little green dots next to them. And these little green dots are telling you that these are potentially recommended dimensions, meaning that you can turn them on based upon the data that you're currently showing on the screen. So we find that, you know, many countries and programs have many different dimensions and people don't know which ones that can be used when they turn on different types of data. These little green dots tell you that they say that you can use this one. So let's say now something like facility type. And then let's just turn on our clinics, CHPs and CHCs. And I'm going to add this to my filter. Yeah. Okay. And what did this do? This actually filtered out all, is only showing the data that's coming from CHP, CHCs, and what was the other one? Clinics. Right. If I turn on turn off clinics, then this is just showing the stock status from community health posts and community health centers. So really quick and easy way to filter out just to see that. I can also say like move this over. It might not make sense for this particular data item, but I can move over my facility type here. Yeah. And now you see a disaggregation by CHPs and CHCs. So community health posts and community health centers. You can see that some of these, you know, they're in either one or the other. There's not like, you know, you're a CHC, then you're a CHC, if you're a CHP, then you're a CHP. So, but just to show that you can do these kinds of disaggregations quite easily using the layout and the recommended dimension selection panel on the left side. Oh, Kedoki, then moving right along. And I know I'm going quite quickly here, but hopefully this should be just using these apps should be reviewed to most of you. It's just looking at the different data items. So let's now take a look at building a map. So we're going to go to the map app. And yeah, we will leave that. We don't want to save this. All right. So here we are in the latest and greatest map app. You know, of course, maps are a combination of various levels. The level that you see right now is. The layer, sorry, combination of layers. The layer that you see right now is the base map. I usually like to work with like OSM detailed. Which is really quite detailed actually. That's open street maps detail. We're going to be looking at Sierra Leone. So I'm just zooming into Sierra Leone right now. And you can see that we can say zoom into free town. And it'll start to show us roads. And as we even get lower. We're going to be looking at the outlines of individual buildings. If you want to find somewhere more specific in this app, it's also search link to open street map search. So I can say my address in Oslo. And it's going to fly me up to Oslo. Yeah, here we come. Yeah, here's my apartment and I'm currently, that I'm currently sitting in. So now you all know where to ship your Christmas gifts. So just get out of Norway. And let's now add a thematic layer. So all of our data that we have is aggregated data. Right now. So that means that we need to add thematic layers, thematic layers is how we usually try to show aggregate data. We do not have any, we're not, you know, we're not using in our example right now, event or tracker data for supply chain. So we're going to add thematic layer. And this data selection process is very similar to what you've seen in the data visualizer app. We try to make them very, very similar intentionally. So let's look at months of stock. Again, by health facility. So indicator, our indicator group is again, LMIS and then our LMIS. So let's say LA six by one months of stock. Then our period. Let's leave it to relative. I can select specific periods if I want, but I'm going to leave it to relative and say, let's say last month. Org units. Let's go down to facility level, deselect district. Filter, not going to add that. And then our, yeah, our legend is automatically coming for us malaria stock status. I, I think I don't actually like when we have points of different size for this particular map, because I think it's a little bit confusing. So I'm just going to change the high size and the low size to five, which defines the size of the actual dot click add layer. And here we go. So there we have our health facilities. You know, if we zoom in on some places. And by the way, this is of course demo data. This is not actual data from Sierra Leone. We're just showing you Sierra Leone because Sierra Leone has given us permission to use their maps and hierarchy and facility names, but this is not Sierra Leone's real data. So, but we can see some interesting things like we can see that this health facility is only has 0.7 months of stock available. Whereas this health facility has 7.3 months of stock. You know, we can use the measurement tool to get a distance. In terms of how the bird flies, at least not a driving distance. It's not Google maps, but it, you know, we can get a basic distance. So we can say that this, yeah, it's about five kilometers, 4.9 kilometers apart. So not a large distance. So, you know, potentially you can put some, put some commodities on a bike and send them from here to here or sorry, from here to here and, and avoid that stock out situation that seems likely. Some common layers that people like to add to just make maps a little bit more clearly organized is like boundary layers. Quite a good one. So I'm going to turn on a boundary layer that shows me my districts. Add that. Yeah, zoom out. And now you see that my district boundaries are coming. It makes it a little bit easier to tell some things. I will now just save this. So let's save it. Let's save it. Similar naming convention. Or sorry, that's. Months of stock by. Let's say facility months of stock. Last month. Save it. In the newer versions of the maps, there's a couple of cool things that we can do that. Maybe you haven't seen before. If I turn on more periods. So if I say, instead of last month, I'm going to save it. And then I get this timeline. Button or option that will actually show a timeline. Of this data. So. Right. So we see August, September, October. And if I press play. Then it'll actually go through the various months. Right. You see that there. Yeah, that's kind of cool. You can kind of see the facilities change. Over time. Potentially. And yeah, you can also see. The stockouts very clearly the red points here. And you can see the. You know, some of the facilities that are right next that are stocked out. If you zoom in close, you maybe even see the individual building. Yeah, here's the facility. It's currently stocked out. You can see that there's a facility right over here that's got lots of stock. Okay. In fact, even if I save this. Let's just go ahead and. Save as and let's say. Last three months. Timeline view. Okay. But now what if I want to see a map of just the stockouts? What if I want to see a map of just the stockouts? Well, there's a few ways that we can do this. You can see the stockouts are quite clear here as well. So we can see just the, just only the facilities that have stockouts. A few things that we could do. We could go here and we could add a filter. So we could say our filter dimension is. Oh, sorry. No, we can't actually, we can only add a filter based upon predefined attributes of the org units. So we can't do that. But we could add a different layer. So if we go to thematic layer. And let's now go to. In data element. Let's go to our. LMIS data element group. And let's say. We have. La six by one stock on hand. So that's the actual data element that. The stock stock on hand is recorded against. I will say maybe. Last three months. Or let's just say last month. Change my. Or units to facility, just like we did with the other one. And then say predefined and legend set. Let's go to stock out. So I've made a legend set that just basically shows anything that is stocked out should show up as a red dot. If it's a zero value, it should show up as a red dot. I've actually not tested this. So let's see if it works. Yeah, it looks like it worked a bit. At least for last month, we have some, the green dots are. Non stock out. And then the red dots are stock out. So we see a few of those. I can toggle this on and off. So you can see that I can, you can see that I can toggle this on. So I've kind of just kind of like, like, I've kind of been playing between the various layers now. So, so yeah, very simple. I've just essentially just made a legend that, you know, this you can see the legend here as two. Just two ranges. A red, if it's zero to 0.0001. Or if it's a non stock out, it's just 0.001 to what this is a huge number of 20,000 or something like that. And so you can see that I have. to just show that. Then we have this stock status down here as well. So that is essentially that let's now put it onto a dashboard. So to make a new dashboard, we can click the add button in the top left corner. Let's give it a title. Let's say we're gonna make a dashboard for LMIS, LA six by one stocks dashboard. And then we can start searching for the item. So we call them LMIS, LA six by one. You see as I'm typing, the list is narrowing. You can see that what's already been made, I'm going to add the table, scorecard that we made, there it is. Then I'm gonna add my pie chart. Here it comes, yeah, and then my map. Yeah, there's my nice map. And what can I do now? I can start to move these around. So if I click on the actual dashboard item, I can drag it over here. And maybe people like to have really big maps. So if I wanna make this bigger, I can maybe put it in the middle and then go down to the bottom right corner of it, drag it so that it's a lot bigger. Boom, there is a bigger map. Maybe we make our, maybe we move our chart up. That doesn't need to be so wide because you can see there's kind of a bit of white blank space there. So I will narrow it, move my map over, maybe make my map even a little bit bigger. And then let's shrink the size of that. Got away from me a little bit here. Okay, something like that. And then let's just save changes and it's loading. Great, here's my dashboard. Really simple, but probably fairly useful, especially if you're monitoring current stocks, status for this particular commodity, great big map. We can look at exactly where the stock outs are, under stock adequate, look at that over here at the same kind of data in the scorecard. And then we have a nice little distribution pie chart. Of course you can add more, these are just three examples that I'm showing you for the sake of time, you can add as many as you like. A couple of additional functionalities to point out on the actual dashboard app. If I like this dashboard, so right now you see that I've got a ton of dashboards here at the top. If I click show more, you see even more. And this one is falling somewhere kind of towards the bottom of the list. So if I want this to be one of the ones that I see at the front top of my list, I can start it. And then you see once I've started, it's come up here to the front. I can also share this dashboard. So right now you see that it's just available to me. This particular user is called John. But if I change the public access, I say anyone can view, then now anyone who is using this instance of DHS2 or as a user will see this dashboard show up in their list. If I wanted to share it with specific people, a specific group of people, maybe just like if I wanted to share it with folks who are working at the warehouse level, then you can make a user group of like warehouse workers or something like that. And you can type in the user group that you wanna share it with or individual users. So I'm gonna type in admin just cause I know that there's an administrator user group that calls system administrators. And I can change the sharing settings just for this group. So they can view, they can edit view because they're system administrators, I'll just go ahead and give them edit permissions. Okay, so that's how we do sharing of dashboards. Keep in mind that you need to make sure that your analytics that are also on the dashboard are also shared, right? So make sure your chart and your map and tables all have the same sharing settings as your dashboard items or less restrictive sharing settings so that everyone can see. Cause just cause you see the dashboard doesn't mean you necessarily have the same sharing settings for your dashboard items. So you have to make sure that those are in alignment. The best way to do that is if you're making dashboards that you're meant to like share down through to maybe to lower levels, maybe you're making a dashboard for someone sitting at, you know, you're sitting at national or global level and you want to make a dashboard that you share to people at lower levels like district or maybe even facility level. The best way to do that is to have to just test and make sure that everything is working is to have two different users. Like one, you're sitting at global level, you're have all the administrative rights and you're doing all the sharing. And the other user to be a simulated user or a test user for someone at district or lower level who you would be sharing it to, to make sure that they see exactly what you expect them to be able to see. The next thing that we can do is we can add a filter. So right now, these are called, we consider these global filters meaning that they will filter everything on the dashboard. So if I click filter here, I can say that maybe I just want to, I have my dimensions, the same dimensions that you've seen in the data visualizer app as well. So if I say organizational units, say I just want to see org units in bow, click update. And now, yeah, here we go. We only see bow, but of course it's showing me bow as then the chieftain. I still need to select my level. So my facilities, click confirm. Yeah. Okey dokey. Map is taking a second. But you see at least my, my scorecard here has updated just showing me those facilities that are in bow. Not really sure why my map has gone away all of a sudden. I can also change the period filter. So right now, I remember I'm looking at last month or last three months. Say I only want to look at just last month. I can turn on last month, click confirm. And now everything is updating just for one month. You see that? You see, we just have the one column now in the table and the data is reflecting just last month. Lots of other things. I mean, I can add a combination of all the above. So I can say, I want to see the facilities in this district and for just last month. And now you see that I have these two filters applied and for some reason my map, so I show it up with org units, but in any case, I think you get the point. I can also filter by anything else here as well. So I can filter by facility type and just say, I only want to see the CHCs. Yeah, so now we have three filters. And as I remove these, the map will automatically update. Okay. So we covered making the pivot table. We covered making the pie chart. We made a quick map, put them all into a dashboard, showed you how to see the stock outs. Is there anything else that we should be showing? I don't have anything else on my list. I think we can take some time. Yeah, right at the top of the hour, we can take some time for some Q&A. So I'll just jump over to looking at Slack now. Please do post your questions. We have a bit of time for Q&A if you have any questions. So do type your questions into the Slack Ask About Logistics channel. Jolson is asking, how do you get average months of stock in a higher level of the hierarchy or available rates at a higher level? Is that possible? Well, it is possible, of course. It just depends on where you're capturing that data. So if you are capturing data at say district level or regional level for, in terms of like warehouse stores or something like that, like how much stock is in a warehouse or how much is at that distribution point or something like that. If you're capturing that as aggregated data, you can still do the same kinds of indicators and analytics that I've showed for a health facility level. You're just having it calculated at a higher level. So it's not at all, it's the exact same process. It just depends on where you capture the data. If you want the facility level to aggregate up to the higher level, so like I wanna know all the total stock available at district level across all of my health facilities, then that's still possible as well. Like for example, if I, it's not gonna really make sense here because this indicator only makes sense at facility level. Well, no, I think it will. So if I change my filter and I just wanna say just Bo. So because this we're in like a pretty for severe overstock situation and at least in the Sierra Leone demonstration that we have, we see that we have like 508 months of stock available across Bo, across all health facilities. Some are stocked out, but others have crazy huge amounts of stock. So it's taking the average across multiple stock. This is really depends on the aggregation type of your indicator as well as the data elements that make up the indicator. Let's remove this one. Pascal is asking, can the visualization be added with the number of patients or cases for malaria in the same period? Yeah, of course we can do that. Let's just do that here, for example. Now, I will say that the demo data for stock and the demo data for malaria patients in this instance are, have been generated separately. They're actually not related. This is just a sandbox like we call it. It's not real data. So there might not be a clear connection, but if we could go down to, let's see what malaria indicators we have. Malaria, RDT positivity rate. Maybe that's not the best one. Let's switch over to data elements and malaria inpatient malaria cases. Maybe that's not a good one either. Let's just say rapid diagnostic positive update. There you go. Okay, so now we have our malaria positive test there with our months of stock. And maybe there is some relationship here between the data. There isn't actually because we just made them up separately, but yeah, I mean, this is the power, this is the whole point, right? This is the power being able to get the data into multiple streams of data in one chart. Most countries are very far away from being able to generate even this simple pivot table because here I have my stock data next to my case data. And of course, in a DHIS2 instance, if you get both in the same place, it's, you know, I saw it was like three clicks and here you go. Here's a pivot table showing them together. But if the struggle is getting them the data in one place typically. Pascal, I'm just expanding your, oh yeah, RDT is okay. Cool. Yeah, exactly. It is perfect to do some triangulation. I mean, this is exactly what we're going for. We want to get the case data with the supply chain data. This, I mean, I don't know if months of stock available is probably conducive. Maybe if we turned on the stock consumption, maybe that would be probably a better, we go to maybe like average consumption. LA6 by one, average consumption. Something like that. Or maybe even average consumption is not useful. Maybe we just look at stock consumed quantity used. Here we go. Yeah, something like that. So we have our positive cases and our stocks used. If we were to put periods in front of data, then we can see these numbers like right next to each other. So for each month you have the cases positive, stocks used, cases positive, stocks used, so some nice side-by-side comparisons. If you switch this over to like a line chart, you can look at some trend analysis, potentially see how congruent or discordant they are. I don't know, I'm just kind of randomly clicking now. I don't actually have any idea how this is going to look, but anyways, that's the whole point. That's what we're going for. Any other questions, Martin? Is there anything else? And again, the word of the day is Malika. Just, it means a sweetheart or honey or a sweet thing in Swahili. DHSU struggling with- I don't have any other questions, sorry. Yeah, all right. No other questions? Yeah, something happened. The danger of doing live demos. But anyways, hopefully you get the point. If you have any additional questions, feel free to post those in Slack. We can answer those throughout the day today. We are almost out of time. I think we're basically out of time now. So thanks again, Alice, Martin. Do we need to have any announcements? Oh, of course, the experts lounge. Gosh, I always forget the experts lounge. Okay, I see some. We have John Lewis here from HIST Vietnam. He is here to answer any questions that you have about implementing supply chain or using DHSU for supply chain in Asia, Southeast Asia. He can also answer any questions that you may have had about the M supply use case that Lauren and team demonstrated yesterday. So, Phil, please feel free to use him. He's a very valuable resource. Ask him any questions that you have. And he will be answering those questions in the Slack channel experts lounge for Asia. And just one thing I'm adding in the chat, the feedback form. Right, yeah, of course, the feedback form. Jordan Smith asked any plans to enable creation of predictors from tracker data. You actually already can, Jordan. I only showed an example of using aggregate data, but today, actually going back to DHS 2.29, you can incorporate tracker data into your predictors as well. So that's actually been there. That functionality has been there for quite a while. Okay, and the feedback form. Again, we do appreciate the feedback. We appreciate good feedback, but even more important to us is your critical feedback. Don't be mean, but be critical. Let us know what we can improve on because we're always striving to make these academies better. Martin, Alice, anything else? No, I think that's it. Okay, well, then I wish you all a very pleasant weekend and hope you all are able to stay happy and safe wherever you are in the world. We will be back Monday at 11 Oslo time. We've got two additional days packed full of more useful information. Monday, we're gonna be going through how do you actually start to use this data? So, all I did was show you how to make pretty pictures. On Monday, George is gonna come in and actually tell us what are some of the practices that you can actually start to implement in your country once you've made these pretty pictures, how to actually inform decisions and start to utilize the data. So that's gonna be a really great session on Monday. And then Tuesday, we are gonna be connecting you to all of the different resources that we have available. And that's technical documentation, but more importantly, the human resources and the folks who are able to support you if you start to use DHS2 for supply chain. So that's on Tuesday. But that's for the future for today. Again, I wanna thank you very much. Please have a wonderful and safe weekend and we will see you again back here on Monday. So, bye for now. Bye-bye.