1 00:00:00,480 --> 00:00:03,480 foreign 2 00:00:08,720 --> 00:00:15,780 to the our connected Universe track 3 00:00:12,139 --> 00:00:18,779 AKA everything about apis we're so 4 00:00:15,780 --> 00:00:20,100 stoked that uh I can I can Glimpse at so 5 00:00:18,779 --> 00:00:22,980 many people's faces through the light 6 00:00:20,100 --> 00:00:25,740 and we're really looking forward to uh 7 00:00:22,980 --> 00:00:26,699 all of the talks in the truck today uh 8 00:00:25,740 --> 00:00:28,140 now we're running a little bit behind 9 00:00:26,699 --> 00:00:29,939 schedule after the opening address so 10 00:00:28,140 --> 00:00:32,700 we're going to kick right into our first 11 00:00:29,939 --> 00:00:36,420 talk of the day and we have up our first 12 00:00:32,700 --> 00:00:38,660 Anushka vidanade uh sorry and just just 13 00:00:36,420 --> 00:00:40,980 Moore and they're going to be presenting 14 00:00:38,660 --> 00:00:43,140 building Health software on 15 00:00:40,980 --> 00:00:45,719 decentralized health data using personal 16 00:00:43,140 --> 00:00:49,260 online data stores I'm really excited 17 00:00:45,719 --> 00:00:53,399 for this talk take it away thanks yeah 18 00:00:49,260 --> 00:00:56,219 right uh good morning everyone so yeah 19 00:00:53,399 --> 00:00:58,320 first um I would like to begin today by 20 00:00:56,219 --> 00:01:01,079 acknowledging the traditional custodians 21 00:00:58,320 --> 00:01:02,579 of the land on which we meet today and 22 00:01:01,079 --> 00:01:06,360 would like to pay my respect to their 23 00:01:02,579 --> 00:01:08,040 Ides past present and emerging and we 24 00:01:06,360 --> 00:01:10,080 would also like to acknowledge our 25 00:01:08,040 --> 00:01:14,760 indigenous Partners on this project that 26 00:01:10,080 --> 00:01:18,060 we are doing at Anu why who these are 27 00:01:14,760 --> 00:01:20,280 from yaraba no not Queensland 28 00:01:18,060 --> 00:01:24,439 the traditional owners gugganji people 29 00:01:20,280 --> 00:01:24,439 and the history corners of that land 30 00:01:24,860 --> 00:01:30,600 and here with me is just Moe and we are 31 00:01:28,680 --> 00:01:33,119 from the softer Innovation Institute 32 00:01:30,600 --> 00:01:35,340 School of computing from the Australian 33 00:01:33,119 --> 00:01:38,159 National University and today we'll be 34 00:01:35,340 --> 00:01:39,659 talking about personal online data 35 00:01:38,159 --> 00:01:43,380 stores and how do we build Health 36 00:01:39,659 --> 00:01:45,560 software using personal online data 37 00:01:43,380 --> 00:01:45,560 stores 38 00:01:46,640 --> 00:01:54,420 and this is a brief outline of our talk 39 00:01:50,220 --> 00:01:55,740 so I'm gonna do whys and what's of these 40 00:01:54,420 --> 00:01:57,840 uh 41 00:01:55,740 --> 00:02:01,140 something called pods personal online 42 00:01:57,840 --> 00:02:03,960 data stores and solid boards and I'm 43 00:02:01,140 --> 00:02:05,939 gonna dive a little bit deep uh into 44 00:02:03,960 --> 00:02:09,300 some technologies Behind these solid 45 00:02:05,939 --> 00:02:12,060 pods and then Jess will talk about our 46 00:02:09,300 --> 00:02:14,819 actual project Where We Are 47 00:02:12,060 --> 00:02:17,300 build this health software using solid 48 00:02:14,819 --> 00:02:17,300 pods 49 00:02:17,819 --> 00:02:22,920 okay 50 00:02:18,959 --> 00:02:26,819 so uh not sure if everyone can see that 51 00:02:22,920 --> 00:02:28,500 so what I did was I asked chat GPT what 52 00:02:26,819 --> 00:02:32,520 are the problems with centralized 53 00:02:28,500 --> 00:02:35,459 databases and here's what I got 54 00:02:32,520 --> 00:02:38,640 um so there's a long list but I want you 55 00:02:35,459 --> 00:02:41,459 to focus on these three aspect so 56 00:02:38,640 --> 00:02:43,980 basically these three aspect highlights 57 00:02:41,459 --> 00:02:47,700 uh the aspect of data privacy and 58 00:02:43,980 --> 00:02:50,879 security and lack of transparency 59 00:02:47,700 --> 00:02:54,360 and uh the lack of data ownership 60 00:02:50,879 --> 00:02:56,160 so the Privacy as evident by latest data 61 00:02:54,360 --> 00:02:58,260 breaches all over the world here in 62 00:02:56,160 --> 00:03:01,140 Australia as well for instance Medicare 63 00:02:58,260 --> 00:03:03,000 and Optus as some of you may know so the 64 00:03:01,140 --> 00:03:06,300 centralized databases are prone to 65 00:03:03,000 --> 00:03:08,760 security and privacy risks always so one 66 00:03:06,300 --> 00:03:12,060 of the reasons being that they can be 67 00:03:08,760 --> 00:03:14,940 these centralized databases because they 68 00:03:12,060 --> 00:03:16,980 hold a lot of data about uh let's say 69 00:03:14,940 --> 00:03:18,959 hundreds of thousands of or even 70 00:03:16,980 --> 00:03:22,260 millions of people they can be 71 00:03:18,959 --> 00:03:24,480 attractive many adversaries out there 72 00:03:22,260 --> 00:03:26,940 um so a successful bridge to these 73 00:03:24,480 --> 00:03:30,000 centralized databases could reveal 74 00:03:26,940 --> 00:03:30,780 sensitive information about yourself 75 00:03:30,000 --> 00:03:33,000 um 76 00:03:30,780 --> 00:03:36,060 so and obviously there's a there's a 77 00:03:33,000 --> 00:03:38,640 threat of privacy where our own data is 78 00:03:36,060 --> 00:03:41,340 most of the time handled by someone else 79 00:03:38,640 --> 00:03:44,280 some Central Authority 80 00:03:41,340 --> 00:03:47,819 right and then the lack of transparency 81 00:03:44,280 --> 00:03:51,120 centralized databases often rely on 82 00:03:47,819 --> 00:03:54,060 um Central authorities or administrators 83 00:03:51,120 --> 00:03:57,000 which we call them and we basically put 84 00:03:54,060 --> 00:03:59,760 our data on their hands and we basically 85 00:03:57,000 --> 00:04:02,459 trust them uh because sometimes that 86 00:03:59,760 --> 00:04:05,400 could be our only option right and in 87 00:04:02,459 --> 00:04:08,280 return we do not really get to know what 88 00:04:05,400 --> 00:04:10,680 happens with our data and what kind of 89 00:04:08,280 --> 00:04:14,519 raw data really they capture about 90 00:04:10,680 --> 00:04:16,919 ourselves and what do they do with them 91 00:04:14,519 --> 00:04:19,919 so even though the Privacy policies such 92 00:04:16,919 --> 00:04:22,500 as gdpr enforce the practice of 93 00:04:19,919 --> 00:04:25,979 transparency there will still be gaps 94 00:04:22,500 --> 00:04:28,800 with these centralized databases 95 00:04:25,979 --> 00:04:31,800 um you might remember the the incidents 96 00:04:28,800 --> 00:04:34,680 with Cambridge analytical Scandal so 97 00:04:31,800 --> 00:04:37,800 yeah so there's lack of transparency and 98 00:04:34,680 --> 00:04:40,020 finally the lack of ownership uh 99 00:04:37,800 --> 00:04:44,040 so we when relying on these third 100 00:04:40,020 --> 00:04:46,680 parties to handle our own private data 101 00:04:44,040 --> 00:04:49,620 um we have to we don't really get the 102 00:04:46,680 --> 00:04:52,440 ownership of our own data right what we 103 00:04:49,620 --> 00:04:55,320 get most of the time with these systems 104 00:04:52,440 --> 00:04:58,020 is some kind of a statement or a 105 00:04:55,320 --> 00:05:00,300 document stating that they handle they 106 00:04:58,020 --> 00:05:02,520 gather this kind of data of ourselves 107 00:05:00,300 --> 00:05:05,880 and this is what they are doing we don't 108 00:05:02,520 --> 00:05:07,500 actually get to see the raw data itself 109 00:05:05,880 --> 00:05:09,180 yeah so 110 00:05:07,500 --> 00:05:10,800 and that comes with the lack of 111 00:05:09,180 --> 00:05:13,320 interoperability with centralized 112 00:05:10,800 --> 00:05:15,780 databases uh we are dependent on one 113 00:05:13,320 --> 00:05:17,880 database for one service where we cannot 114 00:05:15,780 --> 00:05:19,199 really migrate between databases if we 115 00:05:17,880 --> 00:05:20,160 want to 116 00:05:19,199 --> 00:05:22,320 um 117 00:05:20,160 --> 00:05:25,500 so these are the these are some of the 118 00:05:22,320 --> 00:05:29,280 main issues with centralized databases 119 00:05:25,500 --> 00:05:31,080 so can we somehow solve these issues so 120 00:05:29,280 --> 00:05:32,400 address these issues can we somehow turn 121 00:05:31,080 --> 00:05:36,300 this around 122 00:05:32,400 --> 00:05:38,820 and that's where this the concept of 123 00:05:36,300 --> 00:05:41,280 um puts personal online data stores 124 00:05:38,820 --> 00:05:44,639 comes into play uh 125 00:05:41,280 --> 00:05:46,919 so a personal online data so data store 126 00:05:44,639 --> 00:05:50,220 is a place where you can store your own 127 00:05:46,919 --> 00:05:52,800 personal data and also have complete 128 00:05:50,220 --> 00:05:53,460 control over that data 129 00:05:52,800 --> 00:05:56,460 um 130 00:05:53,460 --> 00:05:57,900 so the concept of PODS is framed around 131 00:05:56,460 --> 00:06:03,080 the individual 132 00:05:57,900 --> 00:06:07,199 so the individual is at the center 133 00:06:03,080 --> 00:06:09,660 as you can see here in this picture and 134 00:06:07,199 --> 00:06:12,240 then individual can access their own 135 00:06:09,660 --> 00:06:14,580 data in their own code they can see 136 00:06:12,240 --> 00:06:17,060 what's been stored they are the one who 137 00:06:14,580 --> 00:06:19,560 store this data and then 138 00:06:17,060 --> 00:06:22,340 individuals are better informed about 139 00:06:19,560 --> 00:06:26,039 their data and 140 00:06:22,340 --> 00:06:28,860 the service providers they come at 141 00:06:26,039 --> 00:06:31,440 around the individual here 142 00:06:28,860 --> 00:06:33,780 so they provide different Services based 143 00:06:31,440 --> 00:06:37,080 on the data that's been stored inside 144 00:06:33,780 --> 00:06:40,020 our personal online data store so that's 145 00:06:37,080 --> 00:06:43,080 the basic concept of uh 146 00:06:40,020 --> 00:06:46,440 you know the personal online data stores 147 00:06:43,080 --> 00:06:49,620 so it's just not only a data store as 148 00:06:46,440 --> 00:06:51,800 well so it's an ecosystem where programs 149 00:06:49,620 --> 00:06:55,440 programmers developers like you and me 150 00:06:51,800 --> 00:06:59,220 can quickly build stuff programs 151 00:06:55,440 --> 00:07:02,639 softwares applications and get our 152 00:06:59,220 --> 00:07:05,100 innovative ideas out in the field so we 153 00:07:02,639 --> 00:07:08,520 can build software to use the data on 154 00:07:05,100 --> 00:07:11,400 pods as a third-party application 155 00:07:08,520 --> 00:07:13,259 so that's the basic idea 156 00:07:11,400 --> 00:07:17,280 um 157 00:07:13,259 --> 00:07:20,940 right so what is solid bones so solid is 158 00:07:17,280 --> 00:07:24,199 basically uh it's uh so it's it's a 159 00:07:20,940 --> 00:07:26,759 short for social link data uh it's a web 160 00:07:24,199 --> 00:07:28,979 decentralization project led by Tim 161 00:07:26,759 --> 00:07:30,960 berners Lee it's initially released in 162 00:07:28,979 --> 00:07:34,020 2016. 163 00:07:30,960 --> 00:07:36,660 um and it contains a specification that 164 00:07:34,020 --> 00:07:38,580 lets individuals store their data 165 00:07:36,660 --> 00:07:40,800 securely in a decentralized databases 166 00:07:38,580 --> 00:07:43,500 these spots 167 00:07:40,800 --> 00:07:46,919 um so it's a place where you can have 168 00:07:43,500 --> 00:07:50,039 your own data stored in your own port 169 00:07:46,919 --> 00:07:53,460 and starts uh you know start 170 00:07:50,039 --> 00:07:55,819 um doing stuff with those data so start 171 00:07:53,460 --> 00:07:59,460 giving access to others on your data 172 00:07:55,819 --> 00:08:01,620 things like that so following solid 173 00:07:59,460 --> 00:08:04,680 specifications multiple servers has been 174 00:08:01,620 --> 00:08:06,419 built so multiple open source solid 175 00:08:04,680 --> 00:08:09,360 servers are available out there so the 176 00:08:06,419 --> 00:08:12,360 most popular one is the community solid 177 00:08:09,360 --> 00:08:15,240 server which is here in the first link 178 00:08:12,360 --> 00:08:17,940 and then you have PHP solid server or 179 00:08:15,240 --> 00:08:19,440 you also have solid server as a plugin 180 00:08:17,940 --> 00:08:22,139 for next cloud 181 00:08:19,440 --> 00:08:25,379 so the difference with all these servers 182 00:08:22,139 --> 00:08:26,400 the concept of the solid servers is that 183 00:08:25,379 --> 00:08:29,280 uh 184 00:08:26,400 --> 00:08:31,560 for the solid specification compared to 185 00:08:29,280 --> 00:08:33,779 centralized options ah centralized 186 00:08:31,560 --> 00:08:36,419 options is that the centralized options 187 00:08:33,779 --> 00:08:38,580 is always 188 00:08:36,419 --> 00:08:41,279 um get a separate backend 189 00:08:38,580 --> 00:08:43,740 right for separate services so you have 190 00:08:41,279 --> 00:08:46,740 a separate backend for separate services 191 00:08:43,740 --> 00:08:50,339 for instance uh Facebook has their own 192 00:08:46,740 --> 00:08:53,940 backend Twitter has their own backend 193 00:08:50,339 --> 00:08:57,060 um but with the solid pods what happens 194 00:08:53,940 --> 00:08:59,700 is that you will have a single back end 195 00:08:57,060 --> 00:09:02,160 which is your own port and the apps and 196 00:08:59,700 --> 00:09:05,940 the services will be asking for your 197 00:09:02,160 --> 00:09:09,959 permission to you use your own data uh 198 00:09:05,940 --> 00:09:12,380 and in return give the service to you 199 00:09:09,959 --> 00:09:12,380 right 200 00:09:12,420 --> 00:09:18,560 so I'm gonna give a brief introduction 201 00:09:15,240 --> 00:09:20,940 to technology behind solid uh solid pods 202 00:09:18,560 --> 00:09:22,380 and then hand over to Jess to talk about 203 00:09:20,940 --> 00:09:25,920 our actual project 204 00:09:22,380 --> 00:09:28,500 so the technology behind pod pods solid 205 00:09:25,920 --> 00:09:31,500 pods is mostly based on semantic web 206 00:09:28,500 --> 00:09:33,600 Technologies so for each Port we do have 207 00:09:31,500 --> 00:09:38,459 something called a web ID 208 00:09:33,600 --> 00:09:41,940 uh which is essentially an URI which is 209 00:09:38,459 --> 00:09:46,019 unique to each pod so each pod can be 210 00:09:41,940 --> 00:09:48,420 uniquely identified using this web ID 211 00:09:46,019 --> 00:09:51,240 um so for instance here you can see this 212 00:09:48,420 --> 00:09:55,800 is my so the first link here that's my 213 00:09:51,240 --> 00:09:57,959 web ID from my pod in in wrap.com so 214 00:09:55,800 --> 00:10:00,300 that's an uh free service which you can 215 00:09:57,959 --> 00:10:02,760 go there and build your own port and 216 00:10:00,300 --> 00:10:05,160 start storing your data so that's the 217 00:10:02,760 --> 00:10:08,640 web ID for my pod 218 00:10:05,160 --> 00:10:12,360 and the pods so the data inputs are 219 00:10:08,640 --> 00:10:15,300 saved as something called link data link 220 00:10:12,360 --> 00:10:17,220 data is basically a collection of terms 221 00:10:15,300 --> 00:10:19,680 um or their definitions and their links 222 00:10:17,220 --> 00:10:21,000 the relationships between them so for 223 00:10:19,680 --> 00:10:24,720 instance here 224 00:10:21,000 --> 00:10:27,420 you can see uh the link graph 225 00:10:24,720 --> 00:10:29,880 so that that's a link to graph uh where 226 00:10:27,420 --> 00:10:34,080 I do you can see relationships between 227 00:10:29,880 --> 00:10:37,500 Bob and Alice and to some of these terms 228 00:10:34,080 --> 00:10:40,500 here so these linked graphs once we have 229 00:10:37,500 --> 00:10:43,320 this linked graph we can store this in 230 00:10:40,500 --> 00:10:45,899 our ports using something called Turtle 231 00:10:43,320 --> 00:10:50,339 serialization so what happens is in 232 00:10:45,899 --> 00:10:51,060 total serialization what we do is we 233 00:10:50,339 --> 00:10:53,700 um 234 00:10:51,060 --> 00:10:55,860 we convert this link graph into 235 00:10:53,700 --> 00:10:58,320 something called triplets we are in 236 00:10:55,860 --> 00:11:00,800 triplets we do have the subjects 237 00:10:58,320 --> 00:11:03,899 predicates and object so this link graph 238 00:11:00,800 --> 00:11:06,660 is now converted into these triplets 239 00:11:03,899 --> 00:11:09,360 like the ones you see there and then 240 00:11:06,660 --> 00:11:11,220 that's been stored in Turtle files and 241 00:11:09,360 --> 00:11:13,800 there's those Turtle files are inside 242 00:11:11,220 --> 00:11:16,860 your ports and that's your data 243 00:11:13,800 --> 00:11:19,620 so that's the basic idea of storing data 244 00:11:16,860 --> 00:11:21,680 in solid pods 245 00:11:19,620 --> 00:11:21,680 um 246 00:11:22,140 --> 00:11:26,700 and then 247 00:11:23,880 --> 00:11:30,000 um so the authentication stuff and the 248 00:11:26,700 --> 00:11:31,980 authorization stops so in solid ports uh 249 00:11:30,000 --> 00:11:33,899 they use something called open ID 250 00:11:31,980 --> 00:11:36,600 connect it's an open Authentication 251 00:11:33,899 --> 00:11:37,640 Protocol that works on top of 252 00:11:36,600 --> 00:11:43,440 um 253 00:11:37,640 --> 00:11:46,380 2.0 framework so uh exam for instance 254 00:11:43,440 --> 00:11:48,600 um if you log into Spotify use in 255 00:11:46,380 --> 00:11:52,200 Facebook you can log into stack also 256 00:11:48,600 --> 00:11:55,500 using Google so that's open uh ID 257 00:11:52,200 --> 00:11:57,120 connect or 2.0 so that's the 258 00:11:55,500 --> 00:12:00,000 Authentication Protocol that's running 259 00:11:57,120 --> 00:12:04,680 behind these solid pods 260 00:12:00,000 --> 00:12:07,320 for authentication purposes and in for 261 00:12:04,680 --> 00:12:10,260 sharing the data it's using something 262 00:12:07,320 --> 00:12:11,700 called web access control ontologies 263 00:12:10,260 --> 00:12:14,600 um 264 00:12:11,700 --> 00:12:18,600 so you can see ah 265 00:12:14,600 --> 00:12:21,240 Imports how do we share the how do we 266 00:12:18,600 --> 00:12:25,019 give access to others to our own data 267 00:12:21,240 --> 00:12:27,420 that's been done using access control 268 00:12:25,019 --> 00:12:31,019 lists so that's this web access control 269 00:12:27,420 --> 00:12:31,620 ontology so you can see in this picture 270 00:12:31,019 --> 00:12:33,839 um 271 00:12:31,620 --> 00:12:38,279 so you have given so they you have given 272 00:12:33,839 --> 00:12:40,680 access to these two people p and that's 273 00:12:38,279 --> 00:12:44,120 line one two three four five 274 00:12:40,680 --> 00:12:47,279 so you have given access to the 275 00:12:44,120 --> 00:12:50,220 filemedical.ttl to those people and what 276 00:12:47,279 --> 00:12:52,500 specific access has been given that's 277 00:12:50,220 --> 00:12:54,959 given in the last line so you have given 278 00:12:52,500 --> 00:12:58,200 control read and write access to those 279 00:12:54,959 --> 00:13:01,860 two people for that medical DOT TTL file 280 00:12:58,200 --> 00:13:03,839 and that's how you usually give so you 281 00:13:01,860 --> 00:13:06,860 can you can give either 282 00:13:03,839 --> 00:13:10,079 one of these three controls uh to to 283 00:13:06,860 --> 00:13:12,779 someone else so 284 00:13:10,079 --> 00:13:16,440 um for transparency you can also have 285 00:13:12,779 --> 00:13:18,420 logs where you can record this access 286 00:13:16,440 --> 00:13:19,079 sharing as well 287 00:13:18,420 --> 00:13:23,300 um 288 00:13:19,079 --> 00:13:23,300 so you can have a look at later stage 289 00:13:25,200 --> 00:13:31,980 and built-in pipelines so when migrating 290 00:13:28,079 --> 00:13:34,440 so this is kind of now we are going into 291 00:13:31,980 --> 00:13:36,779 our project here 292 00:13:34,440 --> 00:13:39,600 um so when migrating from existing 293 00:13:36,779 --> 00:13:42,540 systems uh or coming from accessory 294 00:13:39,600 --> 00:13:45,779 systems to these decentralized databases 295 00:13:42,540 --> 00:13:49,139 these decentralized pods-based systems 296 00:13:45,779 --> 00:13:52,139 one of the challenges we face is that 297 00:13:49,139 --> 00:13:53,399 um we cannot really 298 00:13:52,139 --> 00:13:56,639 um like 299 00:13:53,399 --> 00:13:58,980 fully migrate at once into these Sports 300 00:13:56,639 --> 00:14:02,160 based Concepts right so uh it should be 301 00:13:58,980 --> 00:14:04,620 a step-by-step process a gradual process 302 00:14:02,160 --> 00:14:07,620 and that at some point sports-based 303 00:14:04,620 --> 00:14:10,560 systems need to coexist with the current 304 00:14:07,620 --> 00:14:14,279 trans centralized systems so we need to 305 00:14:10,560 --> 00:14:18,320 build pipelines from and potentially to 306 00:14:14,279 --> 00:14:21,420 these systems from these Sports base 307 00:14:18,320 --> 00:14:24,000 to existing systems using the sport 308 00:14:21,420 --> 00:14:26,720 based systems as well 309 00:14:24,000 --> 00:14:26,720 so 310 00:14:27,060 --> 00:14:32,940 what happens here is we employ use in 311 00:14:31,380 --> 00:14:35,820 our project what we do is we employ 312 00:14:32,940 --> 00:14:38,220 python to build these pipelines so it's 313 00:14:35,820 --> 00:14:41,160 a simple process what we do is we 314 00:14:38,220 --> 00:14:43,980 extract data from existing systems and 315 00:14:41,160 --> 00:14:47,220 then we pre-process data 316 00:14:43,980 --> 00:14:50,360 so in the pre-processing uh what we do 317 00:14:47,220 --> 00:14:53,459 is we sometimes do some data aggregation 318 00:14:50,360 --> 00:14:55,199 maybe do some data encryption data 319 00:14:53,459 --> 00:14:57,720 masking 320 00:14:55,199 --> 00:15:00,180 um things on on top of the extracted 321 00:14:57,720 --> 00:15:04,260 data and then what we do is we transform 322 00:15:00,180 --> 00:15:06,779 data into these Turtle formats so rdf 323 00:15:04,260 --> 00:15:08,760 formats and then we feed that data back 324 00:15:06,779 --> 00:15:11,459 into solid servers 325 00:15:08,760 --> 00:15:14,519 and this can again be done vice versa as 326 00:15:11,459 --> 00:15:16,260 well if needed so we can extract a data 327 00:15:14,519 --> 00:15:19,199 from solid servers do the exact same 328 00:15:16,260 --> 00:15:21,740 thing and feed that data into existing 329 00:15:19,199 --> 00:15:21,740 systems 330 00:15:24,360 --> 00:15:29,639 all right so 331 00:15:26,579 --> 00:15:32,459 um in our project uh so far we have 332 00:15:29,639 --> 00:15:34,260 developed uh so we are mainly working on 333 00:15:32,459 --> 00:15:36,240 something called flutter and Dot for 334 00:15:34,260 --> 00:15:39,060 developing our applications that's in 335 00:15:36,240 --> 00:15:41,699 the front end uh in the backend side we 336 00:15:39,060 --> 00:15:44,519 are using mainly python for instance 337 00:15:41,699 --> 00:15:45,959 building pipelines from these existing 338 00:15:44,519 --> 00:15:48,480 systems 339 00:15:45,959 --> 00:15:50,760 um so flutter is a cross platform app 340 00:15:48,480 --> 00:15:53,820 development technology so the underlying 341 00:15:50,760 --> 00:15:56,820 language has been dot so in this project 342 00:15:53,820 --> 00:15:58,920 we have so far developed three open 343 00:15:56,820 --> 00:16:03,420 source packages 344 00:15:58,920 --> 00:16:05,760 to use with our applications so the 345 00:16:03,420 --> 00:16:10,680 packages are being solid oath solid 346 00:16:05,760 --> 00:16:10,680 encrypt and rdf lib so 347 00:16:10,860 --> 00:16:16,019 solid oath package uh as the name 348 00:16:13,560 --> 00:16:19,980 suggests you can do authentication from 349 00:16:16,019 --> 00:16:22,680 and to pods so you can do uh whenever 350 00:16:19,980 --> 00:16:25,620 you build a flat up uh you know flutter 351 00:16:22,680 --> 00:16:27,839 application you can use this solid 352 00:16:25,620 --> 00:16:30,660 authentication package to do the 353 00:16:27,839 --> 00:16:33,600 authentication into any port out there 354 00:16:30,660 --> 00:16:35,820 right and in the solid encrypt then you 355 00:16:33,600 --> 00:16:39,019 can use this package to encrypt your 356 00:16:35,820 --> 00:16:42,120 data inside your ports at rest 357 00:16:39,019 --> 00:16:43,980 encrypt and decrypt data and the RDA 358 00:16:42,120 --> 00:16:47,339 flip package that's a DOT package for 359 00:16:43,980 --> 00:16:49,220 working with rdf and this package could 360 00:16:47,339 --> 00:16:52,680 simply 361 00:16:49,220 --> 00:16:56,480 extract triplets from the existing 362 00:16:52,680 --> 00:17:00,600 Turtle files in our pods and create this 363 00:16:56,480 --> 00:17:03,720 DF graphs and also 364 00:17:00,600 --> 00:17:07,079 um once we process these graphs we can 365 00:17:03,720 --> 00:17:09,000 export it to a turtle file as well using 366 00:17:07,079 --> 00:17:11,400 this package 367 00:17:09,000 --> 00:17:12,900 so that's a quick introduction to uh 368 00:17:11,400 --> 00:17:16,020 three of the packages that's been 369 00:17:12,900 --> 00:17:17,280 developed on Java project 370 00:17:16,020 --> 00:17:22,280 okay 371 00:17:17,280 --> 00:17:22,280 yes that's where I hand out yes thanks 372 00:17:26,699 --> 00:17:32,059 with the yaraba indigenous community so 373 00:17:29,880 --> 00:17:36,480 their Health Service 374 00:17:32,059 --> 00:17:39,360 Health Service they reached out to us 375 00:17:36,480 --> 00:17:41,520 um they were looking to basically have 376 00:17:39,360 --> 00:17:42,900 better data infrastructure in their I.T 377 00:17:41,520 --> 00:17:45,419 system so they could support 378 00:17:42,900 --> 00:17:47,240 personalized strength-based care 379 00:17:45,419 --> 00:17:50,100 recognizing that in their Community 380 00:17:47,240 --> 00:17:52,140 where they've got a really high disease 381 00:17:50,100 --> 00:17:55,559 burden with diabetes rheumatic heart 382 00:17:52,140 --> 00:17:58,620 disease and a number of other challenges 383 00:17:55,559 --> 00:18:00,840 it's really important to keep people to 384 00:17:58,620 --> 00:18:02,760 bring the care to the patients 385 00:18:00,840 --> 00:18:05,580 and as much as possible keep people 386 00:18:02,760 --> 00:18:08,000 being treated in community so they have 387 00:18:05,580 --> 00:18:10,039 their connection to their country 388 00:18:08,000 --> 00:18:12,299 to their people 389 00:18:10,039 --> 00:18:16,080 which gives them their source of 390 00:18:12,299 --> 00:18:18,720 strength and that uh so they look into 391 00:18:16,080 --> 00:18:20,280 this to have a better system that will 392 00:18:18,720 --> 00:18:21,600 help them to be able to both support 393 00:18:20,280 --> 00:18:23,640 patients 394 00:18:21,600 --> 00:18:26,039 for having better communication with 395 00:18:23,640 --> 00:18:28,500 their doctor around their Integrated 396 00:18:26,039 --> 00:18:31,200 Health and for the doctors to be able to 397 00:18:28,500 --> 00:18:34,880 monitor their patients 398 00:18:31,200 --> 00:18:34,880 um that they're treating in this way 399 00:18:34,919 --> 00:18:38,580 so using solid 400 00:18:36,720 --> 00:18:39,900 eat patient and their doctor has their 401 00:18:38,580 --> 00:18:41,820 own pod 402 00:18:39,900 --> 00:18:43,980 and we're building the health software 403 00:18:41,820 --> 00:18:47,220 where patients can access and control 404 00:18:43,980 --> 00:18:49,080 how the data is shared from their pod 405 00:18:47,220 --> 00:18:50,460 so we've got three pods-based 406 00:18:49,080 --> 00:18:53,160 applications 407 00:18:50,460 --> 00:18:56,760 uh the first is the what we call the 408 00:18:53,160 --> 00:18:58,140 India this is the app for patients which 409 00:18:56,760 --> 00:19:00,600 allows them to access their health 410 00:18:58,140 --> 00:19:03,660 information the advice from their doctor 411 00:19:00,600 --> 00:19:05,820 uh such as the subscriptions 412 00:19:03,660 --> 00:19:08,160 um and and to be able to share their 413 00:19:05,820 --> 00:19:09,660 Integrated Health Data back to their 414 00:19:08,160 --> 00:19:12,120 doctors 415 00:19:09,660 --> 00:19:16,100 control of the sharing then there's a 416 00:19:12,120 --> 00:19:16,100 health worker up because we realized 417 00:19:20,760 --> 00:19:23,940 so we realized that 418 00:19:23,100 --> 00:19:26,220 um 419 00:19:23,940 --> 00:19:28,919 the care coordination teams that going 420 00:19:26,220 --> 00:19:31,559 out to patients in the community 421 00:19:28,919 --> 00:19:33,059 they're actually using paper and Pen to 422 00:19:31,559 --> 00:19:34,620 do much of their recording and then 423 00:19:33,059 --> 00:19:36,000 having the load of bringing that back to 424 00:19:34,620 --> 00:19:37,620 the clinic and having to put it back 425 00:19:36,000 --> 00:19:40,140 into their their patient information 426 00:19:37,620 --> 00:19:42,480 management system so this allows them to 427 00:19:40,140 --> 00:19:44,820 have the patient data with them on the 428 00:19:42,480 --> 00:19:46,799 Fly throughout the community be able to 429 00:19:44,820 --> 00:19:47,700 update that and have it sync back to 430 00:19:46,799 --> 00:19:49,919 their system 431 00:19:47,700 --> 00:19:52,520 and then the third app is the granny up 432 00:19:49,919 --> 00:19:56,880 uh and this is the one that's gonna 433 00:19:52,520 --> 00:19:59,039 provide the analytics uh to show how 434 00:19:56,880 --> 00:20:02,340 patients who are 435 00:19:59,039 --> 00:20:04,880 being treated in this way uh performing 436 00:20:02,340 --> 00:20:04,880 in the community 437 00:20:05,160 --> 00:20:09,780 so we're going to set up yaraba solid 438 00:20:06,900 --> 00:20:11,900 server where each patient has their pod 439 00:20:09,780 --> 00:20:14,640 and they're each individually encrypted 440 00:20:11,900 --> 00:20:16,919 and those pods can be hosted on any 441 00:20:14,640 --> 00:20:18,960 solid server 442 00:20:16,919 --> 00:20:21,360 in the India the patients have their 443 00:20:18,960 --> 00:20:23,760 granular control over what data they 444 00:20:21,360 --> 00:20:25,679 share or decide not to share 445 00:20:23,760 --> 00:20:28,020 and that also means that they can 446 00:20:25,679 --> 00:20:30,539 delegate control perhaps to a trusted 447 00:20:28,020 --> 00:20:32,460 other person 448 00:20:30,539 --> 00:20:35,340 and those Access Control lists that you 449 00:20:32,460 --> 00:20:38,280 saw there they control access to each of 450 00:20:35,340 --> 00:20:40,320 the rdf resources in their pod 451 00:20:38,280 --> 00:20:43,260 they can view the access that they have 452 00:20:40,320 --> 00:20:46,520 given and change access to stop sharing 453 00:20:43,260 --> 00:20:46,520 to a particular recipient 454 00:20:47,520 --> 00:20:52,880 store additional data and share that to 455 00:20:50,280 --> 00:20:52,880 another person 456 00:20:53,820 --> 00:20:57,720 so we're beginning a trial of this 457 00:20:55,679 --> 00:21:00,539 pods-based up system with the patients 458 00:20:57,720 --> 00:21:02,940 working with a group of low-risk 459 00:21:00,539 --> 00:21:04,620 diabetes patients and being recruited to 460 00:21:02,940 --> 00:21:07,039 the trial and these will have the 461 00:21:04,620 --> 00:21:09,799 opportunity to engage 462 00:21:07,039 --> 00:21:12,840 with the medical staff and with us 463 00:21:09,799 --> 00:21:15,120 around the design and development of 464 00:21:12,840 --> 00:21:16,740 these applications for them so there'll 465 00:21:15,120 --> 00:21:18,179 be a number of yawning sessions where 466 00:21:16,740 --> 00:21:19,260 we're developing the data governance 467 00:21:18,179 --> 00:21:22,740 framework 468 00:21:19,260 --> 00:21:25,080 uh the the different leaders across the 469 00:21:22,740 --> 00:21:27,780 community want to have for the patients 470 00:21:25,080 --> 00:21:29,340 working with representatives and then 471 00:21:27,780 --> 00:21:31,200 that'll be implemented in the consent 472 00:21:29,340 --> 00:21:33,419 model within the pods 473 00:21:31,200 --> 00:21:36,299 and then working with those patients who 474 00:21:33,419 --> 00:21:39,000 are able to come to those sessions to to 475 00:21:36,299 --> 00:21:40,700 better improve how we can give them 476 00:21:39,000 --> 00:21:44,340 access 477 00:21:40,700 --> 00:21:46,860 and make it transparent uh the consent 478 00:21:44,340 --> 00:21:49,440 that they are able to control 479 00:21:46,860 --> 00:21:50,760 and at the end of the trial we envisaged 480 00:21:49,440 --> 00:21:52,020 that there would actually be multiple 481 00:21:50,760 --> 00:21:54,059 Community groups that would have 482 00:21:52,020 --> 00:21:56,940 pods-based applications 483 00:21:54,059 --> 00:21:58,500 and then this would allow 484 00:21:56,940 --> 00:22:01,140 patients who are attending different 485 00:21:58,500 --> 00:22:04,799 activities you know whether it's men 486 00:22:01,140 --> 00:22:07,559 shared the Arts Community or the footy 487 00:22:04,799 --> 00:22:10,679 Club to then have their attendance in 488 00:22:07,559 --> 00:22:12,600 those activities immediately ingested 489 00:22:10,679 --> 00:22:14,400 within their pod 490 00:22:12,600 --> 00:22:15,659 and this is the kind of information that 491 00:22:14,400 --> 00:22:18,059 the doctors 492 00:22:15,659 --> 00:22:20,100 believe is really important to the 493 00:22:18,059 --> 00:22:21,960 cultural and Integrated Health of their 494 00:22:20,100 --> 00:22:24,419 patients 495 00:22:21,960 --> 00:22:26,539 so using pods we're able to provide that 496 00:22:24,419 --> 00:22:29,400 infrastructure for 497 00:22:26,539 --> 00:22:30,620 distributed or individually governed 498 00:22:29,400 --> 00:22:33,419 data 499 00:22:30,620 --> 00:22:35,220 which can be just within communities or 500 00:22:33,419 --> 00:22:37,980 it can be extended outside communities 501 00:22:35,220 --> 00:22:40,679 to other entities that have pods to be 502 00:22:37,980 --> 00:22:42,419 able to receive data using solid 503 00:22:40,679 --> 00:22:44,940 technology 504 00:22:42,419 --> 00:22:47,100 and each person can then be in control 505 00:22:44,940 --> 00:22:51,240 of the data that they share 506 00:22:47,100 --> 00:22:55,039 and confident that it is encrypted and 507 00:22:51,240 --> 00:22:55,039 safe within those solid servers 508 00:22:56,400 --> 00:23:02,520 so this raises a number of challenges 509 00:23:00,539 --> 00:23:05,159 we briefly mentioned you know the 510 00:23:02,520 --> 00:23:08,039 challenge of setting up the pipelines 511 00:23:05,159 --> 00:23:10,260 and migration to those existing systems 512 00:23:08,039 --> 00:23:12,299 because moving into a pods-based 513 00:23:10,260 --> 00:23:13,620 architecture of data the data is 514 00:23:12,299 --> 00:23:15,480 effectively stored like a Knowledge 515 00:23:13,620 --> 00:23:17,460 Graph and so there's that transposition 516 00:23:15,480 --> 00:23:19,860 from a relational database 517 00:23:17,460 --> 00:23:23,220 or other type of database in into the 518 00:23:19,860 --> 00:23:25,220 graph rdf format 519 00:23:23,220 --> 00:23:28,440 but once it is in that format 520 00:23:25,220 --> 00:23:30,679 standardized rdf formats then any other 521 00:23:28,440 --> 00:23:32,280 external pods-based application 522 00:23:30,679 --> 00:23:35,340 could 523 00:23:32,280 --> 00:23:37,440 through the access control list request 524 00:23:35,340 --> 00:23:39,179 access and basically offer that software 525 00:23:37,440 --> 00:23:42,020 to be able to connect with a person's 526 00:23:39,179 --> 00:23:42,020 data in their pod 527 00:23:42,720 --> 00:23:47,100 then there's also the aspect of data 528 00:23:44,580 --> 00:23:48,900 security so while the data is relatively 529 00:23:47,100 --> 00:23:51,240 safe because it is only decrypted on 530 00:23:48,900 --> 00:23:52,860 device that still does open the 531 00:23:51,240 --> 00:23:55,020 potential for back doors on those 532 00:23:52,860 --> 00:23:57,740 devices 533 00:23:55,020 --> 00:23:57,740 and 534 00:23:58,620 --> 00:24:03,780 we're in this future environment where 535 00:24:01,500 --> 00:24:05,340 privacy has become much more important 536 00:24:03,780 --> 00:24:07,440 people becoming much more aware of 537 00:24:05,340 --> 00:24:09,740 privacy we have legislation changing 538 00:24:07,440 --> 00:24:12,960 throughout the world around privacy 539 00:24:09,740 --> 00:24:15,120 you know being led very much by the gdpr 540 00:24:12,960 --> 00:24:16,460 in Europe 541 00:24:15,120 --> 00:24:19,799 however 542 00:24:16,460 --> 00:24:21,240 implementing those rights is really 543 00:24:19,799 --> 00:24:22,679 really challenging 544 00:24:21,240 --> 00:24:23,760 so one of those is the right to be 545 00:24:22,679 --> 00:24:26,100 forgotten 546 00:24:23,760 --> 00:24:27,480 with pods-based data storage you can 547 00:24:26,100 --> 00:24:29,280 turn off access 548 00:24:27,480 --> 00:24:31,380 so perhaps I've been giving my birth 549 00:24:29,280 --> 00:24:34,140 date as a piece of information to 550 00:24:31,380 --> 00:24:36,000 government agencies and then I say no I 551 00:24:34,140 --> 00:24:40,020 no longer want to do that 552 00:24:36,000 --> 00:24:40,020 I've lost faith in them and 553 00:24:41,000 --> 00:24:45,360 but then you don't know whether or not 554 00:24:43,500 --> 00:24:47,820 it is deleted 555 00:24:45,360 --> 00:24:51,120 so there is at the moment it's still 556 00:24:47,820 --> 00:24:53,100 dependent on this aspect of trust even 557 00:24:51,120 --> 00:24:55,760 though we do want to move to a trust no 558 00:24:53,100 --> 00:24:55,760 one environment 559 00:24:57,360 --> 00:25:01,620 so and finally 560 00:24:59,640 --> 00:25:04,020 um consent models for data sharing need 561 00:25:01,620 --> 00:25:06,059 to be simple to understand and use as 562 00:25:04,020 --> 00:25:08,340 well as being feasible to build consent 563 00:25:06,059 --> 00:25:10,140 is not consent if the individual doesn't 564 00:25:08,340 --> 00:25:11,700 understand what they have consented or 565 00:25:10,140 --> 00:25:14,480 they're not able to review or change 566 00:25:11,700 --> 00:25:14,480 that consent 567 00:25:16,740 --> 00:25:21,419 so working with the indigenous 568 00:25:19,620 --> 00:25:24,360 communities that have a very strong 569 00:25:21,419 --> 00:25:25,440 understanding of 570 00:25:24,360 --> 00:25:27,659 um 571 00:25:25,440 --> 00:25:30,360 of data governance 572 00:25:27,659 --> 00:25:32,940 we're able to benefit from that strength 573 00:25:30,360 --> 00:25:35,640 of history that they have there 574 00:25:32,940 --> 00:25:38,700 and 575 00:25:35,640 --> 00:25:40,500 their understanding around you know for 576 00:25:38,700 --> 00:25:43,260 instance that access to data is to be 577 00:25:40,500 --> 00:25:44,700 earned and we can design and build the 578 00:25:43,260 --> 00:25:46,740 consent model that supports the 579 00:25:44,700 --> 00:25:49,080 communities to have the kind of access 580 00:25:46,740 --> 00:25:51,559 and control over their data that they 581 00:25:49,080 --> 00:25:51,559 are seeking 582 00:25:52,080 --> 00:25:56,580 so with that I just want to say thank 583 00:25:53,640 --> 00:25:58,799 you thank you to you all for coming to 584 00:25:56,580 --> 00:26:01,919 hear about building with pods and also 585 00:25:58,799 --> 00:26:03,539 to our team so this work 586 00:26:01,919 --> 00:26:04,980 um you know wouldn't wouldn't be 587 00:26:03,539 --> 00:26:09,419 possible without the trust of the 588 00:26:04,980 --> 00:26:11,580 governor Health Service up in yaraba 589 00:26:09,419 --> 00:26:13,799 um and without our wonderful team led by 590 00:26:11,580 --> 00:26:15,960 Professor Graham Williams in the school 591 00:26:13,799 --> 00:26:16,620 of computing at Anu 592 00:26:15,960 --> 00:26:19,500 um 593 00:26:16,620 --> 00:26:22,980 some of our researchers Sergio Rodrigo 594 00:26:19,500 --> 00:26:26,400 Mendez and our software Engineers Nina 595 00:26:22,980 --> 00:26:28,940 Bart and saman Shu and Nunez with us 596 00:26:26,400 --> 00:26:28,940 here today 597 00:26:31,799 --> 00:26:35,950 thank you 598 00:26:32,810 --> 00:26:35,950 [Music] 599 00:26:37,500 --> 00:26:42,720 masks and earrings 600 00:26:39,600 --> 00:26:45,059 and mics and earrings apparently 601 00:26:42,720 --> 00:26:46,320 uh does anyone have any questions and 602 00:26:45,059 --> 00:26:49,580 you're gonna have to make yourself clear 603 00:26:46,320 --> 00:26:49,580 because I can't see much 604 00:26:52,580 --> 00:26:57,659 uh is there any expiry based ACL 605 00:26:55,679 --> 00:27:01,080 structure so you might want something 606 00:26:57,659 --> 00:27:02,640 where you don't want somebody to like 607 00:27:01,080 --> 00:27:04,559 instead of having to revoke it is there 608 00:27:02,640 --> 00:27:06,240 a way to have it that it you can set the 609 00:27:04,559 --> 00:27:09,299 expiry on it 610 00:27:06,240 --> 00:27:12,059 all right now we only have revoking 611 00:27:09,299 --> 00:27:14,460 access in the solid pods technology but 612 00:27:12,059 --> 00:27:18,799 we can build on top of that to have 613 00:27:14,460 --> 00:27:18,799 expiry this you know his students 614 00:27:31,500 --> 00:27:36,000 um migrating to like a semantic 615 00:27:33,539 --> 00:27:36,960 web-based technology is the learning 616 00:27:36,000 --> 00:27:38,340 challenge 617 00:27:36,960 --> 00:27:40,320 um are there communities that you 618 00:27:38,340 --> 00:27:42,600 participate with to like kind of start 619 00:27:40,320 --> 00:27:44,039 building up that knowledge skills that 620 00:27:42,600 --> 00:27:46,200 are going to be required to get to 621 00:27:44,039 --> 00:27:48,620 semantic web-based Technologies in 622 00:27:46,200 --> 00:27:48,620 Australia 623 00:27:49,260 --> 00:27:54,480 yeah okay uh so we got quite a lot of 624 00:27:52,020 --> 00:27:57,480 specialty around semantic Technologies 625 00:27:54,480 --> 00:28:00,120 in the school of community computing 626 00:27:57,480 --> 00:28:02,520 and through their involvement and their 627 00:28:00,120 --> 00:28:05,279 connections to those communities is is 628 00:28:02,520 --> 00:28:09,120 really how we're connected there but 629 00:28:05,279 --> 00:28:10,799 certainly we are seeing this movement to 630 00:28:09,120 --> 00:28:12,080 setting up communities working with 631 00:28:10,799 --> 00:28:15,120 solid 632 00:28:12,080 --> 00:28:18,360 which a large part of that is recognized 633 00:28:15,120 --> 00:28:21,779 that needing to drive the um the 634 00:28:18,360 --> 00:28:25,200 development of standards in how how we 635 00:28:21,779 --> 00:28:28,039 structure and store data in in rdf and 636 00:28:25,200 --> 00:28:28,039 triple format 637 00:28:28,980 --> 00:28:32,460 we're sorry to cut off the other people 638 00:28:30,480 --> 00:28:34,380 but you probably noticed we're a little 639 00:28:32,460 --> 00:28:37,799 bit behind 640 00:28:34,380 --> 00:28:41,460 so we'll defer hallway questions 641 00:28:37,799 --> 00:28:43,980 go find uh Anushka or Jess out in the 642 00:28:41,460 --> 00:28:46,799 hall and we wanted to say thank you very 643 00:28:43,980 --> 00:28:48,539 much to both of you and redwin has a 644 00:28:46,799 --> 00:28:51,059 little gift for you as well before you 645 00:28:48,539 --> 00:28:55,560 bail on the room uh we'll see you all 646 00:28:51,059 --> 00:28:59,099 back here at 11 for our next talk 647 00:28:55,560 --> 00:28:59,099 [Applause]