 Okay, welcome everyone. We are starting the first session of day three. We are going to talk in this session about Program Indicators and Legends. It's going to be a very short explanation followed by a very practical exercise. So let me share my screen. You should be seeing my screen if you don't tell me the opposite. I'll get going. Program Indicators and Legends. As in the rest of the academy, we are assuming that you know Program Indicators and you know how to create Program Indicators. We are going to give you the two tricks to make them appear in the application and to display Legends that we understand that you also know. The first thing to explain is that Program Indicators in the app live in the domain of the tract entity instance. So cohort indicators, for example, will not probably make sense or group tract entity instance group indicators will not make sense. They are calculated and displayed inside what I'm going to show you now. Analytics will see tomorrow, but in this case for the tract entity instance dashboard. So to add indicators, I mean indicators will display here. Again, we have our navigation bar. This is inside the tract entity instance. I'll make a demo. We have an analytics tab. So here is where our indicators are displayed. But for a Program Indicator to appear here, we need to mark it when we configure it in the HS2. We need to mark this display in form. So what is and is not available? We are not supporting all, I think, maybe now I'm corrected by my team. But the red aggregation types that do not apply as we are living in the domain of the tract entity instance. So only the last value one will apply. If you select last value, the indicator will take the last value. All data elements and constants are supported. Variables are supported according to the image. And then all the two functions, except relationship count. I think this is still the case. And analytic period boundaries, as I said, are not supported because we are working in one tract entity instance, not groups of tract entity instances. We can take questions later if this is not clear. So now legends. It's useful to link legends to indicators because the app will display the color of the legend. So we will make a demo later, but there is nothing new here. This is just coming directly from the HS2 configuration. I will make an explanation later when I show you the legend we are going to use because the boundaries in the way legends are configured in the HS2 can be a bit tricky sometimes. But I will explain more in the demo. So yeah, let's put an indicator on our app and make a demo. I'm going to make the demo based on the exercise that we will do later. So it means that I'm already telling you what should we do as an exercise while I do this demo. So let me get this out of the screen. I'm going to put it in the demo. The device, the mission, the goal, the exercise, every time I change the cable, I don't know why today the bugging mode was disabled. USB the bugging mode was disabled. Anyway, so this is our app. This is your student program as my student program. So if we open one entity instance now and we go to analytics, we have, okay, we have this indicator because it was there before, but we don't have any other indicators. So let's go and check. We are going to look at two things. First, the indicator. So you have to create a program indicator like the one I am showing you here. We give you the expression and everything so it should be straightforward. So you need to create an indicator for your student program with the name risk patient or however, but remember to put the code of your student program. We said enrollment, you could say event, it will work equally, but don't touch the boundaries. But what is important is that we mark display inform. Is by this tick, is this tick the one that the app is going to check to display the indicator inside your track entity instance. The indicator needs to belong to your program and have the display inform tick marked. So I'm enabling it now and then I have to choose a legend. I'm going to choose the risk patient legend and we are going to look at it now together. You don't need to create a legend. The legend is created for you. You need to create an indicator and assign the legend. We will all use the same legend for the exercise. So let's look at the indicator. The expression. It's nested the two condition, which is saying that if the patient age is equal or greater than 65, then return number two. If not, another condition. If the age is greater or equal to 45, meaning the patient is between 65 and 45, return number one. And if this was not true and this was not true means the patient is under 45, then we return a zero. It's very important to understand this because we are going to create the legend according to these values that the indicator is going to return. So we know our indicator is going to give us a number two. If the patient is over 65, which is considered risk, the indicator is going to return a number one. If the patient is between 65 and 45, which is medium risk, and if it's under 45, it's going to return a zero. This is just an example. Please don't tell me this has no medical or health foundations. This is just an example created by me. I'm not healthy. I don't have a health background and I didn't check any evidence, scientific evidence. It's just an example. So now let's have a look at our legend. I'm going to save it because, well, in the filter, we just apply it always to all other factors in these instances. So I'm putting through. So I'm going to save it because I changed the stick and I assigned the legend. So I need to save it. And now let's have a look together at the legend. Again, you don't need to create the legend. You can use the legend that is already created risk patient. There's a question if you could go again through the condition of the indicator. Yes, I can. But we are going to give you the condition in the exercise. So it should be okay, but I can go back to the condition. You can also make sure that your indicator minus public. You can all have a look. I'm going to save you only. I'm going to, no, I'm going to do it. I'm going to say that I can be an edit and that all of you can be only so that you don't change it. You can do the same with your indicator. So the expression. It's easier to read it here is that it's a D2 condition. The D2 conditions, as you can see here, are a really an expression which will return true or false. If it returns true, the next value is the result of the indicator. And if it's false, it's the last one. So what we are doing is Boolean condition. It's easier here. Is H the attribute H that I took from here? Is the H of this patient greater or equal to 65? Yes, then it's true. Then I return number two, the value that is here. False. Then if it's false, I have nested another condition inside there. Instead of returning a value directly, I have another condition which is asking again, okay, is then the H of the patient greater or equal to 45? So it's not bigger or it's not over 65, but is it over 45? Meaning is it in the middle? Yes, then I return on number one. No, then I already know the patient is below 45 because it's not over 65 and it's not over 45, then it has to be below under 45. Then I return a zero because it's no risk. So I'm going to show you now the legend which is going to interpret this in the same colors. I have put three periods to this legend, three intervals. So the zero one, now this is the tricky thing. In the HIS2, we need to, we cannot have gaps. If I put here 0.8, it's not going to let me save. We have to have the same value in the end of one interval and the beginning of the next one. This is not the purpose of procession, so and you don't have to do it, but it's important to understand it. So here I have to put an interval in which I know the value that my indicator is going to return, which is either 0, 1 or 2, is found in the middle. Don't use the extremes because they are shared and then the HIS2 doesn't know what to do. So in this case, I know my indicator will return a zero and if it returns a zero, it will fall between minus zero one and zero nine. Zero is here. If it returns a one, then it's between 0.9 and 1.9. So for sure it is here. And if the indicator returns a two, it's between 1.9 and 2.1. So this is again, you don't have to create, but you have to use in your indicator. So I'm going to go back to the app now because remember that I have enabled this tick here and I have assigned the risk patient, right? So because of that, if I now go to the app and sync my configuration, let's give it some time. Are there any other questions? Sorry, yeah, there is someone I was replying on, it's like why we need to put true in the filter? Why? Because I think you need to put something. Yeah, exactly. I think it's mandatory and but we want to, because you might say this indicator only applied for men, then you could filter, okay, if sex is equal to men. But we are not filtering because we want to apply to all our tract activity instances, then we put true and it will run always. And then the DPCA will not be counted in the first case, right? I think it's in the legends, right, DPCA? The thing is our indicator will never return a number nine. I made a legend to work with my indicator. So it's, you need to think of the both sides. My indicator only returns zero, one or two. So the legend is only for that. But this legend will not work well. With indicators that return other numbers, bigger than two, if that answers the question. Nine will not be counted. Zero to eight, define zero and nine. You become not sure I understand the question if you want to explain it better, if my answer was not addressing your answer. I'm going to finish the demo. We have three patients here. So let's go the under 36. You should be able to talk now, maybe. Yeah, yeah, thank you. Actually, I have a question regarding the legend part because you define zero as the starting value and nine as the ending value, right? And that was not nine, not nine. In your legend, if you can open the legend once. It's not nine, it's 0.9. Okay, yeah. Yes, for this, yeah, for example, this, for the first, you have defined the start value as 0.1 and the end value as 0.9, right? Minus 0.1. Okay, minus 0.1. But for the end value of define 0.9, the legend never takes this value, right? It will only take 0.8 for this part. Which value will never take? 0.9 will not be counted under the first one, right? Actually, 0.9, I don't think will be counted in any. That will not be counted for the second condition. And I'm not sure where it's included. Okay, so there will be a gap in the legend then? I think so. Yeah, I don't, I don't really like, we can play later with this. Yeah, this never works. This never works completely fine. And never I'm engaging for the application. Yeah, I know. Okay, thank you. Thank you so much. I agree, the legends are not very strong here. In the HIS, so let's go, here is our indicator. So this patient who is 36, don't pay attention to the H indicator because I don't really know where is this coming from. I couldn't find it. But this patient is not, this patient is not 74 years. It's 36. But I don't know where is this? It's not a program indicator. It's probably a program rule from where. But anyway, this is our indicator. This patient is 36, which means it's under 45. So the legend is green. This patient is 46. So the legend is yellow. The indicator returned at one. And then, and then this one is 85. So he is a risk patient based on my rule. And the indicator returned at number two. The demo is finished with this, completed with this. And the exercise is basically that you have to create the risk indicator, which is exactly the same than my indicator, but for your program. So you do have here the steps, analytics type, enrollment with the full boundaries, select display inform, assign respation legend. This is the expression and this is the filter. If you can also go and look at my indicator and create yours. And then think your metadata and check that it works with your tract entity instances in your program. What we would like you to submit is two screenshots of the, of one tract entity instance analytics that show the indicator rendering two different colors of the legend, whatever you choose. So are there any questions? Otherwise, we can start with the exercise. I'm going to leave this here. You do have the legend. I'm going to probably paste the legend in the chat. But you will need to change here. This is, this is an attribute for your program. So you will need to, you will need to select it in the, in the program indicator with that for creating. You cannot paste directly. This red pattern needs to be replaced by your, by your attributes. Yeah. I think the participants cannot see the legend. Yeah, I probably used this wrong. Jaime, how can I give them access, all of them? Let me check. I thought I gave to COVID admin, but that's us. That's not them. No, the admin, I think they should be like this. Let me check. It's a written view. And yet, as with my testing account, no, I cannot see it here. What about now? Can you try again? Let me check. The risk patient indicator, you have to create it, but you should be able to see mine. So principle anyone can view. I can see the risk patient markup. I cannot read it. The legend? Yeah. You don't need to edit the legend. Yeah, but I can see it now. Okay. So what about the risk patient? Can you see it? The risk patient, I can see it. Yes. The indicator. Yes, I can see it as well. You should all be able to see the... Yeah. Pacific, can you confirm because you were asking on the chat on Slack? Maybe if you cannot, could you maybe log out and log in so the permissions are reapplied? I can't see any legend. Deepika as well. Yes, we can see it. Okay. Okay, good. Marta, it should be event or enrollment type analysis? It's in the screen right now. Enrollment default boundaries. But it's going to, I think, I mean, I think no, it will be the same if they put event, but enrollment.