 Hello, everyone. Welcome. I apologize for my tardiness, running around between sessions and not knowing which room my session is in is a problem. But I'm excited to share today. We have four presenters who are sharing local innovations that they've worked on building on top of DHS2. And I'm not going to talk much around them. I might talk a little bit at the end about how we can work together and foster more of these innovations and share them. And as Scott mentioned in the previous session, collaborate to make sure that we're not reinventing the wheel and that we know what the problem is everyone else is trying to solve so that we're not solving them in silos. But I'm going to start it off just by passing the mic over to our first presenter, which is going to be Ayub. So go ahead and come up here and I'll give you the mic. And he is going to be presenting. Let me see if I can share the screen. Sorry. Hello. Hello, morning. My name is Ayub Manya. I come from Kenya. And we chose this topic as innovation because some of us who are practitioners or medical doctors or the users of the system, when we see something that solves our problem, we call it an innovation. But from the stories I've been hearing about innovation, this is just a way of getting data used easily for the people. So I'll just go through an introduction, give us the methods, talk about what we found out. Then there will be a discussion. And I also propose just to show you the app in real life how it has worked. I think we all are aware that the COVID pandemic was extremely complex. You know that it required the mobilization of so many sectors, a lot of resources from the Ministry of Health, and there were a lot of fears and anxiety surrounding this. And this was not necessarily because we had a very high death rate in the country, but it was because we were also reading newspapers and reading the news from other countries. So people were worried even of what was happening in other countries and even what was happening back home. We also realized that it was a very high transmission rate. With one index case, we reached very quickly to other very many until it became a community transmission within a very short time. And the death rate was extremely fast. I think for those who are unlucky, in one day you find somebody was dead, more is gone. So it brought a lot of anxiety. And what was even worrying about people was that the people in the health workers were dying. And imagine if you are going to the hospital where even the doctor, you believe most, he's also dying. So you get scared even going to the hospital. So the other issue that was complicating and creating problems with the health facility was the strict rules, the curfews. We couldn't go out at night. You couldn't do some things and you had to put on masks. And I've put there quietly that there was a police intervention. The police would meet you and tell you, you're not having a mask. Therefore you go to, is it jail where people go in the disobey? So now you are in a situation that everybody's anxious is putting on the even masks for the police are not for himself. And all this affected health seeking behavior. You could expect people who didn't reach the hospital because of the breakages, the curfews. You could imagine they are so scared of being in the hospital. And so the government was aware that essential services may actually be interrupted. And so we thought, how do we get data to monitor that the essential services are happening? Of course, our main source of data in our countries, DHS, and we realize our traditional way of analyzing data, downloading the data, and then ensuring to other people was not really working very well. It was time consuming for some people. And there was different, there's somebody downloaded today and the other one downloads tomorrow, you'll get some issues. So we decided to think of beyond just the normal traditional data analysis. So we asked ourselves, how can we promptly generate reports to support informed decision and an idea of developing an essential services app came up. And to do this, this is a photo taken. It's me, the only one who should be seen because the others didn't get permission to be seen. But this, that person without a good hair, it's me. So just to show that the healthcare kind of changed, even there were things like makeshift hospitals. And that means if the normal healthcare processes kind of was getting interrupted because of the COVID. So we needed to find out more data on how we can know that things are working very well. For us, we formed a very small task force, which is composed of the minister of health. And we had other people from the partners, the experts, the WHO, the UNICEF was there. So we all came together to come and think how we can make sure that these essential services are being offered as if nothing, despite the COVID. So to develop the app, the means of health and other partners came up with specifications and talked to the experts. I think they are, if some of you would have been there, we would have talked to you as we know how to develop apps. So we gave them the demands and they came up with an app, they tested it, they trained it, and they finally allowed us to use. Actually, the results are a bit interesting that it took a very short time to come up with this app. Unlike other times when people have to argue about, no, I don't like that indicator. Some would say, have you put my indicator from this, this time because all of us were together because it's an emergency situation, it took a very short time to come. That's a very interesting result because naturally it can take even many years to agree on a small thing in our country. And then also that being very short, that another thing is that we found that it gave us a very easy visualization. Anybody would go in and visualize the data very easily because we are looking towards the information news and we need people to just quickly see and say something is going wrong. And it was very easy to use. The outputs of the app included just graphs, trends to see before COVID, how many people are delivering and after COVID or during COVID what happened, that kind of quick, because for people who don't want to think so hard, they just want to see those line and say something has happened here. And then these kinds of trends were actually being fed to the decision makers and then they would use that time to think something could be happening. So the other thing that you could actually download these graphs and then use them in the reports so that the other people can see. This is from the system. This one I put there just in case I don't show the live demo. This is one of the things that you would see immediately you log into the app. You see like just this is, I mean, I think let me show the other bigger one. It's the same but now in a slightly bigger font so that you can see. For us, our COVID started in March 2020 and this is an outpatient visit. It just shows at least from that time people were so scared and the people attending hospitals went down drastically. And then after people got used to it or people were given a lot of reassurance and you can actually go, you find by March, a year after that, things were almost getting back to the pre-COVID situation. So this is just one area of outpatient. And outpatient is just where people just fall sick. We are not extremely sick, isn't it? Like just a bit, in our country we call it malaria. If you have a small illness that is not so much, you just go to outpatient and get treatment. But now of that, most of them couldn't now access. So that is just one of the areas. Then you look, I just wanted to finish it before I quickly show you the live one. The most important thing is the flexibility we all are aware of the system to accept new apps, which really didn't require a lot of programming. And then there was also a multi-sectoral approach. We have so many people coming together all agreeing. And without the normal debates coming up, it helped us work very quickly and like other times. We also, with the app, the MOH provided promotional messages to the people, please, if you are sick, just go. If you will get some services. So that's how you find things coming back to the normal. But of course, that is a simplistic way of looking at things. The normal care would have come back just because of other things. But for now, we know you have to attribute to what you have. But literally, we don't know there are many other factors that may have affected. But since we have this app, and we saw that we talked to people and we say, hospital care started going up, we can proudly take it, attribute it to that, but take it with a pinch of salt that life is not always a straight line. So there could be other factors. But at least we can say due to the talk, due to what you may have seen some changes coming up. And so as we talk the app, the fact that we could create this, a lot of requests came. Now, right now, we are working on coming up with an app for TB, malaria, and other programs think if they did that, it would be useful. So in conclusion, it's just to show that collaborative and innovative application can actually be used in an emergency times to provide information for use because people want data. So I'll just quickly log in in our system just to look at some of the areas. So I'll quickly log in and just to show you some of the areas that how the data was being viewed. How does it move? It doesn't like my fingers. It happens. So thank you for your good hands. Your computer likes your hands. So this is the app. It's called the St. Joe services app, the one I'm pointing at. That's the app. So that's what we put in the system. So it's good. Do I make it slightly bigger with control? Control plus, with your control plus. Make it a bit. Yeah, yeah. So essentially this is what the app is showing almost on real time. Data is coming there. You can see maybe the latest, how many are there to date, 5000, something like that. But what was important for some of us were actually the kind of trends that we wanted. If you take, for example, don't worry. So this is, so it has so many, just in the middle. So this is the outpatient one I had shown you. In just 2019, and this is now when the disease started much, it came down. But then by the next much, it was going up and then, but now this is just now seasonal trends. But at least you can just watch quickly and see there's something. So in during the lockdown, when people were staying at home, not going to work, schools were also closed. And then there was a hypothesis that now that the schools are closed, the pregnancies will increase in teenagers. And this was actually advertised in the papers people are writing, oh, now that the children are at home, they're getting more pregnant. So actually we put there, and we also wanted to look at the reproductive because we had to put it there. Did they really, okay, what type of computer that only listens to one hand? So, so you see, this is about reproductive people are saying maybe now the children are at home, they'll get more pregnant, the teenagers. So we actually wanted to monitor. So I'll do this. This line is for 2019, the trend for 2019 of children, adolescent. So this is even the highest, isn't it? Then 2020 is not that is 2020. It's even love. So with this data, you are able to come up and say that actually maybe they were more worse when they were in school than when they were at home. And then it, and this is 2021 also even love. And then we even have 2022. So, so the point is just to disapprove that actually it may not be related to COVID that goes even 2019 when it was not that the adolescent still went to, to the hospital. There was also another one, which is, it was there that about violence, you know, they also thought people staying together after staying away for long, there would be problem in violence. So also we put there as an indicator, now this one tab that already make it smaller. So we put in the interests, people are interested, the people are interested in violence. So we put there communication, then nutrition. That's nutrition, then communication, this HIV tuberculosis, the vial, maybe it could be further. Yeah, further. Good. You are moving very well. Yeah. So, so these are the indicators to show has something changed now that you have, and this data is coming from our nation, you've seen the violence. Yeah. So as it changed because of that, and so you see, you can, if you, if you put on me, you'll see the year and see if they send it. So that is 2022. It's even higher. So 2019 was the our baseline where you don't, you don't get 21. So you see whether it became worse or not. And this is just for the national. We can actually go further too to see which county, which district and incidentally for the violence, you could see some places who are more, who are not used to staying together. So you may find the violence actually went high, but nationally there wasn't so much. So there are quite a lot of things we put in and this is just, you are able to visualize and now from there make some scientific thinking and ideas that maybe we are blaming COVID for everything while actually we shouldn't be blaming it for everything. So that is the, the, I just wanted to show you what the app is doing and I think I would like to stop there for now. And those who are interested, we can log in and go further, drill more of some of the areas that are interesting from data that is coming routinely without the kind of research aspect. Thank you very much. This is, this is information security. No one can use my laptop except for me. Next, next I'd like to invite Vincent, where did you go? Yes, to come up from the team at the University of Dar es Salaam and to present an innovation as well. Let me get your presentation up here. All right. Good morning. Is this still morning? Oh, it's still morning. Good morning everyone. All right. Yeah. So my name is three minutes before that. All right. My name is Vincent Minda. I'm the lead software developer in the University of Dar es Salaam and developers are going to like this. So we're going to talk a little bit about D2Touch SDK. For those who are aware, SDK is a standard development kit. It's basically a tool that helps developers to sort of accomplish whatever they want, whether if they are creating an app or if there is any tool they want to create in order to simplify the work. Yeah. So D2Touch is basically inspired by the Android SDK. I think some of you are aware of the Android SDK, but this one, we based it so much on the Flutter technology and it has been used to deploy. The idea is to basically deploy it in Android application, iPhones, but even extended to desktop applications and things like that. So basically what drove us into creating this SDK? First of all, there was a background of using a framework called Ionic. For developers, I think you might have been aware of it. It was basically a platform that allows you to create apps for both Android and iOS. And basically in Tanzania, we used it to create a dashboard that was used by politicians and leaders to sort of visualize in their iPhones. Most of them wanted to use iPhones and iPads and things like that. So for us, it was a simple way to create something that can be used in multiple platforms in that way. Yeah. Which basically it was driven by the need for data at the political level who most of which like to use these different platforms and things like that. But another thing that drove us is the rapid adoption of the Flutter technology. Most of you might have been aware that Flutter is gaining a lot of, in the innovation space is getting a lot of traction and things like that. And we have, at the University of Islam, we've also been involving students in some of our innovations. And we realized that most of them are very much interested in using Flutter to accomplish whatever development activities they want. So to sort of nudge them into the DHS2 platform, we sort of created something to help them sort of cope with the DHS2 platform and things like that. And lastly, maybe it's just the need to expand the implementation across multiple platforms. We're also looking into how we can implement it on desktop applications. There is a lot of challenges we're facing, especially in Tanzania, when it comes to loading metadata and things like that. So some of those challenges we are looking into solving them in some kind of desktop application platform. Yeah, so DHS2, I mean, the D2 Touch is mainly made to complement the Android SDK for the most part. And the idea here is, as I said, we want to be able to write the code once and then be able to use it in a mobile application, in a web application, but also in a desktop application. So we are mainly focusing on multiple platform usage. And as I said before, what we've been doing in the Android SDK for the most part, we have looked, I mean, in the D2 Touch SDK, we have looked a lot into what the Android SDK does. In fact, for those geeks who like to look at code, I mean, you'll realize if you enter into the code, most of the design patterns basically mimic the DHS2 Android SDK. And typically, this is how the Android SDK works. It looks, it stays in the middle, between the DHS2 API and the application that the person is developing on the Android end. But the DHS2 Touch itself, I mean, D2 Touch, basically, instead of just Android applications there, you can pretty much put any other platform that you want to develop on top of the SDK. So as of now, these are basically the features that are provided with SDK. There is offline tracker data capture, online data synchronization, offline program rule evaluations, offline event data capture, message conversations, you can use the notification APIs. For example, there is authentication, both basic and open authentication. You can also do offline aggregate data capture, and you can also do offline validation rule evaluation. Now, not all of the features are covered, mainly because, you know, at our pace, we usually, while we are developing for other applications, we center around features that we are planning to sort of address at that moment in time. So that's why maybe some of the features aren't there. But those were, I think, where the crucial ones developers will agree with me in most of the applications that they use to develop. So they use cases as of now that have been used. We have IDSR, EIDSR is an electronic integrated disease surveillance response in the Tanzania mainland. There is a mobile app that has been developed, which basically it is used to report diseases, immediate diseases, and, you know, weekly diseases that need to be given attention at the level of the country. Maybe you're familiar with IBS and EBS. One is indicator-based surveillance, whereas actions are taken based on certain indicators that are of interest. And EBS event-based surveillance is events, usually when there are events, then actions need to be taken based on that event. So we have created mobile apps on top of their SDK using that. And it's now in rollout in Tanzania and it's being used, giving us a very good platform to test it and things like that. And just after that, we also, there are other applications now on top of the SDK that are also being developed, as we speak. One of it is Community2B, which is basically used to report community data, tracker data, in a sense. And then we're also working on IDSR in Zanzibar as well, utilizing the same SDK. But also, there's a mobile user support application that is also under development or so using the SDK. What we're planning to do next, to sort of increase the support for Datastore, I know most developers, most especially when they are dealing with custom applications, they use a lot of Datastore to sort of accomplish what they want. So we want to do that. Also, to handle the issues of visualization, and there is some cases where there are public photos that I needed to develop visualizations and things like that. We're also looking into adding visualization and analytic support. Also, tracker relationships, something that has come up that we want to add, uploading our files and images into data elements, and finally, documentation. We already have a basic documentation, but people will be going through, I think you will also find some discrepancies, which we are also planning to address in the near future. Yeah, so those geeks, that is the link to the documentation. You can pretty much, can I open it here? Okay. Oh, yeah. So there is the documentation. You can see an overview there. And there is about the guide with some pretty good colors. Sorry. I think he was right. This computer is only your hands getting started. Okay. Yeah. So for those geeks, simply that is how you can use the SDK. You can import it into your Flutter workspace, you know, run the packages and all of that, all of the basic documentation is there. And if you have any issues, I mean, it's open source. So if you have any issues, you can contact us, so we can, you know, guide you through it. But I believe for the now the basic documentation can help you go through it. And if you're interested to look at it right now, you can go through the QR code there and open it. Are we done? See that people are still taking it. Yeah. So should I continue? Yeah. And finally, there's also the source code. As I said, it's open source. So you can pretty much check the source code. And as I told you, there is still documentation to be done. So if you feel like you can contribute on the documentation, you're welcome. If you feel you can also contribute on some of the features that we've talked about, you're also welcomed. Yeah. Do we want to go through the code? Developers? No. All right. So with that, thank you. Can I repeat the question? Using this SDK for applications in Tanzania, and there are several applications that you've already rolled out and several more that you're using in the future. Have you thought about or talked about working with other groups or other countries to roll out additional applications on top of that? Or are you thinking of it as a framework for Tanzania specifically? No. The idea of open sourcing it is so that anybody else can use it. So basically, our call is if anybody wants to develop an app on top using the Flutter technology, they can use this to accomplish the stuff in terms of accessing the DHS to API and things like that. So we're not looking at it as only a Tanzania implementation thing. Anybody is welcome to use it. It's not even hard-coded. It's pretty much soft-coded for everybody to use. Yeah. Any other questions? Next, we'll move on to the middle section is really for the geeks, as he says. So next, we have representatives who are going to just... Oh yeah, it's changed. Yes. So I will pass it over to Alexis Rico, who will talk about their innovation next. Can you hear me now? We're testing the mics. Sure. Do you hear me? Yeah. Okay, perfect. So let's see the loads. Oh yeah. Now you can see the slides. Perfect. So we're going to talk about DHS to reports, but based on React. So before we begin, let me introduce me myself and my colleague here at the end. I'm Alexis Rico. I'm a senior software engineer that I work currently at CETA. CETA is a serverless database company. It's nothing related to DHS to... Well, at least nothing related to DHS to yet, because I have two interoperability applications that I can show you if you have interest on what CETA is, what we do, how it feels like a spreadsheet, how it scales from 10 users to thousands of hundreds of thousands of users. So if you have questions about what CETA is, come find me and I can show you. But I'm going to speak about DHS, because I worked at ICT with Adrian for three years. And before that, I also worked at the Polytechnic University of Catalonia, working on DHS too with neglected tropical diseases. I was the original author of the Bulplot application. I'm not sure if you have used it, Bulplot, Metadata Sync, one of the members of the team working on that, training app, the application that won last year of competition. I've been working on all those projects and I've been glad to work with Adrian as he was my project manager, maybe the best project manager I've ever had. So I will let him introduce himself. Okay, so yeah, thank you, Alexis. My name is Adrian, I work as a project manager at ICT. And well, we have basically built this tool. Alexis was one of the main developers. ICT for you that don't know us is a company that we basically build web and Android applications for DHS and for other research centers. And we also do like DHS implementation. So one of our principles that is similar to the way they work at the University of Oslo is that everything is open source for us so you can find all our code at GitHub. And we try to make everything as generic as possible. So instead of building something for a particular client, we always try to be like a platform that is the world these days. A platform or a tool that we can reuse this that we are presenting today is actually an example of something generic that we have been, well, we will show you in a second, but it has been used for many different clients. So I think the next slide is a little bit of context for you to know. So Alexis will explain you a little bit about reports in DHS. Sure. So first of all, we are going to speak a lot about reports, but I'm not sure if you all know what a report is. A report is a piece of metadata that you find on DHS2. So it's like a data set, a dashboard. It's the same on the API site for a developer. It's actually completely the same. So it has sharing settings. But what makes a report different from other metadata pieces is that it shows an HTML page on the DHS2 instance that you are on. So you can actually build a HTML page, show it inside another application, which is the report application, but without needing to build like a full blown application that you are building. If you've gone to a DHS2 instance, you can find the report application inside the other menu. It shows something like this. And to be clear, we're going to talk about a standard report here, which is a specific type of report. You can add different filters, you can add organization unit filters, period filters, and then upload the HTML report there. Now, let me ask you, how many of you have you, before this presentation, did you know about what a report was? Okay, I see some hands. Now, how many of you have you built a report? Okay, some new hands. That's great. Perfect. Now, let's go to the requirements and Adrienne will explain about what we needed to do with reports. Yeah, so basically, I would like to talk a little bit about the motivation behind this tool and why we didn't go for regular report in the DHS, like a jQuery, that is what is actually the typical technology to using report and why we built something slightly different. So the kind of requirements that we were receiving from different clients is that they wanted to have really complex report with really complex logic and workflow. It's not only about visualizing data, but they wanted to do something else. On top of that, they wanted to have something nice from a visual point of view. So it was appealing and everybody has access to what Google is doing right now and everybody wants to have something similar. So it was difficult to maintain and difficult to build something appealing from a visual point of view with the actual technologies. Finally, is that they were not only interested in, as I said, view the data and analyze the data, but also in doing some more actions to the data. So they wanted to approve the data, they wanted to have the possibility of collecting the data and analyze the data at the same time. So in order to build this, what with the classical approach was not enough, let's say. So we started building, again, the same idea, generic solution and open source solution, where this work has a kind of engine, this D2 report, and we can use this engine to be like different reports. And all the time talking about reports, but you will see, and Alexis will show you later on, that this is much more than a report. It provides some other capability. So a little bit of history about how we built this. We started with this D2 report tool, and the first use that we do, that we, where we actually use this, this tool was for a WHO department, that is the hard work force department. And we built a report that, again, Alexis will show you later on to visualize the comment. As you know, the comments for aggregated in VHS are a little bit hidden. So you need to double click in the input data. It's not fancy to access and they need to show it in a table to be able to view all the comments from a data set in a table and to interact with them. The next use for this tool was, again, for the hard work force. And in this case, was data status report. So they want to have, again, a table, a nice layout to visualize if the data sets were complete or the actual status, and not only to visualize, but to complete the data set from that table. The next use was for a different client was an American client that is Samaritan Spurs, and in particular for a project that is Operation Christmas Child. And this one, again, was completely different. This was about custom forms and report capability. We had a postage yesterday where we were showing a little bit these features, so the idea is that you have these in two different tabs. In one of them, you were like filling the data. And in the other one, you have, in this case in particular, it was a people table where you can actually see how the data was spread through the hierarchy, through the organization unit hierarchy. And the final use is what we are doing right now. This is a project that we have already started for three different departments in SWHO, Malaria Hergo Force and MCA. This is, again, much more complex. It's about approving data from a table. It allows you to approve data individually, but also in a bulk way. The features, well, what we are working on is really complex because the idea is that you will be able to go to the data change at a particular data value and then approve for all of them. So these kind of features, the one that we have built with this tool, and I think Alexis will explain a little bit more. So again, that's kind of reinforcing that idea. The two reports, the tool, the engine that we are using to build all these different reports. Sure. So we had a lot of different clients and they all wanted the same. A report that does more things that only show in a table, that does interactivity, but without needing to build an application. When we began working with these clients, what we found out is that reports that are outdated. They haven't changed much in the recent years. The application looks like the same. The technology uses it the same. So it's relying on all technology. The recommended approach is, like Adrian said, to use jQuery to download the template file, edit it, upload it. This is very simple. It didn't allow us to build all the things that our clients needed. Also, there is no UI framework. There's no way to make everything look like the rest of the DHS interface. We've seen that with the app platform, the app shell, the UI components, everything looks like in the same way on all the common applications. We wanted also to build our reports using that technology and it wasn't possible at the moment. They were also hard to develop. At ICT, we were, well, we were, when I worked there, trying to push towards TypeScript and make everything testable to have like a strong fundamental so that they can be maintained in the future with jQuery reports that was not possible. And as I said, they haven't changed much. I tried to figure out when they were introduced in DHS so I wasn't able to find out. I went back in the history of Git and I arrived to 2016 when they moved to GitHub for the source code management. And there are no changes to the template layout since 2016. And that was 222. Now we are on 238. So that's why we asked ourselves, since reports are HTML files, and DHS too loves React. All the application platform is built on React. They are using it extensively. They are providing utilities to build applications that use data query, use mutation, the different hooks, the app platform, the app shell. Since reports are HTML files, what if we build them? What if we build these reports the same way? We are building custom applications. And that's when we came up with DHS to React-based reports. We wanted to use modern technology, the latest version of React, the same libraries that the core applications are using for building UI layouts. We wanted to be able to build them easily. Also to allow someone that doesn't know much about development. It's not a developer or an engineer to go through the documentation that it's already there for DHS to developers that are starting with all the academies that the University of Oslo is building. So we wanted to take advantage of all that effort. And we went to a solution that it's very easy if you're using already the app platform. As you know, to build the app platform applications, you have the D2 command line application or command line interface. And you have different scripts. You can run D2 app script, build, bundle, publish, etc. We use the same technology and we offer utility on top of the D2 command line interface. It's a single command if you're working on an app platform. You just write npx d2utilspandler report and it compiles to an HTML file from your current project, your application, and then you can use it on the report application. It's that easy. There are some limitations that you need to be aware of. Relative imports, if you're a developer, maybe that's something that you are aware of. Relative imports are not possible on a single HTML file. So no support for web workers, no support for CSS modules. You need to use CSS in JS. But that's the only limitation. The rest just works. And what happens if you don't have a development team on your organization or you are not a developer? Well, you can always contact ICT. I'm giving them some promotion. They are happy to help you with your project, with your idea, and maybe they can build something for you. Now, do you want to see a demo? Do you want to see what do we have here and what are we talking about? I will go to an instance. This is on my server. I hope it doesn't crash. It has plenty of problems. Yeah, I have the same one. I think I'm mostly covered. So, yeah, not now. So I'm going to the report application. I have some standard reports already uploaded. I'm not sure if I'm going to show all of them. First of all, as I said, this is just taking an application, bundling, creating an HTML file. So this is actually the same sample that you have on the web page for DHS to developers. I just removed the header bar on top because you don't want to have two header bars. But this is the same actual code with slightly modifications to the CSS, and you have it there. Some reports that ICT has built for example, one for listing all the public objects that you have on an instance. Some administrators, they want to know what objects are public because they have so many users in their instance that it's difficult to keep track of what permissions they have. And maybe they have users creating metadata, but they are not tech savvy, and they forgot to remove the public settings. And now everyone sees the same metadata. That's not the desired output. So with this, with a customized version of this report, this has been abstracted to show it here, but they can actually see what metadata shouldn't be public, and it's public. So in a weekly comments, they are reviewing this report, and those new metadata objects that have been changed or have been created, they are hiding them for the rest of the users. It's a very simple report. They have some filters here. Right now, I'm showing all the different public objects in the instance, but they can review them periodically, and they have found it useful. This is actually being used at WHO. Another report, it's for checking formulas. And you may know that indicators, program indicators, you only can review with a formula it's correct by going to maintenance, going to the indicator, clicking on edit, and seeing valid expression, invalid expression. But you cannot review that anywhere else. And maybe you have changed other pieces of metadata, and now they are invalid expressions, but they were valid before. Or maybe with an upgrade of the HAS2, some changes to the back end, to the core evaluations, you don't notice that they are not valid anymore. This report, it's actually showing that on the official play instance, they have already 20 programming indicators that are not valid. So let's take a look at them. We can increase the columns shown here. Is it a valid expression? Is it a valid filter? And it's telling me that the BMI, for example, has an invalid filter. The height, weight, and age has a valid expression, but invalid filter. So you can actually review them, go now to maintenance, only to these ones. Fixed expression, everything is fixed. Let's go back to another one. Data approval. This is the one that they are working to improve to add bulk capabilities. But this is like the original version that we created for different clients. This is showing that multiple approval workflows that you have on your system. It's showing you all the periods and organization units that have reported data with a set of filters, so that management can filter them and say, okay, in this area, in this region, who has entered data for last year, for example, during a reporting stage, who has entered data, what data it's completed on the dataset level, what data has been approved or not. But this is more interactive, but only showing data. You have contextual actions here. So you can incomplete and approve data from the same report. And this is talking to the API, and if the user has enough rights, they can change the status from complete to incomplete, etc., approve, not approve, and even add notifications more than the ones that are already offered from the maintenance side. Okay, that's great. But do you know what else on the HS2 looks like a report? But it's not a report. It's an HTML file that you cannot load. Anyone has a solution for that? And do you know? Data entry forms. That's right. So let's go to data entry. Okay. I'm going to data entry. This is a really old application, too. I know that they are working to improve it and maybe in the future they even merge it with capture. But something cool, it's data entry forms. Now let's go to a facility where I have assigned one of the programs, HIV Care Monthly. I'm not sure if you, well, the screen zoom, it's fine or not. I'm going to HIV Care Monthly, go for a period. And now instead of showing their normal data entry form, I have a React application here using the same technology of data reports. This is just a mock-up, but it works. So let's go. If you can see, I don't only have like the different fields to enter data. I have a dashboard together with the data entry. So in real time, without having an indicator, I can preview how does it look when I change data. So I can change data here and my visualization is updating just below. And I can even change from one facility to the other and see the different trends between a location or the other. And I can even change the period. I see the trend has changed from one month to the other. This is what's possible with the technology. This is what's possible with building more advanced React-based reports. And this is it. I hope that you've liked. And if you have any questions, please feel free to ask them. Yeah, Pete? Sure. Yeah. Yeah, I will repeat it first. Don't worry. Yeah, Pete Linegan from Bowell is asking if in the indicators and problem indicators report, we can actually link to them so that it's more useful. And yeah, the answer is absolutely. This is a very simple report I built only for the conference. So I built everything like really quick to show it off because we couldn't show the actual reports for our clients. But since it's a React application, you can even add a dialogue there and change the expression without going to maintenance. If you want to have a deep link and go to maintenance in a new tab, that's also possible. But you can have anything that you want. You could even add a UI for changing the expression. We built also for predictors extent that an editing dialogue that allows you to change expressions without the complete, we could easily add it there. On top of that, probably you noticed that most of the report were using tables similar to the DHS table. So the idea is that we have something that is contextual actions that are basically action that you can perform to each row. So in most of the cases, we are extending the functionality to add new contextual action. And then we play around with the concept of single action and bulk actions. So there are two schemas, some actions can apply to a single row to a single data set or to a single indicator. And some other actions can apply to multiple of them. For instance, edit makes sense only to a single row, but delete is something that you can do to several of them or changing the setting, these kind of things. Yeah. Any other question? Yeah, I don't know all your names. Please raise your hand. Let me have Elmarie from historical Africa. No, we haven't made it available yet. Sorry, I will repeat the question. Yeah, the question is if we are making it available in the hub, in the DHS hub, we haven't made it available yet. But the idea is, to be honest, we have some ad hoc features here and there for different clients. We want to make it generic enough and then make it available in the GitHub. You can always find our code in our GitHub at ICT, but once we refine it, we will publish our solar apps in the DHS hub. Yeah, we should probably have spoken with Austin before, but maybe some steps to improve that and to further continue it to make the command on the command line application like officially or maybe add a new category on the app hub for only reports. We're not sure how they want to embrace that yet. On the end first, demo. Well, all of these reports are on my instance. It's admin district, so you can copy the URL and enter if you want to play with them. Just keep in mind they are not actual real world reports. They are like dummy reports built for the conference. Sure. Yeah, I will add the links on the community of practice. Okay, okay, perfect. Yeah, the question is that if we can add category option combos for datasets, yeah, we can do it. It's a little bit the same idea. Yeah, so basically everything can be added, but we need to do it. Okay, thank you very much. Next, we have Bernad Musa, who will share a very interesting innovation about user support in DHS2. Yes. I hope you can hear me. Okay. Yeah, my name is Bernad Musa. I am going to share a bit of what we have done in Tanzania in our efforts to strengthen user support in DHS2. So we have what is called a decentralized user support in DHS2 and this in particular case of HMIS support in Tanzania. Yeah, so a bit of a background to put a little bit of context. In Tanzania, DHS2 as a HMIS platform has been used since 2010 and it is mostly collecting routine health service data from health facilities, both private and public. And this data is captured, some are captured directly from the facility, health facilities, but some are summarized at facility and being entered at the district level. So we have over 8,000 health facilities across 184 districts and in 26 regions. And over time, as people were continuing to use DHS2, a lot of things have been added within, a lot of programs and other tools which are there. So currently we have over 25K users from all levels. People at the facilities, people at district level, regional levels, national levels, ministry, but also program and other partners which are using DHS2 like as a main system for health data. So with that, it means it requires a kind of a coordinated way to provide support to users in different levels depending on the need. So some need of capacity building in terms of how to use report, how to analyze data, some on how to improve dashboards and create dashboard. So there's a lot of things with these users you need to have kind of a way to provide or coordinated support. So a smooth running of this, of course, has been made possible among other factors as well to by having a dedicated central DHS2 support team which handles system administration and also responds to these user queries. So we have a team which comprises of people from the ministry, but also people working at the district level, but also including other partners which are designated by the ministry who are part of the national dedicated support team. But also we are taking full advantage of the inbuilt feedback message module where users are able to report or request their issues through the messaging app. So what we experienced as a challenge as the users were growing and the use of DHS2 as a national data warehouse for health is growing, we observe that most of the support were related to data set assignment queries and the central support team which is basically supposed to handle these queries requires getting into the maintenance app to assign and assign data sets based on the needs of the facilities. And at some point it results into delays to use the queries and complaints. So when I say data set assignments, I mean when there's a facility, the services which are offered in a particular facility depending on level if it is a dispensary or health center of hospitals and for some reason in Tanzania there are very dynamic changes of these services. At one month you have a facility offering ANC maybe an OPD, the next month there are changes, maybe the services have increased or also issues related to new facilities which have been created, they need to be assigned a new data set but also maybe a facility has been closed or some services not being offered at that particular month, they need to kind of take it out of that particular facility. So with these users and a lot of facility using the system it is becoming something that is frequently being requested as part of the user support. So over the years we've experienced this and we decided that I think maybe we need to have a different approach on handling this because there are the support also which are needed but we kind of thought maybe we have to go a little bit user centric. So we came up with an idea of to decentralize user support to use as a sub national level because most of the requests are coming from them but also with that we wanted to leverage the flexibility that DHS offers and also to be able to automate some response to these users queries but of course ultimately you want to be able to be a team where we can improve the time that we would respond to user queries and avoid any complaints. So the team at the University of Islam developed these two custom app which is called a user support app which now allows these sub national users to initiate requests. So at first they would go to to the feedback messaging, they would write maybe I want a data set A, B and C to be added to facility A, B and C okay. So as a support team we will need to also go to the application, the feedback and see the message, go to the maintenance and assign one one facility of the other on an assigned facility based on the request. So you can imagine the process that was involved to deal with a lot of users doing that. So the app is basically trying to I say automate but somehow semi-automate the process by ensuring that the users are able to make the request specifically request because in the messaging you need to read through the text so the issues of languages and everything that might be misinterpreted but also the central team to be able to easily approve or reject any requests related to assignment but also to have some sort of notification which is to use as when they you know when they write the request for maybe assigning a dataset to a facility, when you do that assignment you need to write it back and they'll also need to check if my request has been done or not. So we added some notifications so that it is easy to say your request has been attended or not. So key features of the app, it's a plug and play DHS2 custom app. It is generic enough to be at least adapted for now although it does not a lot of features but it allows automated requests for multiple dataset assignment to one facility. So this is particularly the case where maybe you have a new facility which has been added to the system and you have to add dataset for the service that is offered for that facility so you need to add multiple dataset to one facility but also automated request for one dataset assignment for multiple health facilities. This is in the case where maybe you have added a new collection tool as programs are coming in new collection tools are coming in so you might have one dataset which needs to be added to I mean multiple health facilities but also ability to view pending user requests easily view request related to dataset assignment approve or reject and when you reject you usually give a reason why you have rejected but also a lot for potential invalidity request for potential for rejection things like maybe a user's somehow for or maybe mistakenly selected all the datasets for one facility and that request comes you kind of question if this is okay or not. So we have a simple workflow for subnational user where now it's easy within the app now they can just go and select if this is something related to a new facility is it related to a new dataset and they can do the request select the facilities or a dataset and apply to the request. So this is a bit simpler they don't have to go right down on the messaging but also we have a workflow for the national support users where now they can just see okay these particular users requested this particular dataset to be applied so when they approve they don't have they don't actually need to go to the maintenance app since the user is already selected the dataset that needs to be assigned to a particular facility and the one we're supposed to approve sees the dataset and they just approve when that is approved the app now goes back and does the assignment automatically. So that is our user for one we're supposed to approve or reject when they reject of course they have to give reason why they're rejected so there are particular reasons why one can reject a particular request for example in Tanzania and I think is in most of other cases in primary health care like dispenser you don't expect it to have IPD dataset okay in patient dataset so that particular request might be rejected and give you a reason that we do not expect this particular service to be offered at this level of facility so those are and the other reasons for rejection things like there are some programs which are only implemented in some areas and you don't have everything in the whole country so but it might happen that the users requesting that particular tool for a program which is not implemented in their area so those are the reasons that might be there for rejection so this is a sample view of when a user maybe wants to multiple datasets request for an assignment for one facility the good part is also shows that easily a user can see in this particular facility how many datasets are currently assigned so for those who are working at the sub-national level they are aware that in my facility maybe for a health center the minimum number of dataset maybe is five or ten okay so they can easily see that okay for this particular facility this is the number of assigned dataset so far so if something is missing or something is to be added they know that maybe I need to request this but also they can view the the facilities and also dataset which have been assigned but also there's an ability as I say for one dataset request for multiple health facilities so you might have one dataset requesting one dataset for multiple health facilities as an example I gave you that it might be a new program that has been just added so the tools need to be assigned to particular a number of facilities so you have given we've given the ability for for sub-national user to to do such a request and for that support team to be able to to respond to such a request but also as I said when a request is rejected you have to give reasons why you have rejected and they actually the reason goes back to the user side the one who requested and they can see why their request has been rejected and also they can make another request or provide any kind of a commenting ability to provide any explanation on why maybe the request is valid or not but also as I said it provides a lot for potential invalid requests one of the of that is for instance here you have a dispenser requesting dataset for almost all dataset to be assigned to a particular facility so this is it provides some sort of a lot here for the one who is supposed to approve maybe they should go an extra mile and confirm this is a correct request or not and that can be done by rejecting and giving the reasons why you are rejecting and things like that as I said this support team has people from also sub-national level who understand the mechanics or the way things work down there but also people at the ministry level who usually related to knowing where a particular program is being implemented but also as a team which is providing technical support to the ministry also within the this particular application or support team so as as achievement I think as far as what the app does right now it has transformed user requests regarding dataset assignments for areas where the service has been started or stopped it very much simplified that and as I said there's a huge volume of facilities and dynamics related to datasets or reporting tools and of course we could not allow the maintenance app to be accessed by people who are at the lower level just to maintain the to be able to to have control of what has been changed as in terms of metadata and other areas within the application and this has been made faster and easier by the app response time it has gone to almost instantly because now the one is supporting is just seeing a notification that a particular facility once this dataset is approved when it is approved then that is it the message goes to the one who requested and the process in there you don't have to everyone goes to the maintenance app and start assigning one facility after another so that is how we've tried to do it but also it has relieved now the technical team from this particular task was just was becoming overwhelming and also give them time to concentrate on other also technical support that is actually needed to be done by this by this team so this part is a being it's been easy and now you can train anyone to be able to use this particular app to provide support so you can you probably have an ability to build more capacity for more users to be able to be part of the team which provides support because this is kind of straightforward on how you can you can provide support so next step as far as the app is concerned I think the the features as I said mostly right now is related to dataset assignment but we are seeing opportunity to improve and add more features in the app where we want to leverage the flexibility available in the DHS to be able to automate most of the tasks related to support new features which we are currently under development and I think Vincent also mentioned this we want also to make this in a mobile app we have we have a student club there DHS student student club we are giving tasks like this to or challenge like this to students where they can contribute also so we want to have a mobile app for this but also we have to add features like automation of request for validation rules so the process of creating validation rules is was kind of centralized but now we are seeing that there are some of validation rules which could be more relevant for for people who are working at subnational level and we want to give them the ability to be able to initiate requests to create this particular validation rules and be able for the central team to approve site validation rules which which are such as a similar way like we've done for dataset assignment but also we have we need to I think we're thinking of putting some intelligence within the app should be a little bit smart so that you can automate or how to reject some of the requests which you can you are sure that these are invalid request like the one I mentioned that you do not expect to have an inpatient form called I mean assigned to a dispensary so these should be outrightly rejected while the user is trying to to to make a request but for now it's not there and possibly we add a few other features as we continue to see how it is being used for now this is being rolled out and this is one of the application which is was very greatly appreciated by by the community because we have a community of HMIS for co-person from all levels and we have our subgroup which is we usually communicate and this is one of the app which is very much being celebrated within the community and they think they're seeing now that the response time because the main issues people are they requested for form to be added but it takes a long time but now things are a bit a bit easier and faster so thank you very much that is what I wanted to share yeah yeah actually something that we have been discussed even last week like we need to have some sort of a record of requests which have been approved and to be able to learn from these requests which have been approved and rejected to understand why why there are reasons to do that and maybe be able to automate more on that so on top of that we were thinking of having some sort of reporting on litics to show the trend of how how this process has been done and maybe in the future that kind of information will help us to to do more in terms of how we can automate some of this yeah maybe Vincent can have more yeah so so yeah in addition to what I said Vincent just mentioned that we are we have tasked one of the students within the DHS to club to work on a machine learning model which will be able to learn from what has been done and be able to maybe predict some of the issues which will come in the future and so that will be part of the up yeah um yeah can you are you using the data store when you save these or are you storing it in the in the tables original tables yeah I like to listen to answer that yeah so the the request I initially put in the data store and when you know when the user you know selects a one this maybe form to be assigned in this organization unit that request first is stored in the data store and then when the when it comes when they approve or when somebody comes to approve it it's then affected into the database today you know from the data set apis and things like that yeah the case two doesn't have a specific authority for data set assignment program assignment how do we get around this because if you are giving giving a person to do a data set assignment you have to give access to the maintenance module as well that has been a challenge for us you have data set assignment application that you released last time I don't know if it's Tanzania or you guys but because we need to give the maintenance up we are forced to drop it and we are forced to manage it so how did you get around this uh issue because unless it's somebody who's situated in the ministry or was higher authority uh how can other people do this so the maintenance app is needed for this uh okay the the people are proving actually have the authority to the maintenance app so they they basically have the authority to go into the maintenance app and assign forms and you know organization units and all of that so we just simplify that to to where they don't have to go into that process which I know is very tedious and they just you know approve and there they go so the the people are asking for that request usually they don't have access to those applications but the ones are proving they do have that access assignment process but we couldn't do this because of this specific user role authority issue thank you all right yeah maybe to add there so as as I said before of course there are people at this dedicated support uh team which usually used to handle it centrally so they have access to the maintenance app what we've done is just to leave them from just going step by step and just by one click they can approve or disapprove so they when they get requests from the lower levels or the sub-national level they are able to see what has been access and just click for approval or so I think the idea is you can't really get rid of the team that is supposed to be able to access the maintenance app that you cannot complete I don't think you can complete to get get rid of that but at least you can have maybe if it's a bigger team you can have a small team which is able to do a lot because this just a simple process being simplified like this thank you very much and you guys all come up we're wrapping up now but I just want to invite all of our presenters up here to say thank you thank you thank you very much thank you whatever else you would like to say thank you all very much big hand of round of applause and thank you for all your work looking forward to working together as a as a whole community to share these innovations more thank you all for joining