01:29:40
|
*** mandric has quit IRC
|
02:17:09
|
*** dlawson has quit IRC
|
02:18:32
|
*** dlawson has joined #openmrs
|
02:18:32
|
*** ChanServ sets mode: +v dlawson
|
02:23:44
|
*** jportela has left #openmrs
|
02:35:12
|
*** gbastien has quit IRC
|
03:14:05
|
*** dlawson has left #openmrs
|
04:06:57
|
*** suho has joined #openmrs
|
04:06:57
|
*** ChanServ sets mode: +v suho
|
05:52:44
|
*** bwolfe has joined #openmrs
|
05:52:44
|
*** ChanServ sets mode: +o bwolfe
|
06:02:03
|
*** dkayiwa has joined #openmrs
|
06:32:36
|
<suho> hi dkayiwa
|
06:32:41
|
<dkayiwa> hi suho
|
06:32:57
|
<suho> did you go through the mail i sent
|
06:33:11
|
<dkayiwa> yes
|
06:33:41
|
<suho> I have some issues with deciding what on NCD side we need to store
|
06:34:00
|
<suho> Do you have any idea
|
06:34:09
|
<dkayiwa> has Shaun gotten back to you yet?
|
06:34:21
|
<suho> no :(
|
06:34:30
|
<dkayiwa> ok
|
06:34:59
|
<dkayiwa> do the existing storage structures fit into our usecase?
|
06:36:40
|
<suho> they are storing NPL critic concept and NPL critic context and then generating reports
|
06:37:09
|
<dkayiwa> do they store one concept for each critic
|
06:37:14
|
<dkayiwa> ?
|
06:38:42
|
<suho> concept to conditions is many to one
|
06:39:05
|
<suho> i think what they say as conditions is critic ... not sure
|
06:39:20
|
<dkayiwa> i thought that each condition contains a concept
|
06:39:46
|
<suho> there is nothing as critic.
|
06:40:17
|
<suho> when you define a concept you have to select a condition from the dropdown
|
06:40:30
|
<dkayiwa> to my understanding a critic is one or more conditions
|
06:40:52
|
<dkayiwa> so do they have a fixed set of conditions?
|
06:41:51
|
<suho> Acute myelofibrosis ,Acute Pesticide Poisoning ,Adenoma of lung or bronchus ,Adenopathy ,AFB Undetermined Amebiasis
|
06:41:58
|
<suho> are some conditions
|
06:42:09
|
<suho> they have a lot like this
|
06:42:11
|
<dkayiwa> oh i see
|
06:42:22
|
<dkayiwa> in that case looks like ours is a bit different
|
06:42:35
|
<dkayiwa> and hence we may need different table structures
|
06:43:06
|
<suho> ok
|
06:43:29
|
<suho> they too have context .. e.g family
|
06:43:51
|
<suho> and that contains , uncle aunt, father ...
|
06:43:56
|
<dkayiwa> looks like in our case context is just another condition
|
06:44:08
|
<dkayiwa> that the user can define
|
06:45:13
|
<suho> the concept and context in the present ncd is also definable
|
06:46:38
|
<suho> i think those are the default ones, are we going to create an entire now set of classes for these ?
|
06:46:54
|
<dkayiwa> we want user defined critics
|
06:47:00
|
<dkayiwa> not hardcoded ones
|
06:47:19
|
<dkayiwa> user should be able to to define something on the fly
|
06:47:59
|
<dkayiwa> like when (cd4 count > ?? & Age < 20, etc) then do send this message
|
06:48:13
|
<suho> i think here also its possible but the issue is i dont have a very good understanding on concept and context in ncd :(
|
06:48:52
|
<dkayiwa> if we confirm it to be possible with existing structures, then we do not need to create new ones
|
06:49:02
|
<dkayiwa> but if we fail, then we shall create new ones
|
06:49:16
|
<suho> if we are not going to use these stuff then we a go ahead an create a new module
|
06:49:24
|
<suho> that will be clean and nice
|
06:49:55
|
<dkayiwa> your suggestion makes alot of sense to me :)
|
06:50:26
|
<dkayiwa> i buy your idea :D
|
06:51:09
|
<suho> i bit scared to meddle with ncd because i dint know how is works and no one to help too
|
06:51:52
|
<suho> there are no proper test suites too check too :(
|
06:52:16
|
<dkayiwa> i agree
|
06:52:51
|
<dkayiwa> i think we should just go ahead and create a new module
|
06:53:59
|
<suho> last 3 days i tied in my own as i couldn't find any help and I'm not sure where i can finish the project like this :(
|
06:54:16
|
<dkayiwa> i agree
|
06:54:19
|
<suho> is it acceptable to create a new module
|
06:54:33
|
<dkayiwa> it will take us lots of time trying figure out stuff in there
|
06:54:49
|
<dkayiwa> we can ask others and find out what they think
|
06:55:07
|
<suho> since the project description says connecting ncd to messaging module !!!
|
06:55:38
|
<dkayiwa> as long as we have a valid technical reason, the title can change
|
06:55:56
|
<dkayiwa> all that is important is delivering the intended functionality
|
06:56:45
|
<suho> ok than it would be great :)
|
06:57:11
|
*** rafa has joined #openmrs
|
06:57:11
|
*** ChanServ sets mode: +v rafa
|
06:58:19
|
<suho> in that case I can also use my final year project code (realised under Apache v2) for pattern matching
|
06:59:07
|
<dkayiwa> yes reuse is a very solid software concept :)
|
06:59:27
|
<suho> it supports > < >=.. and also sequences like notify if A happens first then B then C
|
07:00:02
|
<suho> A,BC are some conditions like (cd4 count > ?? & Age < 20)
|
07:02:13
|
*** rafa has quit IRC
|
07:02:44
|
<suho> ok we'll leave that for now .
|
07:02:56
|
<suho> can you get the permission of the community so that we can go a head with new module
|
07:03:24
|
<suho> than messing with ncd
|
07:04:31
|
<suho> dkayiwa, but i think we need to find out a mechanism to capture each inputs in some way
|
07:05:24
|
<suho> i think in that way knowing ncd will be useful (if they too have done the same)
|
07:06:52
|
<dkayiwa> sorry was on phone call
|
07:07:02
|
<suho> dkayiwa, np
|
07:07:31
|
<dkayiwa> what do you mean by way of capturing inputs
|
07:08:50
|
<suho> i mean if we are sending a notification when cd4 results are entered
|
07:09:23
|
<suho> than we much have some mean to capture what we have entered
|
07:09:26
|
<suho> is that so
|
07:09:47
|
<dkayiwa> whats we have entered?
|
07:09:57
|
<dkayiwa> does it mean data entry forms?
|
07:10:07
|
<dkayiwa> for say the lab results?
|
07:11:14
|
<suho> no we to capture the date somewhere down that line: after entered in the form and before saving to the database
|
07:11:35
|
<dkayiwa> oh i see
|
07:11:45
|
<dkayiwa> date of entry of the cd4 count?
|
07:12:09
|
<suho> sorry data :)
|
07:12:37
|
<dkayiwa> date of data entry?
|
07:13:20
|
<suho> not the data entered should be captured
|
07:13:28
|
<suho> not date
|
07:13:57
|
<dkayiwa> do you mean data which is already stored by openmrs in the obs table?
|
07:14:54
|
<suho> no if we are going to check for (cd4 count > ?? & Age < 20)
|
07:15:14
|
<suho> which data are we going to use ?
|
07:15:40
|
<dkayiwa> the openmrs data entered via forms. not so?
|
07:15:51
|
<suho> i thought we are going to capture the date entered in the forms ..
|
07:15:52
|
<suho> ok
|
07:16:02
|
<suho> so how ?
|
07:16:08
|
<dkayiwa> date of entry is already stored by openmrs
|
07:16:31
|
<suho> ok
|
07:17:10
|
<dkayiwa> using the date_created field
|
07:17:35
|
<suho> so are we going to run a scheduled task and get the required data for processing
|
07:17:38
|
<dkayiwa> but we may instead need the encounter_date
|
07:18:06
|
<dkayiwa> thats what it looks like we should, to me too
|
07:18:21
|
<dkayiwa> in addition to that
|
07:18:42
|
<dkayiwa> we may also need to AOP around obs submission
|
07:18:55
|
<dkayiwa> because there are some critics which should fire immediately the data is submitted
|
07:19:22
|
<suho> that what i was trying to say earlier :)
|
07:19:24
|
<suho> i got it
|
07:19:57
|
<dkayiwa> ok
|
07:20:27
|
<suho> so how to decide the encounter_date.. and so
|
07:20:29
|
<dkayiwa> the scheduled task is for those critics that have a date component which means fire later
|
07:21:08
|
<suho> ok
|
07:21:32
|
<dkayiwa> the encounter_date is part of the data openmrs stores
|
07:21:53
|
<suho> ok
|
07:22:54
|
<suho> so shall we come up with our usecases
|
07:23:00
|
<dkayiwa> yes
|
07:23:12
|
<dkayiwa> since we have no users to help us :)
|
07:23:22
|
<suho> :)
|
07:23:44
|
<suho> one for schedule and other for on time notification
|
07:23:50
|
<dkayiwa> yes
|
07:24:08
|
<dkayiwa> those two are all we need
|
07:24:19
|
<suho> i think so
|
07:25:08
|
<suho> so for the first one:
|
07:25:51
|
<suho> after 6 week of birth the child need to come for foo vaccination
|
07:25:55
|
<suho> is that ok
|
07:26:11
|
<dkayiwa> perfect :)
|
07:26:25
|
<suho> ok for the other:
|
07:27:29
|
<suho> when cd4 count reaches 100 inform the bar
|
07:27:49
|
<dkayiwa> perfect :)
|
07:28:03
|
<suho> any improved or more complex query ?
|
07:28:38
|
<dkayiwa> And looks like even if we create a new module, the title does not need to change because it still is about what we are doing: "Message Delivery Triggered by Conditions within OpenMRS"
|
07:28:39
|
<suho> i mean scenario
|
07:29:12
|
<suho> yes in that case its fine :)
|
07:29:19
|
<suho> thats great
|
07:30:06
|
<dkayiwa> as for more complicated ones, i do not have them off the head
|
07:30:36
|
<dkayiwa> but if we can have a generic way of users defining the conditions (critics), we should be done
|
07:30:37
|
<suho> ok so for now we'll start with these
|
07:30:48
|
<suho> yes
|
07:31:23
|
<suho> so how are we going present this in openmrs
|
07:31:27
|
<dkayiwa> if any other scenario comes up which does not fit into those two categories, then it will be beyond your GSOC scope :)
|
07:31:40
|
<suho> ok :)
|
07:31:58
|
<dkayiwa> present what?
|
07:32:37
|
<suho> so the next prob is, how the user is going to configure these in openmrs
|
07:32:56
|
<suho> for the schedule:
|
07:33:01
|
<suho> ?
|
07:33:02
|
<dkayiwa> we are going to create a page where the user defines a critic
|
07:33:08
|
<suho> ok
|
07:33:16
|
<dkayiwa> critic = one of more conditions
|
07:33:22
|
<suho> ok
|
07:33:26
|
<dkayiwa> and each critic has a message to be sent
|
07:33:32
|
<suho> ok
|
07:33:44
|
<suho> how to define critic?
|
07:34:14
|
<dkayiwa> by the user?
|
07:34:25
|
<suho> yes
|
07:34:34
|
<suho> like in our case : after 6 week of birth the child need to come for foo vaccination
|
07:34:56
|
<dkayiwa> are you asking how that would be stored in the database?
|
07:34:57
|
<suho> how to write ...after 6 week of birth
|
07:35:47
|
<suho> no, how does the module know where to look for the relevant information ?
|
07:36:05
|
<suho> in which table and which column ?
|
07:36:34
|
<suho> we need to some how tell the module is information right ?
|
07:36:35
|
<dkayiwa> the module fetches the critic conditions from the tables whose structure we need to define
|
07:37:32
|
<suho> can you please elaborate this more
|
07:38:11
|
<dkayiwa> our starting point is defining the table structures necessary for storing our critics and their messages to be sent
|
07:39:01
|
<suho> yes i got that
|
07:39:05
|
<dkayiwa> ok
|
07:39:07
|
<suho> the problem is
|
07:39:17
|
<suho> when we are writing the critic
|
07:39:47
|
<suho> we will be writing something like (birth +6week ==today )then notify
|
07:39:59
|
<dkayiwa> pefect
|
07:39:59
|
<suho> is it correct ?
|
07:40:05
|
<dkayiwa> correct :)
|
07:40:34
|
<suho> ok so does the module knows where to look for the birth date ?
|
07:40:42
|
<dkayiwa> yes
|
07:40:45
|
<suho> in which table
|
07:40:49
|
<suho> how ?
|
07:41:06
|
<dkayiwa> the openmrs api exposes a birth date for each patient
|
07:41:39
|
<dkayiwa> using the API shields us from database changes
|
07:41:54
|
<dkayiwa> of the openmrs core database schema
|
07:41:58
|
<suho> ok
|
07:42:22
|
<dkayiwa> though we know the birth_date database field, we are advises against dirrectly accessing it
|
07:43:00
|
<suho> ok got it
|
07:43:25
|
<dkayiwa> so our critic conditions we use (concepts, person attributes, and the fixed person demographic fields)
|
07:43:49
|
<dkayiwa> thats all we need to let a user generically define a critic
|
07:44:00
|
<suho> and in this case we will be defining some where that birthday is Person.getBirthday();
|
07:44:10
|
<dkayiwa> yes
|
07:44:34
|
<suho> ok got the idea
|
07:45:40
|
<dkayiwa> https://wiki.openmrs.org/display/projects/Jacaranda+Health+Brainstorm
|
07:45:46
|
<OpenMRSBot> <http://ln-s.net/8q-q> (at wiki.openmrs.org)
|
07:45:55
|
<dkayiwa> has more examples of potential message schedules
|
07:46:23
|
<suho> x amount of time before
|
07:46:31
|
<dkayiwa> yes
|
07:47:28
|
<dkayiwa> {x amount of time before, x amount of time after, & immediately}
|
07:47:46
|
<suho> yes need to take that into consideration too
|
07:50:09
|
<dkayiwa> yes
|
07:50:52
|
<suho> the problem i have is when defining the critic there can be numerous other combinations
|
07:51:19
|
<suho> so we have to define a syntax for that
|
07:51:44
|
<dkayiwa> yes we need to define our storage syntax or structure
|
07:52:12
|
<dkayiwa> for a condition
|
07:53:20
|
<suho> can you let me know what kind of objects we might be using so I'll go through them and try to come up with one
|
07:53:33
|
<suho> Person, Patient
|
07:53:38
|
<dkayiwa> Obs
|
07:53:43
|
<dkayiwa> Encounter
|
07:54:34
|
<dkayiwa> Concept
|
07:55:52
|
<suho> ok
|
07:56:51
|
<suho> so I'll try to use them and try to come up with some syntax that the user can define a critic
|
07:57:17
|
<dkayiwa> actually not the user to define the scritic
|
07:57:35
|
<dkayiwa> its the user interface to define and display the scritic
|
07:58:03
|
<dkayiwa> the user interface shields the user from the critic syntax
|
07:58:19
|
<dkayiwa> something like the sql query builders do
|
07:58:33
|
<suho> ok got the idea
|
07:58:49
|
<dkayiwa> ok
|
07:59:04
|
<suho> so i'll try to come up with a logical easy to define UI
|
07:59:14
|
<suho> and for the database
|
07:59:18
|
<dkayiwa> perfect :)
|
07:59:53
|
<suho> we can store the critics and the messaging details separately
|
08:00:05
|
<dkayiwa> yes
|
08:00:40
|
<suho> and also if there any mapping used (like birthday== Person.getBirthday();)
|
08:00:54
|
<dkayiwa> ok
|
08:01:50
|
<suho> I'll think over can come up with the DB design and send you tomorrow
|
08:01:55
|
<dkayiwa> ok
|
08:02:18
|
<suho> and what should be the name of the new module ?
|
08:02:31
|
<dkayiwa> good question :)
|
08:02:46
|
<dkayiwa> any suggestions?
|
08:03:00
|
<suho> and shall i ask svn permission
|
08:03:19
|
<suho> .... notifier
|
08:03:42
|
<dkayiwa> i think first step is present our suggestion of creating new module and see response
|
08:03:44
|
<suho> message notifier
|
08:03:57
|
<dkayiwa> if approved, then we get svn access
|
08:04:21
|
<suho> yes thats very important .
|
08:04:40
|
<suho> what's the procedure to that ?
|
08:05:16
|
<dkayiwa> send out an email containing out reason for creating a new module instead of adding to the existing one
|
08:05:30
|
<dkayiwa> and then wait for response
|
08:05:47
|
<suho> ok to the dev list ?
|
08:05:47
|
<dkayiwa> but as you wait for response, you go on with the design
|
08:05:56
|
<dkayiwa> i think dev list makes sense
|
08:06:08
|
<suho> ok great :)
|
08:06:21
|
<suho> so I'll do there task for now
|
08:06:33
|
<dkayiwa> beauty is that when the new module is approved or not, our design is still the same
|
08:07:14
|
<suho> ok :D
|
08:07:53
|
<suho> thanks for your help and support, I'll go ahead with this
|
08:08:01
|
<dkayiwa> you are welcome
|
08:08:12
|
<dkayiwa> thanks for your time and dedication too :)
|
08:08:20
|
<suho> thanks bye for now
|
08:08:25
|
<dkayiwa> ok bye for now
|
08:21:20
|
*** bryq has joined #openmrs
|
08:21:20
|
*** ChanServ sets mode: +v bryq
|
08:33:10
|
*** bwolfe has quit IRC
|
08:45:38
|
*** bryq has quit IRC
|
09:33:59
|
*** dkayiwa has quit IRC
|
09:55:48
|
<OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Modules: XForms 4.0.3 uploaded to OpenMRS Module Repository <https://dev.openmrs.org/modules/view.jsp?module=xforms&version=&4.0.3>
|
10:18:01
|
*** dkayiwa has joined #openmrs
|
10:18:30
|
<dkayiwa> hi dmexs_
|
10:46:03
|
*** suho has quit IRC
|
11:06:06
|
*** rafa has joined #openmrs
|
11:06:06
|
*** ChanServ sets mode: +v rafa
|
11:57:11
|
*** rafa has quit IRC
|
11:58:21
|
*** bwolfe has joined #openmrs
|
11:58:21
|
*** ChanServ sets mode: +o bwolfe
|
12:02:08
|
*** rafa has joined #openmrs
|
12:02:08
|
*** ChanServ sets mode: +v rafa
|
12:56:14
|
*** rafa has quit IRC
|
12:58:05
|
*** dkayiwa has quit IRC
|
13:03:04
|
*** rafa has joined #openmrs
|
13:03:04
|
*** ChanServ sets mode: +v rafa
|
13:18:02
|
*** rafa has quit IRC
|
13:27:24
|
*** bryq has joined #openmrs
|
13:27:24
|
*** ChanServ sets mode: +v bryq
|
14:01:37
|
*** mandric has joined #openmrs
|
14:05:57
|
*** mandric_ has joined #openmrs
|
14:08:12
|
*** mandric has quit IRC
|
14:08:12
|
*** mandric_ is now known as mandric
|
14:08:21
|
*** rafa has joined #openmrs
|
14:08:21
|
*** ChanServ sets mode: +v rafa
|
14:13:27
|
*** saimanohar has joined #openmrs
|
14:13:35
|
<saimanohar> hi all
|
14:14:05
|
<saimanohar> i am getting this error while trying the build.xml of openmrs - get doesn't support the "skipexisting" attribute
|
14:14:56
|
<saimanohar> anybody there?
|
14:35:36
|
*** gbastien has joined #openmrs
|
15:43:41
|
*** gbastien has quit IRC
|
15:52:32
|
*** saimanohar_ has joined #openmrs
|
15:52:47
|
<saimanohar_> \exit
|
15:57:20
|
*** saimanohar_ has quit IRC
|
15:58:26
|
*** saimanohar has quit IRC
|
16:09:44
|
*** mandric_ has joined #openmrs
|
16:09:44
|
*** mandric has quit IRC
|
16:09:44
|
*** mandric_ is now known as mandric
|
16:23:49
|
*** mandric has quit IRC
|
16:24:41
|
*** rafa has quit IRC
|
16:26:33
|
*** rafa has joined #openmrs
|
16:26:33
|
*** ChanServ sets mode: +v rafa
|
16:27:22
|
*** rafa has quit IRC
|
16:39:56
|
*** suho has joined #openmrs
|
16:39:56
|
*** ChanServ sets mode: +v suho
|
17:07:25
|
*** dmexs_ has quit IRC
|
17:07:49
|
*** dkayiwa has joined #openmrs
|
17:14:39
|
*** surangak has joined #openmrs
|
17:21:34
|
*** rafa has joined #openmrs
|
17:21:34
|
*** ChanServ sets mode: +v rafa
|
17:32:43
|
*** gbastien has joined #openmrs
|
17:49:15
|
*** rafa has quit IRC
|
17:53:59
|
*** gbastien has quit IRC
|
18:23:58
|
*** dkayiwa has quit IRC
|
18:59:21
|
*** surangak has quit IRC
|
19:51:27
|
*** rafa has joined #openmrs
|
19:51:27
|
*** ChanServ sets mode: +v rafa
|
19:52:45
|
*** rafa has quit IRC
|
20:23:25
|
*** dkayiwa has joined #openmrs
|
20:30:23
|
*** bwolfe has quit IRC
|
20:47:28
|
*** gbastien has joined #openmrs
|
21:00:03
|
*** dkayiwa has left #openmrs
|
21:11:30
|
*** bryq has quit IRC
|
21:28:05
|
*** pascal` has joined #openmrs
|
21:49:36
|
*** pascal` has quit IRC
|
22:59:30
|
*** suhothayan has joined #openmrs
|
22:59:31
|
*** ChanServ sets mode: +v suhothayan
|
23:03:09
|
*** suho has quit IRC
|