Chronobot Database
The current content includes the following:
records(rid, uid, datetime, source, type, value)
There are 65,941 records
Example: uid is user-id 376896
datetime: 2016-03-01 11:50:30
source: BloodPressure
type: systolic
value: 144
(*new attribute to be added: originator: m15 or uid)
users(uid, ip, password, email, firstname, lastname, isSuperUser)
Example: uid is user-id 376896
ip: 150.212.71.54
password: ***
email: user1@ksiresearch.org
firstname: xxx
lastname: xxx
isSuperUser: 1 (superUser) 2 (admin) 0 (user)
(*isSuperUser to be changed to UserType: s, a, u)
(*new attributes to be added:
gender: f
dob: 1980-1-1)
Messages
.....
==================
ACTIONS:
To Yin:
(1) Add a 'Similar' attribute as a list of uid's such as '156,13,223'.
Notice GUI needs to retrieve 'Similar' if user
wants similarity results, or 'chiTotal' if user
wants to analyze data.
(2) If user asks GUI to analyze data, GUI first checks
'records' to see whether there is any analysis results
(chiTotal) whose time stamp is within a threshold (say
one hour) of the current time. If there are results,
the results are displayed. If there are no such
results, GUI sends M5 to be stored in 'Messages',
and displays a message "Please return to view results
later". Once ChiMonitor receives M5 it will analyze
data to compute chiTotal and upload to "records'.
(3) Similarly, if user asks GUI to do similarity retrieval,
GUI first checks 'records' to see whether there is any
similarity results (Similar) whose time stamp is within a threshold
(say one hour) of the current time. If there are
similarity results, the results are displayed. If there
are no such results, GUI sends M3 to be stored in 'Messages',
and displays a message "Please return to review results
later". Once ChiAdvertiser receives M3 it will find similar
users' uid and store in Similar and upload to 'records'.
(4) Change the IsSuperUser attribute to the following:
UserType: ('a' for admin, 's' for superuser, 'u' for user)
The numbers are somewhat confusing.
(5) This is the main thing. When you display the records
for a certain user during a certain time period, you
are search 'records' by uid and datetime. So you may
end up with records with different source and type.
When you display the details it could be ordered
by datatime, most recent records being first and so on.
But when you switch to graphics, you should draw the
graphs one at a time, according to the distinct
pair of source and type. In other words, for each
source and type, a different graph is drawn. There
will be more buttons at the lower right:
more graphs? enter data return
(6) When user is entering data, the datetime, source
and type are already known and therefor should be
displayed with value filled. So the user only needs
to fill in the value. There will be more buttons
at the lower right:
next submit cancel
(7) From the 'enter data' screen, again user should
be prompted to enter one value for each combination
of source and type (pre-filled), and then with
following menu at lower right:
next submit cancel
If you have questions, either send me e-mail or
drop by between 4pm to 5pm today (Thursday) to
talk to me.
To Zhang Qiao:
(8) Good job! Now only minor changes are needed to
improve the display. There should be a small circle
at each data point. The line should be thicker.
The characters a little larger. Please take a look
at iPhone's graphic display as an example. Thanks.
To Zhao and Zhang HaoRang:
(9) Zhao and Zhang HaoRang: What your basic component
will ask Uploader to upload are the following.
Each Chi attribute will be one separate record.
records(rid, uid, datetime, source, type, value)
Example: uid is user-id 376896
datetime: 2016-03-01 11:50:30
originator: machine-id such as m15, superuser such as 's', or uid such as 376896
source: Chi
type: Fatigue or Pulse, Sweaty, Tongue, WeakBreath, chiTotal
value: 8
(10) All: Later, we will add to users relation
one more attribute:
originator: (uid if a user generates it, 's' if superuser generated it, machine-id if a machine generates it)
Then we can tell whether a user generates this data,
or a machine generates this data.
(11) Tang: Instead of a vector, with (10) you can
generate a number of Chi records where the 'originator'
attribute is set to the user who generates it.
An example is in (9), but the 'originator' value is the uid of the
user who generated it. Also, your uid and datetime do
not conform to the required format.
(12) Tang: We can use SocialNet
as a LearningNet. The users consist of one teacher
and several students. The simplest and most effective
situation is one teacher and one student. Or in the
healthcare context, one doctor and one patient. So
the weighting could be different, for example, the
computation of chiTotal can be 0.9 x1 + 0.1 x2
where x1 is the estimation of chi from teacher and
x2 is the estimation of chi from student. As the
student gradually learns from teacher, his healthcare
profile should gradually become similar to that of
the teacher. This is the simplest case of SocialNet
as a LearningLet. More complex LearningNet can have
one teacher and many students, or no teacher and
many students (so that students may learn from one
another). We should be able to use the experimental
system to test different LearningNets.