Hi everyone, my name is Steph, this is Little Bookish Teacher and today I'm going to share with you the six books that have been shortlisted for the Picture Book of the Year for the CBCA Book Awards in 2023. I've already reviewed the books that are in the Book of the Year for Early Childhood category, I'll leave that linked on the screen, but the Picture Book category is probably the most well-known one for these awards, particularly if you're in school, but I thought I would share one, what the award actually recognises and then go through the six books that have been shortlisted this year, as well as the things that I really enjoyed about them. So for the Picture Book of the Year, entries in this category should be outstanding books of the Picture Book genre in which the author and illustrator achieve artistic and literary unity or in a wordless picture books where the story theme or concept is unified through illustrations. The age category is 0 to 18 years and some of these books may be for older readers or mature readers. So the first book that I'm going to talk about is Farmhouse by Sophie Blackwell, who happens to be a two-time Caldecott medalist. This book is really gorgeous because it is the history of a farmhouse that Sophie actually found on a property that she bought and she discovered artifacts from this house that was falling down, things like wallpaper and clothing and whatnot, and started to piece together the history of this farmhouse and that's what this story is about. So the blurb says, over a hill at the end of a road by glittering stream that twists and turns stands a house with 12 children who eat and sleep and work and play, who get into trouble and argue and dream, who milk the cows and fish in the stream, a farmhouse where they are growing up, waiting to see what the future might bring. During two-time Caldecott medalist Sophie Blackwell on an enchanted visit to a farmhouse across time to a place that echoes with stories. The end papers in this book also reflect sort of the ephemera that Sophie has found and she has used collage and art and illustration to actually bring this story to life. I love this book because it's kind of a love letter to the past. Sophie had to investigate and find out more about the family who used to live here and there were in fact 12 children who lived in this house and she met some of the descendants who still lived in town and was able to piece together their story. In terms of the text there's no beginning or ending punctuation in the text so the story sort of weaves through the pages, it's very lyrical, it's very beautiful to read and the illustrations are so detailed they really invite you just to sit on each page and take it in as well as see how the text links to what is actually happening within the illustrations. I love that Sophie used found objects like wallpaper and curtains and bits and pieces to actually create her collage so they're woven into it along with more contemporary items that she has used to create the collage and I especially like that this is based off a real family and a real history because it really adds some depth to the story. There is a fantastic author's note at the end that also includes some photos of the house as Sophie found it and the things that she found there so it becomes a really great read like this would be perfect for older readers because there's so much to explore in it. Then there is Frank's Red Hat by Shawnee Avery which I think I've actually talked about on this channel before. This is another really gorgeous picture book and the blurb is Frank is full of ideas some are good and some are, some are not but when Frank gets a colorful idea in and on his head will a few nervous penguins stop him from sharing it. So this is about Frank who starts to knit these amazing beanies and after a couple of incidences gone wrong when some of the penguins try out his designs they really go no sorry no these these things make us nervous so we are we're not going to wear them anymore. And Frank is determined to sort of keep making something that his community will appreciate and when they don't he throws them out but as it turns out there are other animals that live around Frank's home who do deeply appreciate his ideas and his work and it's a really lovely story from that perspective. I love the beanie endpapers I just think they're so fun because straight away I can think of you know reading this book to kids and having them design their own beanie and talk about the significance of you know why they chose those colors or patterns or things like that. I love the very muted color palette it's all black and white except for the pops of color of Frank's beanies there are also things in the illustrations that happen that are not explicitly stated within the text so you have to pay close attention because they're really funny because there's a walrus and Frank keeps stealing parts of his task but you don't hear that in the text you just kind of figure it out from looking at what's happening in in the illustrations so things like that that really draw you in because you have to pay close attention to what's happening in the pictures. I like the idea of being brave and being strong enough to continue to pursue something that you are interested in a passion that you have despite the fact that everyone around you is telling you it's not a great idea so from that perspective it has really great risk taking and perseverance themes through it and I really appreciated that about this book class it's pretty funny. There is also the strange shrinking parents a tall tale by Zeno Sorder which is an absolutely gorgeous book and the blurb says one boy's parents travel from far off lands to improve their son's life but what happens next is unexpected what does it mean when your parents are different what shape does love take and what happens when your parents sacrifice a part of themselves for you so this is the story about a boy who has parents who are immigrants to a country and they sacrifice a lot for him to keep him safe to keep him healthy to make sure that he has the best chance at life and so as he continues to grow taller they begin to shrink. I love that this is a story about immigration and about the love of parents and the sacrifice that they make and it's done in such a really unique and interesting and visual way to show the lengths that a parent will go to for the sake of their children. I do love the teapot endpapers in this book I think they're absolutely gorgeous it's another connection to the place where the family is originally from and there are lots of little nods to culture in the book that are really beautiful. I love the really muted color palette in it it has that very old time looking through the lens of history sort of feel to it which is beautiful and also that idea of the transformative power of love and the way that this family just deeply loves each other and I just had a really wonderful time of reading this. This would be such a beautiful book to unpack with older students because there is so much in it and there is Our Dreaming by Curly Saunders and Dub Lefler. The blurb on this one says could you go little one walk with me I want to tell you our dreaming as the elders told it to me award-winning First Nations storytellers Gandangara raised Gnai woman Curly Saunders and big and ball man Deb Lufner explored deep love and respect for country and all her spirits past present and beyond. So this is a dreaming story it is told from the perspective of two echidnas who are traveling there is an elder echidna and a younger one and as they travel across the land they explore what the dreaming means to them. It is a beautiful Indigenous or First Nations story the illustrations are just soft and gorgeous the whole way throughout the book. It explores the significance of the dreaming as well as the way that it differs slightly between the different countries and the different people that belong to Australia's First Nations people. It highlights how these stories are passed from elders to the younger generations. It is a bilingual text we do have words in Gandangara and there is a word list at the back of the book to help unpack what those words mean and it is a gorgeous book with lots to look at on every page. I remember when it was first published but I hadn't had a chance to read it yet so I was so glad that I got to read it for this video. There is Paradise Sands by Levy Penfold. This is a really gorgeous book for older readers. On the back it simply says a story of enchantment and the blurb says when a young girl and her brothers step into a ghostly hotel they fall under the spell of the mysterious teller. She makes a deal with him to free them all from his haunting paradise but can she hold up her side of the bargain? A spellbinding tale sumptuously illustrated by Levy Penfold. So this is a book that right from the very start has a sense of foreboding about it as this group of kids who are trying to reach their mother stumble across this hotel. That is to use a word from the the book Enchanting and as they walk in there they suddenly discover it's not quite what it seems and it's up to the youngest daughter to free all of them so that they can go and visit their mother. It has a very lyrical and rhyming quality to the storytelling style which draws you in but also enhances that sense of foreboding, that sense of warning about what might happen next. These illustrations are absolutely gorgeous in detail. They're very photorealistic in a way and I loved that this Enchanted Hotel had that sense of almost that fey enchantment sort of quality, that idea of you can't eat or drink anything while you're in there or else you become trapped by that place. And it does have a message that you know everything does have a price.  She is in a place where they have to visit her and we realize that there is a link between the mother and this hotel as well and so there's a lot of opportunities for older readers to make connections and to tease out what the author might be trying to tell us within this story. So from that perspective it has a lot of depth and would be a really intriguing sort of book study I think for older readers. And then there is Dirt by Sea by Michael Wagner and illustrated by Tom Jellot which he says it hit the road on an unforgettable Ozzy adventure. This is actually a graphic novel. The blurb says Daisy loves her home and the red dirt all around it. She lives in sort of a central Australian location. When her dad realizes she thinks that the Australian anthem is about a country dirt by sea and that she's never seen the ocean he sets off to show her the wild and wonderful Ozzy coast and along the way they discover much more. So this is a road trip book. I love the end papers in this book because this is a map of Australia that Daisy has created and then when you get to the end of the book she is filled it in because she has been to all of these places and suddenly she knows more about them. As I said it is told in a very in a comic style and Daisy and her dad set off on this epic coastal trip. They literally travel all the way around the coastline of Australia to all the different states and along the way they get to know each other and grow closer together. As I said I love the end papers. I love this road trip quality. This is probably feels the most Ozzy in terms of language style. There's colloquialisms and slang used. I love that we get a lot of iconic coastal landmarks around the country. There are little titles that clue us into exactly where they are. I had a bit of a laugh because I've been watching a documentary recently on Ningaloo and it featured in this book and I thought that was great timing because I didn't know all that much about Ningaloo until I was watching the documentary so it was very timely for me. And most importantly I think we have this beautiful connection between a father and his daughter when they may not have necessarily been close before. We find out that something has obviously happened to Daisy's mom. She's no longer with them and this is a way for them to actually grow not only closer to each other but to their memories of her. And I think that is really poignant especially in something that is as fun as this road trip where they're doing all of these amazing things and seeing incredible sights. And of course there are plenty of Australian facts in here so this is a really great one if you want something that is a gentle information text about places in Australia while still having a really fun, entertaining, engaging story. Alright so those are the six books that are shortlisted for the picture book of the year category for the CBCA Awards. I really don't know which one will take out a category. I have a sneaking suspicion it might be my strange shrinking parents but other than that I think it could be any of them. I think they're all incredibly illustrated, they've got amazing stories. They're all very different from one another as well which is nice that there is such a variety in the shortlist this year. I'm looking forward to finding out in August which one has actually won the category but I think they're all amazing books that have so much potential for use in the classroom. So I will leave links to all of the books and more information about them down below so you can check them out. In the comments I'd love to know if you've read any of them or if you've used them in a classroom or if you've just read them with your own children. Feel free to have a chat to me about them down below. Otherwise I hope that wherever you are in the world you're staying safe and healthy and I will see you in my next video. Thanks so much for watching, bye everyone.


Okay, let's continue. Deutsche Einheitskursche in the middle or a German unified shorthand is still in use in official shorthand system in Germany and Austria. So yeah, to come back to our question, can Transkibels deal with shorthand? From our experience, we can say yes, it can and it's still not working here. Can we switch? No? Nope. Yeah, yes, it can. Yeah. So, and we have to prove it. So we have been, or we will be able to train some promising models by now. You can see two examples here. It's still work in progress, but we can say that Transkibels can prove its smart capabilities in this case. Here, just some examples. It can differentiate between long head and shorthand. It recognizes different positions of characters within the writing space and so on. But there are still two big challenges, despite all the others that shorthand brings. As always, there's a small amount of prescribed materials so that you can create your ground chute and few experts that can assist you to creating your ground chute. But nevertheless, you can address these challenges by optimizing your workflow as in many cases. And here, just to point out three things. You can, in the case of shorthand or shorthand in German language, create synthetic training data and add to your ground chute. You can, or it might be useful to reduce your learning rate during your training model training. And of course, at the end, you can, or it might be useful, or it might be useful, not, it might be, it is useful to correct your output and refine the output using additional tools. So we can continue. Speaking of using additional tools, we played around with the GPT-4 for post-correction of shorthand HDR results and our results were mixed. So with the Deutsche Einheitsquadschrift, as you can see here, the quality was very good. So almost all errors were corrected by the language model, as you can see with the green marks down below here. But regrettably, the important Gabelsberger shorthand system, the results were really bad. So the model for Gabelsberger has a higher CR, which means that the transcription is worse than the Deutsche Einheitsquadschrift HDR results. And here, GPT-4 hallucinated, yeah, really, really bad. So we cannot use it for Gabelsberger right now. So to conclude, shorthand is tough, but it works to some degree. The reducing the learning rate during training seemed to help. And synthetic data, we do have synthetic data for Deutsche Einheitsquadschrift, but we don't for Gabelsberger. It would be good to add synthetic Gabelsberger training data for our training, right? So regarding the role of large language models, if an expert can correct it, and if the CR is low enough, LLMs will help, but if the CR is not good enough, it won't make any sense to use it. That's our experience, and we are hoping for transformer-based models for shorthand in the future. Thank you. Thank you for this very insightful talk on shorthand. Any questions? Yeah, for the people over. Yeah, thanks for this interesting talk. And how did you create synthetic data? There's a tool online where you can input longhand, and it will convert it to a shorthand to Deutsche Einheitsquadschrift. I think we have one more. We have a slide with... We have prepared some more slides for you. Ah, back. Okay, yeah, you have different tools, which you can use. One of these, for example, is on the left side. That's how it looks like. And then you have here where you can find it, and this one you can use. Sorry. This one you can use, you just put your digital text, and it transforms your digital text to an analog shorthand. Just put your text, and you have also on this page, you can find some prepared data already, like the whole books, which were transformed to synthetic data. This is only for Deutsche Einheitsquadschrift. You have also tools for Stolzisch-Rei system, but for Gabelsberger, no, there is not yet a tool available online. Yeah. Other questions? There is one on the left. Okay. So maybe they have a question. Thank you. Can you explain how you exactly use GPT? That's the question. Well, for the time being, we just played around. We connected prompt engineering and asked GPT nicely to, and then we interpreted, we conducted a qualitative interpretation for the time being. If this goes to a production stage, of course we would use the API, but for the time being, it's just the same prompt for Deutsche Einheitsquadschrift and for Gabelsberger, yielded vastly different results.


Good afternoon everyone. Actually good evening. It's it's night This is a nighttime Stockswish show and I'm here tonight to do a little motivational lecture for you for you Whether you trained or whether you've been thinking about training or you just watch my videos The thing is that you know every once in a while I do a lecture in the room and I say gosh, I I wish I would have tape recorded that And I do a lot of spontaneous lectures in the training room and I wish I would tape record them and today I did one and so I thought you know what?  Well, most people just open up an account. They open up a training account They think that's the number one most important thing, but actually it's not the number one most important thing It's the easiest thing that you can do is it up a trading account. There's a million brokers You can go anywhere you want. Okay. It takes like a day to what the most. All right The number one most important thing that you want to do If you want to make money in the market and start trading is not to open up a live account It's to learn how to trade Many people don't get that they think opening the account is the first step That's that's after you know what to do. In fact what you should do as a person Wanting to be successful is learn how to trade and not even open a live account Train a demo until you have it down and then train live account now What is the time involved with that? It could be it could be two days that you could trade a demo until you opened up the live account Or it could be a week or it could be a month you have to decide you'll know when you're ready But the point I'm trying to make is that that is secondary the learning is first why Because if you open up a live account and you don't know how to trade Chances are you'll lose money and I hate to see people lose money I hate to see myself lose money when I take a trade that doesn't work Which occasionally happens like it does to everyone and I hate to see people I know or don't even know that I just email correspond with lose money in the market because they're doing things that they Shouldn't be doing it. I have no idea how to do I'm gonna tell you a story And this is the topic that brought up the room lecture today. I had a man email me. His name is Lauren It's 2016. It's May 2016 Lauren Has been following me for more than two years. It might be three. It could even be four But I went back to look to see the last time I talked to Lauren It was September of 2014 So Lauren's on my email list and he emailed me yesterday After I sent out a play of the day video and Lauren said Melissa Can't you offer a trade service? Can you just offer a trade alert service that says the stock pick or the trade pick in the morning or something like that, Melissa So I can do your trades Lauren has not done the golden gap class I Said Lauren. No, I don't have anything like that. I'm not going to get anything like that Lauren's like here Take my credit card. Take my paypal. I want to sign up for the trade service I don't have anything like that, but he was trying to talk me into doing something like this to help him The thing is that at the time when I talked to Lauren back in september 2014 the class was not 49 99 I I don't remember what it was, but I know it wasn't 49 99 It was either 24 99 or 1999. I don't even remember I'd have to go back But I do know that at that time Lauren did do the class And he thought about it and he didn't do anything And he still kept following me and I believe that Lauren is convinced that my system works And now the class is double what he could have paid two and a half years ago And he wants a trade service, which I can't give people When I lectured in the room today, I said this and this is very important And this is the gist of what I'm saying tonight and this is what I want you to take away from This is the takeaway from tonight's lecture If you don't have a lot of money, but you know what to do and how to trade You can turn the amount of money that you have Whether it's one dollar or a hundred dollars or a thousand dollars or ten thousand dollars You can turn that money into profit into more Risking it in the market if you have the right knowledge and if you know what to do And that being said if you have Millions of dollars hundreds of thousands of dollars you can lose it all in the market and more go bankrupt If you don't know what to do So what's the moral of the story? The moral of the story is the only way to be successful in the market is to learn what to do whether you have a little bit of money or a lot of money And one team to get trained calls from people without knowing what to do will never get you where you want to go First of all right now. I'm teaching the class. I do it for every four to six weeks on average once a month basically I do not know how often I will be continuing to do the class Going forward. I still am going to teach the class. What if it's only once a year? What if it's twice a year? What if it's more than five thousand dollars or 49 99 it is now The point i'm trying to make is that waiting To get to a point where you don't realize that the power Of your full-on potential is in the information You you you will you're gonna miss the boat the the boat of life The the boat of success the boat of trading success the cruise ship. I wish I could show you if I Had this desk over there. I would show you right now the cruise ships are out there They're docking I live along the Hudson River Manhattan I can see everything right there from my living room and my bedroom. It's gorgeous I wish I could show you but the cruise ships of life of trading success are about to take off Whenever that horn goes off tomorrow morning around 7 a.m. They're leaving you're not on the ship It's going without you Think of me as a ship Think of the market as a ship Okay The gist of what i'm trying to say is that knowledge is so important If you do not get the right knowledge, it doesn't matter how much money you have And if you get the right knowledge, it doesn't matter how little money you have you can become a success You can become an overnight success. It doesn't have to take forever People want to wait till they have the money for the account and the class and everything else Hey, listen being organized is great But sometimes you ain't too long opportunity passes you by And you don't get it people that are evolved Get it. Okay that the power is in the knowledge when I teach the class. I'm empowering you You don't have to take the same trades I take you can rate other gaps I don't even read you got to have a hundred percent conviction doing the gaps yourself I'm teaching you so that you can use your amazing Fantastic brain to do it yourself My goal is not to have a trade service even though as lauren pointed out I can make all of this money thousands and thousands of dollars. That's not my goal That's not my business model. That is not what got me to this place in my life that I now have Two employees a successful business for more than four years I'm training for a Okay, a great strategy and an opportunity To be on a live stage in the world of entertainment on radio and television I did not get to this place by making Short-sighted choices. I got to this place by thinking about what counts what matters and I'm trying to teach this to you Okay, the knowledge is what counts being evolved is what counts once you get that once you grasp that Once you understand you you actually claim your own power You claim your own power You say I am going to do this I'm going to learn how to do this as well as melissa. I'm going to do it for myself And then I don't even need melissa or her calls or anything else That is what I would like to see actually for everyone.  I want you to become more evolved I'm not trying to get people to do the class to sell them thing after thing after thing after thing I have a couple other classes, but The one class that teaches you how to trade make money is a golden gap class That's that's that's the only one every the other class that I teach has information that is Advanced to help you become better once you do the golden gap But it's the golden gap that teaches you how to make money in the market without that You won't be able to do it Getting the trade calls is not something that's going to teach you how to trade when I started out I went from trading room to trading room myself. I was jumping all over the place I was doing lots of different rooms and You know I went through my own process and like I said, I mean I lost money at the beginning I was trying different things And it took me about three years to figure out the strategy that I know now It was a long long road But the point I'm trying to make is that I would not be where I'm at today if I took trade calls from other people Being in the other rooms the free rooms the free webinars did not get me to this point today It's a process And at some point you have to decide that you want to Become powerful with the information, which is what you get from me Now the price of the class is 49.99. I've raised it since I started the business several times You can make that money in one trade with me You could make more than that If you risk a small amount you can make it in a week or a month I don't know how much you're going to risk But I'm telling you it has nothing to do with that It has to do with the fact that you could come and learn from me in two days Enough information that you could use for the rest of your life for as long as you're alive What what would that be worth to you? To me actually I can't put a price in the class There's actually no price that I could put on the class I decided to do a business and teach people my information. So I set a price I've continually raised it for Reasons that have to do with the fact that in my mind It's actually priceless Because it was three some years of my life And a lot of money in the market And if I look back I'd say I Can't ever replicate that time in my life And I don't want to teach anyone what I know because no one would go through that process that I did to get to this point And yet somewhere along the line I realized that I have a voice to teach and talk to people and that I actually enjoy it That it actually stimulates me And it actually benefits me and helps me become more involved as a person. It's helped my trading.  And so So i'm giving back i'm giving back by even teaching my class at all Even though i'm charging a fee for my time and the information It is my time and it is my information and I own it So for me to impart that to you There's a cost But then you know it for the rest of your life And that means everything It it means everything Because even if you have a small amount of money you could turn it into more if you know what to do And if you had millions of dollars you could lose it all on the market if you don't have a clue And by the way people do So be smart Make good choices Don't worry about taking live trades or setting up an account until you learn how to trade first it is so important for you to learn and I I mean I can teach you I'm doing it myself and I've taught a lot of people in the last four years And if you want to wait for a trade service, it's not going to happen with me because I think it's important for people to learn And you will never get the information from being in a room with me or coming to the webinars or watching every video I have on youtube, which I think it's over a thousand now or something for the last four years You got to learn and you got to do it and that's part of the commitment and the ownership You say I'm doing this a full on I don't even need melissa the power is mine Once you learn the information knowledge is power and intelligent people and evolve people in the world get that So there we have it Have a great night everyone email me at melissa at the stockswish.com if you would like more information Have a great night


Let's look at the geometric object class again. I've added two methods, get area and get perimeter, to this base class. Both of these methods are turned zero. Looking at the circle class, I'm overriding those methods. In this case, the perimeter of a circle is its circumference. Here in rectangle, I'm also overriding get area and get perimeter to calculate the area and perimeter of a rectangle. Finally, I have a new class, triangle, which also extends geometric object, and defines a triangle by the lengths of its sides. And here are the methods for calculating its area and perimeter. Now take a look at this test program. I'm going to try this. I'm going to create a geometric object called shape and assign it to be a new circle with a radius of three color blue filled. Let's view our message window and compile this to see if it compiles OK. And it does. Why? Because circle extends a geometric object, anything that's a circle is also a geometric object. This does not work the other way. If I try to say circle C equals new geometric object, the compiler will complain that geometric objects can't be converted to circle. That's because all circles are geometric objects, but not all geometric objects are necessarily circles. Now let's create an array of three geometric objects. Again, all of this is valid because a circle extends geometric object, rectangles are geometric objects, and triangles are geometric objects. I want some code to get the total area of all three shapes. We'll set double total area to zero, and then have a for loop, which goes through the entire array, and say that total area plus and becomes shapes sub i dot get area, and then print the result. What do you think will happen when we run this program? You might be thinking that we'll get zero. After all, this is an array of geometric objects, and in geometric object dot Java, we've said that get area returns zero. Let's compile this, and then let's run it, and it turns out we don't get zero. There are really two things that are going on here. Let's look at what happens when the compiler sees the Java code. As far as it's concerned, all the elements of shapes are geometric objects, and that base class has a get area method. That's why the compiler doesn't complain when we say shapes sub i dot get area. At runtime, things are different. At runtime, things are different. With the program runs, Java looks at the object that is actually stored in each array element. First element is truly a circle, so circle's get area method is called. The second element is a rectangle, and rectangles get area method is called. The third element is a triangle, and its get area method is called. That's why the sum of the areas came up to something other than zero. This is called polymorphism, from the Greek words meaning many forms. In Java, polymorphism means that a parent class variable refers to a child class object. At compile time, Java sees variable shape as a geometric object, the parent class. At runtime, Java sees its form as a circle.


Good afternoon, everybody, including Dan, who you sit down. Out. Yeah, that's funny. I remember when I was at university, I had a lecture. I said, if your phone goes off during the lecture, you have to stand up and sing a song. You've been warned. Well, welcome to this session on fire. I'm only going to talk very briefly, a couple of small introductory slides. And then we're going to set Morten loose. Sorry, for those of you online, the physical participants have been locked out. Do we need to wedge it open or something? Rewind. Will we try again? Welcome again. Usually during the annual conference, we've got a mixture of some more kind of health related sessions, some more higher level management kind of sessions. And every now and again, we do some kind of deep dive technical session. This one starts off fairly, fairly lucid and then is rapidly going to descend into into sort of nuts and bolts. So if that's not your thing and you don't get it, we won't feel offended if you feel you need to need to walk out. But yeah, what we want to talk really is a little bit about about where we are within the DHIS to strategic and tactical thinking around fire. And mostly I want to introduce some of the tooling that we've been developing that makes it reasonably easy for people to do all kinds of integration really, but also including including fire. We show a few examples of that Morten will do that.  I can never remember exactly I have to read it out. Fast health interoperability resources. Okay, it's a specification. It's a bit of a moving specification. It's gone through a couple of maturity levels. It's been maintained by the HL7 fire foundation. So it comes from food heritage, I suppose. It's been gathering support and traction within the healthcare IT industry. I guess, particularly in the US, so bit in Europe and also things happening elsewhere. It's been gathering quite a lot of attention within it within our own traditional communities, if you like, particularly the likes of open HIE, which I've been part of for the last 10 years or something. WHO, many of you will have seen what was the digital accelerated kits and now the smarts guidelines. Given the DHS to footprint in the wells, and sometimes I wish we didn't have it, but we do. Given the DHS to footprint in the world, it's quite important. It's necessary, in fact, that we have some kind of coherence and pragmatic and strategic, and I should add helpful position regarding fire. They're looking at it broadly. We've had long discussions with who did we talk to? James Agnew from the Happy Fire server. We've looked at what they've done in the NHS in the UK. I had some chats with Epic engineers in the US from some years back. Basically, we've got two basic possibilities. We can take Tracker and Tracker's data model. Everybody hates the Tracker data model. You only get the right to hate what you use. We can just get rid of that and replace it underneath with a Happy Fire repository. That's not really very likely to happen. For all the same reasons that most of the other legacy systems, be they Epic or NHS, whatever they are, there's too much value already being drawn out of Tracker the way it is. Also, it's not just used for health. We're also using for education, forestry management. First option is not really on. The other option we have is to build what they call facades. We have DHS2 and its data model there when you have something there which provides a facade so that from the outside it can read and write fire stuff. We've mostly over the last six months, I guess, developed quite a number of ways of building fire facades. That was not really for us to do. We've developed some tooling models going to show you later, which is mainly to help people out there who are doing integration projects to use. It's not just, in fact, for using with fire. It's for using more generally with integration. But given that we're not likely to do the first one, we need to have much more focus on this, to drive much more discussion in the direction of using fire for interoperability rather than thinking that somehow what's going to happen is that everybody's going to rip out their data model and replace them with fire repositories. As fire repositories talking to each other, that's like saying everybody's got to use Microsoft Word. It doesn't solve the fundamental interoperability problem of dealing with legacy systems that have to make facades. This is my opinion, by the way, this disclaimer. You can argue with me. So a technical approach, and I know some of you have been around for a bit longer, might remember probably two or three annual conferences back. There was this DHS2 fire adapter. It was created by a very smart German guy by the name of Volker, who was working with us unfortunately for quite a short while. Volker left, and it was actually quite hard to maintain. I think the approach that he took was maybe in some ways a little bit too clever. Often what we need is something much, much simpler. It's not dead. The repository has been forked since now officially maintained by ITI Nordic, which is Ranga's team. Ranga, where's Ranga? Ranga's not here. Okay, it's Adrian. Adrian's Ranga is standing here with ITI Nordic. So ITI Nordic is a company started by Ranga. It's kind of based with one foot in Norway and another foot in Zimbabwe. Most of the developers are in Zimbabwe. They had started using it in some projects, so they decided that it was in their interest to carry on with it. The other thing we've noticed quite recently is that the OpenSRP project as well have taken that repository and forked it. And I think they're now calling it the OpenSRP DHS2 connector. That's okay. We're generous. We don't mind. In fact, it's good. It's good that all that work that was done has not been wasted, right? And that there are folks still interested in doing that. Well, we've done, I suppose, within the DHS2 integration team. I should say it's basically just, it's me, it's Morton. We've recently got a full-time integration engineer, Claude, who I haven't seen. Claude, I thought you were hiding away somewhere. And we've quite a lot of people who are in and out. We're coming from different parts of the DHS2 system, whether it be in Oslo, talking to the tracker team, talking to Rebecca in the packages team, and mostly talking to people in the HIST groups, because we're talking much more tomorrow, a little bit about architecture.  None of it happens here. The best we can do, really, I guess, is to try to find, provide tooling and approaches and patterns and friends, like our open function friends, that make it easier for people out there in the field who are solving real problems. And that's a bit what we're going to show you today. A little bit of using some of this generic tooling to help people do fire stuff, and not doing it in the sense of assuming that we're a fire repository, because we're not. And there's always going to be some limits that result from that. But in fact, we can do quite a lot. Getting data in and out of DHS2. I mean, it's very, very possible using fire. If the fire has been designed sensitively, let me say, and it's really not so hard. Are you on from here? I don't know. Do I have enough? All right, so that's a brief intro for me about the general approach. I'm going to show you lots and lots of, well, lots, I don't know, two or three, interesting examples, I hope. And hopefully we've got an hour or so. We've got a little bit of time. Yeah, I think we will have some time for questions in the end. My demo's gonna take that long. It's going to be a bit of Java code. This is the warning Bob mentioned before. We start getting into that stuff. Does anybody want to ask me anything before we let him loose? All right, good. Ah, Manzi. Don't ask me anything difficult. Oh, all the acronyms.  We even have DHIS too. Yeah, all right. Okay, FHIR. That's a standard or an emerging standard that's developed within the HL7 community, which is traditionally the kind of consortium building standards in the health care sector. OpenHAE is something completely different. OpenHAE is a collaborative community of different projects who are involved with providing different parts of a health information exchange architecture. What was the other one? OpenSRP. I don't know what OpenSRP stands for. It's a project by a team called ONER. They're based in Kenya. They're doing quite a lot of FHIR stuff, quite interesting things. And one of the things that we've seen they've done is they've taken our FHIR adapter. Okay. Right, Morten. Do I need to take this off? You have your own.  I don't know how to put it. I think it's just on the top. But it's fine. Okay, so let's get started. So the example we're going to show today is maybe not the most interesting ones. We've done this in the past. We're going to use something called MCSD, or we're going to use that as an example. MCSD is basically for exchanging organization units. So today, we're basically going to take organizing strategies to put them into a happy fire. But the approach is more interesting that they actually end results. So to achieve that, we kind of have kind of developed, or not developed, chosen a new stack for the integration team. And everything we do going forward, we're going to be using these components. And we're going to use something called Apache Camel. Bob could talk about that for days, I'm sure. We're just going to know it's basically this implementation of what's called the enterprise integration patterns. It's been around for, I don't know how long, 15, 20 years for a long, long, long time. So that's basically kind of the engine of everything that kind of starts up the integration that handles routing, that handles decisions, that handles formatting of data and so on and so on. Another software we have selected, and you might recognize this from DHS-2. This is actually MQ Artemis, which is already supported in DHS-2. We're using it for audits. So if you're on a recent version of DHS-2, maybe 235 and up, you're already using Artemis behind the scene because it starts up embedded in DHS-2. But you can also externalize it if you want. So that's basically used for queuing basically. So if you have something, and if you can just process, you want to push something into queue, and then you have one or more consumers kind of working on that queue. It's a very common pattern when it comes to integration. So Claude, sitting back, our new integration engineer, is developing what we call in the Java SDK, which is basically a client library for DHS-2. It's quite simple, but it just kind of takes away some of the hassle of talking to DHS-2. You're just creating a DHS client and you kind of start talking to DHS-2 and you're getting resources and so on. We also developed, based on JSON schema, virtual classes or organization units and data elements and so on. And I pointed to a specific version of DHS-2. We're not going to look into that too much today, but I just want to mention that. There's a link here if you want to know more about the project. It's in heavy development, so there might be some bugs and so on, but it's being worked on. The next one we created our own camel component. So if you ever use camel, it was the example of this student, but if you ever use camel, you know, camel has what's called components for all kinds of stuff. It could be for mail, it could be for Trilio access, it might be for JMS, it might be for HTTP access and so on. It's basically a way of accessing some data. So for DHS-2, we're saying give me this resource on the DHS-2 server, for example. And we'll see that soon. Today, we will also be using another camel component called the Apache Caval fire component. And that's basically what takes care of sending the end result after we're getting the organets and transferring them, sending that to the actual happy fire server. It's a very nice component. I highly recommend it if you're using... I think the camel on fire is a very, very nice component. Yeah, this is a picture of the same as I just said. We don't have to go into that. I think we're just going to jump to some examples. As I said, we're just going to focus on a profile that came out of the open HIE people called MCSD. It's, again, just a way of wrapping organets into fire, basically. That's kind of a standardized version of doing that. In fire, you would normally create something called a profile that kind of puts constraints on resources. So yeah. Very simple. We're going to start with something simple. There's a Java-based converter that will take data for DHS-2 converted to using Java itself, and then I push that to fire. We're going to do something called a data sonnet-based converter. This is a language for doing... Well, it can do a few things, but basically using for JSON to JSON transformations. So it's actually a language. It's based on JSON. You can have it with the for loops and so on. We will see that soon. And then we will end up with the nice PubSub example for Artemis. So this is the published and subscribed model that we're using Artemis as the queue in the middle. So there will be two scripts for that one. All the examples can be found on my GitHub. If you want to know more examples, we do have some examples on the main DHS-2 repo also. There are not that many right now, but there are a few. I probably moved my examples also into there at some point, so we can kind of keep them in one location. So the last link is not an example, the post-story, but it's actually something that's going under going and heavy development. And that's our DHS-2 to rapid pro connector. And that's it's using everything you're going to see today. So it's using camel, it's using data sonnet, it's using all the things you will see today. So if you want to see a bit more real example, and not just like a few lines, this is probably the place to go. What can I just add a little bit? And that doesn't use fire, right? The DHS-2 to fire to rapid pro. More is going to focus on org units, but to me there's quite a lot of other fire resources that we've got examples of. And probably the one that's going to be most interesting, I don't know if we have anyone from his Latin America, or from PAHO. Yeah, we've been talking a lot with PAHO over the last six months or so, I guess, on using fire questionnaires and questionnaire response. So there is a questionnaire example in that integration examples repository. But you're not doing it today? No, we're not showing that today. There's also a patient example, a very simple patient example that just pulls up patients from DHS-2 and puts into a happy fire, but also very, very basic. It doesn't have any data or anything like that, but it can be a starting point. And again, what you're showing today is just an approach. So you can replace the organist stuff with patients or whatever, and it will be repeated with the same approach to it. That's kind of the idea. Okay. Let me just open up my things. So I probably have to... Probably a bit small. Let me try to zoom in a bit. But it doesn't matter. I can just zoom in on the actual... So I'm not going to go step-by-step on all the things here. I don't think that makes sense. But I will kind of give you kind of a overview of the general approach. So this is not the one... Let's start with this one. So this is the first example I mentioned. Trying to zoom a bit. Yeah. That should be okay. Hopefully. So this is the first, first example. All it really does, it will start up timer. In this case, we just... Something we just do once. So it's not the cron job or anything like that. It's just a one-time thing because it's demo. Naming the root can be useful, especially if you're going to use something like hot.io. So I don't think I've mentioned before, but that's kind of a monitoring tool for... ... ... Other than that, we are seeing an example of the users of the DHS2 component. And that's probably the most interesting here, is that you probably recognize this order and paging and fields. It's all from DHS2, from the field filtering API. And then we're just setting that as parameters to the component. So you even know how to add that when it's doing the actual request. Order is a bit important here. You have to do that just because you get the levels, level one first, then level two, level three, level so on. So you should know all the parent pointers are correct. There's a bug here, but I will not... Don't take so much about this right now. This is not required soon. What is interesting here, I did mention that we have created models based on the schema. So in this case, we are actually pointing to a specific model for DHS2. So we're targeting a specific version of DHS2. You don't have to do it like this, but that's one of the approaches we kind of decided on for this project. That means that you can also target 238. So if something was added in 238, you can just point to that 238 organization unit instead. And you know that would be correct and you would get auto completion and so on for that class. And of course, the last one is the client. I'm just going to quickly show you how that's set up. It's pretty straightforward. As you see, it's not very far from how we define a proprietary client. But basically you're saying doing a client builder is saying the base URL, the username and password and so on. And I think also Pats are supporting that. Soon, soon. Okay. So this new personal access tokens that we have now in DHS2, there will also soon be supported by this one. You see, username and password is probably not what you want to do in going forward. And then we are basically just injecting the client here. That's all. So now this component know the client it can use. So you can have multiple clients. You can imagine the source client, the target client. If you have DHS2 to DHS2, for example, then you just have two, sorry, from DHS2 to DHS2, but with different clients. It's just a source and then target client. The next thing we do, we do what's called a split. And all that really does is to kind of take the list of organization units and just gives you one by one. It was like a for loop almost. And then we convert one by one into the MCSD profile. This is basically a location and organization. And you can quickly go through that. I'm not going to go through all this code. This one you can have a look at yourself if you want. It's not much, but it's just too much to go through now. Basically, you're setting up a camel converter. You're saying, okay, input is organization unit. Remember, this is the specific version we had as a parameter. And then you have the exchange where you're going to get the body and all kind of stuff if you want. Then we're returning a bundle. A bundle in fire is just like an atomic unit, basically, if you want. It doesn't have to be, but in this case we're doing a transaction bound bundle. What's really important is this one. I just want to mention that this is just so the fire component know which bundle to actually send to the server.  Again, we're setting the client. In this case, of course, the fire client. We will get some kind of return. Whatever is returned from that transaction it's a JSON. So we just marshal that. Sorry. We marshal it. Marshal into fire version 4 and then we just print out the result basically. In this case, it's all successful, but it might be some bugs that you might have some to try retry logic or you might have some exception handling and so on, of course. Again, this is a demo. So we don't really... All of these things like from and to and split and body and convert body into those are all camel primitives. So when you're using Apache camel, you get to the command completion on them, but you basically describe your route like that and it can also be rendered in a graphical form so you can see your route as well. So camel provides you with that sort of scaffolding or putting the things together. Yes. So what's remaining now is to actually run the example. I'm just going to check that play that is actually open. It goes down sometimes so I just want to verify that. So I'm actually pulling it directly from the play dev server. It seems to be running. So good. And then I will start up a fire server. So I'm just using the happy fire CLI. Probably not necessarily what you want to do in the production. We probably want to set up your Tomcat or whatever it runs properly. But in this case we're just using the happy fire CLI. So this is version 5.6.0 version of the happy fire client. Just starting up a server now on port 1990. We are using version 4 of the fire standard. Version 5 is out, but version 4 is going to be the most used for quite some time to come. And that's also what we're going to base ourselves on. Who knows? At some point we probably want to modify, but that's not happening yet. So I'm just starting that up. This is an empty server. We'll take a little bit of time to start up. This one you can just download from the website by the way and then you just run the jar file basically and add the parameters. It's also available in up to get I think and the brew for Max and a few other things. So it's a very nice and simple way to start starting up a fire server. Especially for the demos and so on. So I'm just going to refresh page. So now we have a fire server up and running. Okay. And I created a configuration file a spring boot configuration file for this one. So you can just have a look. You see this is my setup. I think I actually changed the ports. I was just going to change that 1990. The rest is not so important right now. I do hold IO integration. We might want to look at that quickly after. But right now this is kind of the basics. Using just the normal player server admin district and so on. And we're doing a bit of introspection using jmx and this this basically just get hot IO to work. We'll show that later. Okay. So let me start up here. So we are going to run this thing. Is it big enough? A bit bigger. Nothing too crazy. I'm just building the project basically. And then you see spring boot is starting up. And now we are starting on. Now we are talking to play dev server. Soon we will see a lot of text coming up with these other results. All the results from the fire server. From the split. And again there is a for loop. So we are doing one organ, one organ, one organ. I try to do it in one big batch. But happy fire doesn't seem to be too happy with that always. So it seems to be a lot better to do many, many small ones. And actually it's quicker in a way. So that seems to be the best approach to it. And you will see now they all created. But because of the way I define the bundle I'm using a search parameter on it. So if you run it one more time this will stop it. And you can run it one more time. And this is kind of a nice approach. We have this create or update strategy which is kind of the default. And by using a search parameter where you put here it will create if it doesn't exist and update if it exists. So now you see it's giving a 200 okay and that's basically update okay. Actually we don't actually update anything in this case. But still that's how it will work. And we can also just verify and go into application search. You'll see now we have a bunch of locations. We also have organizations. And you can just have a look at one. So you see this is on the okay. But you see this is just the fire resource itself. Yeah. So that sure, sure. 100% yes. Yeah. You will have some potential issues just because of the metadata. You need to probably skip sharing. You probably want to, if you have attributes you probably want to sync those first. If that's it's going to fail. So you have to think, have a few considerations before you do that. But when those things are going to in sync you can definitely do this. You can do like a nightly job or whenever you want it basically. Yeah. We have something better coming up that you could also use. We're going to create what's called the eventing system inside the DCS2. So basically what that means is that instead of kind of nightly just getting everything and pushing it into fire you should be able to listen to changes of metadata. And then you can react to those. So you say just maybe it will be part of the DCS component. You're saying just listen to DCS2. I want this type. Then you can do immediate sync. You potentially do real-time sync. Although for organics probably not that important but you could. Martin is just because if anyone wants to ask a question we love questions. Point to Martin. He'll come with a mic. Because there's not so many people on Zoom. Hi Martin. So I understand Camel is the way we are talking to the underlying fire transport mechanism. So Camel gives us the interface the API to that. Camel is kind of the engine that runs everything. Camel has a bunch of components built in. And we have also created one of our own. But Camel is the engine of integration basically. What is fire giving you? Why do we need both? So yeah. As Martin was showing at the start. Camel has a lot of components. Components talk to AWS. Components talk to Kafka. You can talk to Slack. And it has a component to talk to fire. So one end point. In your route would be a fire end point. Now what Claude has made is also a component to talking to DHS2. What Camel does is a way to allow you to string those things together. I do things like the split. Yeah. Before the initial version of that he just read the org units from DHS2 and sent it to fire. Now when he realized the end performance issue with the fire server it was very simple in Camel using their primitive to just say well split this and it does that. So those are the kind of things that Camel does.  Yeah. Not necessarily. You could do stuff without open him. Open him does provide some nice ordered stuff in the line. Open him is built with mediators. Mediators can be pretty much anything. So you could build a mediator like this. This thing that Morton has just done you could register that as a mediator within open him. So they're not mutually exclusive. They still are. We've got to get off example one. Hopefully a quick one. A little nitpicky but so the other attributes that exist in DHS2 like location coordinates for example shape files like coordinates are supported by file. There's a dress. No, it's not the coordinates. It's not polygon snow. But there's a I have another example in Python and that's using the geodeson extension. We basically take the geodeson and then basics to force it and you just say telling this this is a geodeson. Yeah. If I wanted to say use this and I want to maybe can this now out of the box include those or it would need to go. Somehow. So this again is just demos. The next step we're going to look at is using something called datas on it. This is basically a JSON to JSON transform. It's probably easier if you don't know Java to modify than the Java code itself. So you can imagine having a general. It's to location organization transform and then you just point to your data sonnet. So we give you the data sonnet that's kind of out of the box gets at least a job done and then you can potentially add to that and can modify it if you want to use the coordinate feel and so on. Yeah. That's definitely possible. Although for certainly more complex use cases I was still going to do the Java route because it's you have more control but for simple cases definitely data sonnet could also do that. Yeah, yeah, yeah. This is the most exciting is going to be by the way this is the only example that I've built around to do in the same but in different approaches to it. Yeah. You still end up with organist but yeah. Okay. So this one is a little bit different approach to things. Not a huge difference. You will see we're using another component of Hamel already also built in called the data sonnet transform. Again, we can just start from the top you'll see it's exactly the same as before we just again you're just getting organization units from this just to put the safe forward in this case I'm not using the built in organization unit class that you also provide I'm actually using my own class just to show how that's done and in this case since we're not using the built in iterator of the built in classes we will have to split it's ourselves because as you probably know if you go to API organization units there's another level right so you have API organization units and this organization is array which actually has all the organization units yeah so we're just doing it's not showing here but I can go a bit down basically doing very simple we just what's called a splitter being and we're just returning the correct you're actually going to loop and you see again you're doing a split so again think about this as a for loop since they're sending you the data sonnet it doesn't have knowledge of everything you're doing so what we're doing we're also setting the base URL this is just so it knows there's certain things you want to set when it comes to identify for example you want to say this is identified from this system so we need this base URL and I'm just removing the API part I'm loading up a file from the file system called organizationunit.es we will look at that shortly and this basically transforms all my organization units now into a map so this is just an object in javascript or whatever this is the key value and then you end up with that I'm simply converting that map into a string and I'm deserializing it using firejson so now I have an actual bundle a real class because the fire component requires actual kind of real classes and not not just a string or a json and again we are just getting the result again and outputting it but the interesting here is not that the interesting here is the data sonnet file you might not want to go through all of this I just want to show you the general approach to it as you see this already looks like json so you basically you can almost start with just an example of how you want it to look then you start replacing the static parts with some dynamic parts so for example I told you about you can set a put two times and the first time you will create the second time you will actually update and to make that work you basically add a pointer here and you will see it's an object called payload that has all the properties name, ID and so on so we are just adding that this is again we are doing it here but I will show you the main runner of here the engine or the loop this is another one obviously this is not valid json it just checks if the description is there or not so if it's there it will add the property description if not it will keep it out same with the code code is not a required field in dsh2 so we add but id is so we are always adding the id because we always don't have it then we check in is there also a code here and if there is you will add it please be aware that dsh2 has very few constraints on the code field but fire does have constraints on it so in dsh2 you can have h above 5 and you can space between right this is not valid in fire we can also have all kinds of signs and ampersands and everything that's not a valid identifier in fire so you need to be really careful here this is especially true when it comes to terminologies, option sets and so on we again we allow almost anything as long as it's not more than 50 characters we allow anything in there probably a lot of emojis also so yeah sure the interesting difference between this approach and the previous example and it actually came from discussions with Pavel both of them are just different ways to map and integration is almost always about mapping at some level the first example the mapping was kind of done in the Java code it's probably very efficient but if in the field they need to change something but maybe there's a there's an attribute that is changed there's a new attribute in the Pavel case there's a questionnaire maybe there's a new questionnaire item then they can customize this file where it is that with all the other sort of Java stuff in place it's driven by essentially a mapping file but that's the main benefit of doing a good data so it's got a few drawbacks doing it this way but the real benefit is that you can customize it locally without getting involved in programming sorry no that's fine let me just show you one more thing and then I think we can move on oh sorry I don't even have it I was thinking I was doing the for loop but we're actually doing one by one so in this case so yeah there's no for loop sorry again I will just run it it's not going to be that interesting it's going to be the same again but just to show that it actually works and again this is doing almost 100% the same as the Java code it's just now using it as an external script instead oh I didn't change the port today I'm just updating the examples so we have it for later anyways it will work as before yeah that's good for now so I have one last example let me just close down this one so the last example requires Artemis which I have here the other example not this example well it has it but it's also interesting because you don't yeah anyways whatever if this time you can also show what I own then again I'm just running up this is just normal Artemis I just created a new instance called duckdemo nothing special here it's just starting up there's no I don't even use authentication we will see starting up the port 61616 this is the jms port and we're going to use jms for doing the exchange of data here so before you do anything I'm just going to show you the listener before the producer so the listener is very very simple again I'm using the first example here so I'm using the java-based converter but it could of course be using data solitaire also very very simple it listens to a topic called organets and you can call it whatever you want maybe it's a better description and maybe it needs to name spice it but for now we're just calling it organets whenever there's a new event there so a new organet coming there we unmasher it into an organization unit we call it a body just as before sending it to the fire client as before and logging out the result as before so you can imagine replacing from here with these just two something something as our event system for example that whenever you click on something an organet add, delete or update you can imagine just having a small thing like this listening on that of course not sending it to fire maybe but sending it to DHS too so let me just start up that one yeah that should be more and more more and more and more and more so what you see now when it starts up it's actually nothing happens right because there's no events there's no events coming in but it's now it's connected to Artemis just sitting there and listening and see if there's anything happening just move on this one and let me then open up the producer I will also show the code so this is the producer again what you see I've done I'm honestly just took half of that out and put that in here and the rest of it out and put it on the one so it's almost the same as before even the split to be in everything the new one here is I'm sending it to Artemis using JMS so we're not sending anything we're not converting here we're not doing anything with that we're just sending it straight to JMS which is our Artemis server and that's it, that's it so let me just start that up so let me actually open up two windows so again I will just kill this one again again I'm just starting up the listener again but it's in the twins so we can see the two at the same time up and running again listening and now let's start up the producer so again it will just go to playdev get all the organets now it's starting to loop and you will see this is all through the Artemis but you can imagine not having one listener you can imagine having five listeners to five different additions to instances right so if you have a nightly job you have one master facilities for example and you can imagine doing one update on the main one but you're actually updating multiple servers maybe also fire maybe also not different system you just create another chemical component for that and it works exactly the same so now you have kind of decentralized the whole thing so you kind of split it up and you do a very very small route it's just 10 lines of code almost that's all and then you have three lines of code on the other side for listening and that's it so now we have this very dynamic nature and this can be a real time if you want because now you're doing just not yet but at some point you'll be able to actually just small small changes and you can actually push those out immediately they don't see that not sure we can show it off here no no no it's fine no no I'm saying the people online they don't see your drawings it's really quite interesting the way he's growing they're actually doing something quite similar now but to solve another big problem that we have which is real time generation of indicators how many vaccinations have I done today we have problems with program indicators of large scale as you know but in Rwanda they're just looking at all the messages coming through on the Artemis Q and the ones that are interesting too and then they have them in real time and put them on a on a portal or whatever else they do almost that is not just about fine two quick questions one is that if you're using it for the kind of synchronization you talked about later is it possible here to simply have a synchronization that is semi-automatic meaning that if you have for instance an update instead of when something new that you can stop and actually ask the user do you want this update or not because again here I just know from experience that sometimes you know you're getting updates which is actually wrong you're getting new things which turns out to be duplicates you don't want that duplicated or unit as a simple example to be spread into all the other instances so that's question one the second question is you were mentioning that you couldn't have in DHS2 is very few restrictions and I mean I compare it with DHS1 where I built in a lot of restrictions you couldn't have double spaces no trailing blanks no funny characters in data element names that can courses you know ampersands and stuff that might crash in HTML and I mean all of that I generally blocked it up from what I see in databases that I'm cleaning a lot of time a lot of queries and fiddling to find, identify and clean them up is it possible to use fire because you mentioned that fire has a a different set of criteria for codes for instance are those criteria customizable so would it be possible to take if I have 12,000 data elements which has duplicates but one has a double space would it be possible to send them all over to fire have a range of customized restrictions on that that actually auto cleans up most of them and then send them back instead of having to spend like three weeks going trying to find the 2,000 out of the 12,000 that has a problem I'm just asking I'll take the first one first and yes that's possible in 238 we have something called metadata change approval so it allows you to send basically you can request saying okay this is a new name for example then you send that as a metadata change request and then there's no UI yet but then you can go in there and you can accept that metadata change I think it's only for organist right now but that fits the case we're showing off yeah exactly that allows you to approve changes before they actually go live so that definitely would work no no no any kind of change at least create an update not sure about deletions but create an update for sure there will be a UI for that hopefully in 239 but yeah that's definitely coming that's definitely coming the second one I don't know if you want to but in general if the fires in fire they're not customizable so they are kind of strict requirements they basically follow the requirements of our UADs cannot start with the number must start with the letter and then have a mix they can be longer than these are still not element characters but they can follow the same kind of rules so I don't think that would be a good problem I would probably dump it in Excel honestly as we always do I think that would be a better approach to it I don't know if you have anything to say to that Bob if it's a better approach it's a little bit off topic I understand the problem exactly using fire to somehow address that problem probably not the right way to do that if we could discuss that online alright in the HIV space for USAID we're looking fire for interoperability from different systems lab systems logistics treatment testing the HIV still not having fire has always been a challenge because we're seeing countries doing it the hard way there's really good news but one thing I want to bring to your attention is we're also looking for third party fire testing as a service now since you guys are creating this dynamically through mapping you don't have to answer it now if we bring in a third party as a service for fire testing how would it work in your scheme of things I mean so whenever you have so I assume that's using some custom profile defined by some of the parties here right yeah exactly exactly I don't know I have to wind up a last comment on that what we've seen a lot of places now getting into the business of developing fire profiles Indonesia we saw Ethiopia it's really really important that we don't create these things as mathematical abstractions up in heaven and hope that they are somehow going to work in a system profile development ideally should be done hand in hand with implementation like in the early days of TCPIP when you create a new variation on the standard it needs to be demonstrated that it works but we could talk for many days on this unfortunately I think our time is up so thanks everybody online


This constant self-soothing, adapting behavior on the leg, we see this in response to stressful situations or a desire to, you know, get comfortable because a person doesn't feel comfortable. It's a natural reaction. Stress does not always mean deception. The key thing is here that there's no compulsion for him to control it or hide it or prevent it from coming out. This shows us there's no internal desire to control stress responses, which suggests we're dealing with someone who isn't trying to force a perception on us. The moment we see someone trying to control stress, we're seeing someone with a high degree of anxiety or we're seeing someone who's fully letting go and letting those signals come out and we're seeing that degree of fully letting go, which is a good sign for the videos that are coming up.


Hey, what's going on guys right? It's Mark pretty flat day in the market again I think we're down like 0.25 percent. We're up about half a cent yesterday. So I'm pretty neutral There were a couple of things that I picked up today They look pretty good one of them. I have in front of you right now, which is Domino's pizza So for those of you the one away, you can see that it dropped Just over 9% today. I think that was about the peak of where it dropped maybe slightly lower But I decided to pick up some of that you can see was slightly in the green with that Already, but that's I'm not here nor there So yeah, so it had its owners report couple of things that I picked up on Let's have a look so it missed a couple of the Expectations basically and which is why it's had such a dramatic reaction and this happens all the time Right, so even if the company has grown right even though the company has grown if it doesn't grow as much as people expect it to and you always get this super aggressive or not always but sometimes you get this super aggressive kind of pullback and people get a little bit scared and The the surprise drops and this pattern here that you look you can see right now Where it's horizontal and then there's a massive pullback or when it if we just have a little bit look a bit Look a bit further back when a company has been growing Is that right for you guys? I think I need to do this when a company's been growing kind of along this line like super aggressively You always see this pattern when it pulls back right and I'll show you a couple of examples after this which will explain why I bought into it so So we can see here is Over the past couple of months. It's been trading between kind of 290 and Which is wacky in this support And I would say kind of 253 or even if you want to look at this point here, but we'll go a bit more aggressive You can even argue that the support is more around this kind of 240 level So what that in as well just for comparison sake? So just go over a couple of details Sorry, I'm all over places a couple of details from the earnings report. So Let's have a look. I wrote down the key points. I've got them here. So I don't forget, right? So I can't even read my own handwriting so they open so for the fourth quarter they opened right 560 stores net Colt the same store. So this this is a couple of expectations that They didn't meet right so they were expecting a same-store sales, right to be up 6.9% but they were up 5.6% so the company still grown it's just not grown As aggressively or as much as people are hoping right it missed the ends for share and it did miss the revenue Although the next sales were up 21% so miss the expectations sales were still up and stores That were opened was still up And the earnings for sure was up as well But just not as much as was expected. So I think I made that pretty clear, which is why I'm happy to invest in these companies when They pull back on those kinds of reports because the company's still growing right and Wherever I'll learn that to be I'm not the case. I'm sure some people will let me know why that's not a good idea, but Yeah, so I'm invested and then I would expect this to You can see our I massively oversold Matt D is probably going to curve in and This will probably curve out. So recently An example that's shown this if you've seen my videos, you'll know that I've spoken about this already. You can see we're in the green here is coca-cola. So similar thing So the earnings report wasn't kind of what was anticipated and then they were looking a bit more sheepish going into 2019 So if you look over over the long term kind of this horizontal pattern train between these lines massive pullback, right And then it balances out and then it looks like it's on its way to recover You see how that EMA is kind of curving in it's bat. It's consolidated curving in Matthew's curving in. It's good That's my dog RSI oversold and it's curving back in right look at this pattern here. Look at this pattern and then look at dominoes You just see how similar that is. Do you see I hope you're seeing what I'm seeing and I'm not going crazy So that's dominoes And that's kind of that's all this is kind of swing trading right? It's just identifying patterns are consistent pretty much the same I'm not sure if it'll be here Any more because it was a couple of months back right might have been last quarter Starbucks did similar thing is this gonna be in here? Maybe if I have a look on the weeks Right so you can see on the weekly chart did the same thing right earnings out pull back And then since then it's gone to create new highs right and I think we actually managed to get some green in here But that would have cut I think you'd have covered about 14% if you'd have bought in To that earnings another one that did it was Shopify again. This was a little while back, so let's see If I can pull up shop for Shopify super good super consistent You can see it's I'm not in at the moment because it looks a bit overbought Doesn't mean it can't keep pushing on up, but that's another story I'm just trying to make sure that I'm getting the right ones because you see that Shopify does pull back quite aggressively a Lot, but there was one particular time earnings and that it did a Like a super similar pattern I'm not going to try and guess but trust me Shopify did it as well. It pulled right back Oh, it's gonna really bug me if I can't I left a look at dates and I'll maybe put anything But Shopify had the same thing and so did Estee Lauder as Well, so it had a super aggressive pullback that's another super horizontal and super aggressive pullback and Then went on to create new highs I said all these and I can't find the examples, but trust me they're there But I'm coping and dominoes are the most recent ones. So that's that's Yeah, and I'm invested in both of them So I hope that makes sense as to why kind of based on the technicals and a small amount of Fundamentals like as I say, I'm still working on my kind of fundamental knowledge and how to break down a business is kind of balance sheet and so on but For me, this is a pretty safe bet It does have the potential you see to pull back to 242. We'll see how it opens tomorrow I'll probably look to get a slightly more invested in this and then for those of you wondering about KO or Coca-Cola I'll probably continue to invest in this an average up Really really quick one because I'm not going to do a full-on breakdown of trades I closed out of McDonald's I closed out of go daddy because go daddy pushed up today about 6% which is super aggressive So that will probably consolidate or pull back. So I thought I'd just close out in the green so you can see some of them 90% I'm close that on Sony close that McDonald's close that Disney if you check out those charts based on how I've I'll do it now quickly actually based on how I've described it previously They still got a little bit more ground to cover right you see McDonald's has got a little bit of ground from 8183 to 186 I'd rather just look in the green and just have the profits and same with Disney Although Disney, I think I was a little bit too scared a bit too sheepish, right? That's still got quite a lot of ground to come from 14 to 117 and it's above the SMA But our size over extended Matt D's curving in for a cell as I say, I'd rather just close in the green I'm sure this is fine over the long term But we're trying to play the kind of swing trade game. So And that's right. What else did I close? Oh, yeah, and go daddy just because it pushed up so hard Yeah, just pushed up so hard So I'd expect this to probably pull back a little bit and then we can get back in if it pulls back to kind of 73 20 offset and alert But this is still got some ground to cover Right up to 83 and I would expect this to kind of continue to to push up There you can see that's coming. So I hope that makes sense Sometimes I just gone for the tangent and I don't even get my point across properly And but I hope that makes sense if you enjoyed the video Like the video subscribe I'll leave you seeing my kind of recent trades a couple of blends here. Yeah Like the video share the video If you're on the yotara platform Follow me for a bit if you enjoy what I'm doing and it looks like I can make you some money Feel free to copy and if you don't copy drop my message and I'll go into a few more details About kind of what's best to do And I think that is everything any questions at all any stocks that you're watching Whack that in the comments because I'm always interested to hear and I liking interacting with everyone in the comments It's probably the finest part about making these just chatting to you guys. So, yeah, I think that's everything Yeah, cool. I'll leave it there. Thanks for watching people and I'll probably catch you again tomorrow


When I was younger I went through a dark period in my life. I Wasn't being my best self. I was hanging out with the wrong people. I was getting into trouble. I even got arrested a few times I won't tell you exactly what for but I was letting myself down I felt like I was letting myself down. I felt like I was letting my parents down I went through a bit of depression. I was lost and Not to mention on the field. I was your typical under Performer underachiever. I had all the ability but no product to be on the field and no direction with my career Wasn't happy with where my life was and where I was going who I was I Was in a bookstore and I saw this book. It was Tony Rollins Awakening the giant within this massive like 600 page book I skimmed through it a little bit and I decided you know what I'm just gonna invest I'm gonna buy this book that book changed my mindset. It made me realize the mistakes I was making and it helped me get results. I started doing better in school I started doing better in soccer. I started having better relationships I was starting to be more respectful towards my parents and I started to actually See that the future could be brighter I could become who I wanted to become and I could have what I wanted to have in life If I was willing to do certain things, I can honestly say I would not be as Successful as I am today I would not be the person that I am today the man I am today if I didn't invest in that book I've decided to do a special promotion on my advanced courses because I want to inspire you to take Action today and invest in yourself invest in your future because I know the investment you make in these courses Just like the investment I made in that book 11 years ago We'll pay you back for the rest of your life. It will make you a better player It will help you become the player you need to be to achieve the goals You want to achieve here's what I'm going to do on September 9th at 12 o'clock noon mountain standard time I will start a special promotion It will be 50% off all of my advanced courses for the first 24 hours It will be 50% off after the first 24 hours for the next three days It will be 25% off all of my advanced courses If you already know about the training programs triple your talent the soccer essentials Play like a pro and the match winner method as soon as the sale starts You can click these buttons and get instant access for 50% off But if you want to learn more about these courses just click these buttons and it will take you to the information page It will tell you everything you need to know about the course so you can decide which course is best for you Now why would you want to invest in these programs rather than just watching the free YouTube videos? What's the difference look you can improve watching the free YouTube videos? That's why I've made them I want you to improve with those free resources But if you want a step-by-step plan that will help you get from where you are to where you want to be faster That is why you should invest in these programs I would encourage you to educate yourself before the sale starts. Click these buttons Go to the specific pages get all the information you need watch the videos read through the testimonials Understand how it's helped other players just like you in the past Exactly what you're going to get in the course and triple your talent is the most basic The match winner method is the most advanced however Because I'm only doing the sale one time. It's not a bad idea to invest in all these courses You can go through them at your own pace. You will have lifetime access To these courses you can use them whenever you're ready But because it's 50% off right now make the investment and then use these courses for as long as you want to I promise they will deliver and help you get the results if you want to get all of the courses at once You don't have any of them right now and you want to get them all you can come and press this button as soon as the sale Starts and you will get all of the courses instant access for 50% off As always if you have any questions about the promotion, please feel free to send me an email I am here to help you To inspire you to take even more action and do this today invest in yourself today Don't wait any longer the first 100 people that purchase on September 9th We'll also get instant access to my new course Soccer success system how to make the team how to play college soccer or go professional With a proven blueprint for long-term soccer success I want to show you exactly what you're going to get with this new course So the soccer success system is all about taking action. This isn't about drills This isn't about skills if you want to achieve success Let's say you want to become a professional player being good enough is only a small part of the puzzle The other big piece of the puzzle is taking action taking the right steps building the connections Putting yourself in the right situation where you can actually achieve these goals. So this is a seminar style course It's all about taking action It's going to give you a blueprint that you can follow to achieve your goals Whether that's playing professional playing at the college level making a higher level team or whatever specific goals You may have for yourself You're also going to get interviews with football professionals So I did tons of interviews with agents with professional players with coaches with college recruiter recruiters And you are going to get access to these private Interviews that I did with these people they're gonna show the ins and outs the secrets that most people do not know You're gonna get access to all these Obviously I want you to buy this program because I know they're going to work for you And they're going to get you great results But instead of listening to me listen to players just like you who have used these programs and experienced great things We're not getting too childish. Let's just say I'm not big-last anymore Much better method and then my goal scoring was even better. We played in a men's competition And it's you a young team moving up because we're really a strong team When they're not coming third and I scored 11 goals that year and six assists So it was a big improvement and then this year I'm moving up move up again So from law put to the representative level that using that program. You won't believe me Like I'm literally saying you won't believe me. I experienced some dramatic results in my game. Firstly, it was with my ball control then As I moved on then I became a better shooter My confidence on the ball increased. I gained more match experience and sense of the game. Why not one more thing I would say is my footwork My footwork has gotten much better much much faster. So I applied the things that you said To my game and suddenly I was scoring two three goals per game. Since I started the program I think I cut almost 12 kilos. It's got a hard trick for the first time in like a proper competitive game and We won the game 4-1 in the end, but I scored a mad volley outside the box and then That year as well. I scored A goal that was really critical in the knockout game for school to make it to the quarter finals It was 35 meters that smashed the top corner. I have a tendency to score game-winning goals not to brag so much Last year I was the top scorer of my university team I I played three matches and I scored six goals and I assisted one and We won the tournament after like six years So it was a very happy experience for me and for my college team's coach If you're very sure that you can stay committed to this Don't take any regrets by now quick Follow every every single second of the video listen to all the advice that you give and Apply it to your game really and we will see big improvements in your overall game After using your program I can say that it was the best investment of my life Like people are buying crazy $200 shoes and they would rip off in one season or what? so It would be a better choice if people were a little smart and would invest in something That would help them in the future and not just temporary Pleasure absolutely. It's worked for me. It's helped many others I'm sure it's gonna help way more beyond that. These players are no different than you They have two feet two legs and one heart The only difference between those players and most players is that they decided to take action They said I've had enough. I'm tired of these frustrations. I want results I want to become better and I want to do it right now They decided to make the investment and as you can see it's paid back a hundred times Imagine how good it would feel to start seeing real and fast improvements in your game to have people ask you How did you improve so quickly? To start standing out when you play to start impressing people to start earning the respect of Your coach how good would it feel for your teammates to hug you to pat you on the back and to praise you for playing? Well, I'm doing this special promotion to encourage you to take action Today don't wait any longer. You can have those results. You can feel those emotions You can achieve your goals You can become the player that you want to be and you can do it faster than you ever thought if you take action Or you could continue to do what you're doing You could continue to improve but maybe not at the speed that you would like to For the first 24 hours it is 50% off all the advanced courses the first 100 buyers will receive that special bonus the soccer success system and after the first 24 hours The price will increase it will go to 25% off for the next three days But if you've had enough and you're tired of your current frustrations You wish you could do more on the field.  Well now is the time