Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS »
Discussion: OpenMRS Talk »
Real-Time: IRC Chat

IRC Logs

Child pages
  • 2009-06-10 - OpenMRS
Skip to end of metadata
Go to start of metadata
00:41:20 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8363]: Adding @shoulds and tests for getXyzByUuid(String) methods <>
00:58:39 *** Mkop has joined #openmrs
01:08:38 <r0bby> Dominos is the shit.
01:08:40 <r0bby> :D
01:09:23 <Keelhaul> -the
01:09:40 <r0bby> oh shove it
01:09:43 <r0bby> i thought that too
01:09:51 <r0bby> until I had an entire pie at school
01:09:58 <r0bby> Felt sick... but it was worth it!
01:10:02 <Keelhaul> ...
01:10:06 <r0bby> partially because i inhaled it
01:10:22 <r0bby> :DDDD
01:10:27 <r0bby> my refactoring is complete :D
01:10:54 * Mkop needs to figure out how to chop an onion without making a mess all over the place
01:15:55 <r0bby> /WEB-INF/tags/module/facilitydata/booleanCodedQuestion.tag(14,28) equal symbol expected
01:16:00 <r0bby> ever see this error Keelhaul ?
01:16:14 <Keelhaul> nope
01:16:20 <Keelhaul> i never wrote my own tags
01:16:26 <Keelhaul> is that js code ro what
01:16:28 <Keelhaul> or*
01:16:29 <r0bby> <c:iftest="${"f"eqoption}">
01:16:31 <Keelhaul> oh
01:16:43 <Keelhaul> why nto use ==
01:16:52 <r0bby> I could i was wondering if that made a difference
01:17:04 <Keelhaul> apparently it does
01:18:14 <Mkop> what language is that? jsp?
01:18:25 <Mkop> I've seen similar kind of stuff in django
01:18:44 <r0bby> JSP Unified Expression Language aka EL
01:19:42 <Keelhaul> what's part of JSTL
01:19:45 <Keelhaul> that*
01:20:03 <Keelhaul> conditions, loops etc in jsp
01:20:53 <r0bby> JSTL == the tag lib
01:21:04 <r0bby> EL is actually another sub language :)
01:44:05 <deadpool> ah java let me count the ways i hate thee
01:44:24 <Mkop> don't diss java
01:44:31 <Mkop> until you've tried writing in C(++)
01:45:04 <deadpool> hey i am a systems guy
01:45:15 <deadpool> i started in c and c++ loved iut
01:45:17 <deadpool> it
01:45:29 <Mkop> you are strange
01:46:09 <deadpool> well in college i started programming linux device drivers and such
01:46:12 <deadpool> so i got used to it
01:46:29 <deadpool> i have taken a java class here and there but i miss structs soo much
01:46:51 <deadpool> i dunno my first programming language was c so i guess i am a bit biased
01:47:13 <Mkop> my first language was also c, but I have grown beyond that
01:47:36 <deadpool> well this is my first time doing a gui type interface and such
01:47:50 <deadpool> i usually program at a lower level
01:48:25 <deadpool> and i have only used java in my intro to programming class the rest i used c and c++ cause it was so just practical
01:48:30 <deadpool> hey i like python
01:48:36 <deadpool> i think python is awesome
01:48:44 <deadpool> it is just a preference
01:49:06 <deadpool> i have grown too
01:49:22 * deadpool stands up to a wall to measure himself
01:50:17 * deadpool hoping he grew
01:50:39 <deadpool> oh yeah and the jvm is still programmed in c so ha
01:53:10 <deadpool> ok i give java is cool too
02:15:37 *** Mkop has quit IRC
02:23:26 <r0bby> C++
02:23:38 <r0bby> deadpool: it's in C++
02:24:06 <deadpool> some of them are written in c
02:24:18 *** upul has joined #openmrs
02:24:18 *** ChanServ sets mode: +v upul
02:34:15 *** atomicturtle has joined #openmrs
02:34:51 *** atomicturtle has left #openmrs
02:47:29 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8365]: facility data: remove an unncessary import <> || OpenMRS Changesets: Changeset [8364]: facility data: refactored the rendering from part 1 away from the … <> || Harshini Gudiwada: SVN <> || Harshini Gudiwada: Current progress on Role Based Homepage <>
02:49:52 *** deadpool_ has joined #openmrs
02:49:53 *** deadpool has quit IRC
02:49:55 *** deadpool_ is now known as deadpool
03:19:31 <OpenMRSBot> Recent updates in the world of openmrs: Harshini Gudiwada: New features <>
03:25:31 *** Mkop has joined #openmrs
03:31:16 <Mkop> Keelhaul: who says max email size is 1 MB?
03:31:22 <Mkop> the listserv software?
03:31:24 <Keelhaul> the mailer
03:31:26 <Keelhaul> twice
03:31:29 <Keelhaul> it rejected my mailz
03:32:10 <Mkop> you can't even send a private email that's more than 1 MB?
03:32:33 <Keelhaul> err
03:32:35 <Keelhaul> not my mailer
03:32:41 <Keelhaul> the listserv software, yes
03:32:48 <Mkop> oh, ok
03:32:58 <Keelhaul> Your message cannot be distributed to the openmrs-devel-l list because it
03:32:58 <Keelhaul> exceeds the maximum message size of 1M. The size of your message was 1,336,773
03:32:58 <Keelhaul> bytes.
03:32:58 <Keelhaul> This limit has been set by the list owner and does not necessarily apply to the
03:32:58 <Keelhaul> other lists hosted at LISTSERV.IUPUI.EDU. If you have any questions, please
03:32:59 <Keelhaul> contact the list owner at openmrs-devel-l-request@LISTSERV.IUPUI.EDU.
03:45:39 <upul> Keelhaul: nice work
03:45:49 <Keelhaul> thx
03:46:02 <Keelhaul> you dont happen to have the commercial version of mysql wb?
03:46:10 <upul> nope
03:50:18 *** deadpool has quit IRC
03:50:27 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: Using demo database with nightly builds <>
03:57:11 <Keelhaul> if you have patient data with a fake id for research etc
03:57:19 <Keelhaul> but can still make the connection if you have the key list
03:57:23 <Keelhaul> whats it called in english
04:08:52 <upul> Keelhaul: masking?
04:11:47 *** atomicturtle1 has joined #openmrs
04:18:20 <Keelhaul> dunno
04:18:32 <Keelhaul> in german it's "Pseudonymisierung"
04:18:53 <upul> what is nymisierung?
04:19:18 <Keelhaul> a pseudonym is a mock name
04:19:26 <Keelhaul> -isierung means -ization
04:21:34 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Question: relation of Encounter to Form to Observations <> || OpenMRS Forum: Re: Using demo database with nightly builds <>
04:21:39 <Keelhaul> ok slp time gn
04:21:43 *** Keelhaul has quit IRC
04:23:05 <upul> Pseudonymisation
04:32:46 <r0bby> does remote debugging work
04:33:32 <upul> connected to r0bby:5050
04:49:05 *** Mkop has quit IRC
05:25:40 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8366]: dataintegrity: implemented the integrity check execution environment <>
05:32:15 *** Mkop has joined #openmrs
05:57:44 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8368]: mdrtb1.4 moved forms tab to portlet to give clean workspace for adding … <> || OpenMRS Changesets: Changeset [8367]: mdrtb1.4. Added empiric/standardized/individualized widget. Now just … <>
06:37:18 *** pascal` has joined #openmrs
06:37:57 <pascal`> hi ppl
06:41:14 <upul> hi pascal`
06:41:20 *** upul is now known as ppl
06:41:27 <ppl> Hi pascal`
06:41:33 *** ppl is now known as upul
06:43:25 <pascal`> hi upul
06:45:22 <r0bby> awesome...just awesome
06:45:36 <r0bby> tomcat just decided to take a huge, huge crap :(
06:45:47 <pascal`> yeah, it does that
06:49:08 <r0bby> my database is shot, openmrs won't start
06:49:19 <r0bby> This all started because i needed to attach a debugger
06:49:40 <pascal`> hmm
06:49:50 <pascal`> that shouldn't mess with your database
06:49:53 <pascal`> uhm
06:50:04 <pascal`> have you recently installed any modules?
06:50:23 <pascal`> i know that if modules expect some settings to be defined, and they aren't, then openMRS won't start
07:03:06 *** pascal` has quit IRC
07:03:16 *** Mkop has quit IRC
07:06:36 *** pascal` has joined #openmrs
07:11:26 *** atomicturtle has joined #openmrs
07:11:26 *** atomicturtle1 has quit IRC
07:17:59 *** harshini has joined #openmrs
07:18:42 *** harshini has quit IRC
07:21:27 <r0bby> pascal`: just mine
07:21:35 <r0bby> I need to debug a module mapping issue
07:22:01 <pascal`> uhm
07:22:11 <r0bby> s/module/controller/
07:22:12 <pascal`> what mapping?
07:22:17 <r0bby> CONTROLLER mapping issue :)
07:28:25 <r0bby> I have 4 items i want finished tomorrow :)
07:28:34 <r0bby> let's see if i finish my goal set out for TOMORROW :(
07:28:44 <r0bby> my entire day was consumed with fixing that view :(
07:32:50 <pascal`> oh
07:33:12 <pascal`> so your controller isn't being correctly invoked when you visit a specific url? i hate that =S
07:33:27 <pascal`> aren't you using the annotations in spring 2.5 though?
07:41:17 <r0bby> I am
07:41:20 <r0bby> yeh
07:41:25 <r0bby> that's pissing me off :(
07:43:51 <pascal`> hmm
07:44:12 <pascal`> if you go to .htm does your jsp at least display?
07:44:34 <pascal`> you might need to go to .form or .list or specify .htm explicitly in your annotation
07:44:47 <pascal`> i did find one or two tutorials out there, not many
07:56:19 *** nribeka has quit IRC
08:57:08 *** amogha has joined #openmrs
09:05:17 *** kane77 has joined #openmrs
09:21:14 *** amogha has quit IRC
10:10:42 *** atomicturtle has quit IRC
10:11:56 *** atomicturtle has joined #openmrs
10:14:34 <pascal`> Unable to refresh the WebApplicationContext : null
10:14:36 <pascal`> (=
10:31:28 *** amogha has joined #openmrs
10:56:34 *** scottyaz has joined #openmrs
10:58:58 *** scottyaz_ has joined #openmrs
11:11:15 *** scottyaz__ has joined #openmrs
11:11:34 <amogha> hi
11:11:47 <amogha> any body there
11:12:06 <pascal`> hi
11:12:54 <amogha> can we show window popups in case of error messages
11:12:56 <amogha> ?
11:13:22 *** scottyaz has quit IRC
11:16:35 <amogha> pascal u there??
11:16:47 <pascal`> hi
11:16:48 <pascal`> um
11:17:14 <pascal`> you can, but i'm sure if it's part of the default api
11:17:21 <pascal`> can't you just use a javascript popup?
11:17:29 <pascal`> you can use DWR if you need to call into the api first
11:18:41 *** deadpool has joined #openmrs
11:19:44 <amogha> ok v can use javascript popups.....v just wanted to confirm that whether v can use any popups or not
11:20:13 *** james_regen has joined #openmrs
11:20:13 *** ChanServ sets mode: +v james_regen
11:21:15 *** upul has quit IRC
11:21:42 <pascal`> amogha, that depends on what you mean by _can_
11:22:03 <pascal`> i mean, it's possible, but if you're trying to determine whether you're allowed to or not, then i can't really help =\
11:22:49 <amogha> the thing is one of my controller checks whether the OpenMRS instance is a member of openempi
11:23:27 <amogha> if no then i need to throw an error at the admin screen saying that u r not a member
11:24:00 <amogha> for displaying the error i needed an popup
11:24:26 <pascal`> well, i'm sure you could do it without a popup, but i suppose a popup will work
11:24:37 <amogha> how
11:24:39 <pascal`> you should ask your project supervisor what they think
11:24:56 <pascal`> well
11:25:11 <pascal`> you controller could send some reference data to the jsp
11:25:33 <pascal`> the jsp could then inspect the reference data and decide whether or not to throw the popup error
11:26:18 <pascal`> does that answer your question?
11:26:43 <amogha> yes
11:27:54 *** scottyaz_ has quit IRC
11:43:54 *** amogha has quit IRC
11:52:38 *** harshini has joined #openmrs
11:52:55 *** harshini has quit IRC
11:53:02 *** harshini has joined #openmrs
11:54:53 *** Keelhaul has joined #openmrs
11:54:53 *** ChanServ sets mode: +v Keelhaul
11:54:55 <harshini> hi all
11:55:01 <Keelhaul> hi
11:55:15 *** harshini has quit IRC
11:55:50 *** harshini has joined #openmrs
11:56:37 *** scottyaz__ has quit IRC
11:57:09 <pascal`> hey Keelhaul
11:57:16 <pascal`> nice data model diagram
11:59:29 *** Agnor has joined #openmrs
12:00:00 <Keelhaul> i cant finish it =/
12:02:06 *** amogha has joined #openmrs
12:05:15 <harshini> hey do any one have idea about where can we find the in the lab server
12:10:03 <harshini> please can any one help me out.....i'm not able to find it in the directory which is mentioned in the wiki page.
12:10:25 <pascal`> harshini, check the environment variables
12:10:42 <pascal`> or check in the tomcat webapps root
12:10:43 <Keelhaul> does linux have env variables?
12:10:55 <pascal`> or in ~/.OpenMRS or something
12:10:59 <pascal`> Keelhaul, yes, definately
12:11:05 <Keelhaul> i have to look for that file every time i access our ubuntu server
12:11:08 <Keelhaul> forget every time lol
12:11:10 <harshini> ya we can create env variables in linux
12:11:17 <Keelhaul> everything is spread in linux
12:11:18 <Keelhaul> i hate it
12:12:15 <harshini> i cant even find .OpenMRS dir...
12:13:01 *** amogha has quit IRC
12:13:20 <harshini> so i created .OpenMRS dir in the tomcat home directory and in that i created the file
12:13:44 <Keelhaul> nah
12:13:49 <Keelhaul> it should be in the user's home i think
12:14:04 <harshini> oh
12:15:19 <harshini> but in the labs wiki its mentioned that we must create it in the tomcat dir
12:15:49 <harshini> any ways i'll try out giving it there
12:17:15 <pascal`> set the environment variable, it will be easier
12:17:23 <pascal`> or dump it in the tomcat root
12:18:10 <Keelhaul> /usr/share/tomcat5.5/.OpenMRS
12:18:16 <Keelhaul> thats where it is on our ubuntu server
12:18:20 <Keelhaul> though it prolly varies
12:20:44 <harshini> i have set the env variable
12:21:40 <harshini> keelhaul: ok
12:21:54 <Keelhaul> thought it can vary
12:21:57 <Keelhaul> thats what i hate about linux
12:22:57 <harshini> :)
12:23:12 <Keelhaul> though*
12:23:41 *** amogha has joined #openmrs
12:26:07 <harshini> i dont have tomcat in usr/share
12:26:21 <harshini> tomcat is in opt/
12:27:43 <Keelhaul> ok
12:27:58 <Keelhaul> on our server, the tomcat application is in /etc/tomcat5.5
12:28:14 <Keelhaul> and the openmrs runtime dir is in where i said earlier
12:29:21 <harshini> lab2 opennmrs it is in the opt/tomcat/webapps only
12:39:50 *** deadpool has quit IRC
12:44:47 *** bwolfe has joined #openmrs
12:44:47 *** ChanServ sets mode: +o bwolfe
12:44:57 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8370]: openempi: Initial commit of module files <> || OpenMRS Changesets: Changeset [8369]: openempi: Creating initial directory <>
12:47:20 <pascal`> hey bwolfe
12:47:40 <bwolfe> good morning pascal`
12:56:25 *** scottyaz has joined #openmrs
12:57:32 *** sdefabbiakane has joined #openmrs
12:59:13 *** amogha has quit IRC
13:03:20 *** openmrs_7015 has joined #openmrs
13:03:54 *** openmrs_7015 has quit IRC
13:12:02 *** upul has joined #openmrs
13:12:02 *** ChanServ sets mode: +v upul
13:12:02 *** atomicturtle has quit IRC
13:12:42 *** atomicturtle has joined #openmrs
13:16:20 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: Question: relation of Encounter to Form to Observations <> || OpenMRS Forum: Re: Using demo database with nightly builds <>
13:25:55 *** scottyaz has quit IRC
13:31:32 *** deadpool has joined #openmrs
13:31:43 <deadpool> hey bwolfe
13:32:01 <deadpool> think i can get some help on the form entry from you?
13:32:04 <bwolfe> sure
13:33:01 <deadpool> so i finally got infopath to work somehow
13:33:24 <bwolfe> ?
13:33:25 <deadpool> so when i started the from process queue and hl7
13:33:52 <deadpool> the way i got it to work was to clear cahe and download the form from the url
13:34:07 <deadpool> so i can submit the form and it says submitted successfully
13:34:28 <deadpool> but when i wait it doesn't update the encounter
13:35:00 <deadpool> i went in the logs and found out that there is an authentication error but i can''t seem to find out where the error is
13:35:18 <deadpool> this is where i need some help with
13:35:51 <bwolfe> this is on your local install ?
13:35:56 <deadpool> yeah
13:36:16 <deadpool> infopath doesn't work for me on the demo for some reason
13:36:25 <deadpool> but it works for my local server
13:37:09 <bwolfe> the hl7 and formentry queues run in the openmrs scheduler. the scheduler has a user that it authenticates as. you define this user with global properties I think: scheduler.username/scheduler.password
13:37:28 <harshini> bwolfe: hi
13:37:30 <bwolfe> (it might be a runtime property too...I can't remember the status of moving those from GPs to RPs)
13:37:35 <bwolfe> hi harshini
13:38:00 <harshini> bwolfe: i need one more small help from u
13:38:12 <deadpool> yeah i saw that and i changed the global properties to reflect the runtimes properties username and password
13:38:39 <deadpool> and i am still getting the authentication error
13:38:58 <bwolfe> did you restart openmrs ? The tasks might be caching the user info
13:39:08 <deadpool> yeah did that too
13:39:21 <deadpool> reloaded the module and restarted the computer
13:39:41 <deadpool> just to make sure
13:40:15 <bwolfe> deadpool: hehe, wow, ok, yes, no cache then :-p
13:40:42 <bwolfe> can you pastebin the auth stacktrace?
13:40:51 <bwolfe> harshini: ok, whats up?
13:40:54 <deadpool> yeah sure
13:41:05 <deadpool> you want to see the log?
13:41:22 <harshini> bwolfe: hey i was not able to find the file in the folder which u mentioned in the lab wiki
13:42:42 <harshini> so i created a new dir named .OpenMRS in the tomcat dir and put file
13:43:54 <harshini> and i also created the same in the root dir
13:44:35 <harshini> yet the browse button is not enabled :(
13:45:32 *** scottyaz has joined #openmrs
13:45:57 <bwolfe> harshini: go to admin --> modules --> manage module properties.
13:46:04 <bwolfe> harshini: where does it say modules will be stored?
13:46:58 <deadpool> bwolfe: this is when i reloaded the module
13:47:37 <harshini> bwolfe: opt/tomcat/temp/.openmrs/modules
13:47:42 <deadpool> had to stop it after awhile or the log would have been quite huge
13:50:33 <bwolfe> harshini: ok, looks like I forgot to change the tomcat home dir on your lab. I just did it. tomcat's home dir is now /home/tomcat.
13:50:55 *** Agnor has quit IRC
13:51:02 <harshini> k
13:51:23 <bwolfe> harshini: I moved the runtime properties from root to there as well
13:51:30 <bwolfe> harshini: you need to restart tomcat now and it should work
13:51:38 <bwolfe> deadpool: is the formentry module started ?
13:51:45 <deadpool> yeah it is
13:51:54 *** Agnor has joined #openmrs
13:51:56 <harshini> bwolfe:okay
13:52:03 <deadpool> but i have to start it every time i reload it
13:52:10 <deadpool> is there a way to keep it on all the time
13:52:25 <bwolfe> every time you reload openmrs ?
13:52:43 <deadpool> yeah
13:52:55 <deadpool> or lets say the computer restarts or shutsdown
13:53:05 <bwolfe> deadpool: and it looks like the username/password is wrong. double check those for any extra spaces, etc
13:53:24 <bwolfe> deadpool: hmm, when openmrs restarts, its supposed to start any modules that were started before
13:53:27 <deadpool> the schedule one
13:53:50 <bwolfe> yes, the scheduled task password is wrong. (or the username is not admin)
13:54:07 <bwolfe> (if you change the admin username you have to change the scheduler username)
13:54:51 <deadpool> well in the openmrs runtime i have the username:admin and password:password
13:55:14 <deadpool> and the same withthe schedule username:admin and password:password
13:56:01 <deadpool> just want to make sure the login name i use is admin and i use a different password that shouldn't matter should it?
13:56:10 <bwolfe> and you can log into the webapp with exactly what you have there ?
13:56:43 <deadpool> yeah
13:56:45 <bwolfe> the login name doesn't have to be admin, you can change that too if you want. I commented on it earlier because I can see from the logs that it is trying to use "admin"
13:57:12 <deadpool> well my is admin/password
13:57:32 <deadpool> and because that is what i used in the mysql database
13:57:47 <deadpool> and the step-by-step installation told me to do that
13:58:12 <deadpool> well it told me that the username and password i put in mysql should be the same in the
13:59:02 <bwolfe> the mysql username/password is different than the scheduler username/password. the scheduler username/password is what you log into openmrs with in the web. by default it is admin/test
13:59:53 <deadpool> oh ok that makes sense that was what i was asking sorry if it was confusing
14:00:28 <harshini> bwolfe: is the whole tomcat dir moved to home.??
14:01:04 <bwolfe> harshini: no, just the tomcat user's home dir. only the openmrs runtime properties will be in /home/tomcat. the tomcat installation dir is still /opt/tomcat
14:04:21 <harshini> Im now getting 404 error after restarting tomcat it says it cant find openmrs....hey sorry if i'm disturbing u....
14:04:42 <bwolfe> harshini: look at the tomcat logs to see why
14:06:07 <harshini> actually when i restart i think it not getting restarted says Waiting for processes to exit.. and it says [ok]
14:07:07 *** scottyaz has left #openmrs
14:07:41 <deadpool> bwolfe: you are amazing thanks for the help
14:08:17 <bwolfe> deadpool: everything working as it should now?
14:08:43 <bwolfe> harshini: type "ps aux
14:08:43 <deadpool> yeah except the form entry module doesn't start when i reload the module
14:09:00 <bwolfe> deadpool: do you have anything in your logs when you startup ?
14:09:36 <deadpool> should i look at the same place stdout
14:10:40 <bwolfe> yeah
14:10:46 <harshini> bwolfe: tomcat 3161 10.4 4.4 547516 69992 pts/0 Sl 14:08 0:05 /usr/java/jdk1.6.0_13/bin/java -Djvm=tomcat -Xms384M -Xmx384M -Djava.awt.headless=true -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/tomcat/conf/ -Djava.endorsed.dirs=/opt/tomcat/endo
14:11:10 <harshini> this was the output of the command
14:11:56 <bwolfe> harshini: you're right then. tomcat is not getting stopped. run "kill -9 3161"
14:12:28 <harshini> yup
14:13:53 <deadpool> bwolfe: new errors don't understand what they mean
14:13:55 <deadpool>
14:14:10 <deadpool> something is wrong with the hl7 queue
14:15:07 <harshini> yup i should i restart it?
14:15:17 <bwolfe> deadpool: looks like formentry is getting started. "INFO - FormEntryActivator.startup(35) |2009-06-10 19:34:01,656| Starting the Form Entry module"
14:15:23 <bwolfe> harshini: yep
14:17:13 <bwolfe> deadpool: something is wrong with your hl7 message, not the queue. :-) that error message is not so helpful though
14:17:49 <deadpool> huh
14:18:01 <bwolfe> deadpool: you need to have a valid provider on your form. I think it goes into encounter-->provider. its on the default form
14:18:16 <deadpool> no i created a provider
14:18:21 <harshini> bwolfe: still i get the same error
14:18:54 <deadpool> but still need to you know press the play button to start the form entry module or i can't see the forms tab on the patients
14:19:34 <bwolfe> harshini: what is in your tomcat log when you start openmrs ?
14:20:03 <bwolfe> deadpool: restart openmrs and send me the part of the log where formentry fails to start.
14:20:14 <deadpool> got it
14:20:19 <bwolfe> deadpool: and you selected a provider in infopath?
14:20:27 <deadpool> yup
14:21:04 <deadpool> bwolfe: how do i clear the apache log
14:21:52 <bwolfe> deadpool: stop tomcat. delete/rename the file. start tomcat
14:22:00 <deadpool> gotcha
14:23:45 <harshini> bwolfe: i did not get u
14:24:39 <bwolfe> harshini: you said you are getting an error when you start openmrs. the first place to look when this happens is your tomcat log file
14:24:57 <bwolfe> harshini: look in that file for an error message or some reason why openmrs is not starting up correctly
14:25:35 <deadpool> bwolfe:
14:25:46 <bwolfe> harshini: look at . openmrs is not started. start openmrs, then look at your tomcat log file
14:26:36 <deadpool> bwolfe: i see that there is an error in the form entry queue but that is because the form entry module is not started and i still have to start it back up manually
14:27:12 <bwolfe> deadpool: does the datadeletion module start correctly?
14:27:20 <deadpool> yes it does
14:27:50 <bwolfe> hmm
14:28:08 <bwolfe> deadpool: look in your global properties right now. is formentry.started set to true ?
14:28:49 <deadpool> yes
14:30:35 <harshini> bwolfe: SEVERE: Context [/openmrs] startup failed due to previous errors i got this in the log file
14:33:19 <harshini> the openmrs is not getting started
14:35:37 <harshini> can i undeploy the trunk and deply the trunk i'm using?
14:40:45 <bwolfe> harshini: you can load in whatever you want.
14:42:09 <harshini> k thanks a lot
14:42:11 <harshini> :)
14:43:36 <deadpool> umm bwolfe any ideas on what to do?
14:45:01 <bwolfe> deadpool: sorry, missed your response. stop openmrs. then look in your mysql database in the global property table and see if formentry.started is still true
14:45:24 <deadpool> umm how do i do that i don't know how to really manipulate mysql
14:48:28 <bwolfe> deadpool: do you have a mysql client installed at all ?
14:48:42 <deadpool> nope just the server
14:48:53 <deadpool> wait sorry i have the command line client
14:49:13 *** pascal` has quit IRC
14:51:29 <deadpool> is that what you are asking for bwolfe?
14:51:48 <bwolfe> deadpool: yeah, the command line client should be fine. in it type:
14:52:10 <bwolfe> deadpool: use openmrs; select * from global_property where property = 'formentry.started';
14:53:55 <deadpool> it says true
14:58:33 <deadpool> so bwolfe what could else be wrong?
14:59:59 <bwolfe> very strange
15:01:00 <bwolfe> deadpool: I guess you could set the log level to DEBUG and start openmrs to see if there are any more messages about formentry not starting
15:01:21 <deadpool> ok so set that up in the openmrs-runtime properties
15:01:23 <deadpool> right
15:01:47 *** atomicturtle has quit IRC
15:04:32 <bwolfe> deadpool: the log level is actually set somewhere else
15:04:42 <bwolfe> deadpool: its in a non-intuitive place. :-/
15:04:47 <deadpool> ah
15:05:15 <bwolfe> deadpool: tomcathome/webapps/openmrs/WEB-INF/classes/log4j.xml
15:06:54 <deadpool> just to make sure i need to stop tomcat and enable that and then restart tomcat again and the log will be located in the stdout area right
15:08:04 *** harshini has quit IRC
15:08:58 <bwolfe> deadpool: you are correct all around
15:10:18 <deadpool> bwolfe in the xml file what value do i need to change nothing seems to obvious
15:11:51 <upul> bwolfe: there's also a global property for openmrs log
15:14:43 <bwolfe> upul: that global property only controls the org.openmrs.api package. would not nice to have one that controls everything. (or maybe we just need to change it to act on org.openmrs)
15:15:06 <bwolfe> deadpool: change the one that says "org.openmrs" .... "WARN" to "DEBUG"
15:17:08 <upul> bwolfe: it is org.openmrs
15:17:28 <bwolfe> upul: the global properties one? are you sure ?
15:17:40 <upul> org.openmrs.util.OpenmrsUtil#applyLogLevel
15:18:43 <upul> bwolfe:
15:19:25 *** jmiranda_ has joined #openmrs
15:19:40 *** jmiranda_ has quit IRC
15:29:43 <deadpool> bwolfe:
15:30:26 <bwolfe> deadpool: what openmrs version are you running ?
15:30:56 <deadpool> bwolfe:
15:31:22 <bwolfe> deadpool: did you install the formentry module or are you using the one that came with openmrs ?
15:31:34 <deadpool> i am using the one that came with openmrs
15:31:55 <deadpool> is there a problem with that?
15:32:31 <bwolfe> no, there shouldn't be. but that might be why its not getting started.
15:32:31 *** atomicturtle has joined #openmrs
15:32:48 <bwolfe> deadpool: have you used our trac ticketing system before?
15:34:00 *** atomicturtle has left #openmrs
15:36:30 <upul> bwolfe: conceptanswer is just a list of concepts, for valuecoded there's no constraints or validations?
15:37:25 <bwolfe> value coded just points at concept.concept_id. no other constraints
15:37:55 <bwolfe> when doing data entry, the user can only pick from valid answers, but the database does not have a way to enforce that
15:38:37 <upul> bwolfe: "when doing data entry" you mean in the web interface
15:38:52 <upul> api I can do anything
15:39:24 <bwolfe> correct
15:44:17 *** Mkop has joined #openmrs
15:44:40 <Mkop> Keelhaul: I like the ambiguous "I've been able to obtain a copy..."
15:44:47 <Keelhaul> ;]
15:45:21 <Mkop> bwolfe: thanks for closing that ticket yesterday!
15:45:26 <Keelhaul> i found why it wasnt displaying the names btw
15:45:41 <Mkop> now, bwolfe and jmiranda, what's the status on that deprecation patch?
15:46:13 <Mkop> !ticket 1488
15:46:13 <OpenMRSBot> Mkop: Ticket #1488:
15:46:28 <Mkop> !ticket 1142
15:46:28 <OpenMRSBot> Mkop: Ticket #1142:
15:49:01 <jmiranda> Mkop, not sure
15:49:11 <jmiranda> weren't we waiting for another patch?
15:49:23 <Mkop> definitely not on 1488
15:49:29 <jmiranda> ok
15:49:35 <Mkop> that was supposed to be a quick fix thing in your module
15:50:34 <Mkop> I guess 1142 was waiting on me
15:51:16 <Mkop> I have a paper due in a couple hours, but later (hopefully tonight or later this week) I will get back to you (via trac) on what exactly needs to get done there
15:51:27 <jmiranda> ok cool
15:51:31 *** deadpool_ has joined #openmrs
15:51:33 *** deadpool has quit IRC
15:51:34 <jmiranda> in the meantime, i'll apply 1488
15:51:39 <jmiranda> Keelhaul, nice work
15:51:43 *** deadpool_ is now known as deadpool
15:51:47 <Keelhaul> ty
15:52:16 <deadpool> hey bwolfe sorry if you said something i got disconnected from my internet
15:53:26 <bwolfe> deadpool: haven't said anything since: <deadpool> i am using the one that came with openmrs
15:53:26 <bwolfe> <deadpool> is there a problem with that?
15:53:26 <bwolfe> <bwolfe> no, there shouldn't be. but that might be why its not getting started.
15:53:32 <bwolfe> deadpool: have you used our trac ticketing system before?
15:53:51 <deadpool> nope i haven't
15:54:27 <deadpool> bwolfe should i download the newest module get rid of the one i have now and try installing a new one?
15:55:33 <bwolfe> deadpool: yeah, you can do that
15:56:06 <bwolfe> deadpool: meanwhile, create a ticket that says it doesn't work:
15:56:21 <bwolfe> deadpool: you might need to register in trac first
15:56:41 <deadpool> i am already registered with the website should that matter
15:59:02 <bwolfe> deadpool: dev/wiki/forum are all separate right now. so if you haven't registered on dev, you'll need to
15:59:27 <upul> bwolfe: so "Model must support constraining coded answers to one or more classes" means adding options like existing conceptanswer not validation or constraints?
16:00:31 <bwolfe> upul: correct, it doesn't mean validation. it means making ConceptAnswer a smarter object
16:09:23 *** Mkop has quit IRC
16:11:14 *** catechu has joined #openmrs
16:17:05 *** deadpool_ has joined #openmrs
16:17:32 <deadpool_> hey bwolfe it works when i delete the module and reinstall it again
16:17:39 <deadpool_> do you want me to put a ticket on this
16:17:51 <bwolfe> deadpool: yeah, would love that
16:18:05 *** deadpool has quit IRC
16:18:15 *** deadpool_ is now known as deadpool
16:19:01 *** Mkop has joined #openmrs
16:22:56 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8372]: mdrtb1.4. final version of adding emp/st/ind in regimen widget. <> || OpenMRS Tickets: Ticket #1488 (task closed): Fix for some deprecation issues for files just moved into the reporting compability module <> || OpenMRS Changesets: Changeset [8371]: reportingcompatibility: Applied patch to fix some deprecation issues for … <>
16:24:15 <deadpool> hey bwolfe do you want me to attach the log with the ticket? or just put a small description i also put the priority as minor
16:24:36 <bwolfe> log isn't needed, the default priority is fine
16:26:34 <deadpool> ok
16:28:51 <deadpool> there bwolfe it is done
16:29:02 *** catechu has quit IRC
16:29:10 <deadpool> thanks for your help bwolfe I really appreciate it and i also learned a lot
16:39:35 *** catechu has joined #openmrs
16:40:28 *** catechu has quit IRC
16:43:08 <Keelhaul> bwolfe: check out the updated image and give me feedback, plz
16:43:35 <Keelhaul> two tables are missing on it becuase they slid beyond the diagram boundaries
16:47:16 *** catechu has joined #openmrs
16:47:16 *** catechu has quit IRC
16:49:06 <bwolfe> Keelhaul: ok, feedback sent
16:50:24 <Keelhaul> lol thx
16:50:33 <Keelhaul> problem is
16:50:44 <Keelhaul> the program uses static tiles to extend the diagram size
16:53:07 <bwolfe> huh?
16:53:15 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #1560 (defect created): FormEntry Module 3.6.3 included with the deployment of OpenMRS doesn't start when openmrs is restarted or loaded <>
16:55:31 *** Mkop has quit IRC
17:02:08 <Keelhaul> bwolfe: the program can only extend the diagram size by whole letter-shaped blocks
17:02:36 <Keelhaul> so if i want to cut the image mid-block, i'll have to crop it in a paint prog after wards etc
17:02:41 <Keelhaul> thats hard work
17:03:25 <Keelhaul> also, you want me to reduce the height only, which will only change the aspect ratio
17:03:38 <Keelhaul> if you want bigger fonts on paper, the width has to be reduced as well
17:05:12 *** upul has quit IRC
17:06:21 *** catechu has joined #openmrs
17:07:07 *** catechu has quit IRC
17:08:21 *** catechu has joined #openmrs
17:09:10 <Keelhaul> bbl
17:09:10 *** Keelhaul has quit IRC
17:10:37 *** sdefabbiakane has quit IRC
17:10:40 *** jmiranda has quit IRC
17:10:49 *** sdefabbiakane has joined #openmrs
17:25:07 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8373]: mdrtb1.4, changed classpath to point to openmrs-1.4.x branch lib files., … <>
17:54:00 *** jmiranda has joined #openmrs
17:54:00 *** ChanServ sets mode: +o jmiranda
17:56:45 *** jacobb has quit IRC
17:56:54 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #1561 (defect created): Update concept word is failing in 1.4.x-latest (1.4.2+) <> || OpenMRS Changesets: Changeset [8374]: schedulerquartz: start date and end date validations modified <>
18:06:04 <catechu> has anyone used a dynamic checklist in openmrs already? (e.g. a list of steps to be completed, checked off as they are finished)
18:24:03 <bwolfe> catechu: whats your use case?
18:24:18 <bwolfe> catechu: do you mean like wizard? a wizard controller maybe?
18:27:10 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8376]: schedulerquartz: createdDate set <> || OpenMRS Changesets: Changeset [8375]: schedulerquartz: createdDate property added <>
18:30:12 <catechu> bwolfe: for the patientmatching module, when the deduplication process begins, displaying a checklist and marking completed items -- no user interactivity, so a wizard would probably be overkill
18:31:13 <bwolfe> catechu: the only checklist I can think of is the one that is in use on the Manage Roles page when adding/editing a role
18:32:23 <catechu> bwolfe: ah -- what about real-time feedback on server activity?
18:32:38 <bwolfe> nope
18:32:57 <catechu> ok, just wanted to check before writing from scratch :)
18:42:03 *** jmiranda has quit IRC
18:47:52 *** sdefabbiakane_ has joined #openmrs
18:48:02 *** sdefabbiakane has quit IRC
18:48:03 *** sdefabbiakane_ is now known as sdefabbiakane
19:01:48 *** jacobb has joined #openmrs
19:05:13 *** djazayeri has joined #openmrs
19:05:13 *** ChanServ sets mode: +o djazayeri
19:06:19 <sdefabbiakane> hi darius
19:06:51 <djazayeri> Hi Sam
19:07:49 <djazayeri> I don't see Burke yet, but I imagine he'll show up soon.
19:07:52 <sdefabbiakane> yep
19:08:02 <djazayeri> bwolfe!
19:08:13 <djazayeri> Stand up and look over the wall to see if Burke is in his office. :-)
19:08:35 <bwolfe> he was in earlier today
19:08:42 <bwolfe> his light is on
19:09:22 <bwolfe> he's not answering his office phone, so he's off somewhere else
19:09:29 <sdefabbiakane> alright
19:10:58 <djazayeri> let's give him until 3:15, then start.
19:11:02 <sdefabbiakane> sounds good
19:12:48 <bwolfe> he'll be here in about 5 mins
19:14:50 *** burke has joined #openmrs
19:14:50 *** ChanServ sets mode: +o burke
19:15:01 * r0bby pokes burke in the eye
19:15:10 <r0bby> he's alive
19:15:14 <r0bby> and present i think
19:15:25 <burke> sorry. stuck in another mtg
19:15:53 <r0bby> burke: Leave groovy module alone, i'll try and work on it over the july 4th weekend; I haven't taken many days off :S
19:15:54 <sdefabbiakane> so is everyone here?
19:16:03 <r0bby> gonna try and use that time to do the threading stuff
19:16:36 <burke> r0bby: I can send you a groovy script where I was playing with the threading.
19:17:07 <r0bby> yes do that please
19:17:15 <djazayeri> sdefabbiakane, burke: yep
19:17:16 <burke> r0bby: and, no, I don't promise to leave the Groovy module alone. The UI needs some work.
19:17:17 <r0bby> burke: since we're using groovy primarily it's perfect!
19:17:31 <r0bby> then have at it =)
19:17:48 <burke> sdefabbiakane: yup. here and accounted for.
19:17:54 <r0bby> it's primarily groovy for a reason :) -- I was able to filter out the stack trace verbatim :)
19:18:09 <r0bby> and yeh burke I know -- the Jquery UI dialog :) -- have fun with that one :)
19:18:34 <sdefabbiakane> alright, so notes project
19:18:36 <djazayeri> So, to anybody else who's listening, we're going to discuss the Notes project.
19:19:26 <djazayeri>
19:19:58 <djazayeri> Sam, do you want to drive?
19:20:05 <sdefabbiakane> sure'
19:20:05 <r0bby> is he a good driver
19:20:09 <r0bby> </badjoke>
19:20:31 <sdefabbiakane> so the project listed on the project page is fairly simple and somewhat vague
19:20:49 <sdefabbiakane> it asks for DB/API implementation and a sample UI to demonstrate it
19:21:21 <burke> need to understand the difference between these notes and clinical narratives (e.g., "visit notes" or "encounter notes")
19:21:37 <sdefabbiakane> right
19:21:54 <burke> I pictured these notes as (potentially threaded) attachments to various domain objects
19:22:04 <burke> more like "sticky" notes than a clinic note.
19:22:13 <sdefabbiakane> domain objects being patients, encoutners, observations, etc?
19:22:18 <djazayeri> burke: do they have to be attached to a domain object?
19:22:19 <burke> yes.
19:22:26 <sdefabbiakane> right
19:22:29 <djazayeri> Or can you just put a "sticky note" on "the patient record"?
19:22:37 <djazayeri> (I guess the domain object in that case is just the patient"
19:22:39 <burke> not based on the model. but I'm not sure we want to use this for e-mail ;)
19:23:03 <burke> I think it would have to be one of them: patient, obs, or encounter.
19:23:08 <r0bby> If we were using groovy we could use the "groovy magic" to do this :)
19:23:18 <burke> s/groovy//
19:23:23 <burke> :)
19:24:00 <r0bby> burke: I was speaking with a guy who's writing a grails app for an OB/GYN clinic
19:24:17 <r0bby> Paul pointed me to his twitter then i was able to get a hold of him
19:24:32 <r0bby> back to the Notes though
19:24:33 <burke> r0bby: I'm loving groovy. Used the Groovy module to pull out data for a study. Used it for another work project to manage some large lists. But at the moment, I'm thinking notes (not Groovy) :)
19:24:47 <sdefabbiakane> so we have this database spec that's been on the wiki for a while
19:24:47 <djazayeri> So, I tend to think that clinical notes are more valuable than threaded conversations about an obs.
19:24:54 <burke> djazayeri: can we agree that one of the domain objects must be named for a note?
19:25:11 <burke> clinical notes should be an obs or complex obs.
19:25:16 <djazayeri> Assuming that can include just the patient, then fine.
19:25:44 <djazayeri> So yes, let's agree that the note has to be about a particular domain object.
19:25:49 <sdefabbiakane> make sense
19:25:58 <sdefabbiakane> makes8
19:26:01 <sdefabbiakane> makes*
19:26:13 <djazayeri> And optionally is also in-response-to another note about the same domain object.
19:26:35 <sdefabbiakane> in which case the domain object would be the other note?
19:27:01 <djazayeri> No, if there's a threaded conversation about encounter#123 then all those notes should point to encounter#123
19:27:19 <djazayeri> encounter#123 would be the domain object for all of them.
19:27:41 <sdefabbiakane> so we'd need some way to track parent notes then, too
19:27:56 <djazayeri> Yes, a nullable field for parent note.
19:28:04 <sdefabbiakane> right
19:28:25 <djazayeri> One question, though: when would you want to have a Note about a patient, versus making an Obs about the patient?
19:29:09 <djazayeri> burke, can you think of any correct use case for that?
19:29:22 <burke> just a sec...
19:29:29 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8378]: Added file progress list to end of initialization wizard - #1190 Author: … <> || OpenMRS Changesets: Changeset [8377]: patientmatching module: in dupesList.jsp, fixed the server timer to … <>
19:29:44 <sdefabbiakane> there are a couple of examples on the project description
19:30:24 <djazayeri> Here are some random examples of notes about a patient, some of which should use notes and some shouldn't:
19:30:48 <djazayeri> * This patient's cousin has the same name and lives in the same neighborhood. Don't mix up their files.
19:30:59 <djazayeri> * This patient's paper chart was lost.
19:31:26 <djazayeri> * This patient was hospitalized for pneumonia from 1/1/02 to 1/3/02
19:31:43 <burke> An observation is information, a note is meta-information.
19:32:20 <djazayeri> so which of those are good examples?
19:32:30 <burke> Can you provide them in spanish, please?
19:32:49 <djazayeri> Si!
19:32:57 <djazayeri> pero no quiero.
19:33:01 <burke> the first two (cousin w/ same name & paper chart was lost) are both decent patient notes
19:33:16 <sdefabbiakane> that matches my thinking
19:33:19 <burke> Things you might put on a post-it note on the chart.
19:33:37 <burke> not sure about the hospitalization stuff. ideally, that would be available *inside* the chart.
19:34:27 <sdefabbiakane> the hospitalization stuff seems like information that should go in an obs to me
19:34:49 <djazayeri> (that was my point)
19:34:53 <burke> I consider these "notes" to be things that would go on a post-it note are get scribbled on the edge of a page as meta-information about some piece of clinical data. If there is clinical data ("the patient has diabetes" or "the patient's glucose is 90 mg/dL") it should be in the chart, not in a note.
19:35:12 <burke> I worry a little about the name "note"
19:35:16 <burke> it's a bit misleading.
19:35:34 <sdefabbiakane> 'comment', maybe?
19:35:44 <burke> because people often talk of a visit note, discharge note, admission note, transfer note, etc. All of these belong *in* the chart.
19:35:48 <bwolfe> just rename the object to postitnote then. :-)
19:36:00 <burke> we would have to pay royalties on that to 3M.
19:36:03 <r0bby> PostItNote
19:36:04 <r0bby> :)
19:36:06 <sdefabbiakane> :)
19:36:19 <r0bby> Just tell 3M it's being used to save lives
19:36:24 <djazayeri> I like "comment"
19:36:26 <djazayeri> that's nice.
19:36:31 <r0bby> That's how I got Guillaume to Public Domain his code =)
19:36:58 <burke> One problem with "comment" :
19:37:06 <sdefabbiakane> oh
19:37:07 <sdefabbiakane> hmm
19:37:31 *** sdefabbiakane has quit IRC
19:37:34 <burke> animadversion, annotation, backtalk*, buzz*, comeback*, commentary, crack*, criticism, dictum, discussion, editorial, elucidation, exposition, footnote, gloss, hearsay, illustration, input, judgment, mention, mouthful, note, obiter, observation, opinion, remark, report, review, two cents' worth, wisecrack*
19:37:36 *** sdefabbiakane_ has joined #openmrs
19:37:40 *** sdefabbiakane_ is now known as sdefabbiakane
19:37:59 <burke> sdefabbiakane: you probably missed that... animadversion, annotation, backtalk*, buzz*, comeback*, commentary, crack*, criticism, dictum, discussion, editorial, elucidation, exposition, footnote, gloss, hearsay, illustration, input, judgment, mention, mouthful, note, obiter, observation, opinion, remark, report, review, two cents' worth, wisecrack*
19:38:02 <r0bby> WiseCracK!
19:38:09 <sdefabbiakane> yeah, I did, thanks
19:38:16 <burke> definitely not "observation" :)
19:38:21 <burke> annotation?
19:38:31 <deadpool> what about remarks
19:38:39 <deadpool> i think that is pretty close to comments
19:38:43 <burke> I would like a "mouthful" table in the data model. First one to convince Paul wins!!
19:39:02 <burke> or discussion.
19:39:09 <burke> or footnote
19:39:17 <r0bby> Sold!
19:39:18 <sdefabbiakane> I like two cent's worth
19:39:34 <r0bby> bah it's easier to convince people who aren't involved in the project!
19:39:36 <burke> how about "report" . First one to convince Justin wins!
19:39:47 <djazayeri> We could call it "talk" but then we'd get sued by wikimedia
19:39:52 <r0bby> how about groovynote
19:40:02 <r0bby> sam: you need to do it in groovy :D
19:40:05 <djazayeri> *kill groovy
19:40:07 <r0bby> for that to work :)
19:40:14 <r0bby> djazayeri: awww
19:40:15 <burke> maybe just shorten "note" to "not"
19:40:21 <r0bby> you people suck :(
19:40:22 <deadpool> commentary?
19:40:46 <sdefabbiakane> hm
19:40:50 <djazayeri> Okay, so let's move on
19:40:52 <burke> remark, commentary, discussion, ...
19:40:58 <djazayeri> I personally like "remark" or "discussion" best
19:40:59 <burke> yup. fine.
19:41:00 <bwolfe> I like commentary, remark, or TwoCents'Worth
19:41:14 <djazayeri> Okay, so moving on.
19:41:21 <burke> How about "tweet"
19:41:22 <sdefabbiakane> right
19:41:33 <sdefabbiakane> are we going to limit to it 140 characters, too?
19:41:33 <burke> oops. moving on...
19:41:34 <djazayeri> That's not what I call moving on...
19:41:43 <sdefabbiakane> right
19:42:27 <djazayeri> Okay, so I think we should talk about the UI next.
19:42:35 <djazayeri> (Burke will say we should talk about the data model next.)
19:42:59 <r0bby> Tweets
19:43:18 <sdefabbiakane> I'd say UI will dictate the specifics of the data model, so that sounds good.
19:43:36 <burke> API!
19:43:42 <burke> nothing else matters. :-)
19:44:15 <burke> you can put any UI above the API and any data model below it you want. :-)
19:44:23 <burke> ok... I'll shut up. UI...
19:44:29 <sdefabbiakane> so there are a lot of different ways this could work
19:45:34 <burke> I like the direction that the Peru system took of making these look like Post-It® notes.
19:45:58 <burke> I'd even favor making them look more Post-It® note-y
19:46:08 <sdefabbiakane> yeah, visual distinction is good
19:46:39 <burke> It makes it intuitive that this is for "meta" information.
19:46:48 <sdefabbiakane> actually, before we go too much farther
19:46:56 <r0bby> Is that code for that system in the svn repo?
19:47:16 <sdefabbiakane> for domain objects, the ones I'm thinking of so far are: patient, encounter, obs
19:47:19 <burke> r0bby: no. it's one of Darius' other open-source projects. :-)
19:47:27 <djazayeri> r0bby: no, PIH's legacy peru system isn't in the OpenMRS repo.
19:47:28 <sdefabbiakane> how general do we want this to be?
19:47:43 <djazayeri> I think that the API should support making notes about any object.
19:47:44 <r0bby> djazayeri: where is this PIH repo i keep hearing about??!
19:47:53 <djazayeri> r0bby: on a server.
19:48:04 <burke> djazayeri: concept_synonym?
19:48:06 <r0bby> okay sam sorry :) go on :)
19:48:19 <sdefabbiakane> djazayeri: make sense, I don't think that'll really make it any harder
19:48:33 <sdefabbiakane> for initial UI implementation though, where would be most useful to see this working?
19:48:46 <djazayeri> burke: I don't think we need to implement that in the UI, but I wouldn't intentionally disallow it.
19:48:47 <burke> on patients and observations, IMHO.
19:48:54 <djazayeri> I think on encounters too.
19:49:08 <sdefabbiakane> ok
19:49:25 <burke> and on person attribute types. definitely!
19:49:31 <djazayeri> It's possible that we only want to allow these to refer to data and not to metadata.
19:49:44 <djazayeri> person attribute types?
19:49:49 <sdefabbiakane> ^
19:49:53 <burke> that was sarcasm. sorry. it leaked out.
19:50:01 <burke> I've spent too much time around r0bby
19:50:11 <r0bby> ?!?!
19:50:21 <djazayeri> So, when we discuss API, we can discuss whether they only go on OpenmrsData, or on any generic object.
19:50:21 <r0bby> you make it like it's a bad thing
19:50:51 <burke> as far as initial targets: patient, obs, and encounter. would be all good early targets.
19:50:54 <djazayeri> So, as a first pass let's say you can make notes on Patient, Encounter, and Obs.
19:51:01 <burke> djazayeri: if you had to choose one, which would you do first?
19:51:01 <sdefabbiakane> sounds good
19:51:06 <djazayeri> patient.
19:51:18 <deadpool> wait quick question why wold you want to make notes on patient
19:51:32 <deadpool> all patient is identification right?
19:51:39 <burke> same reason you would put a Post-It® note on their chart.
19:52:10 <burke> it's associating a thought or (dare I say) "note" with the patient's chart so the next person to pick it up sees it.
19:52:58 <deadpool> oh so it would like "hey here is a note on this patient don't forget to read them"
19:52:59 <djazayeri> So let's start with patient. (which really should be Person)
19:53:00 <burke> e.g., "This patient is a drug seeker"
19:53:09 <deadpool> ah ok
19:53:11 <deadpool> gotcha
19:53:16 <burke> e.g., "This person is a drug seeker"
19:53:23 <r0bby> you said it twice
19:53:36 <burke> my 1st extended my 2nd.
19:53:43 <deadpool> sorry not a doctor so i am sorry if i am asking stupid questions
19:53:52 <burke> no such thing as a stupid question.
19:53:54 <r0bby> neither is darius or ben
19:53:57 <burke> even for r0bby. :-)
19:54:05 * r0bby slaps burke
19:54:13 <r0bby> I aint afraid of you!
19:54:16 * burke ducks just in time.
19:54:30 <djazayeri> So, the patient dashboard needs to show notes about that patient. And it needs to have a "add a note" button.
19:54:31 <burke> ok... starting with person.
19:54:42 <sdefabbiakane> ok
19:54:48 <burke> or is it enough to show that they have notes?
19:55:06 <burke> if there are 30 notes about a patient, do we list them all? even if most are >3 years old?
19:55:12 <sdefabbiakane> I'd say you'd want to be able to see maybe the first one or two easily, with a link to see all
19:55:42 <deadpool> hey what about merging notes but keeping it with like a date attached for older notes
19:55:43 <burke> or is it enough to show a Post-It® icon next to the patient's name or identifier?
19:55:57 <djazayeri> So, one question: if these are meant to be threaded conversations, is a Post-it note really the right thing to be thinking of?
19:56:13 <bwolfe> post-its on post-its, sure
19:56:27 <djazayeri> I think the way gmail lets you view a conversation is a good example.
19:56:28 <deadpool> and for newer notes you can keep them separate
19:56:35 <burke> or a conversation on a post-it®. we do that in clinic all the time.
19:57:00 <djazayeri> Old stuff is really compressed and should just say (10 more notes)
19:57:11 <sdefabbiakane> so question about Person instead of Patient: where in the UI do you view people and not patients?
19:57:18 <djazayeri> Semi-recent stuff has a 1-line summary
19:57:24 <djazayeri> Very recent stuff is fully displayed.
19:57:26 *** jmiranda has joined #openmrs
19:57:26 *** ChanServ sets mode: +o jmiranda
19:57:55 <burke> we don't really view people do we? except when creating relationships or patients, right?
19:57:58 <deadpool> yeah i like djazayeri idea
19:58:16 <burke> I suggest that you do it wrong at first so that we have the opportunity to make it better.
19:58:20 <djazayeri> There is actually a person dashboard.
19:58:23 <bwolfe> there is a personDashboard
19:58:29 <burke> oh.
19:58:31 <sdefabbiakane> how do I get there?
19:58:37 <burke> you have to be a person.
19:58:43 <djazayeri> The way to get to it is to have a Patient who has a non-patient person as a relationship
19:58:51 <djazayeri> then you view the patient's record, then click on their relationship.
19:58:52 <sdefabbiakane> ah
19:58:54 <burke> obviously!
19:59:14 <sdefabbiakane> so probably the patient dashboard should be done first, then?
19:59:19 <djazayeri> The specific use case for us is that that person might be the patient's community health worker
19:59:25 <burke> why is there a dashboard for a person?
19:59:33 <djazayeri> Why wouldn't there be?
19:59:37 <burke> so you can manage their relationships?
19:59:43 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #1526 (defect closed): Unable to set implementation ID during setup due to Hibernate ConstraintViolationException <> || OpenMRS Changesets: Changeset [8379]: 1.5.x: Fixing authorization issue related to setting the implementation id … <>
20:00:04 <djazayeri> If you're looking at a patient you can click on their community health worker, and then see a list of the other 3 patients that belong to that CHW.
20:00:07 <djazayeri> And you can click through to them.
20:00:15 <djazayeri> That's our use case right now.
20:00:16 <burke> because we're an electronic medical record, not an electronic record. :-)
20:00:28 <burke> that's fine.
20:00:39 <burke> we have observations about person too.
20:00:47 <djazayeri> sdefabbiakane: I think this will end up being implemented as a portlet.
20:00:52 <burke> or at least we have the ability to make obs for a person.
20:01:10 <djazayeri> The "relationships" portlet actually takes a person rather than a patient.
20:01:17 <sdefabbiakane> djazayeri: yep, that make sense.
20:01:20 <djazayeri> It takes zero extra lines of code to do it that way.
20:01:47 <sdefabbiakane> right
20:02:41 <deadpool> question: as doctors how much of your patient's records are notes
20:03:23 <djazayeri> Hopefully a very small portion.
20:03:41 <deadpool> but in reality as of right now
20:04:12 <burke> very tiny little bit if you're talking about post-it® notes.
20:04:22 <djazayeri> So, does everyone agree that we're going to have a section of the dashboard that shows notes in some compressed fashion, and has an Add button.
20:04:23 <burke> we don't really think of it as part of the chart.
20:04:23 <djazayeri> ?
20:04:55 <sdefabbiakane> djazayeri: how would that work?
20:05:11 <sdefabbiakane> (as in, how would it be laid out so as to be actually useful)
20:05:16 *** james_regen has quit IRC
20:05:22 <djazayeri> Oh, well, you get to mock that up and tell me. :-)
20:05:36 <sdefabbiakane> heh
20:06:01 <sdefabbiakane> similar to observations, actually, I think
20:06:27 <djazayeri> I have a few questions:
20:06:30 <djazayeri> 1. Can you delete a note?
20:06:42 <djazayeri> 2. Can you "promote" or "demote" one?
20:06:52 <burke> I think it would be more useful to see the full note for the most recent 1-3 notes than see a full list that require a click to read the note.
20:06:53 <sdefabbiakane> promote/demote?
20:06:56 <djazayeri> 3. Can you flag one as "sticky" so it always shows up on top?
20:06:57 <jmiranda> sorry for coming to the conversation a little late
20:07:06 <jmiranda> but i assume notes can be added to obs as well
20:07:12 <jmiranda> especially complex obs like x-rays
20:07:15 <burke> User can delete, API would void.
20:07:15 <djazayeri> jmiranda: to any domain object.
20:07:55 <djazayeri> I agree about having most recent (small number) be visible at first, and you have to click through to get more.
20:08:17 <djazayeri> What if a note has replies to it. Do you see the whole conversation? Or just the reply?
20:08:36 <deadpool> hey sdefabbiakane you know what i was thinking you can put a small symbol of maybe a (spoof of a post it note) and when you lets say do a mouse over like a sentence of the note will pop up and if you click on it a pop up will come of the note
20:09:27 <sdefabbiakane> hmm
20:09:37 <deadpool> just something to think about
20:09:39 <burke> I'd want to see the first and last comments in a discussion. If there a ton inbetween, collapse it.
20:09:46 <sdefabbiakane> sounds good
20:10:04 <djazayeri> deadpool: cool idea.
20:10:24 <bwolfe> deadpool: a similar icon/mouseover on the obs edit screen for "comments" on an obs
20:11:23 <deadpool> yeah
20:11:23 <djazayeri> sdefabbiakane, burke: how do you feel about being able to make some notes "promoted" or "sticky" so they always show up on top?
20:11:40 <djazayeri> i.e. "patient is a drug seeker"
20:11:49 <djazayeri> you don't want that to disappear just because it's old.
20:11:50 <burke> djazayeri: mas o menos
20:11:54 <sdefabbiakane> might be useful, I guess?
20:12:04 *** catechu has quit IRC
20:12:18 <djazayeri> That can go in version 2, I guess.
20:12:30 <burke> Give them a weight and then honor my sort if I drag & drop them into another order. :-)
20:12:48 <djazayeri> For every individual user?
20:12:57 <burke> only if username="burke"
20:13:01 <deadpool> hey lets say if someone has a comment on a note would he or she add new note or be able to make an addendum to the note that has already been written so like a thread
20:13:02 <burke> all others ignored.
20:13:26 <sdefabbiakane> deadpool: notes are threaded, so the latter
20:13:32 <deadpool> ah ok
20:13:35 <djazayeri> Do we consider "threaded discussion" to be a version 1 or version 2 deliverable, actually?
20:13:38 <burke> there's a fundamental issue of whether or not these are considered part of the medical record. some would argue yes, others no.
20:14:02 <burke> if no, then edit/delete/etc. are good (anything goes). if yes (part of the medical record), then edit/delete are not allowed.
20:14:14 <djazayeri> I would lean towards implementing that in the API from the beginning, but only supporting it in the UI if there's time.
20:14:18 <burke> (of course, you can let the user think they're deleting and void behind the scenes)
20:14:39 <sdefabbiakane> djazayeri: makes sense. I don't think API support for threading conversations will be terribly difficult
20:14:39 <djazayeri> I much prefer to void behind the scenes.
20:15:04 <djazayeri> Can you "delete" a note after someone has replied to it?
20:15:07 <burke> yes. a very simple note for patient would be a good proof of concept, but focus on API.
20:15:24 <djazayeri> Okay, on that note, should we discuss the API?
20:15:27 <djazayeri> (brb)
20:15:37 <sdefabbiakane> djazayeri: yep, I think so
20:15:48 <sdefabbiakane> UI specifics are best seen, not talked about ahead of time
20:16:44 * r0bby bangs his head on his desk
20:17:07 * burke bangs his desk on his head
20:17:49 <djazayeri> back
20:18:04 <sdefabbiakane> ok
20:18:52 <sdefabbiakane> so, api
20:19:24 <djazayeri> So I'd like to be able to say something like Context.getNoteService().createNote(patient, "This is the coolest patient.");
20:20:01 <sdefabbiakane> ok
20:20:19 <djazayeri> And maybe Context.getNoteService().respond(note, "I agree");
20:20:30 <burke> Context.getRemarkService()?
20:21:46 <djazayeri> (Yes, obviously substitute the name we choose instead of Note.
20:21:49 <sdefabbiakane> whatever we end up calling it, both of those look good to me
20:22:53 <djazayeri> burke: any methods you want to see?
20:23:39 <burke> Context.getAnythingButNoteService().getAllAnythingButNotes()
20:23:54 <djazayeri> I think you can do that with just 3 lines of groovy code.
20:23:56 <djazayeri> So sure.
20:24:20 <burke> Context.getAnythingButNoteService().getAnythingButNotes(OpenmrsObject o) /* notes related to a domain object */
20:25:00 <jmiranda> why wouldn't you use the NoteService
20:25:14 <djazayeri> Does that return a List<Remark>?
20:25:15 <burke> visit note, admission note, discharge note, transfer note, etc.
20:25:17 <jmiranda> you're just changing the content of the note
20:25:23 <jmiranda> addNote(Patient, Note)
20:25:25 <djazayeri> Or does it return some form of a tree representing the threaded conversation?
20:25:51 <jmiranda> right now we have a "system" note service
20:25:54 <burke> I would imagine you would get a List<Remark> of the top level.
20:26:06 <jmiranda> but that can be extended to support other types of notes (like the ones we have here)
20:26:06 <burke> remark.getReponse() would take you down the thread
20:26:15 <djazayeri> jmiranda: a Note should really be an Obs. This is something else, which is why we're calling them not-note, or Remark.
20:26:41 <burke> jmiranda: we do not want to confuse/intermingle meta-conversations with clinical notes.
20:27:05 <jmiranda> i assume this was discussed at the beginning (while i was away)
20:27:06 <djazayeri> actually getResponses()
20:27:10 <djazayeri> yes
20:27:16 <jmiranda> apologies :)
20:27:20 <burke> jmiranda: most clinical notes will come as documents that belong either in obs (as complex obs) or in a text repository.
20:28:37 <burke> jmiranda: but I could be reversed. that is, maybe a single table could have all documents for a patient, including any comments on a obs vs. a discharge summary. but my gut says these are separate.
20:28:45 <burke> hey.. another option: memo.
20:29:06 <djazayeri> as in "jmiranda didn't get the memo that they're no longer called notes"
20:29:12 <djazayeri> :-)
20:29:26 <burke> Context.getMemoService().getMemo(justin)
20:29:36 <r0bby> Perfect thing to call this!
20:29:38 <r0bby> Memo
20:29:42 <sdefabbiakane> you have to add the memo first...
20:29:44 <sdefabbiakane> :)
20:29:49 <burke> Also: chat
20:29:52 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8385]: 1.5.x: Reapplying utf8 fix for storing runtime properties after the wizard <> || OpenMRS Changesets: Changeset [8384]: Reapplying utf8 fix for storing runtime properties after the wizard <> || OpenMRS Changesets: Changeset [8383]: schedulerquartz: Added images, css, Js for the schedulerManager.jsp <> || OpenMRS Changesets: Changeset [8382]: schedulerquartz: added functionality to the scheduler Manager page. Added … <> || OpenMRS Changesets: Changeset [8381]: 1.5.x: Added file progress list to end of initialization wizard - … <> || OpenMRS Changesets: Changeset [8380]: 1.5.x: backported dthomas's utf8 fixes: [8153], [8154], [8228], [8230] - … <>
20:29:53 <r0bby> sdefabbiakane: magic
20:30:18 <burke> or... notice.
20:30:27 <djazayeri> Enough options. Remember how we moved on?
20:30:34 <djazayeri> (Neither do I.)
20:30:45 <sdefabbiakane> heh
20:30:57 <djazayeri> So, you should be able to create a note for a domain object.
20:30:59 <burke> I'm perseverating.
20:31:09 <djazayeri> You should be able to get all top level notes on a domain object.
20:31:19 <djazayeri> I think you should also be able to get *all* notes on a domain object.
20:31:36 <burke> yes. add replies, void them. they could have a sort weight property (for prioritizing them)
20:31:42 *** Agnor has quit IRC
20:32:03 *** Agnor has joined #openmrs
20:32:34 <djazayeri> What would the method be? setSortWeight(note, 5.0)?
20:32:58 <djazayeri> And that would automatically push other things down below it?
20:33:01 <sdefabbiakane> and how would that affect UI behavior?
20:33:12 <sdefabbiakane> or rather
20:33:16 <sdefabbiakane> what would that be used for?
20:33:35 <r0bby> Couldn't they be sorted like FB does it, chronologically
20:33:36 <djazayeri> Well, the easy way to do things in the UI would be to have a "move up" and "move down" button.
20:33:58 <burke> maybe setIndex or setSortPosition
20:34:20 <djazayeri> Per r0bby I would lean towards not implementing that until later.
20:34:26 <r0bby> the entire thread could be stored in a List and just moved around inside of that list?
20:34:26 <sdefabbiakane> yeah
20:34:46 <r0bby> the sorting could be defined quite easily
20:34:59 <djazayeri> Just do chronological for now, and in the last week you can throw in a sort weight.
20:35:06 <sdefabbiakane> k
20:35:09 <burke> the point would be to tell the API I want this memo at this position (or relative position) and let it take care of the details. can be 2.0 feature.
20:35:19 <burke> agreed.
20:35:35 <djazayeri> Okay, moving on.
20:36:07 <djazayeri> I think it's fair to move onto the data model discussion.
20:36:20 <djazayeri> This is actually the only part that has a tricky issue to deal with...
20:37:22 <djazayeri> Unless anyone has any more API methods they want to suggest.
20:37:37 <burke> those are fine starter methods for API.
20:37:44 <burke> bring on the tricky issue
20:37:46 <sdefabbiakane> ok, so database
20:38:35 <djazayeri> An aside: looking at the proposed table structure, I notice "note_type".
20:38:40 <djazayeri> I'm sure I insisted on that.
20:39:03 <djazayeri> If you look at the screenshots here you'll see them in bold.
20:39:04 <djazayeri>
20:39:32 <sdefabbiakane> so looking at that
20:39:33 <burke> We definitely use note types for clinical documents (admit note, transfer note, etc.). Not sure about memos. What were you thinking Darius?
20:39:38 <djazayeri> However at this point I guess I don't care anymore.
20:39:58 <burke> As long as we can have a note_type_type table too. ;)
20:40:24 <sdefabbiakane> how do you propose we generalize references to domain objects?
20:40:28 <burke> It makes sense for clinical notes. For memos, it's seems a little overkill.
20:40:41 <djazayeri> yeah, if a note is a post-it, you don't really need a title.
20:40:41 <burke> OpenmrsObject?
20:41:08 <sdefabbiakane> do all of those have unique ids?
20:41:24 <r0bby> When we
20:41:33 <r0bby> 're done w/ this i have a question outside the notes project
20:41:34 <djazayeri> They do have unique ids.
20:41:42 <sdefabbiakane> ok, that works then
20:41:46 <r0bby> in the meantime i'll work
20:41:50 <djazayeri> It sort of works.
20:41:57 <sdefabbiakane> oh?
20:42:24 <djazayeri> What do you envision the database table looking like?
20:42:31 <djazayeri> the relevant columns, I mean.
20:43:04 <sdefabbiakane> well, given that OpenmrsObjects have unque ids, something like:
20:43:49 <sdefabbiakane> note_id, domainobject_id, text, parent_note_id, and then the creator/voided stuff
20:44:00 <sdefabbiakane> also, priority if we want that
20:44:37 <djazayeri> Okay, to domain objects do have a uuid, which is unique across all of them.
20:44:38 <burke> s/domainobject_id/subject_id/
20:44:45 <sdefabbiakane> sure
20:44:49 <djazayeri> But you really need a domain object class, plus an id.
20:45:37 <burke> oh. then subject_class & subject_id?
20:45:42 <sdefabbiakane> ok
20:45:48 <burke> or target_class & target_id?
20:46:09 <sdefabbiakane> I like subject
20:46:54 <burke> btw... "text" -->
20:46:55 <djazayeri> So that works as a first pass.
20:47:13 <djazayeri> But what happens when someone deletes the underlying domain object?
20:47:22 <djazayeri> (we have no foreign key reference)
20:47:52 <sdefabbiakane> when would things be deleted rather than voided?
20:48:02 <burke> Notes should not be able to be linked to anything that's deletable
20:48:31 <djazayeri> I guess technically nothing should be deleted, so that isn't a problem.
20:48:36 <burke> yup.
20:48:37 <sdefabbiakane> good
20:48:50 <burke> And I don't think you'd need to cascade voided/retires.
20:49:02 <sdefabbiakane> no, I don't think that would make sense
20:49:03 <burke> It would be fine to have a non-voided memo pointing to a voided patient.
20:49:16 <burke> or no?
20:49:23 <sdefabbiakane> makes more sense than voiding it, yes
20:49:27 <sdefabbiakane> if you unvoid a patient
20:49:33 <sdefabbiakane> presumably you want all of their notes back as well
20:49:48 <burke> as long as the person (or observation or encounter) gets voided, then the memo can remain.
20:49:55 <sdefabbiakane> right
20:50:07 <djazayeri> Last time Ben and I discussed a similar issue we decided that when you void an object, that should also void its dependent objects.
20:50:22 <djazayeri> But if you unvoid it, then all dependent objects that were voided on the same instant in time should be unvoided.
20:50:29 <burke> are memos dependent? they're related, sure. but dependent?
20:50:29 <djazayeri> However I don't know if this is implemented anywhere yet.
20:50:36 <sdefabbiakane> but then how do you decide which notes to unvoid?
20:50:44 <bwolfe> djazayeri: the VoidHandlers actually do that for you now
20:50:56 <sdefabbiakane> say a note (or memo, or whatever) is voided, and the patient it's attached to is voided
20:50:56 <bwolfe> (and the UnvoidHandler)
20:51:06 <burke> I guess it doesn't matter. if they get voided to that's fine.
20:51:16 <burke> The problem you'll have is if you allow notes on metadata.
20:51:27 <burke> then notes can either be voided or retired.
20:51:39 <burke> which is why I would vote "no" on memos for metadata.
20:51:50 <burke> we don't need metametadata. :)
20:52:06 <burke> Add a memo to a concept?
20:52:14 <burke> Andy would want that feature, I suppose. :)
20:52:20 <djazayeri> How about a note on a location?
20:52:34 <burke> So then notes get retired or voided?
20:52:36 <djazayeri> "There's a really good indian restaurant just down the street from this hospital", etc, etc.
20:52:40 <burke> er... memos.
20:52:56 <djazayeri> No, retiring a concept has no effect on memos about that concept.
20:53:23 <sdefabbiakane> question about voiding/unvoiding the domain objects we're working with
20:53:39 <burke> So, memos are only voided if they are individually (or an entire "thread") "deleted" in the UI?
20:53:52 <sdefabbiakane> oh, is that what we decided?
20:54:01 <djazayeri> Yes, or if the object they point to is "deleted" in the UI.
20:54:09 <djazayeri> (Retiring a concept != deleting it)
20:54:12 <sdefabbiakane> wait
20:54:17 <sdefabbiakane> that's what my question is about
20:54:20 <burke> So, you *do* void/retire notes if the concept is retired?
20:54:30 <djazayeri> burke: no.
20:54:38 <burke> oh. yes. purge object = purge notes.
20:54:45 <burke> s/notes/memos/
20:54:57 <sdefabbiakane> so an object that gets unvoided/unretired comes back with no notes on it then?
20:55:01 <djazayeri> purge concept = purge its notes
20:55:05 <djazayeri> retire concept = do nothing to its notes
20:55:11 <djazayeri> purse patient = purge its notes
20:55:14 <djazayeri> (purge)
20:55:19 <djazayeri> void patient = void its notes
20:55:21 <burke> ok. when I spoke of "deleting" a note, I mean the little trash can icon the user sees & clicks that actually voids the note.
20:55:27 <burke> s/note/memo/g
20:55:42 <sdefabbiakane> djazayeri: what happens when you unvoid/unretire something?
20:55:58 <djazayeri> unvoid patient = unvoid its notes that were voided on the exact same timestamp as the patient.
20:56:03 <burke> void person --> void memos, but *not* retire concept --> retire memos?
20:56:05 <sdefabbiakane> oh, right
20:56:11 <djazayeri> burke: exactly.
20:56:12 <sdefabbiakane> timestamps
20:56:16 <sdefabbiakane> that solves that problem
20:56:20 <djazayeri> unretire concept = do nothing to its notes.
20:56:29 <burke> why not retire concept --> void memos?
20:56:48 <djazayeri> Retiring just means "we're not using this going forwards". It doesn't mean we're "deleting" it.
20:57:00 <burke> ok.
20:57:06 <djazayeri> Any memos/remarks/commentary from the peanut gallery is still relevant.
20:57:11 <burke> can you add memos to a retired concept?
20:57:15 <djazayeri> YEs.
20:57:30 <burke> ok. sounds good to me.
20:57:38 <sdefabbiakane> yep, sounds good
20:58:22 <djazayeri> bwolfe: will it be straightforward to add another VoidHander so that notes can be automatically voided when the subject they refer to is?
20:59:02 <djazayeri> looks like you'd just have to add it to BaseVoidHandler.
20:59:34 *** djazayeri changes topic to "Can I change this text?"
20:59:44 *** djazayeri changes topic to "Apparently yes. :-)"
21:00:01 <djazayeri> sorry, I'll stop playing with the UI of my irc client now.
21:00:12 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #1377 (task closed): Uuids Branch : Unit Test cleanup <> || OpenMRS Tickets: Ticket #1190 (enhancement closed): Add a File Progress List to the End of the War File Setup Wizard <> || OpenMRS Tickets: Ticket #1263 (defect closed): Person relationship gets erased when the person is made a patient. <> || OpenMRS Tickets: Ticket #1560 (defect closed): FormEntry Module 3.6.3 included with the deployment of OpenMRS doesn't start when openmrs is restarted or loaded <> || OpenMRS Changesets: Changeset [8386]: 1.4.x: Fixing core modules not starting at startup - #1516 <>
21:00:14 *** djazayeri changes topic to "OpenMRS Notes project."
21:00:19 <sdefabbiakane> ok, what else needs to be discussed?
21:00:44 <djazayeri> does Note extends OpenmrsMetadata?
21:00:47 <djazayeri> (I think not.)
21:00:55 <djazayeri> should it extends OpenmrsObject?
21:01:31 <bwolfe> djazayeri: your answer to your own question was correct
21:01:42 <djazayeri> (that just implies it has get/setId(Integer) and get/setUuid(String)
21:01:43 <burke> can you make a memo on a memo? (not threaded discussion, but a memo about another memo saying "I really don't like this memo")
21:01:58 <djazayeri> No, you should not be allowed to do that.
21:02:12 <djazayeri> That would mess with the space-time continuum.
21:02:22 <burke> I messed that up a long time ago.
21:02:26 <burke> ...or was it just now?
21:02:36 <djazayeri> ha ha
21:03:26 <djazayeri> So, if you can't make a remark about a remark, does that mean that a remark is not OpenmrsData? Or does it just mean that's a special case that's prohibited?
21:04:03 <burke> Does something have to be openmrsdata to get sync'd?
21:04:49 <djazayeri> Probably.
21:04:59 <burke> Memos should probably have ids/uuids, so openmrsobject. They don't need name/description.
21:05:06 <djazayeri> +1
21:05:18 <sdefabbiakane> ok
21:05:41 <sdefabbiakane> oh, while I'm thinking of it: what version of OpenMRS should I be developing this on? the trunk, or something else?
21:05:46 <djazayeri> 1.5
21:05:55 <sdefabbiakane> ok
21:06:01 <r0bby> burke: I think you may have lost your marbles
21:06:22 <burke> r0bby: who says I ever had marbles?
21:06:49 <r0bby> true true
21:06:50 <sdefabbiakane> so branches/1.5.x?
21:06:52 <burke> damn. that means I not only lost them... but forgot about them too!
21:06:57 <r0bby> yeh sdefabbiakane
21:07:00 <djazayeri> Sorry, my bad.
21:07:02 <burke> what's that disease when you can't remember anything?
21:07:03 <r0bby> I'm now coding against that
21:07:10 <djazayeri> Is this going to be in core, or a module?
21:07:23 <sdefabbiakane> project description says core
21:07:54 <burke> hmm. memo module?
21:08:02 <djazayeri> My new theory is that everything should be a module.
21:08:14 <djazayeri> (remind me to post a project to make Patient into a module)
21:08:27 <sdefabbiakane> so module, then?
21:08:35 <burke> memos really should/could function independently. is there a reason that core code would need to invoke addMemo(something)?
21:08:51 <burke> djazayeri: I hope you're joking.
21:08:59 <djazayeri> burke: I am joking
21:09:02 <burke> I think djazayeri should be in a module.
21:09:17 <burke> djazayeri: go get in a module.
21:09:22 <burke> please.
21:09:24 <r0bby> I think there's a think geek shirt that resembles this I can't quite remember what it said
21:09:39 <r0bby> make r0bby into an OpenMRS module, i'll be partially finished :)
21:09:45 <burke> i wrote an OpenMRS module and all I got was this stinkin' t-shirt.
21:09:59 <r0bby> That's soc in a nutshell burke :p
21:10:32 <djazayeri> So, if 'remarks' are made about domain objects...
21:10:57 <djazayeri> what happens if you start the 'remark' module, make some comments about a patient, stop the module, void the patient, and restart the module again.
21:11:59 <burke> The memo module scan the audit trail and automatically voids any of these memos.
21:12:05 <r0bby> tomcat doesn't like remote debugging OpenMRS
21:12:16 <r0bby> It throws StackOverflowExceptions
21:12:16 <djazayeri> my tomcat loves it. :-)
21:12:37 <djazayeri> burke: seriously?
21:13:34 <burke> why not. Sam can do *anything*!
21:13:45 *** Mkop has joined #openmrs
21:13:54 <sdefabbiakane> does openmrs *have* an audit trail!?
21:14:02 <r0bby> it can!
21:14:03 <burke> er... you'll have to write that too.
21:14:07 <sdefabbiakane> :P
21:14:08 <r0bby> (if it doesn't)
21:14:25 <r0bby> sdefabbiakane: careful
21:14:30 <burke> r0bby can do it in 2 lines of Groovy (if he's lazy)
21:14:30 <djazayeri> I need to leave in 5 minutes.
21:14:35 <burke> me 2
21:14:52 <burke> I don't think we have an answer for that Darius. The same applies to any module
21:14:55 <bwolfe> logging/audit trail module:
21:14:56 <bwolfe> #ticket 1445
21:14:58 <r0bby> burke: i converted one of the services to groovy because i was too lazy to type != null and == null
21:14:58 <djazayeri> You *could* actually look at all notes, then look at all objects they point to, and void/unvoid mismatches back in the past.
21:15:01 <r0bby> :)
21:15:04 <bwolfe> !ticket 1445
21:15:04 <OpenMRSBot> bwolfe: Ticket #1445:
21:15:14 <burke> What if I have reports that depend on data in a reporting module, stop the module, void the data, and restart the module?
21:15:24 <sdefabbiakane> djazayeri: true.
21:15:37 <burke> Just fail gracefully. Maybe provide a data integrity check to find & clean these up.
21:15:49 <r0bby> (this would be done in the Activator ideally
21:16:10 <sdefabbiakane> alright
21:16:44 <djazayeri> Maybe have the activator run a quick check that looks for mismatches, and if it finds any it starts up a background process to clean them, or something.
21:16:49 <djazayeri> Okay, so this can be a module, right?
21:16:55 <djazayeri> No disagreement?
21:16:59 <r0bby> burke: can you pretty pretty please convince darius and mike to let me convert this stuff to groovy it's killing me knowing I can type (foo is an Object) if(!foo) { ... }
21:17:02 <r0bby> :(
21:17:09 <djazayeri> r0bby: Mike says get back to work.
21:17:13 <r0bby> I am!
21:17:22 <r0bby> I'm working
21:17:48 <burke> ...on Java!
21:17:54 <djazayeri> okay, I'll tell him that. :-)
21:17:56 <Mkop> r0bby: at least you're not forced to use C++...
21:18:05 <burke> machine language is next.
21:18:14 <r0bby> you can't do that to me!
21:18:21 <r0bby> you do, i quit!
21:18:27 <burke> I used to program in machine language. Before I had an assembler.
21:18:37 <r0bby> you're nuts
21:18:39 <r0bby> WTF
21:18:44 <sdefabbiakane> I had to do some of that this past semester =/.
21:18:46 <r0bby> now im getting stack overflows :/
21:18:49 <deadpool> machine language you mean with 1's and 0's
21:19:00 *** bwolfe has quit IRC
21:19:06 <Mkop> watch out for old-time CSers, they're sadistic.......
21:19:15 <r0bby> burke isn't even CS!
21:19:17 <Mkop> "If I had to go through this pain, you should have to as well! muahahaha
21:19:17 <burke> It took a long time to write code... but boy was it fast! And that's on a 8 KHz machine.
21:19:18 <deadpool> that is cruel man the lowest level i would do is assembly still do
21:19:29 <r0bby> burke is ancient you se
21:19:42 <Mkop> he's probably all of what? 35 years old? ancient!
21:19:42 <burke> I have underwear older than r0bby.
21:20:03 <sdefabbiakane> so, anything else we need to discuss on the notes project?
21:20:06 <deadpool> i dunno whether to vomit at that statement or admire you burke
21:20:08 <burke> hehe
21:20:13 <Mkop> lol
21:20:28 <burke> sdefabbiakane: will you be done in about a week or so?
21:20:48 <sdefabbiakane> burke: yes.
21:20:50 <sdefabbiakane> no
21:20:54 <r0bby> HAHA @
21:20:56 <sdefabbiakane> probably not
21:20:59 <deadpool> oh yeah just to leave you guys with something you should watch it is funny
21:21:08 <burke> sdefabbiakane: who's your mentor?
21:21:12 <r0bby> deadpool: look at my stack trace!
21:21:15 <sdefabbiakane> unless I aquire superhuman debugging skills
21:21:36 <sdefabbiakane> burke: mentor from openmrs or outside it?
21:21:45 <burke> both/all
21:21:46 <djazayeri> Okay, sdefabbiakane, send me an email and we can have a followup discussion, but I think your next steps are clear.
21:22:01 <djazayeri> i.e. write up the project plan
21:22:06 <sdefabbiakane> yep
21:22:09 <sdefabbiakane> i'll do that friday
21:22:12 <sdefabbiakane> won't be around tomorrow
21:22:32 <r0bby> djazayeri: have you had a chance to peek at my plan (i sent an email)
21:22:34 <Mkop> sdefabbiakane: just wondering, does your program pay?
21:23:03 <r0bby> OHHHH
21:23:03 <sdefabbiakane> burke: I've been talking with darius most closely in OpenMRS, probably norman danner outside of it would be the closest thing I have to a mentor now
21:23:05 <sdefabbiakane> Mkop: yes
21:23:11 <deadpool> r0bby: man you have your work cut out for you
21:23:30 <Mkop> how much? if you don't mind me asking
21:23:35 <r0bby> 4000
21:23:39 <r0bby> last i looked at his program
21:23:40 <sdefabbiakane> yeah, that
21:23:50 <r0bby> Ajay Kumar told me bout it
21:23:55 <burke> sdefabbiakane: (feel free to edit description)
21:23:57 <r0bby> SOC paid more, so i didnt look
21:23:57 <OpenMRSBot> <> (at
21:24:12 <sdefabbiakane> burke: thanks
21:24:28 <djazayeri> r0bby: no, not yet
21:24:29 <burke> k. gotta run. later.
21:24:33 <sdefabbiakane> yeah
21:24:36 <sdefabbiakane> I should get going too
21:24:41 <Mkop> I should look at HFOSS for next year
21:24:42 <sdefabbiakane> the lab has gotten lonely...
21:24:53 <djazayeri> ciao all
21:24:55 *** djazayeri has quit IRC
21:24:59 <deadpool> r0bby take a look at the youtube link and tell me what ya think about it
21:25:05 <Mkop> they probably have a more interesting array of projects than GSOC - openmrs is about the only gsoc thing I'm interested in
21:25:22 <sdefabbiakane> there are a bunch, yeah
21:25:33 <Mkop> sdefabbiakane: is HFOSS a classical internship, where you have to show up to an office?
21:25:41 <sdefabbiakane> sahana, gnome accessbility stuff, posit (which runs on android), a few other things
21:26:18 <sdefabbiakane> Mkop: right now we're kind of on a 9-5 schedule, although to say it's loose would be an understatement, and in a week or two we'll be setting our own hours
21:26:36 *** burke has quit IRC
21:26:50 <Mkop> but it is still an internship with an office
21:26:54 <Mkop> which is a good thing, for what I want
21:27:06 <Mkop> is it only for students?
21:27:06 <sdefabbiakane> we're at trinity college
21:27:06 <Mkop> what are the admission criteria?
21:27:08 <sdefabbiakane> so internship with a computer lab
21:27:22 <sdefabbiakane> only for students, I think
21:27:41 <sdefabbiakane> not really any formal criteria other than that I don't think
21:28:01 <r0bby> Mkop: I blame burke for my applying!
21:28:53 <r0bby> that was an amusing stackoverflow :)
21:29:17 <sdefabbiakane> anyway, I should get going. have some non-hfoss work to do before tomorrow and I need to wake up at 6:45...
21:29:32 <Mkop> seeya later, sam
21:29:35 <r0bby> I have a sink full of dishes :D
21:29:37 <sdefabbiakane> bye
21:29:41 *** sdefabbiakane has quit IRC
21:31:50 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8387]: mdrtb1.4. Took a table header row out of infopath forms list table in … <> || OpenMRS Tickets: Ticket #1459 (defect closed): Fix demo database on downloads page and in (concept_word) <>
21:47:48 *** deadpool has left #openmrs
21:53:58 <r0bby> Apparently, java does not like when you define toString() for *ALL* classes, and those classes have back references to the section that defined them
21:54:04 <r0bby> so round and round we go
21:58:29 *** Mkop has quit IRC
22:03:53 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8388]: global-property-types branch: Add first variant of "Add property" dialog <>
22:16:55 *** kane77 has quit IRC
22:17:25 *** bwolfe has joined #openmrs
22:17:25 *** ChanServ sets mode: +o bwolfe
22:33:56 *** Keelhaul has joined #openmrs
22:33:56 *** ChanServ sets mode: +v Keelhaul
23:01:15 *** nribeka has joined #openmrs
23:01:15 *** ChanServ sets mode: +v nribeka
23:02:08 <nribeka> bwolfe, OpenMRS Notes project?
23:04:12 <r0bby> nribeka: yes
23:04:20 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8389]: facility data: remove toString() for now; it caused a … <>
23:04:24 <r0bby> it's a meeting that was going on earlier
23:04:35 <r0bby> blame darius for that
23:06:38 <nribeka> what does it means r0bby?
23:07:22 <r0bby> we were talking about it or they were
23:07:24 <r0bby> i was debugging
23:07:39 <r0bby> *ANOTHER* idea crash
23:07:48 <r0bby> these are JVM crashes :(
23:08:01 *** jmiranda has quit IRC
23:12:01 *** bwolfe changes topic to "Welcome to the OpenMRS Collaborative, building open source medical record systems for developing countries..."
23:13:15 *** bwolfe changes topic to "Welcome to the OpenMRS Collaborative, building an open source medical record system framework..."
23:14:42 <bwolfe> nribeka: hows indonesia ?
23:18:01 <r0bby> I wish IDEA would stop crashing constantly
23:18:11 <r0bby> while it indexes, i can't do much
23:40:40 <nribeka> it's fun
23:40:50 <nribeka> finally i got the chance to meet my family again
23:43:54 <nribeka> how's everything bwolfe?
  • No labels