 And what we are going to do is we are going to explore most of the functionalities in a demo mode, but we want you to see as well. What do we do in the server for the things to look the way they look in the app. And yeah. And, and it will be me at the beginning and then Jose. So we are going to be covering all these aspects that you can see on the screen. However, we are not really going to be following all the details in this presentation this presentation has all the theory that we presented in the last Academy in the last implemented Sunday Academy so it's too much we actually want you to have this as a reference and we will share it maybe using the event. Those that joined afterwards we shouldn't say it before. And so don't worry if we keep jumping here and there is because we want you to keep this as a material as a reference. We are going to make it first that general intro to the Android app. And for the questions, please use the chat and Jose will be following the chat while I am speaking and I will do the opposite when when we go to his part from problem rules. And we will try to answer the easy questions in the chat or open for questions here. When we break or, or if there is any relevant questions interrupt me, not relevant like that is worth it to mention. All are relevant. So, not this is just a slide to remember that it's important to configure the Android user with the minimum permissions and the minimum access using sharing settings and the capture arguments. Because that is going to. Sorry, I'm going to close a lot of sun here, because that is getting a that is setting the volume of the sink for data and metadata so and also for security principles but in practice also for data and metadata. You have this in the slides. One thing I wanted to mention before going to the app is that you are seeing the app now in blue. But you can change the genetic color of the app by using the colors of the server. So if you go to the system settings. There is one setting that we don't use much anymore in web. If we go to appearance. This is the style. So we can change that to different colors. My Myanmar is red light blue is light blue India is orange and green is obviously green. And you can also change the flag. So if you assign a flag and you assign a color. All the look and feel of the app, the default color of the app will be the one that you put in style so I didn't want to do a full login now. Launch this one and you are going to see the login in the QR code now. And I will use the other one for the demo. But at the same time, I'm showing you here the way we try to facilitate the login. So it's through the QR code reader instead of typing and then also the next time the user logs in. The next time the user logs in. And the user, the username will remain on the URL. So only the password has to be entered. And then, okay, let's move to the other one. So we don't wait for this. And then we'll see later. And then you can also use the fingerprint if the mobile phone allows for it. And the last thing is the pin code. The user can set a pin for the pin number pin code and the next time he wants to log in, it will be the pin enter will be prompted instead of the whole. Let's see how this goes. Oh, that was the phone server. Okay, no worries, we don't need to do that. But just to say that you can configure the color. And you have different options for logging in and for facilitating the login for your, for your users. One thing about the colors that I want to say before jumping here, the icons that are icons everywhere. So let's have a look at that you see now everything is blue and with the default icon. But we can play with that in my tenants. So let's put some color to this app. For instance, we have here a data set is just about assigning one color. We have an icon everywhere. So this is the data set. Now our programs is getting a bit slow. For instance, let's put one here. I'm choosing different aspects so that we see how they look. Now the port of entry. I think that's not a problem it is. Okay. I really like the record. Okay. So when we synchronize now, our metadata and Jose will tell us more later about this. So this is how the icons apply or I didn't know I anyone here didn't say probably this one didn't say. So this is all the icons and colors look this is the positive. This was the negative didn't load and this is this are the outlines and then once we enter each one of these programs, the whole app takes that color for all the actions. And then we can configure the default color of the app at server level, and then the program colors at each program or data set level. So the home, the home screen or the home page what they're showing is all the programs either event or tracker, or data sets that that are configured for this specific user as can capture and view, or can view only. You can also have the can view only permission and the program will come here. And, and then it has to be assigned to the capture or search or unit as well to be listed. And this is as a reference we are we will you will see these icons, all over the app these ones are for the sync status when you don't see any icon. It means this data is synced with the server. And these ones are for the event in the status of events. So this is overdue, open, complete, and if the icons have a little I like this one means they are only editable. The user, sorry, they are only readable the user can read them but cannot edit them for different reasons sharing settings is expired. Mainly those. So, we are going to go through the three models let's say data sets events and and tracker programs and we are going to enter one record on each and and see what is happening at each step on the also checking the server configuration so if we start with the data sets. We have here is a list of the data sets that have been already reported with the date and they're reporting or unit to add a new data set to add new events programs track entities everywhere there is always this button here in the bottom right corner. But this is common and this screen is also common so it's asking for another unit because my user has to. If it only had one, it will be preselected. And then let's enter for today. Okay. So this is the. Here. So what is this we have here in the it will always open in the first table. So we see here as tabs these are actually the sections in the in the data set so this is how we render the sections. These little arrows will allow you to play with the width of the first column whatever works better for for the visualization you are making and then this is how you navigate the table. In each one of them, if you have more tables they will come below inside each section if there is no section. So this tab will say data. And it will just put one table below the other. And then there is always a first tab with the period the reporting period the reporting our unit and the status of the of the data set in this case is either open or complete. So if it was complete you can reopen from here. Now it's not offering the option because it's open. So I think. Yes, we can enter a few cases and see one example. Because I want to show you the validation rules validation rules are supported in the entry. So. Okay, so the values are safe. Fine. Thank you. But now when I say is asking me, Oh, do you want to check quality. Yes, I want is telling me that I have one error. What has happened now. The thing is that this data set does not have the complete only a validation part is meaning the validation is optional. That's why we are asking the user. If it was ticked, it would have been triggered automatically when the user says and what we are seeing here this is the error message we are trying to help the user understand. What is the problem why there is an error so I want to show you this validation rule so what we are displaying here is the description so it's good to have informative descriptions. And then the instructions. So we are saying the number of patients hospitalized cannot be hired. For example, please review your numbers in the case tested and hospitalized that. So this is the instructions and then this is the left and right components that we are asking the user you should review this. Now we can fix it. Now you want to. Okay, now it's checking again you want to check data quality. Yes. And now it's telling me okay everything looks good. So the flow will be different based on if we have configured the validation rules as mandatory or not. I think this is all about data sets and I will leave you here this diagram with the flow and how the flow is when it's mandatory and when it's not mandatory based on this thing. So let's move to an event program. Events for event programs you can recognize them because they have the event. The event word here so the data sets the data sets. The tracker programs have the name of the track entity type. In this case, personal area for persons. And the events have the event word there. So let's register one event. Open the program. So you see similar is a list with the reporting the event date in this case and the reporting of unit and here we are using the icon for the state. This one is complete. This one is open to create a new event. The events are by default, putting the date of today in the event date, but it can be changed. So to pay attention during this data entry to the rendering types. I'm going to be talking about rendering types. So the first variation that we have is for the dates. You can pick the date here with this spinner, or you can put the calendar view. In case it's more comfortable or intuitive. The user can choose for long dates in the past is more comfortable to use the calendar. And the same their unit because I have to is not populated. And this is the data entry screen. So, yeah, it's asking for the different bills. This is a drop down or sorry, this is radio button so you will see later why are we seeing here radio buttons instead of drop down. So let's go one by one. Okay. And then we move to the details. So in this case, as you see, we have horizontal check boxes vertical check boxes. We have program rules applying. So this one is it was hiding. Now it's not hiding anymore and it's assigning a value. This would be a regular drop down for instance, which is not a radio button or a checkbox. And then I want to show you also the last one. This one is showing each option in a drop down in an option set with color and with an icon. So let's have a look at the server and see how these different visualizations have been configured. The, what you are seeing here from one to seven other sections, these are the different sections and we can open one section at a time. And this completion spinner here, it's going to be adding I mean it's going to, it's respecting the program rules, and, and it will keep on completing until, until the 100%. So let's look at this program in the server. Why does it look like this. The rendering types that the different visualizations that we want to give in the data entry for the user experience are configured at program level and are configured where we assign the data elements. So in all the attributes in this case is an event program it is here for a tracker program it will be in the program stage for the data elements or in the attributes for the enrollment details. So you can see here how sex is horizontal radio buttons. These ones case a very deep horizontal check boxes. This is a case a very deep lab test vertical check boxes. So this is how you change this and you can configure based on what is more comfortable, depending on the configuration but now what about the colorful one to configure this one we have to make a few more steps. So the first thing is that this is an option set. So we have to assign colors and icons to the option set. So let's have a look at our options. If we go to the options, you can see how we have added a color and an icon to each one of them. So the first step, you need the option set configured with colors and icons and then in the program, you need to put one data element per section. So if you want manual, like visual data entry, you need to put one data element on each section. So let's have a look at our section. There are three, three, three steps we need to make. This is the section outcome. So we have the option set with icons and colors. We have one section with one data element and we configure the rendering type of the section. This one is sequential. We change it to matrix, for instance, and say, let's, I didn't say, let's sync again and see what happens. I'm waiting for this to update because I don't have notification. Yes. If we, if we go now to the outcome. This is the other view we have selected matrix now. This is how it looks in the matrix and it's up to you to choose what looks better for the dates that you have for the number of options that you have. So this is what I wanted to tell you about rendering options and event programs. Of course, I can say. Finish and, and I don't think we have much to say the details of the event can be edited here as well in case you need to. We can move to the next section. So you will have here in the presentation now all the information about the visual configurations. This is just to tell you that the icons are already in the in the app in the APK so using more icons and more colors is not increasing the size of your, of your traffic of the metadata. So you can use them without worrying for that you have a table here of where are the icons available and how to assign them. And the same this is the, these are the slides for the, for how to configure a visual data. I did not talk about the images or the QR barcode. I will do that in the next demo for the tracker program. So we have the date picker and the radio button, and we didn't see the autocomplete autocomplete. If you put autocomplete render in a text. What it will do is that the app will remember the values that have been entered by the user. And then a like prefield not prefield but suggest options the next time so this is for when you are recording locations but you don't have a drop down you don't have an option set and you want to make sure the typing. Correct the spelling sorry. So you hear you have the information rendering types. And then we will see the image and the QR code in the next one so let's go to the tracker programs. The first thing we see in the tracker program is the search screen so what are we seeing here. The attributes that are marked as searchable in the program. Here we have a list in this case because the program is configured as displayed front page list. If you don't take care is not going to display anything and it's going to apply the search configuration number of attributes required etc that you have in your server. But we are displaying here is either the picture if available or the capital the first capital or the first letter of the first attribute or the icon for the track entity type in that order. So this is how you configure the searchable in the program and then for the attributes that you want to be displayed in the card, you need to mark them as display in this and we will show the first three. And then if you want to see more that are marked as display in this the user can expand the card to see. Now this little icon here is telling us that this user is enrolled in another program as well. So this is just to give an overview of the patient in the facility and then how many programs it he or she is enrolled. What's interesting also in this screen is that you can change the program here, or you can move a level up and search across all track entity types. So when you move to the old person in this case is a track entity type. Then the attributes are going to change and they are going to be the ones that are searchable for that and track entity type. And then another interesting thing or that is not. It's a bit controversial. I would say is that we need to search to add attract entity type attract entity instance sorry so in the other screens this button was a plus, because you can directly enter for the for the tracker program you need to search first to prevent a bit that duplicates. The good news and I'm going to enter one, one track entity instance now is that if I search, let's say patient for. We may. And leaves here with me. Now I search. So the search is telling me your search criteria didn't return any result please revise your criteria or enroll a new person. Okay, so now I can enroll. Again, I have to choose the date. enrollment date in this case, and you saw it said registration date that's the label so enrolling date incident date enrollment date incident date all those are picking the labels from the server configuration. And now I'm enrolling this patient and here is where you see this is how the images work so let's take a picture. I wanted to take a picture of this little one. Thank you. This here you see how a text that is configured as QR rendering type will be seen in the UI so I can type a text directly if I know the code or they can read it so I'm going to use a sample card. An example. Okay, so now I have the same day UI to this person that's already ID to this person. And you can see that the fields that I completed in the search are prepopulated here. So it's a search but this is a first step for a registration. Let's take it like that. And you see all that what I collected was there so we save it now. Oh, I'm missing the age of this is how we handle them mandatory things. So I think this one is five. And say. Okay, and it's taking me to the first stage. This is because it's configured like that in the server, like how to generate event and display right after registration. If we go to this stage. It's out to generate zero days from start open that entry form after enrollment. So I didn't have to create this event. So this is a regular this looks exactly the same than the events they can treat because it's it's actually we are entering a program. And you have seen already the rendering types. I don't think we need to do more here is exactly the same. There are no mandatory fields, I can just finish. And then I want to show you an example of barcode. So, let's see here, we didn't see in the program. How it was configured so I'm going to change this then let's go to the enrollment details, not to the attributes. So here you see how this local case ID. Local case ID is rendered as your code. So we go to one of the program stages in the lab results. We have one data element rendered as barcode, the lab sample ID. So let's let's have a look at that in the app. If you have QR codes or barcodes what you need to do is to set the rendering type as QR barcode and they need to be a value type text. Yeah, it is here. And it works exactly the same. It's as simple as that. What's the difference between using it in an attribute or in a data element. If you use it in an attribute, let's clean this. If you use it in an attribute and you mark it as searchable, you can use it for identifying a patient quicker. I used it twice. It's not unique. But that's the difference between using it in a, if you use it in a data element it will store it, it will read the code and store it, but we cannot use it for searching. So let's have a quick look at the dashboard. What are we seeing here. Here we have the overview of the patient. Here we can edit the attributes. So we have the enrollment data and the tract entity instance attributes. Here we have the status of the event. Here we can mark the patient to follow up. It will have an icon in the list we will see later and leave it marked. And here we have the list of stages. We have two views for this we will explain later when I explain this menu. The next one. So the next tab are the indicators. We don't have indicators in this program program indicators. Jose will tell us more about program indicators later. He will also talk about relationships but here is where we add the relationships and then we can also add enrollment notes. These notes are at enrollment level. That has been added by this user. So let's explore. Let's explore this menu. This menu is very interesting. In this menu we can, if you have permissions, delete the tract entity instance or the enrollment. And you can see the program enrollment. So this is taking you to a screen where you are going to see listed all the enrollments of this or unit in, sorry, of this tract entity instance in active programs. Or in which programs you could enroll this patient as well. Or the historic ones. If we have completed enrollments or canceled, they will be listed below the available to enroll. And we can also move to what we call the tract entity instance dashboard. So here, if this person had more enrollments, they will be listed one after the other and I can navigate them from here. I can move from one program to another by going to the program enrollment from the tract entity. The next one is a show events timeline. This is to change the display of the events. So what we are seeing here, you see we have the four different stages and then if I click on it, it's telling me the events that are already registered for each stage. And to create a new one, I have to click here, you can go at me or refer. That's just like in web. But if I change to the events timeline. It's going to list one event after the other so it doesn't give me the overview of the different stages and how many events per stage. One view or the other can be interesting depending on how is the program and how it is configured so there is no better or worse for but for this one that is that goes everything's stages. We think this one is more intuitive. Also, if you have many visits. It's more structured. And then also here we can change the status of the event. Sorry, of the enrollment. And I think this is it. We have some of the attributes we have some of the enrollments. Yes, so we can move back to the dashboard is still searching so I can clean the search here is where you clean the search and you can see now that this tract entity instance is marked to follow up. This is what happened with when I marked it. So the last thing and I will hand over to Jose after this. Another thing comments I don't know if Jose, if we should mention any, we're okay. Thank you. And other filters. So I didn't talk about the filters but we have filters in all screens of the app in the home screen filters and certain home screen it does it events tracker and track entity instance this table. This is telling you where a filter is available or not filtered by date, then date or period for data sets enrollment date or units, things status and enrollment status events status all those are depending on the domain where you are in the app at the moment and then the last two category combination and assigned to me will be visible only when they are configured in the program. The one that has more is the track entity, the tracker program so let's let's open the filters here but they work exactly the same everywhere so we can, you know, you see here we can search for filter and this icon. You find it in the home screen but just the options are different based on where you are in the data sets everywhere and this is for navigating your date. So let's explore this one which is the most the one that has all filters. The dates and they all work the same. We offer some shortcuts for now in the past or in the future. So if you choose in the future it's going to be searching on the due date for schedule events. Okay, okay, how many of my track then how many of my track entity instances need to come next week and you will click here. The case registration date is the enrollment date. So it's reading the in this case the label. So maybe the future doesn't make much sense here but and you can also choose periods from two or if you choose if you say other is going to ask for a specific date. Any time is just not not filtering. The org unit is allowing you to either open and explore and it's going it's giving you your, your units only. Or you can search if you have many. And then sync status here we use the icons that we introduced before you can see, okay, what does my word of my data is not synced, for instance, and I need to send or what would create what had an error and I need to review. And then the enrollment status, how many of my patients are in an active enrollment or complete enrollment. The status of the events in the enrollment. So for instance, how many of them have a visit pending or how many of them missed a visit. It will search in the events, even though we are listing track entity instances. And then there's time to me. This is quite new. We don't have any configured. We don't have any assigned but now in events you can come with you can say that this event will be assigned to a user. So, if you assign an event to a mobile user, then the mobile user when he filters or she by assigned to me, he will see the track entity instances or events that he or she should pay attention to. We cannot assign events in the app for now. We only have them available in the in the web.