 The bottom part is always appearing, but okay. So today our objective, it looks simple, right? Okay, we want to create a tracker program, okay? This is our learning objective for today, okay? But in order to do that, we're going to work through a variety of processes, all right? So this presentation is available on Moodle as well, just so you're aware, okay? So we're going to start in the same place that we've kind of reviewed over the last, you know, last a little while, right? Yesterday we looked at the design of the program, right? We identified how it's actually going to kind of be built before we actually went and built it, okay? So we tried to identify the program stages of our program, identify the attributes, the data elements, the option sets, the indicators, you know, any kind of component as much as we can, right? We try to build this design out before we get into DHIs too, okay? Then we have to go through and do a bunch of different steps, all right? Some of these steps might be familiar to you if you've created event programs before or maybe you've created a separate tracker program somewhere else, okay? And some of them are our new concepts that are specific to tracker if you've only worked with events, okay? So we talked about a couple of these items when we went through our model. All right? So we're going to actually go through and discuss whether or not we create these, reviewing them, finding out where they all are within DHIs to itself, okay? So we can go through this process and this is the process we're gonna go through in our demonstration today and that you were also gonna go through as you kind of work alongside with us, right? So there's gonna be a back and forth where, you know, hopefully we can work together, you know, we can demonstrate something from our side and you guys can go through, have a look, review something, make sure you're able to access it, see where it is, find it, create something if you need to, okay? So we'll work that way today and kind of work together to make sure we can get through this, all right? So the first thing we're gonna look at is the tracked entity type, okay? So we mentioned this in the data model the other day. The tracked entity type can be something like a person or a patient or, you know, something else theoretically, right? We're gonna focus on, in our example, a person or patient, okay? But it can be something else, okay? So we're gonna show you where that is, you know, how to create one if you need to, okay? And then identify and create any relationship types. So we're actually going to leave this for another session because we're going to have a session on relationship types, okay? And if you're not sure what that is, I'll explain it a little bit today, but myself and Pam will be working with you on the session along with all the other instructors, okay? But we'll explain it a little bit today, but we won't get into too much detail until we actually have the dedicated session on it, okay? Identify and create option sets, right? So by now I think you should be familiar with that a little bit, right? Identifying all the various option sets associated with your data elements. If you already have the option set though, you would reuse it, right? So that's why in brackets I have this if not yet created, right? Because tracker metadata can be reused a lot. Even if you've created it for one program in one instance, like for example, if you have sex as an option set, you don't need to recreate it, right? You can use it again for whichever program that you're using, okay? And we'll discuss that a bit as we go through things today, okay? And then identify and create the tracked entity attributes, okay, that will register the entity in the program, right? So option sets might be something you're familiar with, but from this, you know, there's a couple new concepts, the tracked entity type, relationship types, tracked entity attributes. These are all specific to tracker programs, okay? Then we're going to create our data elements, okay? And you should be familiar, I really hope everyone is familiar with creating data elements at this point, okay? Hopefully that's not something that we have to introduce as a new concept, okay? We'll work on then actually defining the program. So from our design document, whichever whatever our design document looks like, whether it's an Excel sheet that we have that I've been showing you or some other type of document maybe in Word or whatever, right? We would generally take it from there. How many program stages are there in the program? Are there any repeatable stages? Are there scheduling associated with the stages, okay? And I'll talk about scheduling in a moment, but basically if there's a sequence of events and we know the rough timeframe between those sequences, we can kind of create a schedule for those events, all right? And we'll discuss this in our example today, okay? And then we actually go through and create our tracker program, okay? So after we've done all of that inside of DHS2, we follow this step-wise approach to creating our program, right? We create the program itself and we'll go through this step-by-step and actually show you, okay? So some of this might not be very clear at the moment, but this is the procedure that we're going to follow today in order to create our program, all right? So I can see there's quite a bit of activity in the chat. Hopefully you're able to attend to your questions, but if something's not clear right now, don't worry, right? This is just the process, right? We're going to explain each of these components step-by-step right now, okay? So I'm going to get started at the beginning by looking at the design, all right? And we've gone through a couple of different programs, giving you access to some, okay? And what we're going to do, since we've gone over this model, okay? What we're going to do is we're going to recreate this particular program inside of DHS2, okay? So this is available as a resource on Moodle, okay? So if I go back here, let's get out of that, okay? So if I go to today's session, designing a tracker program, we have a couple of resources for you that would be useful, right? So we have the presentation that I just showed you, okay? We have the material for the TV program. So this is the treatment chart, the actual form that I'll be using, okay? And this is the design, okay? And the design is just a filled-out copy. You guys had access to this yesterday, right? It's a filled-out copy of the data model, okay? Maped to, there's various indicators. There's the tracked entity attributes, okay? Everything that we've discussed so far, okay? So I'll be extracting information from this as I go through the demo, right? Which data elements do I need to make, et cetera, et cetera. Right? So that's all filled in and you can access that here, okay? And we also have this companion to this session called the Learner's Guide, okay? So I'm just gonna open that up, okay? And what this is basically, so these are your exercises for today, okay? And it goes through step-by-step exactly what we're going to demo, okay? And allows you to try it on your own, okay? So when we ask you to work on this, there's also all kinds of background information on the program that I'm just gonna skip down, okay? To the exercise. So in our exercises, we're gonna follow the same steps that I've just identified, okay? So we're gonna look at the tracked entity type, the relationships we're not gonna really look at today so much, we will look at that more in another session, okay? The option sets, the attributes, et cetera, et cetera. So the same process that I just identified, that's what we're gonna work through in your exercise, okay? And it has kind of the step-by-step, where do I go in DHIs to, what do I click, where do I find something, okay? Exactly what we're going to show you today, okay? So keep this open, okay? Please try to, we're gonna give you time to do this, okay? So my suggestion would be, allow us to demo it, okay? And then we'll give you time to do the exercise, right? If you're trying to do both at the same time, create something while we're discussing, it's quite easy to get lost, okay? So my suggestion would be, okay, just let us do the demo. The demos are not gonna be long, they're broken up into distinct parts so you can conduct the exercises as well and give it a try on your own, okay? So they're broken up into small pieces, small chunks, and then you can try a small exercise in order to complete that component, okay? So keep those open as we go through the session in order to allow you to kind of see where we're coming from, okay? So the first thing we're gonna do, as I mentioned, is talk about the design, all right? So I filled in the design sheet, but you have a tool like this and hopefully you're able to get a sense now of how we kind of use or fill in tools to understand our requirements more, all right? So in our case, we would have to identify the program itself, the program stages, the track entity attributes, data elements, options, that's all that interesting information, right? So I've gone ahead and done that because if we did it again here, it would take a substantial amount of time and we do wanna get into actually creating the program, all right? So if we look through here, right? Here's our track entity attributes, registration number, first name, last name, date of birth, et cetera, okay? And that's just taken from the form itself of a registration number. And then all this information is basically the demographic information of the person that we will use in identifying our attributes, okay? Our data elements, okay, I've listed them out here by the different program stages. For the program stages, this is really an area where you would have to talk to someone who's well versed in the TV program. Because if I look at this, there is some sequencing here, right? But there is other information that they collect, there's this type of treatment, it's split up into two blocks. So you'd have to discuss where those go in the sequence of events. There's an initial type of patient, the disease site, okay? These things are all part of their sequence of events that they attend to. I've just laid it out here. So you get an understanding of what we're gonna do today. But you would probably have to work with someone to understand, well, are they assessed for their treatment for the initial phase? What is that phase and where do I group this data with the other items that I see here? What about the continuation phase, right? So if we look at this, how we're gonna break it up, right? Zero months is our initial phase, okay? This is our initial diagnosis. This is when they first kind of come in, all right? And all this information, type of patient, disease site, sorry, disease site, and the type of treatment for the initial phase, it's all going to be taken at zero months along with these lab results and the weight, okay? So all that information is going to be broken up for our kind of initial diagnosis phase, okay? Then we have these phases where they come in, two to three months. So this is where that element of scheduling I was talking about comes in, okay? So there's a kind of, not a strict sequence, but a identified sequence, right? You can always modify this. But for example, two to three months would be, you know, 60 to 90 days from the first time that they come in, right? And then five months similarly, you'd have a period of time, you know, where it's suggested they come in at five months and receive treatment or, you know, get their lab results taken again to see how far our law may are in the process, right? And then there's an end of treatment phase, okay? So there's four phases and they kind of utilize data items, data elements, various data elements from this form, okay? But as I mentioned, just to make it a bit easier, zero months is our initial phase. That's when we'll get the type of patient, the disease site and the type of treatment. The continuation phase, we'll just say this starts at two to three months, okay? So other than the lab results and the weight, we'll also take this type of treatment at two to three months for the continuation phase. And then we have five months, which is just the lab results in the weight and end of treatment, just lab results, the weight and the treatment outcome, okay? So we're gonna take the treatment outcome at the end of treatment, okay? That inherently hopefully makes a bit of sense to you all, okay? So whether or not, you know, this is something you'd be able to identify on your own, likely not, you know, this is a use case I implemented in a different country, okay? It was the TV person there who really kind of spelled this out for me, okay? To kind of understand how this works and you would have to do that in a lot of setting in all likelihood, unless you are the expert of course in which case I'm sure you could do that on your own, right? So we have four program stages that we've identified, okay? The initial phase, continuation one, which is our two to three month period, continuation two, which is our five month period and the end of treatment, okay? Then we have all the data elements. I just listed them here. We just take the variables from the form. I think this should be pretty straightforward to everybody at this point in time, right? So, you know, disease site is a data element, says check one. It has an option set, pulmonary, extra pulmonary, and then there's the location of the extra pulmonary tuberculosis. The type of treatment, for example, this is another data element, patient is another data element, and then these are the options within that data element, for example, okay? So I've also listed out the option sets here in that form. For the sections, okay? I've also just kind of layered out the sections. And once again, for this in particular, no right or wrong way. I had a TV expert kind of tell me how they wanted to group them, but it's completely dependent once again on who's working with you and who's helping you to define this, okay? These are the sections we will use in this example, just so we're all on the same page. But when you're defining your own program, you have some freedom here based on how you want the workflow to be defined and you know your users, you know the people that will be using your system. So it's probably a, you know, you can define this a bit better as well as part of that process. And I've just listed some indicators. We'll get into the indicators when we actually go to create them a bit more, which is another session later on next week, okay? But for now we're gonna focus on this first part. We're actually creating this program inside of DHI's too. All right? So we have this program configured in DHI's too. It is the one I went over the other day. Just sorry, a lot of stuff. Open here, okay. So if I just go back, now we won't have this luxury most of the time, right? But what we do in this case, right? We actually have the treatment card program configured, right? It's available both in the customization instance as well as the demo instance, okay? So you'll be able to view it in either one, okay? But I'm just gonna open it up in the demo instance for now. Okay, and we can have a load, right? So when I register, here's the tracked entity attributes that I've identified, right? This is the demographic information of that individual, okay? So this is the same attributes that we're gonna configure, okay? Or have a look at configuring, right? We have our four program stages that we've identified, okay? Initial diagnosis, continuation one, two, three and the treatment. And then we have all our data elements and our option sets, right? So here's an example of one of the responses for TV patient type and all the different options that you can select, all right? So we don't have this luxury normally, but in this exercise, everything is configured so you can see it. You have all the metadata kind of mapped to the metadata model as well. Once you have a better understanding of where all of that, actually of what it'll actually look like, sorry, after you've been kind of finished this mapping process, all right? Okay, so let's get into the actual configuration now. All right, so what we're going to do is follow our step-by-step approach here in order to create our program, okay? So if I go back to my presentation here, we've gone through the design, okay? The next step was to look at the tracked entity type, okay? Now in viewing this, we're tracking TV patients, right? So we're tracking a person, right? It's pretty self-explanatory from the nature of the service being delivered. So the tracked entity type that we need to kind of have in the system is a person, okay? And this can be reused, right? If we're, you know, because we're tracking a person when we're doing the anti-nail care program, if you're doing an immunization program, you're also tracking a person of some kind, you can reuse that tracked entity type as much as you need to, right? But you need at least one, right, in the system. If you don't have any, then it won't work, okay? So in order to view tracked entity types in the system, we go to maintenance, from here, we can actually find it now in the apps menu, okay? By just typing it in, okay? But I'm gonna actually just show you how to find it in case you run into trouble, okay? You can go to program, okay? And then you go to tracked entity type, okay? So here I have a person, I'm gonna show you how to make one, but we don't have to make one. I'm just gonna show you just to kind of go through the whole process. But in this particular example, okay? We have a person, okay? And that person can be reused. Anytime we're creating a tracker program, that is tracking a person, okay? Or a person type entity, I should say, which sounds like a bunch of kind of maybe extra wording, but the whole idea is any type of person, we can reuse this entity, right? We don't need to recreate this object, right? And kind of a key consideration, key principle to remember inside of DHIs too. Anytime you can reuse something, reuse it, okay? This reduces the amount of kind of administrative headache as well as for the end user, because then you don't have all these multiple objects of everything and it becomes kind of difficult to maintain and for the end user to kind of find what they need, okay? So I went to maintenance, I selected program and then I'm at tracked entity type, okay? Now, if I click on this one, I can't edit it right now, okay? So I'm gonna just create one to show you the properties of that, right? So the user you have, the same user permissions as what I'm logged in with, okay? You'll be able to see this, but you won't really be able to modify it, okay? And the whole idea is that everyone can use this when they create their program, okay? But if you did wanna create one, I'm not gonna actually save this, but I'll go through the process, okay? So if you did wanna create one, click on plus, okay? And then you have some information here to fill in, right? So let's say for example, I wanted to create a different one called case, okay, the difference being like, for example, if I have disease, a disease surveillance program, and I'm tracking each case of disease, each case of polio, each case of malaria, right? So it doesn't matter if it's the same person, I'm tracking the case, okay? Or I'm tracking something else, maybe a lab sample. Whatever it is that I'm tracking, okay? If it's different from a person, I would wanna make some object that represents that tracked entity type, okay? There's a couple other pieces of information here, colors and icons. This is really more meant for Android, because when you select these types, they're represented by these colors and icons within the Android app. So we're just gonna kind of skip over that for now at the moment, okay? For the description, you can add a description of what it is that you're tracking, okay? So for example, you are tracking. And the whole idea, as I mentioned, is reuse of these, right? So a typical system will not have hundreds of tracked entities, right? Tracked entity types. You might have five, 10, depending on your system, depending on the complexity of your system. Many have less, right? If you're just tracking people, you might just have one, all right? But the whole idea is to reuse these any time you can, okay? This option here, the track density instance audit log, if I do this, it'll enable some log permissions on this. The downside of this is it increases the size of your database, the upside of this, of course, you can track a lot of different operations that happen to any lab sample, for example, within your audit logs, okay? So generally, most systems do have this selected and they figure out a way to handle the problem with the kind of ballooning size of the database separately. Okay? There's some items here, minimum number of attributes required to search, maximum number of tracked entity instances to return and search, okay? So hopefully you have some experience, you know, searching for a track entity in track or capture, okay? And these items allow you to kind of filter out what you want to do with the results, right? So let's say I put three here, okay? For minimum number of attributes required to search. What I'm saying is anytime someone searches for a lab sample, they need to enter data for at least three of the tracked entity attributes, okay? If I only enter data for one tracked entity attribute, then it will perform the search, okay? So we're giving them some minimum criteria and this is really helpful in the case of, you know, some security or privilege protection, especially with people, right? You don't allow people to kind of go fishing, like, okay, you know my name is, maybe my name is common or maybe my name is not common. And if you just know my first name and you're not really supposed to have access to that record, you could enter that in and find my record somehow. But if you need to know a combination of my name, phone number and ID, then it'll be a lot harder to find my record, for example, okay? The next option is maximum number of tracked entity instances to return and search. So similarly, this filters out the amount of tracked entities that are returned, right? So if I have a common name, right? And, you know, maybe there's hundreds of people with that name, right? If I just type in that name, it's only gonna return in this example, I've said 10 results, okay? It's not going to return if there's 150 people with that first name. It's not going to return 150 results, it's going to just return 10, okay? So these give you some options in filtering out, you know, the ability of people to search for different items within DHS too, okay? Okay, the feature type, this is actually you can assign these geographic characteristics. So for example, if I want to register a tracked entity type and I want to give it a point, which means, you know, I want to give it an individual location. For example, for a person, I want to know where they live, right? So when I get their village information, I map it on the maps app, for example, okay? Or I can also make it a polygon. Polygon is, you know, like a broad shape. So for example, if I were tracking a malaria foci, a malaria focus area, okay? This might be when I use that polygon type because it would be some kind of boundary on the map, all right? For the most part, you know, just depending on what you do, you know, a lab sample wouldn't really have a feature type necessarily. A person might have a point because you might want to track their individual location on the map, all right? Now, when you first create a tracked entity type and your system is blank, this tracked entity type attributes, it'll be blank as well, right? It's just in this scenario, we have some tracked entity attributes created already, so we're able to select from them. But I'm actually going to come back to this later because we haven't discussed tracked entity type attributes at all, okay? Because if you're in a blank system or a new system or a system without any tracker metadata, you won't see anything here at the, when you begin, okay? So I'm not going to save this, but we would just go through this process, right? Defining the name, the description, defining the minimum criteria for searching, the feature type, and then we can come back to the attributes later on, right? But when I'm done all this, I could save it, okay? I'm not going to save it because I don't really need this in this example, but I could save it, okay? No, let me save it, why not? Save it and then it'll come up here, okay? Then there's something called sharing settings, which we have to alter, which we'll talk about later on, okay? But what we've done here, you know, we just created a new one, but as I said, if it already exists, the concept already exists, don't recreate it, right? Just reuse it, okay? So that's the first part of this, where we look at our tracked entity type. I'm just going to remove this actually, so don't need it, okay? Okay, so when we look at our tracked entity type, in this case, it's already there. If it was a blank system or if we're starting from scratch, it wouldn't already be there and we would need to create it, okay? Because we need to have something that the program is tracking and without this in place, we won't be able to create our program. So the next item was identifying any relationship types, but I'm going to skip this step for now, okay? Only because we're going to talk about this in a lot more detail later on, okay? So we're going to skip to step four, identify and create, if not yet created, any option sets that you need, all right? So option sets are, you know, something we should all be familiar with, okay? So I'm just going to review that step real quick. So if I pull up my design sheet here, so these are the, oh, sorry, that's for the ANC one, that one, this is my TV one, okay? These are the various option sets and options that I need, okay? So if I have a look at these, this is all the stuff I need, all right? Before I can start creating my data elements that I need for my program, all right? You could go the other way, create the data elements first and then create the option sets and go back and edit the data elements. It kind of creates a bit of extra work, right? So the easiest thing to do is just make sure that these are all in place first and then you can assign the option sets to your data elements, all right? So I need all these here. Now we're not going to go through and create all these and this should be a review for most of you, right? Should have some experience creating these before, right? So to create an option set, it's actually in a strange place, right? It's in other and then you go to option set. I know there are some challenges in navigating the application, okay? But if you go to other and then you go to option set, you'll see your current list of option sets. And in this example, I've created all the option sets for you, okay? Because there's quite a few, right? And there's quite a few options and some of them are quite tricky to kind of enter as well, all right? So all these option sets are available for you here. So you can see here a TB disease site, patient type, treatment outcome, treatment type, sex, this is the extra pulmonary TB site, gene expert results, culture results, okay? That's all to deal with that TB program that we're working with, all right? But I'm just going to review real quick how to create one option set just in case it's been a while and you're kind of not as familiar with that whole process. And what we can do is we can recreate the treatment outcome one, okay? So let's recreate this option set inside of DHIS2, okay? So what I'm going to do from this page, now it's already created here, right? I can see a TB treatment outcome, okay? So I generally, if it's already there, I wouldn't recreate it. I'm just doing this for demonstration purposes to give you a reminder of how these are created, right? But we can reuse all of these option sets and things like sex, for example, that apply to multiple programs, the TB program, immunization, okay? Any other type of program that you're working with, right? You could reuse that sex option set. You would not need to recreate it, okay? Just for example purposes, I'll recreate one though, okay? Now I'll use my initials, I'll give you some kits. And regarding the prefix, right? Generally, well, for data elements, I often recommend using prefixes. For option sets where you know they can be reused by other programs like sex, for example, or other types of general option sets. I don't recommend putting any type of prefix, right? Cause it's not specific to a program. In this case, the treatment outcome, it's very specific to TB, okay? But you might have other parts, other components in the future that you come across that are quite general, right? And you can reuse them across programs. And in that case, you don't really need a prefix necessarily cause it's not attached. Or you could have one prefix that identifies it as being kind of generic and usable across multiple programs, for example, okay? So this TB treatment outcome, when we go in there, there's a couple of details we fill in. The name, you give it a code, okay? The code is not mandatory, but I like to put in codes for most of the stuff that I'm working with as a good practice for data exchange, mainly in other types of other operations. But I try to get people in the mode of kind of creating these codes for these objects whenever you can. So Zachariah, I know you have your hand raised. Maybe you can type it in the chat because unfortunately I get a lot of feedback when I'm kind of hearing you speak. So it's kind of difficult to interpret. So maybe you could ask your question in Slack or in the Zoom chat. So we could kind of make sure we interpret it correctly. I apologize, it's just been quite difficult to hear you. Okay, so we give it a name and let's give it a code. For example, okay. So TB treatment outcome, for example, is our code. And then we give it a value type. And all these options, if I look at the options, cured, completed, died, failure, lost, fall, not evaluated, these are all text values, right? So I will say that this is a text option set and then I can save it and then I can add my options, right? So I can just go back here. Don't need to add them all, but you know, if I want to add cured and treatment completed, for example, cured. So I say add option and I give it its name, give it its code. The color and icon, once again, these are for Android. And we're just going to leave those for now, okay? And then I'll save and I had another one just to go through the process again, treatment completed and I would add my option, okay? And then I would give it a code. I don't like having spaces in my codes. So I just put a little underscore there. Could be the same, you could give it another code perhaps that works for you, okay? And then I save it, right? So this is the process of adding option sets if we needed to do so, right? We would go to, let's repeat the whole thing, okay? We'd go to the other part of our maintenance, select option set, okay? And then we would review first, does it already exist? Okay, I just created that one as an example, but we know it already is there. So we don't need to make it again, right? And then, but if we do, we just add a new one by clicking on the plus sign, entering our name, our code, our value type, saving the option set, and then add again our options one by one by clicking that option button, okay? So what I'm going to do, I'm going to stop here. Okay, and I'm going to give you a chance just to go through exercises one and two in the learner's guide just as a review. So the track density type, that's a new concept, okay? But I just want you to have some sense of where it's located, okay? And you can go through the process and just, you know, see the different fields that are there when you go to create one. You don't have to create one though necessarily. You can if you want, but you don't have to, right? Because it's already present. And then just review of an option set just to make sure many of you, it should be a review. You should be familiar with these options sets already, okay? But if you're not, okay, just try to create one and let us know if you're having some trouble there. For many of you, I am hoping that this part is a review, okay? So if I go to that learner's guide, okay? So that first part is exercise one is exploring the track density type, okay? Has step-by-step instructions on where to go, how to reach it, how to view it, okay? And then exercise two is just dealing with option sets. So sorry, just a big, okay? Exercise two, identify and create option sets, okay? And this is just a review. So if you can work on exercise one and two, we'll just give you about 10 minutes, okay? To work on this and then we'll come back together, okay? Just to give you a chance to navigate to these places. Remember, you have to use that configuration instance, okay? So if you try to use the demo instance, a lot of this is not gonna work, okay? Sorry, but use this config instance here, okay? Don't use the demo. If you log in there, you won't have the same permissions, but in the config instance, sorry, you can access maintenance and you can access all the different modules that we've been discussing, okay? So I'm gonna give everyone about 10 minutes, okay? So just look through that and then we'll come back together, all right? So it's 910 on my clock here, okay? So at 920, whichever timing that happens to be for you for now, for 10 minutes from now, okay? So log into the config instance, follow exercises one and two in the winners guide and then we'll come back together.