foreign
to the our connected Universe track
AKA everything about apis we're so
stoked that uh I can I can Glimpse at so
many people's faces through the light
and we're really looking forward to uh
all of the talks in the truck today uh
now we're running a little bit behind
schedule after the opening address so
we're going to kick right into our first
talk of the day and we have up our first
Anushka vidanade uh sorry and just just
Moore and they're going to be presenting
building Health software on
decentralized health data using personal
online data stores I'm really excited
for this talk take it away thanks yeah
right uh good morning everyone so yeah
first um I would like to begin today by
acknowledging the traditional custodians
of the land on which we meet today and
would like to pay my respect to their
Ides past present and emerging and we
would also like to acknowledge our
indigenous Partners on this project that
we are doing at Anu why who these are
from yaraba no not Queensland
the traditional owners gugganji people
and the history corners of that land
and here with me is just Moe and we are
from the softer Innovation Institute
School of computing from the Australian
National University and today we'll be
talking about personal online data
stores and how do we build Health
software using personal online data
stores
and this is a brief outline of our talk
so I'm gonna do whys and what's of these
uh
something called pods personal online
data stores and solid boards and I'm
gonna dive a little bit deep uh into
some technologies Behind these solid
pods and then Jess will talk about our
actual project Where We Are
build this health software using solid
pods
okay
so uh not sure if everyone can see that
so what I did was I asked chat GPT what
are the problems with centralized
databases and here's what I got
um so there's a long list but I want you
to focus on these three aspect so
basically these three aspect highlights
uh the aspect of data privacy and
security and lack of transparency
and uh the lack of data ownership
so the Privacy as evident by latest data
breaches all over the world here in
Australia as well for instance Medicare
and Optus as some of you may know so the
centralized databases are prone to
security and privacy risks always so one
of the reasons being that they can be
these centralized databases because they
hold a lot of data about uh let's say
hundreds of thousands of or even
millions of people they can be
attractive many adversaries out there
um so a successful bridge to these
centralized databases could reveal
sensitive information about yourself
um
so and obviously there's a there's a
threat of privacy where our own data is
most of the time handled by someone else
some Central Authority
right and then the lack of transparency
centralized databases often rely on
um Central authorities or administrators
which we call them and we basically put
our data on their hands and we basically
trust them uh because sometimes that
could be our only option right and in
return we do not really get to know what
happens with our data and what kind of
raw data really they capture about
ourselves and what do they do with them
so even though the Privacy policies such
as gdpr enforce the practice of
transparency there will still be gaps
with these centralized databases
um you might remember the the incidents
with Cambridge analytical Scandal so
yeah so there's lack of transparency and
finally the lack of ownership uh
so we when relying on these third
parties to handle our own private data
um we have to we don't really get the
ownership of our own data right what we
get most of the time with these systems
is some kind of a statement or a
document stating that they handle they
gather this kind of data of ourselves
and this is what they are doing we don't
actually get to see the raw data itself
yeah so
and that comes with the lack of
interoperability with centralized
databases uh we are dependent on one
database for one service where we cannot
really migrate between databases if we
want to
um
so these are the these are some of the
main issues with centralized databases
so can we somehow solve these issues so
address these issues can we somehow turn
this around
and that's where this the concept of
um puts personal online data stores
comes into play uh
so a personal online data so data store
is a place where you can store your own
personal data and also have complete
control over that data
um
so the concept of PODS is framed around
the individual
so the individual is at the center
as you can see here in this picture and
then individual can access their own
data in their own code they can see
what's been stored they are the one who
store this data and then
individuals are better informed about
their data and
the service providers they come at
around the individual here
so they provide different Services based
on the data that's been stored inside
our personal online data store so that's
the basic concept of uh
you know the personal online data stores
so it's just not only a data store as
well so it's an ecosystem where programs
programmers developers like you and me
can quickly build stuff programs
softwares applications and get our
innovative ideas out in the field so we
can build software to use the data on
pods as a third-party application
so that's the basic idea
um
right so what is solid bones so solid is
basically uh it's uh so it's it's a
short for social link data uh it's a web
decentralization project led by Tim
berners Lee it's initially released in
2016.
um and it contains a specification that
lets individuals store their data
securely in a decentralized databases
these spots
um so it's a place where you can have
your own data stored in your own port
and starts uh you know start
um doing stuff with those data so start
giving access to others on your data
things like that so following solid
specifications multiple servers has been
built so multiple open source solid
servers are available out there so the
most popular one is the community solid
server which is here in the first link
and then you have PHP solid server or
you also have solid server as a plugin
for next cloud
so the difference with all these servers
the concept of the solid servers is that
uh
for the solid specification compared to
centralized options ah centralized
options is that the centralized options
is always
um get a separate backend
right for separate services so you have
a separate backend for separate services
for instance uh Facebook has their own
backend Twitter has their own backend
um but with the solid pods what happens
is that you will have a single back end
which is your own port and the apps and
the services will be asking for your
permission to you use your own data uh
and in return give the service to you
right
so I'm gonna give a brief introduction
to technology behind solid uh solid pods
and then hand over to Jess to talk about
our actual project
so the technology behind pod pods solid
pods is mostly based on semantic web
Technologies so for each Port we do have
something called a web ID
uh which is essentially an URI which is
unique to each pod so each pod can be
uniquely identified using this web ID
um so for instance here you can see this
is my so the first link here that's my
web ID from my pod in in wrap.com so
that's an uh free service which you can
go there and build your own port and
start storing your data so that's the
web ID for my pod
and the pods so the data inputs are
saved as something called link data link
data is basically a collection of terms
um or their definitions and their links
the relationships between them so for
instance here
you can see uh the link graph
so that that's a link to graph uh where
I do you can see relationships between
Bob and Alice and to some of these terms
here so these linked graphs once we have
this linked graph we can store this in
our ports using something called Turtle
serialization so what happens is in
total serialization what we do is we
um
we convert this link graph into
something called triplets we are in
triplets we do have the subjects
predicates and object so this link graph
is now converted into these triplets
like the ones you see there and then
that's been stored in Turtle files and
there's those Turtle files are inside
your ports and that's your data
so that's the basic idea of storing data
in solid pods
um
and then
um so the authentication stuff and the
authorization stops so in solid ports uh
they use something called open ID
connect it's an open Authentication
Protocol that works on top of
um
2.0 framework so uh exam for instance
um if you log into Spotify use in
Facebook you can log into stack also
using Google so that's open uh ID
connect or 2.0 so that's the
Authentication Protocol that's running
behind these solid pods
for authentication purposes and in for
sharing the data it's using something
called web access control ontologies
um
so you can see ah
Imports how do we share the how do we
give access to others to our own data
that's been done using access control
lists so that's this web access control
ontology so you can see in this picture
um
so you have given so they you have given
access to these two people p and that's
line one two three four five
so you have given access to the
filemedical.ttl to those people and what
specific access has been given that's
given in the last line so you have given
control read and write access to those
two people for that medical DOT TTL file
and that's how you usually give so you
can you can give either
one of these three controls uh to to
someone else so
um for transparency you can also have
logs where you can record this access
sharing as well
um
so you can have a look at later stage
and built-in pipelines so when migrating
so this is kind of now we are going into
our project here
um so when migrating from existing
systems uh or coming from accessory
systems to these decentralized databases
these decentralized pods-based systems
one of the challenges we face is that
um we cannot really
um like
fully migrate at once into these Sports
based Concepts right so uh it should be
a step-by-step process a gradual process
and that at some point sports-based
systems need to coexist with the current
trans centralized systems so we need to
build pipelines from and potentially to
these systems from these Sports base
to existing systems using the sport
based systems as well
so
what happens here is we employ use in
our project what we do is we employ
python to build these pipelines so it's
a simple process what we do is we
extract data from existing systems and
then we pre-process data
so in the pre-processing uh what we do
is we sometimes do some data aggregation
maybe do some data encryption data
masking
um things on on top of the extracted
data and then what we do is we transform
data into these Turtle formats so rdf
formats and then we feed that data back
into solid servers
and this can again be done vice versa as
well if needed so we can extract a data
from solid servers do the exact same
thing and feed that data into existing
systems
all right so
um in our project uh so far we have
developed uh so we are mainly working on
something called flutter and Dot for
developing our applications that's in
the front end uh in the backend side we
are using mainly python for instance
building pipelines from these existing
systems
um so flutter is a cross platform app
development technology so the underlying
language has been dot so in this project
we have so far developed three open
source packages
to use with our applications so the
packages are being solid oath solid
encrypt and rdf lib so
solid oath package uh as the name
suggests you can do authentication from
and to pods so you can do uh whenever
you build a flat up uh you know flutter
application you can use this solid
authentication package to do the
authentication into any port out there
right and in the solid encrypt then you
can use this package to encrypt your
data inside your ports at rest
encrypt and decrypt data and the RDA
flip package that's a DOT package for
working with rdf and this package could
simply
extract triplets from the existing
Turtle files in our pods and create this
DF graphs and also
um once we process these graphs we can
export it to a turtle file as well using
this package
so that's a quick introduction to uh
three of the packages that's been
developed on Java project
okay
yes that's where I hand out yes thanks
with the yaraba indigenous community so
their Health Service
Health Service they reached out to us
um they were looking to basically have
better data infrastructure in their I.T
system so they could support
personalized strength-based care
recognizing that in their Community
where they've got a really high disease
burden with diabetes rheumatic heart
disease and a number of other challenges
it's really important to keep people to
bring the care to the patients
and as much as possible keep people
being treated in community so they have
their connection to their country
to their people
which gives them their source of
strength and that uh so they look into
this to have a better system that will
help them to be able to both support
patients
for having better communication with
their doctor around their Integrated
Health and for the doctors to be able to
monitor their patients
um that they're treating in this way
so using solid
eat patient and their doctor has their
own pod
and we're building the health software
where patients can access and control
how the data is shared from their pod
so we've got three pods-based
applications
uh the first is the what we call the
India this is the app for patients which
allows them to access their health
information the advice from their doctor
uh such as the subscriptions
um and and to be able to share their
Integrated Health Data back to their
doctors
control of the sharing then there's a
health worker up because we realized
so we realized that
um
the care coordination teams that going
out to patients in the community
they're actually using paper and Pen to
do much of their recording and then
having the load of bringing that back to
the clinic and having to put it back
into their their patient information
management system so this allows them to
have the patient data with them on the
Fly throughout the community be able to
update that and have it sync back to
their system
and then the third app is the granny up
uh and this is the one that's gonna
provide the analytics uh to show how
patients who are
being treated in this way uh performing
in the community
so we're going to set up yaraba solid
server where each patient has their pod
and they're each individually encrypted
and those pods can be hosted on any
solid server
in the India the patients have their
granular control over what data they
share or decide not to share
and that also means that they can
delegate control perhaps to a trusted
other person
and those Access Control lists that you
saw there they control access to each of
the rdf resources in their pod
they can view the access that they have
given and change access to stop sharing
to a particular recipient
store additional data and share that to
another person
so we're beginning a trial of this
pods-based up system with the patients
working with a group of low-risk
diabetes patients and being recruited to
the trial and these will have the
opportunity to engage
with the medical staff and with us
around the design and development of
these applications for them so there'll
be a number of yawning sessions where
we're developing the data governance
framework
uh the the different leaders across the
community want to have for the patients
working with representatives and then
that'll be implemented in the consent
model within the pods
and then working with those patients who
are able to come to those sessions to to
better improve how we can give them
access
and make it transparent uh the consent
that they are able to control
and at the end of the trial we envisaged
that there would actually be multiple
Community groups that would have
pods-based applications
and then this would allow
patients who are attending different
activities you know whether it's men
shared the Arts Community or the footy
Club to then have their attendance in
those activities immediately ingested
within their pod
and this is the kind of information that
the doctors
believe is really important to the
cultural and Integrated Health of their
patients
so using pods we're able to provide that
infrastructure for
distributed or individually governed
data
which can be just within communities or
it can be extended outside communities
to other entities that have pods to be
able to receive data using solid
technology
and each person can then be in control
of the data that they share
and confident that it is encrypted and
safe within those solid servers
so this raises a number of challenges
we briefly mentioned you know the
challenge of setting up the pipelines
and migration to those existing systems
because moving into a pods-based
architecture of data the data is
effectively stored like a Knowledge
Graph and so there's that transposition
from a relational database
or other type of database in into the
graph rdf format
but once it is in that format
standardized rdf formats then any other
external pods-based application
could
through the access control list request
access and basically offer that software
to be able to connect with a person's
data in their pod
then there's also the aspect of data
security so while the data is relatively
safe because it is only decrypted on
device that still does open the
potential for back doors on those
devices
and
we're in this future environment where
privacy has become much more important
people becoming much more aware of
privacy we have legislation changing
throughout the world around privacy
you know being led very much by the gdpr
in Europe
however
implementing those rights is really
really challenging
so one of those is the right to be
forgotten
with pods-based data storage you can
turn off access
so perhaps I've been giving my birth
date as a piece of information to
government agencies and then I say no I
no longer want to do that
I've lost faith in them and
but then you don't know whether or not
it is deleted
so there is at the moment it's still
dependent on this aspect of trust even
though we do want to move to a trust no
one environment
so and finally
um consent models for data sharing need
to be simple to understand and use as
well as being feasible to build consent
is not consent if the individual doesn't
understand what they have consented or
they're not able to review or change
that consent
so working with the indigenous
communities that have a very strong
understanding of
um
of data governance
we're able to benefit from that strength
of history that they have there
and
their understanding around you know for
instance that access to data is to be
earned and we can design and build the
consent model that supports the
communities to have the kind of access
and control over their data that they
are seeking
so with that I just want to say thank
you thank you to you all for coming to
hear about building with pods and also
to our team so this work
um you know wouldn't wouldn't be
possible without the trust of the
governor Health Service up in yaraba
um and without our wonderful team led by
Professor Graham Williams in the school
of computing at Anu
um
some of our researchers Sergio Rodrigo
Mendez and our software Engineers Nina
Bart and saman Shu and Nunez with us
here today
thank you
[Music]
masks and earrings
and mics and earrings apparently
uh does anyone have any questions and
you're gonna have to make yourself clear
because I can't see much
uh is there any expiry based ACL
structure so you might want something
where you don't want somebody to like
instead of having to revoke it is there
a way to have it that it you can set the
expiry on it
all right now we only have revoking
access in the solid pods technology but
we can build on top of that to have
expiry this you know his students
um migrating to like a semantic
web-based technology is the learning
challenge
um are there communities that you
participate with to like kind of start
building up that knowledge skills that
are going to be required to get to
semantic web-based Technologies in
Australia
yeah okay uh so we got quite a lot of
specialty around semantic Technologies
in the school of community computing
and through their involvement and their
connections to those communities is is
really how we're connected there but
certainly we are seeing this movement to
setting up communities working with
solid
which a large part of that is recognized
that needing to drive the um the
development of standards in how how we
structure and store data in in rdf and
triple format
we're sorry to cut off the other people
but you probably noticed we're a little
bit behind
so we'll defer hallway questions
go find uh Anushka or Jess out in the
hall and we wanted to say thank you very
much to both of you and redwin has a
little gift for you as well before you
bail on the room uh we'll see you all
back here at 11 for our next talk
[Applause]