IRC Chat : 2012-04-13 - OpenMRS

00:19:13 *** finbrein has quit IRC
00:19:22 *** finbrein has joined #openmrs
00:20:53 *** finbrein has joined #openmrs
00:27:25 *** bryq has joined #openmrs
00:27:25 *** ChanServ sets mode: +v bryq
00:45:43 *** maurya has joined #openmrs
00:53:48 *** finbrein has quit IRC
01:02:41 *** bryq has quit IRC
01:05:24 *** downey has joined #openmrs
01:05:24 *** ChanServ sets mode: +o downey
01:05:24 *** OpenMRSBot sets mode: +o downey
01:15:50 *** downey has quit IRC
01:16:15 *** mathiaslin has joined #openmrs
01:34:40 *** harshadura has quit IRC
01:34:53 *** harshadura has joined #openmrs
01:56:36 <maurya> djazayeri: hi
02:19:11 *** maurya has quit IRC
02:27:35 <harshadura> mccallumg, u thr
02:47:35 <mccallumg> I'm here briefly, harshadura
02:49:00 <harshadura> maccallumg, I am hving NPE in my test case, can u review whats wrong with that
02:50:41 <mccallumg> Hi harshadura. I can't do it tonight. I'm just about to go out. catch me tomorrow morning and I'll have a look.
02:51:06 <harshadura> its okay mccallumg, thanks
03:02:14 *** finbrein has joined #openmrs
03:09:05 *** finbrein has quit IRC
03:09:20 *** finbrein has joined #openmrs
03:30:08 *** suranga has joined #openmrs
03:30:08 *** ChanServ sets mode: +v suranga
03:34:03 *** lh has quit IRC
03:51:52 *** mccallumg has quit IRC
03:56:58 *** mathiaslin has quit IRC
04:01:44 *** bwolfe has quit IRC
04:07:56 *** kavuri has joined #openmrs
04:20:44 *** gauravpaliwal has joined #openmrs
04:20:44 *** ChanServ sets mode: +v gauravpaliwal
04:29:33 *** jmiranda has quit IRC
04:30:46 *** pulasthi7 has joined #openmrs
04:33:57 *** suranga has quit IRC
05:18:33 *** gauravpaliwal has left #openmrs
05:51:05 *** pulasthi7 has quit IRC
06:07:37 *** applecool has joined #openmrs
06:20:46 *** maurya has joined #openmrs
06:20:51 *** applecool has quit IRC
06:20:56 <maurya> hi djazayeri
06:21:26 <maurya> wanted to speak to you about the dynamic list html widget
06:25:12 *** bryq has joined #openmrs
06:25:12 *** ChanServ sets mode: +v bryq
06:25:51 *** maurya has quit IRC
06:37:09 *** goutham has joined #openmrs
06:48:13 *** suranga has joined #openmrs
06:48:13 *** ChanServ sets mode: +v suranga
06:54:38 *** dkayiwa has joined #openmrs
07:16:32 *** suranga has quit IRC
07:42:34 *** maurya has joined #openmrs
07:42:40 <maurya> hi djazayeri
07:47:23 *** Fabian__ has joined #openmrs
07:48:27 <Fabian__> Can somebody please tell me how to save details of a jsp form to openmrs? Any references?
07:52:56 *** Fabian__ has quit IRC
07:53:13 *** Fabian__ has joined #openmrs
07:55:19 <Fabian__> How do I save jsp form details to openmrs database? Any references?
08:00:21 <dkayiwa> Fabian__: you can look at other existing openmrs jsp pages and copy from there
08:01:41 <Fabian__> dkayiwa: Do you have a module in mind that I can use as reference?
08:01:49 *** robbyoconnor has joined #openmrs
08:01:49 *** ChanServ sets mode: +v robbyoconnor
08:02:52 <dkayiwa> Fabian__: have you looked at the basic module?
08:03:56 <Fabian__> dkayiwa: I have looked at it but it does not have code that I can use to refer for saving purposes.
08:05:25 <dkayiwa> Fabian__: have you already written the spring controller?
08:06:46 <Fabian__> Yes, I have written the files in the model, service, impl and DAO .
08:07:44 <dkayiwa> Fabian__: did you mention the controller too?
08:09:17 <Fabian__> Yes. I have the controller too. The controller populates the jsp's content, which also has a form whose contents I want to save.
08:09:40 <dkayiwa> finbrein: do the jsp will use the controller to save your data
08:11:33 <Fabian__> dkayiwa: What code do I put in the controller to facilitate this?
08:12:59 <dkayiwa> Fabian__: an example to look at is: org.openmrs.web.controller.visit.VisitFormController
08:13:17 <dkayiwa> Fabian__: look at its saveVisit
08:13:19 <dkayiwa> method
08:14:04 <Fabian__> dkayiwa: Is that part of openmrs core code?
08:14:11 <dkayiwa> Fabian__: yes
08:16:16 *** maurya has quit IRC
08:16:29 <Fabian__> dkayiwa:Thanks. Let me give it a try
08:16:37 <dkayiwa> 8)
08:16:58 *** rafa has joined #openmrs
08:16:58 *** ChanServ sets mode: +v rafa
08:27:06 *** Fabian__ has quit IRC
08:34:12 *** finbrein has quit IRC
08:35:15 *** maurya has joined #openmrs
08:54:41 *** snoppy has joined #openmrs
09:00:10 *** bryq has quit IRC
09:11:43 *** dkayiwa has quit IRC
09:11:43 *** dkayiwa_ has joined #openmrs
09:11:44 *** dkayiwa_ is now known as dkayiwa
09:21:33 <harshadura> hi dkayiwa
09:21:46 <dkayiwa> hey
09:23:11 <harshadura> dkayiwa pls can u review one of my patches. I tried lot, but still gives the NPE problem
09:24:16 <dkayiwa> harshadura: which patch is that?
09:24:22 <harshadura> I think something very small is missing, but I was unable to find it :(
09:24:55 <harshadura> dkayiwa, heres the ticket : https://tickets.openmrs.org/browse/TRUNK-2751
09:25:27 <dkayiwa> harshadura: and where is the patch?
09:25:45 <harshadura> wait dkayiwa, ill giv u nw
09:35:44 <harshadura> dkayiwa, this patch consist with a new java file which include new test case, shall i send u the patch and the new file separately
09:36:43 <dkayiwa> harshadura: let all be in one patch that i can apply and test
09:43:30 <harshadura> dkayiwa, here it is > http://pastebin.com/77XC8jEP
09:47:06 <dkayiwa> harshadura: can you break down that line into parts in order to find out what is null?
09:47:32 <harshadura> okay dkayiwa
09:50:49 <harshadura> dkayiwa : Context.getPersonService().getPerson(10) is null
09:51:35 <dkayiwa> harshadura: so that means no person with that id was saved
09:52:38 <harshadura> yes dkayiwa, but I hv done it in the correct way no ? :(
09:52:47 *** finbrein has joined #openmrs
09:52:51 <dkayiwa> harshadura: remember that personId is assigned by the database
09:53:01 <dkayiwa> harshadura: so you cannot assign it from the client
09:53:34 <dkayiwa> harshadura: so you assuming the the created personId wiil be 10 is NOT correct
09:54:23 <harshadura> Got it dkayiwa, So is thr a way to find out whats the ID it has been saved to the DB?
09:55:55 <dkayiwa> harshadura: will the controller reject invalid birth dates?
09:56:16 <harshadura> yeah it does
09:56:55 <dkayiwa> harshadura: so how about asserting that there are no binding errors?
09:57:22 <dkayiwa> harshadura: or simply asserting that the person count has increased by 1
09:58:59 <harshadura> dkayiwa, I hv tried the binding errors approach too. but it gives a NPE
09:59:30 <harshadura> BeanPropertyBindingResult bindingResult = (BeanPropertyBindingResult) modelAndView.getModel().get(
09:59:30 <harshadura> "org.springframework.validation.BindingResult.people");
09:59:30 <harshadura> Assert.assertTrue(bindingResult.hasFieldErrors());
09:59:48 <harshadura> I did like this dkayiwa, sorry for flooding the IRC
10:00:06 <dkayiwa> harshadura: and which was the NULL variable?
10:01:47 <harshadura> dkayiwa, bindingResult is null
10:04:46 <dkayiwa> harshadura: can you pastebin the unit test class with the error binding alternative?
10:05:00 <harshadura> okay dkayiwa
10:06:43 <harshadura> dkayiwa : http://pastebin.com/TsaXWVsk
10:12:24 <dkayiwa> harshadura: you can use the alternative where the total number of people increases by one
10:13:13 <harshadura> okay dkayiwa, pls finally can u point me to a code sample written like that.
10:17:15 <harshadura> dkayiwa, can u provide me jz some keyword for that :)
10:23:29 <dkayiwa> harshadura: something like
10:23:32 <dkayiwa> harshadura: int previousPersonCount = Context.getPersonService().getPeople("Gayan", false).size();
10:23:55 <dkayiwa> harshadura: and then after calling the controller:
10:23:57 <dkayiwa> harshadura: Assert.assertEquals(previousPersonCount + 1, Context.getPersonService().getPeople("Gayan", false).size());
10:24:30 <harshadura> thanks lot dkayiwa, really helpful info
10:49:59 *** suranga has joined #openmrs
10:49:59 *** ChanServ sets mode: +v suranga
10:52:32 <suranga> hi rafa
10:52:39 <rafa> hi suranga
10:52:52 <suranga> mm.. i was trying out posting Hl7 messages... mm...
10:53:04 <suranga> seem to run into problems
10:53:19 <suranga> I added the Hl7 source AMRS.ELD
10:53:43 <suranga> i tried using both curl and the TEST page... uum... but seem to run into errors
10:53:56 <rafa> can you pastebin them?
10:54:13 <suranga> sure, will do...
10:56:59 <suranga> rafa, http://pastebin.com/k6uS5Hk2 :-(
10:57:42 <rafa> suranga: do you have access to full server logs?
10:58:08 <suranga> rafa, mm.. where can I get them frm ? the command line is not showing anything, im afraid
10:58:32 <rafa> suranga: how do you start your server?
10:59:08 <suranga> mm.. rafa I do the usual mvn jetty:run
10:59:29 <suranga> on the webapp
10:59:45 <rafa> suranga: hmm and no exception in the log...?
11:00:28 <suranga> rafa, just this :
11:00:29 <suranga> MSH|^~\\&|FORMENTRY|AMRS.ELD|HL7LISTENER|AMRS.ELD|20110805104142||ORU^R01|REl7wt78q9Pzlqe9ecJB|P|2.5|1||||||||3^AMRS.ELD.FORMID\rPID|||3^^^^||Patient^John^D||\rPV1||O|1||||1|||||||||||||||||||||||||||||||||||||20110805|||||||V\rORC|RE||||||||20110805104141|1^Super
11:00:30 <suranga> User\rOBR|1|||1238^MEDICAL RECORD
11:00:30 <suranga> OBSERVATIONS^99DCT\rOBX|1|NM|5089^WEIGHT
11:00:30 <suranga> (KG)^99DCT||67.2|||||||||20110805
11:00:35 <suranga> or sorry, i mean, just
11:00:50 <suranga> INFO - LoggingAdvice.invoke(117) |2012-04-13 16:13:31,508| In method HL7Service.saveHL7Source. Arguments: HL7Source=org.openmrs.hl7.HL7Source[8257d693
11:00:51 <suranga> -ea40-40fc-a7b4-b5efe20b09c1],
11:00:51 <suranga> INFO - LoggingAdvice.invoke(142) |2012-04-13 16:13:31,523| Exiting method saveHL7Source
11:01:10 <suranga> I wil try via curl and see ?
11:01:40 <rafa> suranga: hmmm that means the message was saved...
11:02:37 <rafa> suranga: did it end up in the queue?
11:03:17 <suranga> rafa, mm.. not really
11:03:24 <kavuri> Question: does openmrs have the concept of group of hospitals? Or is it expected that one instance is just for one hospital?
11:03:33 <suranga> I retried, the size of the table remans the same..
11:03:46 <kavuri> wyclif: ^^ ?
11:05:54 <rafa> suranga: ahh ok it was hl7source not hl7InQueue
11:06:21 <suranga> rafa I also tried curl, that gives a better error- let me pastie ;-)
11:10:15 <suranga> rafa, a much better error using curl :- http://pastebin.com/08VPML6p
11:11:54 <rafa> suranga: which version of OpenMRS are you running?
11:12:22 <suranga> rafa almost the head, I belive... :-)
11:12:34 <suranga> maybe 3-4 days behind the head
11:13:23 <rafa> suranga: okay, let met test
11:13:37 <suranga> rafa :-)
11:13:53 <suranga> rafa, im also looking at my curl commands now ..
11:17:01 <suranga> rafa, I think there was also an error in me using "Content-Type: application/json". I switched to text/xml
11:17:14 <suranga> rafa, mm.. which seems to give a prettier exception :p
11:18:32 <rafa> suranga: that is?
11:19:46 <suranga> rafa, http://pastebin.com/vkH0r4St :-(
11:20:17 *** maro has joined #openmrs
11:22:22 <rafa> suranga: can you try with text/plain?
11:23:33 *** finbrein has quit IRC
11:23:39 <suranga> rafa mm... "message":"Content type 'text/plain' not supported"
11:23:58 <suranga> were u able to recreate this issue ? :-(
11:24:18 <rafa> suranga: yes, I see the same problem
11:24:26 <rafa> suranga: not sure what is the cause yet
11:24:59 <suranga> rafa, when using curl, do u include the post in the body of the command itself ?
11:25:15 <suranga> or do u use a external file like me ?
11:25:32 <suranga> rafa, but the funy thig is, it works with json
11:25:47 <suranga> if i give a link to JSON, things are just fine
11:27:20 <suranga> rafa, curl -i -u admin:Password1 -X POST -H "Content-Type: application/json" --data @test.json http://localhost:8080/openmrs/ws/rest/v1/hl7 works
11:27:38 <suranga> if the test.json contains : {"source":"LOCAL","sourceKey":"test","data":"MSH|^~\\&|FORMENTRY|AMRS|HL7LISTENER|AMRS|20060809121931||ORU^R01|formentry-20060809121931|P|2.5|1||||||||2^AMRS-ELDORET^http://schema.openmrs.org/2006/FormEntry/formId^URI\rPID|||123^^^^||jeff^marc^price||20011114|M|||20371^02^2400^724||||||724^Y||||||02|||11|20371|724^ESPA?A^N||N\rPV1||O|1^Unknown||||2^Ima Doc (2-6)|||||||||||||||||||||||||||||||||||||20060807|||||||V\rORC|RE|||||
11:27:39 <suranga> |||20060807161605|1^Super User\rOBR|1|||1238^MEDICAL RECORD OBSERVATIONS^99DCT\rOBX|1|NM|5089^WEIGHT (KG)^99DCT||70|||||||||20060807"}
11:28:11 *** maro has quit IRC
11:28:17 <rafa> it should also work for { "hl7" : "MSH|^~\\&|FORMENTRY|AMRS|HL7LISTENER|AMRS|20060809121931||ORU^R01|formentry-20060809121931|P|2.5|1||||||||2^AMRS-ELDORET^http://schema.openmrs.org/2006/FormEntry/formId^URI\rPID|||123^^^^||jeff^marc^price||20011114|M|||20371^02^2400^724||||||724^Y||||||02|||11|20371|724^ESPA?A^N||N\rPV1||O|1^Unknown||||2^Ima Doc (2-6)|||||||||||||||||||||||||||||||||||||20060807|||||||V\rORC|RE|||||
11:28:17 <rafa> ~-+96772704+-~8[13:26] suranga: |||20060807161605|1^Super User\rOBR|1|||1238^MEDICAL RECORD OBSERVATIONS^99DCT\rOBX|1|NM|5089^WEIGHT (KG)^99DCT||70|||||||||20060807"}
11:28:23 *** finbrein has joined #openmrs
11:28:50 <rafa> but we want it to work for plain text
11:32:47 <suranga> rafa, /me is going to download the REST module source code from SVN :P
11:33:17 *** kavuri has quit IRC
11:38:19 <rafa> suranga: actually what version of the module are you using?
11:38:47 <suranga> rafa, mm... the latest from the module repo...
11:38:53 <rafa> suranga: I've just figured that I've got some old version from the repo
11:38:54 <rafa> 0.8.21639
11:39:29 <suranga> rafa, :-) this makes me a happy man, because this means u have already solved the bug :-)
11:39:54 <rafa> suranga: haha
11:41:50 <suranga> rafa, u r right, I have webservices.rest-0.8.21639.omod
11:42:00 <rafa> suranga: I don't know why we've got so ancient version in the module repo :/
11:42:22 *** harshadura has quit IRC
11:42:31 <suranga> rafa, mm.. so I assume you have not erased the more recent code by mistake ? :P
11:43:17 <suranga> rafa, have u commited these changes to Svn ? :-)
11:43:36 <rafa> suranga: yes, all is in svn
11:59:14 <suranga> rafa,mm... hi
11:59:29 <rafa> suranga: hi
11:59:34 <suranga> rafa, um... i seem to be getting errors from the svn code as well....
11:59:43 <suranga> rafa, have u tried it out ?
11:59:54 <rafa> yes, I have
11:59:56 <rafa> it worked
12:03:58 <suranga> rafa, mm... let me try again...
12:06:28 *** bwolfe has joined #openmrs
12:06:28 *** ChanServ sets mode: +o bwolfe
12:10:28 <suranga> mm.. rafa .. I seem to be getting a {"error":{"message":"Unable to convert object into response content","code":"org.openmrs.module.webservices.rest.web.v1_0.controller.HL7MessageControl
12:10:28 <suranga> ler:75","detail":"java.lang.NullPointerException\r\n\tat org.openmrs.module.webservices.rest.web.v1_0.controller.HL
12:10:36 <suranga> when trying for json objects
12:11:21 *** james_regen has joined #openmrs
12:11:21 *** ChanServ sets mode: +v james_regen
12:11:40 <rafa> how does your curl look like?
12:11:46 *** wyclif has quit IRC
12:14:48 <suranga> rafa, give me 5 minutues, i may be able to hack this :-)
12:17:12 <bwolfe> suranga, one of the subobjects might not be convertable. you might need to add a Converter class for it
12:17:50 <suranga> bwolfe, I am getting ConversionException: The HL7 message is too short or has a wrong format: \r\n\tat o
12:18:04 <suranga> maybe my Hl7 message is wrong, d'you think ?
12:18:29 <rafa> suranga: I used the very same message :)
12:18:30 <bwolfe> strange
12:18:41 <bwolfe> what is throwing that ?
12:19:10 <rafa> bwolfe: HL7MessageController
12:19:21 <suranga> bwolfe, I have this Hl7 message in the POST body, but maybe I have formatted it wrong
12:19:35 <suranga> rafa, do u use \r\n breaks ? :-)
12:20:25 <rafa> suranga: it shouldn't matter
12:20:45 <rafa> suranga: did you try with openmrs/module/webservices/rest/test.htm?
12:20:48 <bwolfe> dkayiwa, rafa, I like your dueling responses on the mailing list. :-)
12:21:24 <dkayiwa> bwolfe: d:)
12:21:26 <rafa> bwolfe: haha same thinking :D
12:21:36 <rafa> our mailing list is too lazy :P
12:21:55 <dkayiwa> rafa: i guessed so :)
12:22:47 <suranga> rafa, mm.. the TEST page continues to give me errors... so I had kinds given up :p
12:23:26 <suranga> m.. does anyone see anything wrong in this ?
12:23:28 <suranga> MSH|^~\\&|FORMENTRY|AMRS|HL7LISTENER|AMRS|20060809121931||ORU^R01|formentry-20060809121931|P|2.5|1||||||||2^AMRS-ELDORET^http://schema.openmrs.org/2006/FormEntry/formId^URI\rPID|||123^^^^||jeff^marc^price||20011114|M|||20371^02^2400^724||||||724^Y||||||02|||11|20371|724^ESPA?A^N||N\rPV1||O|1^Unknown||||2^Ima Doc (2-6)|||||||||||||||||||||||||||||||||||||20060807|||||||V\rORC|RE||||||||20060807161605|1^Super User\rOBR|1|||1238^MEDICAL RECORD OBSERVATIONS^
12:23:28 <suranga> 99DCT\rOBX|1|NM|5089^WEIGHT (KG)^99DCT||70|||||||||20060807
12:26:30 <rafa> suranga: now you're using AMRS source
12:26:46 <suranga> rafa, oooh :P
12:26:47 <rafa> suranga: previously AMRS.ELD
12:28:40 <suranga> rafa, it works now !
12:28:58 <suranga> rafa, thanks a lot, that was a major help !
12:29:48 <rafa> suranga: np
12:39:57 *** nribeka has joined #openmrs
12:39:57 *** ChanServ sets mode: +v nribeka
12:40:46 <suranga> nribeka, why ur country always have earthquakes ? when ur ppl have earthquakes, we get tsunami warnings :-)
12:44:30 <nribeka> suranga boy :D
12:45:07 <nribeka> i have to blame mother earth for that one. nothing we can do :P
12:46:00 <suranga> nribeka, :D
12:46:11 <suranga> everyone, i think u will have an easier time on IRC today.
12:46:27 <suranga> today is Sinhaleese new year, so all sri lankans off celebrating :P
12:46:41 *** maurya has joined #openmrs
12:46:45 <suranga> (hence noone to ask questions on IRC - other than me :P)
12:47:03 *** Echidna has quit IRC
12:48:39 <nribeka> have fun suranga
12:49:24 *** maurya has quit IRC
12:49:52 *** mathiaslin has joined #openmrs
12:50:06 <suranga> ah, im not really celebrating nribeka ... :P
12:52:49 *** wyclif has joined #openmrs
12:53:47 *** Echidna has joined #openmrs
12:53:47 *** ChanServ sets mode: +v Echidna
12:54:05 *** wyclif has joined #openmrs
13:00:24 *** jmiranda has joined #openmrs
13:04:36 *** goutham has quit IRC
13:10:14 *** reader has joined #openmrs
13:10:23 *** harshadura has joined #openmrs
13:11:46 *** reader has quit IRC
13:13:41 *** maro has joined #openmrs
13:13:50 *** mailerd has joined #openmrs
13:15:43 *** maro has quit IRC
13:16:19 *** applecool has joined #openmrs
13:16:39 *** reader has joined #openmrs
13:17:09 *** downey has joined #openmrs
13:17:09 *** ChanServ sets mode: +o downey
13:17:09 *** OpenMRSBot sets mode: +o downey
13:17:14 <reader> Hi all
13:17:56 *** mailerd has quit IRC
13:19:14 <bwolfe> hi reader
13:20:04 <reader> <@bwolfe> hw has ur day been?
13:20:18 <bwolfe> fine so far. only a few hours into it. :-)
13:20:50 <reader> are u a newbie or pro
13:21:28 <reader> <@bwolfe> av just joined here. so hw is it
13:22:31 *** applecool has quit IRC
13:22:44 <bwolfe> I am more towards the pro side
13:23:21 <reader> <@bwolfe> do u av any guide for me?
13:23:48 *** maurya has joined #openmrs
13:24:21 *** maurya has quit IRC
13:24:35 <bwolfe> reader, depends what you want to do. :-)
13:25:31 *** applecool has joined #openmrs
13:26:15 <applecool> hi rafa
13:26:47 <applecool> i have updated the proposal with the timeline
13:27:00 <applecool> did you get a chance to look at it
13:29:36 *** reader has quit IRC
13:29:56 *** sgithens has joined #openmrs
13:30:52 *** maurya has joined #openmrs
13:30:59 <maurya> hi sgithens
13:32:28 <maurya> u there sgithens
13:32:35 <sgithens> maurya: Hello!
13:32:54 <maurya> did you get a chance to go through the proposal
13:32:58 <sgithens> Just finished looking over the updates.
13:33:18 <maurya> ok
13:33:18 *** reader has joined #openmrs
13:33:20 <maurya> the submission is some what confusing
13:33:25 <downey> Hi reader and welcome to the #openmrs IRC channel.
13:33:48 <reader> bwolfe: I would like to contribute to OpenMRS
13:34:14 <applecool> rafa: u there
13:34:16 <reader> downey: thx
13:34:21 <bwolfe> reader, cool! as a programmer?
13:34:37 <reader> yes, but a beginner
13:36:30 <sgithens> Looking good. That's fine, we can work out those impl details. Can you maybe add some details under the testing section and documenation section?
13:36:36 <sgithens> maurya ^^
13:37:08 <maurya> sure like writing the junit test cases
13:37:30 <maurya> and documentation as too how to use the tag
13:37:52 <maurya> sgithens: i was even thinking if there are two concepts
13:37:58 <maurya> i mean a complex kind of condition
13:38:07 <maurya> like mentioned in HTML-50
13:38:23 <sgithens> maurya: Yeah, just what you would expect to be included in the final documenation at the end of the project
13:38:38 <maurya> in a template one formedication and the other for dosage , both should occur as a group
13:38:39 <sgithens> whether it's code samples, or a tutorial of using the tags
13:38:40 <sgithens> etc
13:39:00 <maurya> should i include that in timeline
13:39:21 <sgithens> maurya: interesting
13:39:42 <sgithens> yeah, put this stuff in
13:39:51 <maurya> sure
13:39:55 <maurya> would do that now
13:40:09 <sgithens> awesome!
13:41:01 <bwolfe> reader: have you seen "getting started as a developer" ? https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer
13:41:02 <OpenMRSBot> <http://ln-s.net/8bkO> (at wiki.openmrs.org)
13:41:05 <bwolfe> !gettingstarted
13:41:06 <OpenMRSBot> bwolfe: "gettingstarted" --- https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer
13:41:10 <bwolfe> ooo, it is there
13:41:19 *** chopin has joined #openmrs
13:41:33 *** ChanServ sets mode: +v chopin
13:41:50 <chopin> dkayiwa, hey man ... how do i specify which port to use in a standalone for mysql?
13:42:15 *** mseaton has joined #openmrs
13:42:15 *** ChanServ sets mode: +v mseaton
13:42:27 <suranga> bwolfe, in regard to Trunk 2030. I seen the mistake as soon as I done it, and updated the comment.. but still, mistake is mistake i guess :P
13:42:31 <dkayiwa> chopin: in the runtime properties file under the standalone folder
13:42:50 <chopin> dkayiwa, when i specify it in the connection url, it changes
13:43:04 <chopin> dkayiwa, i set it to 3316 and when openmrs-standalone runs, it changes to 3317
13:43:23 <chopin> dkayiwa, is there a environment variable or command line parameter to use so i can force it to be on a given port?
13:44:15 <dkayiwa> chopin: which version of the standalone are you using?
13:44:20 <chopin> 1
13:44:23 <chopin> ehe
13:44:25 <chopin> 1.8.2
13:44:32 <dkayiwa> chopin: that has a bug
13:44:45 <dkayiwa> chopin: use the one for 1.9RC2 or RC3
13:44:50 *** MarkG has joined #openmrs
13:45:27 <chopin> dkayiwa, for some reason that one always wants to install i think ... i'll try again though. strange, it was working very well for a while now.
13:45:38 <dkayiwa> chopin: just copy over the openmrs-standalone.jar file from that of 1.9 RC3 into the 1.8.2 standalone folder
13:46:08 <chopin> dkayiwa, okay ... does the jar file have to be custom or can it just be a downloaded openmrs.war of the official 1.8.2 release?
13:46:27 <chopin> dkayiwa, i want to work within the same environment as AMPATH :-/
13:46:44 <chopin> ohhh wait, jar != war
13:46:45 <dkayiwa> chopin: the standalone is independent of the openmrs version
13:46:45 <chopin> got it
13:46:48 <chopin> hahahahahaha
13:47:01 <chopin> okay, i'll get the latest openmrs-standalone
13:47:23 *** applecool_ has joined #openmrs
13:47:41 <dkayiwa> chopin: the standalone which was shipped with 1.8.2 has a bug of not using the mysql port in the runtime properties file
13:48:37 <chopin> ohh
13:56:00 <bwolfe> fail
13:56:17 <bwolfe> luckily 1.8.3 is available for a low-cost upgrade of $14.95 !
13:56:44 <bwolfe> suranga, no worries. first time mistake ;-)
13:56:59 <bwolfe> reader, what brought you to us?
13:57:05 <nribeka> mseaton, more question for you today
13:57:17 <mseaton> nribeka: what's up?
13:57:47 <chopin> dkayiwa, can we someday change the log names in openmrs-standalone to be yyyy-mm-dd instead of dd-mm-yyyy?
13:57:56 *** reader has quit IRC
13:58:43 <dkayiwa> chopin: that is already fixed :)
13:58:50 <chopin> it is?
13:58:54 <dkayiwa> chopin: atlease in all the 1.9 standalones
13:58:57 <chopin> in 1.9?
13:58:57 <chopin> hrm
13:59:11 <chopin> uhhh
13:59:14 <chopin> doesn't seem like it
13:59:17 <chopin> heheh
13:59:23 <dkayiwa> chopin: are you sure????
13:59:24 <chopin> something funky must be happening
13:59:31 <chopin> lemme see ...
13:59:34 <dkayiwa> chopin: can you delete the log folder
13:59:48 <dkayiwa> then see what file name will be created chopin
14:00:00 <chopin> ok one sec
14:00:11 <nribeka> so mseaton i have another need here that i don't know which path to go.
14:00:11 <nribeka> in ampath we try to match the lab request obs (in encounter form) and the actual lab obs (coming from the lab system).
14:00:11 <nribeka> if the lab request and lab result match (max 1 day apart), then we don't say anything.
14:00:11 <nribeka> if lab request is sent but no lab result coming, we say lab pending.
14:00:11 <nribeka> if lab result is coming but no lab request, we say no order
14:00:20 <chopin> i think i need to make sure i don't have another openmrs-standalone.jar on my path somewhere
14:00:39 <chopin> ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
14:00:54 <chopin> dkayiwa, run-on-linux.sh --> standalone-1.1.jar
14:01:38 <dkayiwa> chopin: is that in 1.9 standalones?
14:01:49 <chopin> i copied over the jar file like you said
14:01:50 <chopin> :-D
14:01:52 <dkayiwa> chopin: i remember having fixed that
14:02:01 <mseaton> nribeka, ok
14:02:02 <nribeka> mseaton, i was thinking to use the formatter to do the checking, but i'm not sure how efficient it would be
14:02:04 <dkayiwa> chopin: oh i seeeeee
14:02:05 <dkayiwa> :)
14:02:13 <dkayiwa> chopin: so you need to change it
14:02:18 <dkayiwa> chopin: nice catch :)
14:02:50 <mseaton> nribeka, sounds more like a custom data definition
14:02:59 <nribeka> i can see this will be some sort of custom dataset? is there any example in the reporting to create custom dataset that is not returning obs, encounter?
14:03:02 <nribeka> yeah mseaton
14:03:23 <mseaton> custom data set? or custom data?
14:04:25 <nribeka> custom dataset maybe? because i need the obs value, obs datetime, obs status (pending, no order)
14:04:44 *** snoppy has quit IRC
14:05:25 <dkayiwa> hi bwolfe
14:05:31 <bwolfe> hi dkayiwa
14:05:34 <nribeka> maurya, the he-man apps looks pretty cool
14:05:36 <dkayiwa> bwolfe: do you have any ideas for REPORT-287 :)
14:05:43 <dkayiwa> !ticket REPORT-287
14:05:44 <OpenMRSBot> dkayiwa: [#REPORT-287] Location hierarchy, tree widget, should be used by the Reporting Module - OpenMRS JIRA - https://tickets.openmrs.org/browse/REPORT-287
14:05:56 <mseaton> nribeka, sounds maybe like 2 independent needs maybe:
14:06:15 *** chopin has quit IRC
14:06:18 <wyclif> no scrum? bwolfe djazayeri, rafa, dkayiwa
14:06:24 <maurya> thanks nribeka
14:06:34 <dkayiwa> wyclif: no Dawn :)
14:06:35 <djazayeri> Scrum is supposed to be now, right?
14:06:44 <bwolfe> dawn is in another meeting. I was waiting for mseaton/nribeka to finish before starting the scrum...
14:06:45 <rafa> hi
14:06:53 <djazayeri> !scrumon bwolfe
14:06:53 * OpenMRSBot says the DAILY SCRUM MEETING is STARTING. This meeting should not last longer than 15 minutes. Please hold other comments until the end of the meeting, or message someone privately. Thank you! ScrumMaster bwolfe- you may begin when ready.
14:07:10 *** sgithens has quit IRC
14:07:26 <nribeka> ugh scrum started. we can talk after scrum mseaton
14:07:34 <mseaton> saved by the bell
14:07:35 <bwolfe> today's order: djazayeri, rafa, wyclif, dkayiwa, mseaton, nribeka, bwolfe
14:07:44 <wyclif> finally am not first
14:07:49 <djazayeri> Thursday 12-Apr-2012
14:07:49 <djazayeri> * Dev call
14:07:49 <djazayeri> * Call with jembi about hl7 input/output
14:07:49 <djazayeri> * Leadership call
14:07:49 <djazayeri> * Meet with Bill and Jan from ITECH
14:07:49 <djazayeri> * Reviewed GSoC apps
14:07:50 <djazayeri> Friday 13-Apr-2012
14:07:50 <djazayeri> * More work on REPORT-330 (First pass at Data Export replacement in the reporting framework)
14:07:59 <djazayeri> (I really have to work on that one)
14:08:01 <djazayeri> no blockers
14:08:14 <rafa> Today:
14:08:15 <rafa> * Working on REPORT-223: Run Report page does not properly handle Collection parameters
14:08:15 <rafa> https://tickets.openmrs.org/browse/REPORT-223
14:08:15 <rafa> No blockers.
14:08:38 <wyclif> Thursday:
14:08:38 <wyclif> * dev call
14:08:38 <wyclif> * Added type attribute to encounterLocation tag and documented it
14:08:38 <wyclif> * TRUNK-1868 - Force password change page help text should reflect security global properties
14:08:38 <wyclif> * Investigated TRUNK-3149 on 1.6.5 and couldn't reproduce it - Changing concept names with the ui doesn't save
14:08:40 <wyclif> Friday:
14:08:41 *** applecool_ has quit IRC
14:08:42 <wyclif> * TRUNK-1955 - Relationships lost when creating a new patient and results not refreshed
14:08:44 <wyclif> * RCM-15 - Include Patient Attributes when doing a data export
14:08:46 <wyclif> * pick another sprint ticket
14:08:48 <wyclif> Blockers: None
14:08:49 *** chopin__ has joined #openmrs
14:09:06 *** chopin has joined #openmrs
14:09:36 <bwolfe> wyclif, for after: share your query with me so I can update the bug fixing dashboard
14:09:46 <bwolfe> dkayiwa, you're up
14:09:49 <dkayiwa> IRC
14:09:49 <dkayiwa> Blocked on and then unassigned myself: Location hierarchy, tree widget, should be used by the Reporting Module - REPORT-287
14:09:49 <dkayiwa> Blocked with a question on: Spaces or underscores in any of the "Searches to Combine" CohortDefinition keys breaks Composition String in CompositionQuery - REPORT-247
14:09:49 <dkayiwa> Not yet got a reporting module ticket small enough to finish quickly since sprint is about to end
14:10:15 <djazayeri> wyclif: also, one of your todos today is to send an email summarizing your bug-fixing work this week
14:10:19 <mseaton> dkayiwa: we can discuss at end. i have a few tickets for you.
14:10:30 <dkayiwa> mseaton: ok
14:10:46 <wyclif> djazayeri, ok
14:11:00 <mseaton> Thursday 12-Apr-2012
14:11:00 <mseaton> * Openmrs Developers call
14:11:00 <mseaton> * Openmrs Leadership call
14:11:00 <mseaton> * Malawi EMR Presentation / Discussion
14:11:00 <mseaton> * Completed tickets:
14:11:00 <mseaton> !TICKET REPORT-360
14:11:00 <mseaton> !TICKET REPORT-361
14:11:01 <OpenMRSBot> mseaton: [#REPORT-360] One the "custom report" page, if a data set is added with a key that contains spaces, you will not be able to edit or remove this key - OpenMRS JIRA - https://tickets.openmrs.org/browse/REPORT-360
14:11:01 <mseaton> * Planning of Rwanda work with Lara (mainly reporting and oncology)
14:11:01 <mseaton> * Design for report tagging for REPORT-49
14:11:02 <OpenMRSBot> mseaton: [#REPORT-361] Long description on the report editor page does not wrap appropriately - OpenMRS JIRA - https://tickets.openmrs.org/browse/REPORT-361
14:11:02 <mseaton> !TICKET REPORT-49
14:11:02 <mseaton> * Review, planning, support for Reporting Sprint
14:11:03 <mseaton> Friday 13-Apr-2012
14:11:03 <mseaton> * Design / UI Review for Provider-mgmt Dashboard
14:11:04 <OpenMRSBot> mseaton: [#REPORT-49] Add a mechanism for tagging / categorizing reports and other reporting elements - OpenMRS JIRA - https://tickets.openmrs.org/browse/REPORT-49
14:11:04 <mseaton> * Reporting Sprint development, review, support, including tagging
14:11:04 <mseaton> * Starting Oncology regimen design
14:11:05 <mseaton> Blockers:
14:11:05 <mseaton> * None
14:11:11 <nribeka> thursday:
14:11:11 <nribeka> - ampath call
14:11:11 <nribeka> - dev call
14:11:11 <nribeka> - creating encounter provider, date created, created by data definition and evaluator
14:11:11 <nribeka> - continuing my work to create summary sheet using reporting
14:11:12 <nribeka> today:
14:11:14 <nribeka> - discussing and creating custom data (or custom dataset) i mention earlier in irc
14:11:16 <nribeka> - continuing my work to create summary sheet using reporting
14:11:18 <nribeka> blocker: none
14:11:20 <nribeka> discussion: creating custom data (or custom dataset) i mention earlier in irc
14:11:40 <nribeka> brb (getting coffee) :)
14:12:43 <bwolfe> today:
14:12:44 <bwolfe> slogged through rest of email and commented/reviewed a bunch of happenings
14:12:44 <bwolfe> applied TRUNK-2498, validate email address
14:12:44 <bwolfe> applied TRUNK-2616, validate name regex in api
14:12:44 <bwolfe> yesterday:
14:12:45 <bwolfe> emails
14:12:47 <bwolfe> reviewed a bunch of tickets (which I should link to)
14:12:49 <bwolfe> commented on more tickets (which I don't really need to link to)
14:12:49 *** suranga has quit IRC
14:12:51 <bwolfe> triaged 2 tickets (which I should link to)
14:12:53 <bwolfe> dev call
14:12:55 <bwolfe> call with jembi about hl7 input/output
14:12:57 <bwolfe> leadership call
14:12:59 <bwolfe> reviewed gsoc projects
14:13:04 <bwolfe> no blockers.
14:13:15 <bwolfe> discussion point: mseaton: status of sprint?
14:13:25 <bwolfe> discussion point: mseaton: have a ticket for me to do?
14:13:53 <bwolfe> anyone I miss? I don't see sgithens or mvrobey
14:14:12 <bwolfe> !scrumoff
14:14:12 * OpenMRSBot says the DAILY SCRUM MEETING has ENDED. This channel is now returned to normal hacking operations. Post-scrum meeting follow-up conversations may now begin.
14:14:29 <bwolfe> discussion time:
14:14:36 <bwolfe> wyclif, send the query or link to me via email
14:15:09 <bwolfe> dkayiwa, how long have you been blocked on REPORT-287 ? did mseaton's suggestion not work?
14:15:15 <wyclif> bwolfe, http://pastebin.com/B3kVqwGV
14:15:15 <mseaton> bwolfe: depends on how much time you have. i'd love if you would take on REPORT-352. it deals with threading, etc. so i'd want someone with experience with this doing it.
14:15:34 <dkayiwa> bwolfe: it did not work
14:15:37 <djazayeri> !report-352
14:15:37 <OpenMRSBot> djazayeri: Error: "report-352" is not a valid command.
14:15:41 <djazayeri> !ticket report-352
14:15:42 <OpenMRSBot> djazayeri: [#REPORT-352] Provide ability to stop reports during the course of an execution - OpenMRS JIRA - https://tickets.openmrs.org/browse/report-352
14:16:03 <djazayeri> !ticket report-287
14:16:04 <OpenMRSBot> djazayeri: [#REPORT-287] Location hierarchy, tree widget, should be used by the Reporting Module - OpenMRS JIRA - https://tickets.openmrs.org/browse/report-287
14:16:11 <dkayiwa> bwolfe: the fieldgen needs things like pagecontext, etc which i do not have access to
14:16:37 <wyclif> that ticket would require running each report in a separate thread though the threads should be waiting on each other in a queue
14:16:57 <wyclif> for REPORT-352
14:17:34 *** bryq has joined #openmrs
14:17:34 *** ChanServ sets mode: +v bryq
14:17:50 <mseaton> REPORT-335 is just a new UI layout for the run report page that would pull in additional data to the view. it should be easy/straightforward.
14:17:52 <mseaton> !REPORT-335
14:17:53 <OpenMRSBot> mseaton: Error: "REPORT-335" is not a valid command.
14:17:58 <mseaton> !ticket REPORT-335
14:17:59 <OpenMRSBot> mseaton: [#REPORT-335] Update the "Run Report" page to include information about previous and current evaluations of the report - OpenMRS JIRA - https://tickets.openmrs.org/browse/REPORT-335
14:18:06 <djazayeri> dkayiwa: if you tried something on REPORT-287 and it didn't work, please comment on the ticket saying so, so the next person is saved from re-trying the same thing.
14:18:22 <dkayiwa> djazayeri: sure. doing so now :)
14:18:35 <djazayeri> dkayiwa: what is the complete list of things that need to be passed to fieldgen/tag
14:18:37 <djazayeri> ?
14:19:50 <mseaton> when you access htmlwidgets via the tag library (eg. the widgettag, it puts the current HttpServletRequest into the WidgetConfig for use by any of the widgets as needed)
14:20:16 <dkayiwa> djazayeri: one of them is PageContext
14:21:10 <djazayeri> mseaton: so presumably dkayiwa could modify the htmlwidgets code to also pass the pageContext?
14:21:10 <dkayiwa> djazayeri: and i think it gets PageContext from the base class TagSupport ?
14:21:27 <mseaton> i suppose we could put the page context into the WidgetConfig as well, instead. right now we are just taking the request off of the page context and putting it in the widget config. we could just pass the pagecontext in fully instead. i'm not sure why i didn't do that originally - there might or might not have been a good reason
14:21:49 <mseaton> https://svn.openmrs.org/openmrs-modules/htmlwidgets/web/src/org/openmrs/module/htmlwidgets/web/taglib/WidgetTag.java
14:21:59 <djazayeri> mseaton: probably you didn't want to force the widgets to only be runnable from jsp pages
14:22:20 <mseaton> djazayeri: this was likely my intent, but in practice unnecessary
14:22:51 <mseaton> i think i envisoned these being used by htmlforms, etc. and didn't want to place undue restrictiosn on this
14:23:21 *** maurya has quit IRC
14:23:32 <djazayeri> dkayiwa: so, does this seem like a solution?
14:23:57 <dkayiwa> djazayeri: let me try it now and get back to you in a few minutes :)
14:24:03 <mseaton> bwolfe, dkayiwa: any of the remaining tickets should be straightforward (one is being done by win, he needs to claim it)
14:24:32 <mseaton> dkayiwa: if you are looking for a v. quick ticket, you can take REPORT-46
14:24:36 <mseaton> !ticket REPORT-46
14:24:39 <OpenMRSBot> mseaton: [#REPORT-46] Reporting module: Increase readability of default render for Period Indicator Reports - OpenMRS JIRA - https://tickets.openmrs.org/browse/REPORT-46
14:24:49 <mseaton> it basically just says "put a border on a table"
14:25:01 *** applecool has quit IRC
14:25:16 <dkayiwa> mseaton: thanks! Let me give REPORT-287 another shot using what has been discussed :)
14:25:50 <mseaton> REPORT-338 and REPORT-335 are both just UI work, and should not require anything but jsp, javascript, and calling existing services to put some more data into the model for use
14:25:55 <bwolfe> dkayiwa's other discussion point: Blocked with a question on: Spaces or underscores in any of the "Searches to Combine" CohortDefinition keys breaks Composition String in CompositionQuery - REPORT-247
14:26:09 <dkayiwa> bwolfe: yes
14:26:18 <mseaton> djazayeri: any thoughts?
14:26:22 <mseaton> i don't have a strong preference
14:26:33 <djazayeri> commenting on ticket, but basically the easy way would be to just disallow spaces
14:26:36 <mseaton> my main preference would be not to require any delimiters
14:26:56 <mseaton> djazayeri: the thing is, you have to declare all of the keys in the actual composition cohort definition.
14:26:58 <djazayeri> but obviously the code could be rewritten to look for known tokens explicitly
14:27:03 <mseaton> so you know the full keys available.
14:27:13 <mseaton> we should be able to allow anything
14:27:32 <djazayeri> I said: the _easiest_ fix is to disallow spaces. :-)
14:27:37 <mseaton> and have the _first_ thing that is done, rename the known keys in the expression if needed
14:27:46 <mseaton> to ease parsing
14:27:48 <djazayeri> I haven't looked at the code, but presumably you could just do a first pass and find those tokens, yes
14:27:49 <mseaton> or whatever
14:28:06 <mseaton> dkayiwa, do you follow?
14:28:12 <dkayiwa> mseaton: yes
14:29:43 *** chopin has quit IRC
14:29:43 *** chopin__ has quit IRC
14:29:54 <bwolfe> mseaton, is the sprint on track to finish?
14:29:56 <mseaton> so my feeling is that if you know there is a named search called "male patients", then you should be able to change the parsing of the expression such that if it finds "male patients" it can handle it, rather than thinking of it as 2 differnet tokens
14:30:17 <mseaton> bwolfe: well, depends on what you take on today and what i secretly move out of the sprint
14:30:38 <mseaton> we will finish what we finish
14:30:54 <djazayeri> mseaton, dkayiwa: are we sure that underscores also break things?
14:31:04 <mseaton> unless we get the tagging done though, we will not be in a position to finish everything and release
14:31:15 <dkayiwa> djazayeri: i have failed to reproduce breaking with underscores
14:31:39 <bwolfe> mseaton, ok. what is the output of the sprint? a release? or just some completed tickets?
14:31:45 <mseaton> i don't see why underscores would break anything. i haven't reproduced it
14:31:55 <bwolfe> who is working on tagging?
14:32:05 <mseaton> bwolfe: i was hoping for a release. realistically, this won't happen immediately.
14:32:54 <mseaton> bwolfe: wyclif initially did the tagging. i pulled it since i decided to re-design it mid-sprint (boo me). you've seen the dev list emails. i have it currently assigned to me. you're welcome to it if you want
14:33:27 <bwolfe> I don't want in the middle of that. whatever is written will not be approved by grand master burke. ;-)
14:33:49 <mseaton> well, this is why i'm not putting tagging in core :)
14:34:00 <mseaton> you guys can write gmail if you want
14:34:01 <bwolfe> I have less strict ideas about tagging, more along the lines of what you've suggested
14:34:04 <mseaton> i just want categories
14:34:07 <bwolfe> heh
14:35:26 <mseaton> nice one picking up REPORT-352 bwolfe!
14:35:55 <bwolfe> theres middle ground there. I don't think it should be loosey-goosey like blog tagging, but it doesn't have to be 3 api calls to add a tag (like burke fears)
14:36:26 <mseaton> bwolfe: totally agree.
14:36:32 <bwolfe> mseaton, yeah, we'll see about REPORT-352. FYI: I've never said I'm an expert in threads and I don't want really want to be come the resident one...
14:36:56 <djazayeri> we could always have an addTag(object, tag) that creates the tag if it doesn't exist yet. That doesn't need to be exposed in the UI if you don't want.
14:38:17 <mseaton> as long as tag = Tag, not String
14:38:39 <djazayeri> what were the remaining points of disagreement from the email thread?
14:40:38 <bwolfe> mseaton, why not both? If just a String do a lookup on it first to see if it exists
14:41:12 <nribeka> !ticket REPORT-352
14:41:15 <OpenMRSBot> nribeka: [#REPORT-352] Provide ability to stop reports during the course of an execution - OpenMRS JIRA - https://tickets.openmrs.org/browse/REPORT-352
14:42:20 <djazayeri> bwolfe: my concern is that if we're allowing creating via a String, especially someplace like the reporting module where there are lots of consumers of the API, that we be very explicit about locale
14:42:37 <mseaton> bwolfe: i really like the idea. i just want to make sure we know how to create a tag given only a string
14:43:08 <bwolfe> mseaton, are you referring to the (eventual) merging of Lu's metadata localization?
14:43:09 <mseaton> yes, if we pass the locale too (or have well-defined default behavior), that could work
14:43:15 <mseaton> bwolfe: yes
14:43:42 <bwolfe> do tags need localized?
14:44:02 <mseaton> i've laid out my case in the dev list threads.
14:44:13 <mseaton> i need a way to be able to have categorized reports
14:44:19 <mseaton> i need to display those categories in the ui
14:44:35 <mseaton> i need users in english, french, and kreyol to understand these
14:44:54 <mseaton> this doesn't have to be via tags if this is too controversial
14:44:59 <mseaton> but i need _some_ mechanism
14:45:30 <mseaton> in a fully multi-lingual system, i think it is odd to think of tags as being "dataQuality" or something
14:45:35 <mseaton> and displaying this to the end user
14:45:51 <mseaton> this works if tags are user-specific like in gmail, where a user defines the tags they want and understand
14:45:59 <mseaton> and it works in jira because it's developer-facing
14:46:06 <mseaton> but openmrs is not either of these
14:48:19 <mseaton> bwolfe, is this convincing? do you think we should not be thinking tags for what we need, but instead attributes / types / something else?
14:49:49 *** dawn_ has joined #openmrs
14:49:56 *** ChanServ sets mode: +v dawn_
14:51:28 *** snoppy has joined #openmrs
14:51:30 <snoppy> к же
14:51:42 <bwolfe> mseaton, what are some example categories?
14:51:52 <bwolfe> mseaton, wordpress has both tags and categories
14:52:45 *** sgithens has joined #openmrs
14:53:31 <mseaton> bwolfe, could be anything and dependent on the type of definitions. for report definitions, i'm thinking things ilke:
14:53:34 <mseaton> Data Quality Reports
14:53:39 <mseaton> Clinical Summary Reports
14:53:46 <mseaton> Indicator Reports
14:53:48 <mseaton> MOH Reports
14:53:50 <mseaton> HIV Reports
14:53:51 <mseaton> etc.
14:54:09 <djazayeri> mseaton: also things like "Display on Report Dashboard"?
14:54:30 <djazayeri> (and reports can have multiple categories)
14:59:27 <mseaton> djazayeri: yes, we also need to support use cases where certain reports can be configured as "display on dashboard" or "quick link reports" or something. we're thinking this is the same mechanism
14:59:59 <mseaton> and as we move toward supporting specific UIs for particular users and roles, we also want to show appropriate data for that context.
15:00:39 <mseaton> eg. if we create a Rehab Program Dashboard in a module, I'd like a way to configure it with 1-N categories of reports that it displays, so that you can get any "Rehab" report here, but not "HIV Program" reports, for example bwolfe
15:01:48 <bwolfe> hmm, yes, sounds more "taggish"
15:02:19 <bwolfe> but if you want that flexibility you have to put up with the possibility that people create a bunch of tags.
15:02:31 <mseaton> well, i don't have to allow that
15:02:41 <MarkG> haggis, did someone say haggis?
15:02:53 <nribeka> lol
15:02:55 <mseaton> the reporting UI could be more restrictive than another UI for tagging patients
15:02:57 <bwolfe> I suppose tags can be localized, but I don't see a strong case for it really.
15:03:04 <bwolfe> yes, true
15:03:23 <bwolfe> MarkG, dyslexia ftl
15:03:29 <mseaton> is it that lack of a strong case that still have all of our metadata in a single language bwolfe? :)
15:03:43 <bwolfe> heh
15:03:48 <mseaton> seriously though.
15:03:50 <bwolfe> no, thats just a lack of manpower. I really want that in
15:04:11 <nribeka> i would to see the display on dashboard option too
15:04:21 <mseaton> to be clear. i don't need tags localized. but i need a way for them to show up that way in certain contexts. how to do that?
15:04:38 <mseaton> i don't want to hard-code tag names in a UI
15:06:50 <mseaton> bwolfe, djazayeri: without an alternative solution for showing "Data Quality Reports" to me and "Rapports sur la qualité des données" to our French-speaking users, I need to leave the door open for metadatalocalization to handle this
15:08:12 <djazayeri> I agree that handling this via metadata localization sounds strategic
15:08:23 <wyclif> bwolfe, are you working on REPORT-352
15:08:55 <wyclif> bwolfe, is yes, cool, there are currently 2 tickets(i think one is closed) that would benefit from it
15:11:11 <mseaton> nribeka: can you claim REPORT-371 if you are on it?
15:11:13 <bwolfe> wyclif, link them on the ticket
15:14:19 *** sgithens has quit IRC
15:16:01 <mseaton> bwolfe (beating a dead horse), do you think that wordpress model of tags _and_ categories is one we should adopt here?
15:16:14 <wyclif> one already is, let add the second
15:16:17 <nribeka> !ticket REPORT-371
15:16:18 <OpenMRSBot> nribeka: [#REPORT-371] Create ObsDataSetDefinition along with Obss Data definition and Obss Query - OpenMRS JIRA - https://tickets.openmrs.org/browse/REPORT-371
15:16:48 <nribeka> mseaton, can we start talking about the custom data / custom dataset thing?
15:17:02 <mseaton> nribeka, sure.
15:17:29 <bwolfe> mseaton, they're used for similar but different things. I'd prefer we only have one of them, but as such we need to compromise on the strengths of each a little bit
15:17:49 <nribeka> so what do you think about the issue mseaton
15:19:00 <mseaton> bwolfe. fair enough. given that i'm doing this for reporting and not for core, and my requirement is for localized categorization rather than a folksonomy, i am going to lean towards optimizing for that.
15:19:21 <mseaton> nribeka. i forget :) can you remind me?
15:19:23 *** sgithens has joined #openmrs
15:19:45 <bwolfe> mseaton, fair enough. if you add that addTag(String, Locale) method it might make burke happy (enough)
15:20:10 <djazayeri> mseaton: are you going to add this to reporting?
15:20:24 <djazayeri> or are you going to make a "tagging" module, and put this there, then have reporting depend on it?
15:20:27 <mseaton> djazayeri: not if you are volunteering?
15:20:35 <mseaton> NO
15:20:41 <mseaton> i am putting it in reporting :)
15:21:04 <mseaton> i suppose i could be convinced otherwise though
15:21:31 <mseaton> why? which would you prefer?
15:23:38 <djazayeri> I was thinking that if this is its own tagging module, this will actually solve tagging. :-)
15:24:49 <mseaton> want to code it up?
15:25:02 *** chopin has joined #openmrs
15:25:22 *** dkayiwa has left #openmrs
15:25:27 <nribeka> so mseaton i have another need here that i don't know which path to go.
15:25:27 <nribeka> in ampath we try to match the lab request obs (in encounter form) and the actual lab obs (coming from the lab system).
15:25:27 <nribeka> if the lab request and lab result match (max 1 day apart), then we don't say anything.
15:25:27 <nribeka> if lab request is sent but no lab result coming, we say lab pending.
15:25:27 <nribeka> if lab result is coming but no lab request, we say no order
15:25:43 <mseaton> right
15:25:53 <nribeka> i can see this will be some sort of custom dataset? is there any example in the reporting to create custom dataset that is not returning obs, encounter?
15:26:17 *** ChanServ sets mode: +v chopin
15:26:32 *** lh has joined #openmrs
15:26:47 <mseaton> nribeka: what is your end goal? to have a single column in a row-per-patient data set that has either: obs.value or "Pending" or "No Order" as the value?
15:26:49 <chopin> bwolfe, have you ever seen a module not be able to load another module's service via Context.getService(x.class)?
15:27:05 <chopin> I keep getting Service not found: interface org.openmrs.module.household.service.HouseholdService
15:27:05 <chopin> .
15:27:15 *** dawn__ has joined #openmrs
15:27:15 *** ChanServ sets mode: +v dawn__
15:27:16 <chopin> but the household module is loaded and running
15:27:19 <mseaton> chopin. do you require the Household module in your module?
15:27:27 <mseaton> you need to
15:27:33 <mseaton> in config.xml
15:27:44 <chopin> mseaton, pretty sure ... checking ...
15:27:59 <nribeka> i need multi column mseaton. obs datetime, obs value (coded and numeric), obs status (and probably some extended info from obs comment)
15:28:07 *** dawn_ has quit IRC
15:28:07 *** dawn__ is now known as dawn_
15:28:12 <chopin> mseaton, blargh! thanks.
15:28:45 <mseaton> ok nribeka. probably a DataConverter is all you will need actually
15:28:51 <mseaton> because you already have the Obs
15:29:53 *** dawn__ has joined #openmrs
15:29:53 *** ChanServ sets mode: +v dawn__
15:29:53 *** dawn_ has quit IRC
15:29:54 *** dawn__ is now known as dawn_
15:30:34 <bwolfe> mseaton++ for answering chopin before I got to it
15:30:38 <nribeka> yeah i was thinking like that mseaton, but not sure how efficient it would be. because i need to merge the test obs and the obs result
15:30:44 <chopin> heh
15:31:03 <bwolfe> chopin-- for nto checking his config.xml file first
15:31:06 <chopin> ugh, i'm also getting a very strange getter error that keeps cropping up
15:31:28 <mseaton> nribeka, the problem is that in some cases you have an Order and no Obs, in other cases you have both, and in other cases you have Obs and no Order, right?
15:31:40 <nribeka> yep
15:31:46 <chopin> bwolfe, this is happening even though there's a getStartDate() clear as day on the pojo: org.hibernate.PropertyNotFoundException: Could not find a getter for startDate in class org.openmrs.module.household.model.Household
15:31:46 <chopin> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
15:31:50 <nribeka> that's the problem mseaton
15:32:24 <chopin> bwolfe, and that's when I'm trying to start AMRS Mobile Form Entry (not Household)
15:32:27 <nribeka> mseaton, brb. papa paul need me.
15:32:30 <mseaton> chopin, make sure the version of household module actually running and the one you are looking at are the same
15:32:46 <bwolfe> that ^^
15:32:58 <bwolfe> and also make sure there isn't a household omod in amrsmodulefoemtnry
15:33:00 <chopin> mseaton, haha i knew that one already
15:33:03 <bwolfe> open/unzip it and look in lib
15:34:06 <chopin> uggggggggh ... i think i messed something up in the dependencies.
15:34:09 <chopin> bwolfe, thanks
15:34:22 <bwolfe> was it there?
15:37:35 *** snoppy has quit IRC
15:37:55 <chopin> bwolfe, apparently i never loaded household-1.0.0 into nexus
15:38:26 <mseaton> nribeka: one solution might be to have a new datatype called an "OrderableObs", which wraps an Order and an Obs property. then have an OrderableObsDataDefinition, which can be configured with "orderType" and "obsConcept" (and anything else you need), and returns an OrderableObs object. Then, you would have a DataConverter which can tell you the underlying Order, underlying Obs, and also do any necessary comparisons between them to output things like "
15:39:00 <mseaton> djazayeri might have some bright ideas too...
15:39:13 <chopin> bwolfe, erm ... i did ... but it's not picking up? /me looks at poms
15:40:03 <djazayeri> on a call now, don't have brain power to think of another solution
15:42:40 *** jmiranda has quit IRC
15:43:24 <nribeka> i think your idea make sense mseaton
15:45:48 <chopin> bwolfe, this is crazy ... parent pom: http://pastebin.com/2WKNh5Ya ... api pom: http://pastebin.com/253NnqqN
15:46:23 <chopin> bwolfe, i've added module dependencies to POMs before, not sure why i'm required to put a version on the household dependency in the api pom
15:48:07 *** dawn__ has joined #openmrs
15:48:08 *** ChanServ sets mode: +v dawn__
15:48:08 *** dawn_ has quit IRC
15:48:08 *** dawn__ is now known as dawn_
15:49:04 <mseaton> nribeka: cool, can you annotate the ticket with this so that we have the history there?
15:50:10 <nribeka> ok mseaton
15:50:14 <nribeka> will do
15:51:24 *** MarkG has quit IRC
15:54:56 *** rafa has quit IRC
15:56:36 <chopin> bwolfe, nvm ... something funky is going on there but i got it working
15:58:03 <nribeka> mseaton, i think you're talking about Order from the order entry right? i think ampath still use regular Obs to do the lab request
15:58:17 <nribeka> so i will wrap Obs (order) and Obs (result)
15:58:26 <mseaton> nribeka: makes sense
15:58:47 <mseaton> might want to rename the data definition then
15:59:03 <nribeka> suggestion?
16:00:00 <mseaton> not really - RelatedObsDataDefinition, MultipleObsDataDefinition?
16:00:07 <mseaton> depends on what it is going to return
16:00:39 <mseaton> i assume it's going to be something like "LAST obs with concept X and LAST obs with concept Y".
16:02:06 <nribeka> one example is:
16:02:06 <nribeka> lab order obs: Test Ordered (concept) --> CD4 Panel (value coded)
16:02:06 <nribeka> lab result obs: CD4 (concept) --> 350 (value numeric)
16:02:33 *** maurya has joined #openmrs
16:06:17 <nribeka> i guess i can use the RelatedObsDataDefinition mseaton
16:07:18 <mseaton> nribeka, well, they aren't necessarily "related" in the Data Definition like this
16:07:47 <mseaton> all you really want to do is get a bunch of different LAST obs values, rather than a single one
16:08:04 <mseaton> and then in the DataConverter, make decisions based on this
16:08:48 <mseaton> in your use case, you want to look at these Obs in relation to one another, but i wouldn't pre-suppose that's what everyone wants to do
16:09:12 <mseaton> so i would lean towards MultiObsDataDefinition or something
16:09:50 <nribeka> in ampath use case we need the first and last 4. so our output would look like this: 1. 350 (datetime) 2. Pending (datetime) 3. 450 (No Order, datetime) 4. Pending (datetime) 5. 600 (datetime)
16:12:02 *** dawn__ has joined #openmrs
16:12:02 *** dawn_ has quit IRC
16:12:02 *** ChanServ sets mode: +v dawn__
16:12:02 *** dawn__ is now known as dawn_
16:12:37 *** nribeka has quit IRC
16:12:50 *** nribeka has joined #openmrs
16:13:00 *** ChanServ sets mode: +v nribeka
16:13:35 <mseaton> well, you could just make your ObsDataDefinition take in a List<Concept> rather than a single Concept question, a TimeQualifier, and an Integer howMany, and if you say "LAST", "4", {Test Ordered, CD4}, have it return the Last 4 obs for both of these concepts.
16:14:41 <mseaton> then use a DataConverter to construct 4 different column values based on this data.
16:15:07 <mseaton> nribeka
16:15:20 <nribeka> mseaton, sorry i got disconnected a bit there
16:15:26 *** sgithens has quit IRC
16:16:10 <nribeka> brb mseaton. in a meeting. i will talk with you in a bit. sowwy
16:17:56 *** maurya has quit IRC
16:19:04 *** dawn_ has quit IRC
16:42:13 *** rohitgoyal18 has joined #openmrs
16:52:53 *** kavuri has joined #openmrs
16:58:05 *** gauravpaliwal has joined #openmrs
16:58:05 *** ChanServ sets mode: +v gauravpaliwal
17:02:26 *** gauravpaliwal has quit IRC
17:03:06 *** kavuri has quit IRC
17:11:39 *** robbyoconnor has quit IRC
17:12:01 *** robbyoconnor has joined #openmrs
17:12:01 *** ChanServ sets mode: +v robbyoconnor
17:15:24 *** kavuri has joined #openmrs
17:22:06 <nribeka> mseaton, back
17:23:15 <nribeka> mseaton, i can't just get the last 4 obs and get the status for that last obs. the process i have in place right now do this:
17:23:37 <nribeka> 1. get the order observations and get the lab result observations
17:25:28 <mseaton> nribeka: that's fine, then just say "ALL" instead of "LAST 4"
17:25:34 <nribeka> 2. merge the two types of observation. iterate through both and merge them if they are on the same day, retain order if no result around it and retain result if no order around it.
17:26:50 <nribeka> and then get the last 5 or 4
17:27:14 <nribeka> so i'm wondering what path should i go if i want to create something like this in reporting :D
17:28:18 <mseaton> well, you either do something generically useful if you can, and put it in reporting. or you make something specific to your needs and you put it in your module that depends on reporting
17:28:35 *** mccallumg has joined #openmrs
17:28:35 *** ChanServ sets mode: +v mccallumg
17:28:46 <mseaton> eg. AmpathOrderedLabTestDataDefinition
17:34:54 <nribeka> i would say OrderableObs definition will be useful for reporting
17:35:09 <nribeka> but for this case, i would say it's too ampath specific
17:39:09 *** suranga has joined #openmrs
17:39:09 *** ChanServ sets mode: +v suranga
17:39:36 *** dawn_ has joined #openmrs
17:39:36 *** ChanServ sets mode: +v dawn_
17:46:19 <bwolfe> mseaton, who/when/why on the Report Administration being renamed and moved sections?
17:48:51 *** rohitgoyal18 has quit IRC
17:49:45 <mseaton> bwolfe, no real reason other than starting to better organize things, but not very well thought out admittedly. you can feel free to move it back the way it was.
17:50:10 <bwolfe> it means updating the documentation
17:50:23 <bwolfe> (if you leave it as what you changed it to)
17:50:34 <bwolfe> and also means updating the page to use the right header
17:50:36 <mseaton> documentation? i didn't know there was any!
17:50:55 <bwolfe> https://wiki.openmrs.org/display/docs/Building+Reports+%28Step+By+Step+Guide%29#BuildingReports%28StepByStepGuide%29-BuildSimpleRPPDSD
17:51:01 <bwolfe> looks like its Rita's documentation
17:51:13 <bwolfe> had the hardest time just finding where to create the report :-/
17:51:19 <mseaton> bwolfe, fine to move it back. it should be re-organized when we re-organize everything at once anyway, not piecemeal
17:51:26 <mseaton> sorry
17:52:09 <bwolfe> there are also a lot of ui inconsistencies, ui flaws, usability issues, etc. are you aware of these? any use in my pointing them out?
17:52:49 *** dawn_ has quit IRC
17:53:28 <mseaton> bwolfe: any and all feedback welcome. it may be well known, it may not be. probably it is, but still worth documenting and discussing.
17:55:01 <mseaton> anything major?
18:05:02 *** harshadura has quit IRC
18:05:40 *** harshadura has joined #openmrs
18:07:24 *** harshadura has joined #openmrs
18:27:49 *** dileepsisila has joined #openmrs
18:28:31 <mseaton> bwolfe, djazayeri: remember that issue on the dev list about sync interceptor stopping for someone?
18:28:49 <djazayeri> yes, I remember it.
18:29:00 <mseaton> we seem to be deep in it ourselves
18:29:11 <djazayeri> that's not good.
18:29:35 <bwolfe> the interceptor just stops?
18:29:36 <mseaton> we are trying to track down what happened
18:29:45 <bwolfe> or doesn't restart after some module?
18:30:06 <mseaton> so far we can see that tomcat was restarted at the suspected time, and 2 new omod versions were added:
18:30:15 <mseaton> htmlformentry-1.9.1
18:30:20 <mseaton> metadatasharing-1.0.5
18:30:26 <bwolfe> not good at all. perhaps we need another fail safe in the sync module for it to check to make sure its intercepting things every 10 seconds
18:30:58 <bwolfe> those modules don't provide interceptors, do they?
18:31:15 <mseaton> htmlformentry does not. anyone know about metadatasharing?
18:31:28 <djazayeri> I doubt it has an interceptor
18:32:39 <bwolfe> but after restarting tomcat again the interceptor came back?
18:32:50 <mseaton> bwolfe: yes, would be nice to have a fail safe in sync just to alert someone. in our case we think this happened monday at noon :(
18:33:00 *** MarkG has joined #openmrs
18:33:04 <bwolfe> ugh
18:33:21 <bwolfe> (side note: who does a restart/module upgrade on a monday....at lunchtime??)
18:33:21 <mseaton> still debugging though
18:33:39 <MarkG> pretty sure it was something to do with hfe-1.9.1 or mds-1.0.5
18:33:55 <MarkG> may be even more sure once i check somethig else
18:33:57 <djazayeri> you're trying to reproduce adding those modules with sync running?
18:34:20 <mseaton> wouldn't matter when it would have been done, but yes, guildy
18:34:27 *** kavuri has quit IRC
18:34:55 <mseaton> djazayeri: no, not yet. still trying to look at the server and identify what we can from logs, etc
18:36:40 *** snoppy has joined #openmrs
18:38:53 <mseaton> so, on our child server, we upgraded both of those modules about a day later, and sync stopped working there at that time. so it's pretty clear that it's likely due to something in hfe or mds
18:40:15 <mseaton> djazayeri/bwolfe: eg. on our parent, we updated modules on monday and parent stopped logging changes, but children were still sending changes to it successfully. on tuesday we updated modules on child and from then on it stopped sending updates to parent.
18:40:46 <djazayeri> mseaton: this is with no change to the core version, right?
18:40:59 <mseaton> djazayeri: yes i believe so
18:41:24 <bwolfe> very strange
18:41:33 <bwolfe> what were the previous versions of hfe and mds?
18:41:51 <mseaton> don't know. MarkG?
18:42:18 <MarkG> i believe it was hfe 1.9.0
18:42:45 <MarkG> don't know about mds, except that there was a bug in MDS 1.0.4, so i don't think we ever upgraded to that...
18:43:53 <MarkG> we just upgrade rwanda to hfe 1.9.2 yesterday. lara is checking it out now... if you don't here from me again, it means hfe broke rwanda and lara has killed me... :)
18:45:03 <djazayeri> sync still sends complete objects, rather than deltas to objects, right?
18:46:32 <djazayeri> so once you've figured out why this broke, you can recover by going through every object that has been modified since Monday at noon, and saving it?
18:46:43 <mseaton> we hope so
18:46:59 <mseaton> assuming no conflicts since then
18:48:32 <dileepsisila> is there any one know how to integrate metadata sharing module to open mrs
18:49:00 <djazayeri> dileepsisila: what do you mean exactly? Something more than installing the module and using it?
18:50:36 <mseaton> djazayeri/bwolfe/mgoodrich: i'm doing a diff of mds from 1.0 to now.
18:50:41 <mseaton> one thing i see so far is this:
18:50:42 <mseaton> <!-- It overwrites the conceptDAO bean from the OpenMRS core to fix an issue when working in the MANUAL flush mode -->
18:50:42 <mseaton> <bean id="conceptCustomDAO" class="org.openmrs.module.metadatasharing.api.db.hibernate.HibernateCustomConceptDAO">
18:50:42 <mseaton> <property name="sessionFactory"><ref bean="sessionFactory"/></property>
18:50:42 <mseaton> </bean>
18:51:20 <djazayeri> that seems highly likely to be the cause...
18:51:44 <mseaton> that was my instinct
18:52:00 <mseaton> then this:
18:52:07 <mseaton> @Component
18:52:07 <mseaton> public class BeanReplacer implements BeanFactoryPostProcessor {
18:52:07 <mseaton>
18:52:07 <mseaton> /**
18:52:07 <mseaton> * @see org.springframework.beans.factory.config.BeanFactoryPostProcessor#postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory)
18:52:07 <mseaton> */
18:52:08 <mseaton> @Override
18:52:08 <mseaton> public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
18:52:09 <mseaton> ConceptServiceImpl conceptService = (ConceptServiceImpl) beanFactory.getBean("conceptServiceTarget");
18:52:09 <mseaton> ConceptDAO conceptCustomDAO = (ConceptDAO) beanFactory.getBean("conceptCustomDAO");
18:52:10 <mseaton> conceptService.setConceptDAO(conceptCustomDAO);
18:52:10 <mseaton> }
18:52:11 <mseaton>
18:52:11 <mseaton> }
18:53:10 <mseaton> also a new "CustomSessionFlushTask". uh oh.
18:53:45 <MarkG> i just pretty much confirmed it is mds 1.0.5
18:53:50 <mseaton> ok, mark just did a local test. hfe didn't break it. mds did
18:54:15 <MarkG> and, fwiw, lara is running mds 1.0.4 in rwanda and everything is working for me, so it is likely to be 1.0.5
18:54:29 <djazayeri> things broke in Haiti?
18:54:33 <mseaton> yes
18:54:58 <djazayeri> Unfortunately Rafal must be off for the weekend
18:55:14 <MarkG> can we see if the above metadata sharing changes happened between 1.0.4 and 1.0.5
18:55:16 <mseaton> we might want to pull 1.0.5
18:55:46 <MarkG> re: Rafal... yeah, if we've identified the problem we don't really need him asap anymore... just pull 1.0.5 and then start dealing with the mess and worry about fixing 1.0.5 next week... :)
18:56:28 <mseaton> there are tags in svn for 1.0 and 1.0.5 nothing in between. so these are what i compared.
18:56:35 <djazayeri> MarkG: while you've got this setup running, can you step through module startup and figure out at which point the interceptor is removed?
18:57:11 <djazayeri> By "pull" do you mean remove from the module repo, or remove from your haiti install?
18:57:52 <mseaton> so mark uninstalled mds and sync started working again
18:58:04 <mseaton> no real surprise there, but just confirming
18:58:07 <MarkG> from the module repo... and someone should send out a warning to the dev/implementors list...
18:58:17 <MarkG> i am installing mds 1.0.4 to confirm that it DOESN'T break sync
18:58:20 <mseaton> i mean "remove from the moduile repo"
18:58:47 <MarkG> hmm... looks like 1.0.4 might break it too...
18:59:01 <djazayeri> AFAIK very few people are running sync, so I tend to think that sending an email to the dev & impl lists warning people not to use MDS 1.0.5 and sync together, is sufficient.
18:59:21 <MarkG> i disagree....
18:59:35 <djazayeri> rather than removing 1.0.5 from the module repo without letting rafal (the module owner) know...
19:00:13 <MarkG> but this is a potentially catastrosphic error for users...
19:00:14 <djazayeri> let us know about 1.0.4 too (I thought you said they were running that successfully in Rwanda)
19:00:19 <mseaton> djazayeri: this is a major blocker issue. we need to pull it. why justify keeping it there?
19:00:35 <MarkG> looks like 1.0.4 might block it as well... i am going to double-check with lara
19:00:38 <mseaton> who knows if this is buggering up hibernate in general for people?
19:00:45 <MarkG> make sure it is really working for her
19:01:43 <bwolfe> how would it bugger up in general?
19:01:49 <bwolfe> meaning nothing is saved??
19:02:21 <mseaton> bwolfe: point is that hibernate is affected by this. we are experience one impact of that. i don't know if there may be others.
19:02:46 <mseaton> and regardless, this is enough to pull it.
19:02:50 <djazayeri> If we have no reason to suspect this is broken for people not using sync, then I don't see the need to do an emergency removal of that version from the module repo on Friday afternoon/night, rather than sending an email, and letting Rafal (the module owner) decide
19:03:04 <mseaton> do you want to go out and debug sync across implementations?
19:03:07 <mseaton> i certainly don't
19:04:04 <mseaton> djazayeri: what do you gain by leaving it there?
19:04:11 <djazayeri> So: send an email with ALL CAPS about not using sync and MDS 1.0.5 together, and we can edit the description in the module repo to say DO NOT USE THIS VERSION WITH SYNC
19:05:20 <MarkG> what if you don't read the dev list (i realize the odds are very unlikely that someone will download and install mds on a sync server this weekend and also not read the dev list, but this is a potentially non-recoverable error)
19:05:29 <OpenMRSBot> Recent updates in the world of openmrs: On Twitter: OpenMRS: RT @RegenstriefGHI: @openmrs Paul and Burke discussing the history of #openmrs in IU student interview. @Regenstrief @pbiondich @ekrub h ... <http://twitter.com/OpenMRS/statuses/190876004431044608> || On Twitter: OpenMRS: Blast from the past: #OpenMRS user group meeting attendee portfolio, 2006 http://t.co/hJcZxtNb <http://twitter.com/OpenMRS/statuses/190875104668958720>
19:06:04 <MarkG> anyway, if you don't want too, that is okay, i think it is wrong, but i have other things to worry about now... :)
19:07:04 <bwolfe> I vote to pull it. I'm with markg that not everyone reads the lists or even the descriptions before installing
19:07:16 <bwolfe> if nothing is wrong with it it can easily be reuploaded on monday
19:07:18 <MarkG> fyi, i am testing previous versions of mds... looks like 1.0.5 and 1.0.4 are both bad... i will keep stepping backwards until it starts work...
19:07:38 <bwolfe> does rafal keep release notes?
19:07:47 <MarkG> yeah, you can find them in jira
19:07:54 <MarkG> https://tickets.openmrs.org/browse/META#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-panel
19:08:11 <djazayeri> I'd like us to define a process for when "OpenMRS admins" will come in an remove your module/version from the repo.
19:08:57 <djazayeri> (and does so in emergency-mode, before the module author knows about it.)
19:09:00 <mseaton> djazayeri is an allowed editor on metadatasharing. so, you have the green light :)
19:09:11 <bwolfe> can we install something ala android so we can uninstall it from implementations? no use here, but would be cool feature. :-D
19:09:33 <MarkG> the 1984 feature?
19:09:45 <bwolfe> that can be the code word
19:09:46 <djazayeri> If a module version breaks a bundled module, then I'd expect "OpenMRS" to remove it from the repo.
19:10:21 <MarkG> mds 1.0.3 seems to break it too... surprising, since lara is running 1.0.4... might be an interaction with something else?
19:10:24 <mseaton> that is one reason, not the only one
19:10:25 <bwolfe> or if a module version potentially corrupts data (which is does in this case)
19:10:34 <mseaton> yes, exactly
19:10:59 <djazayeri> but we don't think it corrupts data unless you're running the sync module.
19:11:14 <mseaton> djazayeri: how would you justify to a hospital or clinic that you knew about this and left it in place?
19:11:27 <mseaton> to me that is far worse than the alternative
19:12:22 <djazayeri> Removing at least three versions of MDS, going back 1.5 months, could likewise introduce errors.
19:12:43 <dileepsisila> djazayeri: https://wiki.openmrs.org/display/docs/User%27s+Guide+for+Metadata+Sharing+Module
19:12:44 <OpenMRSBot> <http://ln-s.net/9BmE> (at wiki.openmrs.org)
19:13:10 <dileepsisila> djazayeri: i want to display this module in my openmrs
19:13:18 <mseaton> well, you could do a _new_ emergency release that checks if sync is running, and if it is, fails to install
19:13:30 <djazayeri> mseaton: I'd be okay with that
19:13:49 <djazayeri> dileepsisila: download it from modules.openmrs.org, and install it in OpenMRS.
19:14:39 <mseaton> bwolfe, djazayeri: we will leave this issue in your capable hands while we try to restore our haiti system...
19:14:45 <djazayeri> thanks!
19:14:56 <MarkG> okay, so it looks like after installing 1.0.3, 1.0.4, and 1.0.5 of mds, the hibernate interceptor stops when testing on my local server
19:14:59 <djazayeri> It's been a great birthday week! Two emergency bugfixes!
19:15:17 <MarkG> the next version in the repo (0.9.0.2) does not seem to cause the problem
19:15:19 <dileepsisila> i downloaded it but there is no pom.xml file here cn u give a help for this installation
19:15:20 <djazayeri> MarkG: let us know whether Rwanda is actually running 1.0.4 successfully
19:15:36 <bwolfe> djazayeri, what was the other one?
19:15:58 <djazayeri> bwolfe: reporting 0.7.1 locks the admin account
19:16:03 <bwolfe> oh right
19:16:09 <MarkG> djazayeri: right, that was my follow-up note... rwanda appears to be running mds 1.0.4 successfully... so it might not be totally pervasive...
19:16:12 <dileepsisila> djazayeri: downloaded it but there is no pom.xml file here cn u give a help for this installation
19:16:15 <bwolfe> dileepsisila, are you wanting to USE it or to write CODE for it?
19:16:29 <djazayeri> dileepsisila: http://modules.openmrs.org
19:17:05 <djazayeri> dileepsisila: https://wiki.openmrs.org/x/pRAz
19:17:48 <MarkG> fwiw, rwanda is on a custom build of 1.6.4, while haiti is on 1.6.5, and my test server was running the 1.6.x trunk
19:17:50 <djazayeri> wyclif: what are you working on now?
19:19:06 <wyclif> djazayeri, RCM-15
19:19:07 <wyclif> Include Patient Attributes when doing a data export
19:19:30 <djazayeri> wyclif: we may need you to do an emergency fix to Metadata Sharing.
19:19:42 <dileepsisila> djazayeri: write a code
19:19:44 <djazayeri> as you're on bugfixing duty this week, it seems appropriate.
19:20:13 <djazayeri> wyclif: I'm creating the ticket now.
19:20:16 <wyclif> djazayeri, is it a quick fix i can do in the remaining time i have today, it is close 3:30 here
19:20:23 <djazayeri> wyclif: yes
19:20:34 <wyclif> k
19:20:35 <djazayeri> in the meantime, please check out the 1.0.5 tag for MDS.
19:21:12 *** mathiaslin has quit IRC
19:23:00 <bwolfe> dileepsisila, ah, so if you want to write code for it you are looking at an older ANT based module.
19:23:09 <bwolfe> to build an ant based module run "ant package-module"
19:23:13 <bwolfe> the omod will be in the dist folder
19:24:35 <dileepsisila> bwolfe: i downloaded metadata sharing module in the trunk
19:24:48 <dileepsisila> in this folder no pom.xml
19:24:51 <dileepsisila> file
19:25:12 <djazayeri> dileepsisila: it's not a mavenized module
19:25:15 <djazayeri> you build it with ant
19:25:18 <djazayeri> build.xml
19:25:33 <dileepsisila> ok........
19:25:36 <dileepsisila> wait
19:28:29 <djazayeri> wyclif: I just assigned you META-217
19:29:34 <djazayeri> wyclif: can you quickly determine whether it's possible, from the two classes that do something funky to Hibernate (they're mentioned in the ticket), to determine whether the sync module is running before they do anything?
19:30:46 <wyclif> djazayeri, will check, not sure if i can come up with an immediate solution
19:31:07 <djazayeri> wyclif: the immediate solution is just "make the module throw an exception at startup if sync is also running"
19:31:24 <djazayeri> but verify that exception is thrown early enough that hibernate isn't messed up
19:31:33 <wyclif> djazayeri, ok
19:31:42 <wyclif> djazayeri, ok
19:31:45 <djazayeri> bwolfe: is it okay to just check this in the module activator? (this is a pre-1.7 module)
19:32:20 <djazayeri> wyclif: you don't need to fix the underlying issue, just find a way to bomb at startup if sync is also running.
19:32:29 <wyclif> djazayeri, got you
19:32:41 <djazayeri> i.e. we'd rather crash openmrs until they remove the module, than let them continue working while sync is not capturing data.
19:32:52 <djazayeri> wyclif: I'm going to get lunch right now, but if you have *any questions whatsoever* about this, call my cellphone.
19:33:27 <wyclif> djazayeri, if the module requires 1.7+ it might easier to handle using the activator methods
19:33:34 <wyclif> djazayeri, sure
19:33:37 <djazayeri> wyclif: sadly it's a 1.6 module
19:33:47 <wyclif> djazayeri, that might be a pain
19:33:55 <wyclif> djazayeri, i will try to get a work around
19:34:01 <wyclif> djazayeri, how about sync?
19:34:11 <djazayeri> wyclif: we leave sync alone
19:34:31 <djazayeri> wyclif: it's okay to break "more often than strictly necessary"
19:34:42 *** downey has quit IRC
19:34:59 <wyclif> djazayeri, ok
19:35:27 <djazayeri> i.e. if it's not possible to tell whether the sync module is loaded in the 1.6 activator, then look for whether it's installed at all, or even look in the modules folder for sync*.omod.
19:36:01 <djazayeri> MarkG: when testing his fix, how does wyclif verify that the sync interceptor is running?
19:36:18 <djazayeri> does he have to modify some random piece of data, and look at the sync history?
19:37:37 <wyclif> djazayeri, will be something like that
19:37:51 <djazayeri> wyclif: okay, just make sure you test it in the webapp. :-)
19:37:56 <wyclif> djazayeri, sure
19:39:10 <dileepsisila> bwolfe: thanks nw created jar file in dist directory and how to add it to the open mrs
19:40:13 <bwolfe> dileepsisila, you need an omod.
19:40:23 <bwolfe> you upload it on the Manage Modules page in the admin section
19:40:29 <bwolfe> "ant package-module" to create the omod
19:41:00 <dileepsisila> i have .mod in the dist folder
19:41:13 <bwolfe> djazayeri, wyclif, I can't remember where in the process the old activator method is called. if it is called after spring is restarted for any module load, then it should be sufficient
19:41:23 <bwolfe> dileepsisila, no, you have a .omod. :-)
19:42:09 <wyclif> in the old one it is called after the module is loaded
19:42:18 <MarkG> djazayeri: i was just modifying some random piece of data
19:42:23 <bwolfe> but only that module is loaded or any module is loaded?
19:43:08 <wyclif> bwolfe, all i can recall it that onStartup in the old activator, the services were not available
19:43:24 <wyclif> so i guess it was before spring is started\
19:45:08 <bwolfe> ah, I think you are right wyclif
19:45:19 <bwolfe> but it shoudl be AFTER all modules are LOADED
19:45:50 <bwolfe> so you could check ModuleFactory.getLoadedMOdules() . not sure if all modules have their started status set yet, so .getStartedModules() migh tnot be enough
19:46:05 <bwolfe> but as darius said, failing more often than necessary here is ok
19:47:36 *** james_regen has quit IRC
19:47:42 <wyclif> ok
19:48:43 *** nribeka has quit IRC
19:48:46 <mseaton> djazayeri, bwolfe, wyclif: in all of this, i don't want to lose the info that rwanda is running mds 1.0.4 successfully on 1.6.4, but this fails in our test environment on 1.6.5. so there might also be a 1.6.5 wrinkle to this that needs to be investigated.
19:49:11 <mseaton> i looked briefly and nothing really stood out. the only 2 real suspects were:
19:49:23 <mseaton> * change class loader to delete lib cache folder
19:49:53 <mseaton> * db change (by rafal) to delete roles from the db (directly via sql, not via api)
19:51:25 <bwolfe> is it a straight 1.6.5? or modified mseaton?
19:51:39 <mseaton> actually i did the compare from 1.6.4 to 1.6.x
19:51:56 *** downey has joined #openmrs
19:51:56 *** OpenMRSBot sets mode: +o downey
19:51:56 *** ChanServ sets mode: +o downey
19:52:24 <mseaton> knowing us, we may well be running a 1.6.4-ish version in rw and a 1.6.5-ish version in haiti
19:52:39 <mseaton> eg. whatever was 1.6.x at the time we last deployed the war there
19:52:59 <mseaton> i could provide the specific build numbers
19:53:20 <mseaton> but they are not custom
19:54:31 <bwolfe> I was thinking it was teh auditable interceptor...but that was in 1.6.3+ https://tickets.openmrs.org/browse/TRUNK-1930
19:55:56 <MarkG> i'm pretty sure the 1.6.5 we are running in haiti is the real 1.6.5... the 1.6.4 in rwanda is custom
20:00:05 <suranga> mm.. I'll be signing out for the day guys... have a good weekend !
20:01:13 <wyclif> so mseaton you are saying the problem is only in 1.6.5+ versions os openmrs?
20:02:41 <djazayeri> I'm back at my desk
20:02:42 <mseaton> wyclif: not 100% sure. we should set up test environments for 1.6.4 + sync and 1.6.5 + sync, and see what happens when mds-1.0.5 is installed in each
20:05:45 <wyclif> mseaton, so i will test mds-1.0.5 with 1.6.4, 1.6.5, latest 1.7, latest 1.8 and 1.9.x
20:06:15 <mseaton> wyclif: yes, if you are trying to fix the actual problem now.
20:06:27 <mseaton> i'd start with 1.6.4 and 1.6.5
20:06:51 <mseaton> the key is identifying exactly what the issue is. once we have that, it will be easier to figure out where a fix is needed
20:07:10 <djazayeri> wyclif: I'd recommend that you first build the breaking version of MDS 1.0.5.1
20:07:50 <wyclif> darius was saying first we stop mds from running if sync is running before going into the cause of the problem
20:07:52 <djazayeri> Better to try the detailed debugging when Rafa is online, since he has done the most recent research on hibernate-related magic
20:08:23 <mseaton> agree
20:18:51 *** suranga has quit IRC
20:21:34 <dileepsisila> bwolfe: i got this exceptions
20:21:35 <dileepsisila> http://pastebin.com/ZKNMBmcN
20:21:46 <dileepsisila> can u say hw can i fix it
20:25:14 <djazayeri> dileepsisila: is this error in the unmodified version of the code you checked out"?
20:32:44 <dileepsisila> djazayeri: i used that version https://svn.openmrs.org/openmrs-modules/metadatasharing/
20:32:57 <djazayeri> dileepsisila: /trunk?
20:33:21 <dileepsisila> yes
20:34:10 <djazayeri> dileepsisila: I don't know if that error is known, or if it has something to do with the version of OpenMRS/tomcat you're running
20:34:21 <djazayeri> you should email rafal, the module owner
20:34:23 <djazayeri> rafal@openmrs.org
20:35:47 <djazayeri> perhaps first you should google for "Unable to load tag handler class" and see if it's a known issue with openmrs and/or your version of tomcat
20:35:49 <bwolfe> not sure. is it this issue dileepsisila ? https://tickets.openmrs.org/browse/TRUNK-2272
20:35:54 <djazayeri> what version of core openmrs are you using?
20:38:20 <dileepsisila> i used development trunk
20:38:21 <dileepsisila> openmrs
20:38:28 <dileepsisila> for the development
20:38:50 <djazayeri> dileepsisila: I think that metadata sharing is known not to work with OpenMRS 1.9+
20:39:59 <dileepsisila> i download new openmrs version and upload metadata sharing module
20:40:07 <dileepsisila> then we wil see
20:40:30 <djazayeri> dileepsisila: I think that if you want to use Metadata Sharing, you have to go back to the latest stable OpenMRS release, in sthe 1.8.x line
20:40:45 *** chopin has quit IRC
20:41:26 <djazayeri> dileepsisila: generally speaking, if you are trying to use OpenMRS, unless you are doing core development, you should be running a stable version
20:41:37 <bwolfe> mseaton, whats should the format of a sql data definition be?
20:42:19 <dileepsisila> is 1.8 is best stable version
20:42:55 *** dileepsisila has quit IRC
20:44:27 <djazayeri> dileepsisila: the latest stable version can be found at http://openmrs.org/download/ and the code for it at svn.openmrs.org/openmrs/tags
20:44:38 <djazayeri> (but he's no longer here…)
20:46:07 <downey> there's always the logs....
21:02:06 <MarkG> djazayeri: dave just reminded me that the mds/sync issue may have been what was causing the problem for that guy on the dev list from a week ago...
21:02:23 <djazayeri> yeah, we should email him, actually.
21:03:00 <mseaton> bwolfe: i don't think we have a Sql Data Definition, do we?
21:03:10 <mseaton> do you mean SqlDataSetDefinition ?
21:03:27 <bwolfe> yeah, data set def
21:03:43 <djazayeri> MarkG or mseaton: can one of you send a brief email to dev and implementers, saying Important and using CAPS to say that there's a suspected serious problem with MDS 1.x and Sync, and you should stop using MDS with sync until further notice?
21:03:44 <mseaton> have a look at SqlDataSetEvaluatorTest
21:04:28 <MarkG> mseaton: can you handle that since i'm working on fixing haiti? :)
21:05:49 <bwolfe> djazayeri, at least 3 different fonts and 4 diff colors should be used as well :-p
21:06:06 <djazayeri> I was going to leave the font choice to mseaton
21:13:20 <mseaton> djazayeri - what if there is someone else currently running this. should i address them / give them some further instructions?
21:14:47 *** nadee has joined #openmrs
21:14:48 <djazayeri> mseaton: how about adding a line saying "If you're in this situation, reply, and I have some suggestions for how to clean up your data. And if you're running sync and a recent version of MDS, but things are working fine for you, please let us know that too, it will help with the debugging."
21:22:50 <nadee> djazayeri : hi daruis, got a minute please? Its regarding https://tickets.openmrs.org/browse/TRUNK-2894
21:23:04 <djazayeri> sure, what's up?
21:25:16 <nadee> I have edited the messages.properties, and the interface looks ok with it, but there are lines such as "Patient.delete=Delete Patient" and another line "Patient.void=Void Patient"
21:26:02 <djazayeri> nadee: are there many of them?
21:26:08 *** mseaton has left #openmrs
21:26:09 <djazayeri> I mean: are there many examples like this?
21:26:34 <djazayeri> In that particular case, I believe you want to change it to Patient.void=Delete Patient, and Patient.delete=Delete Patient Forever
21:26:35 <nadee> the messages.properies has only one reference
21:27:20 <djazayeri> nadee: in the beginning we used Void to mean "mark as deleted in the database" and Purge to mean "really delete from the database"
21:27:25 *** snoppy has quit IRC
21:27:47 <djazayeri> then we started being a bit inconsistent, and sometimes using "Delete" instead of "Purge"
21:27:58 <nadee> alright, I was hoping to change only the "purge" references as deleted forever
21:28:00 <djazayeri> Basically, we want to standardize on terms that make more sense.
21:28:46 <djazayeri> nadee: I think that in the first pass you should: (1) change all void -> delete, (2) change all purge -> delete forever, (3) find all other things that have the word delete, and need to be reviewed.
21:29:50 <nadee> great, on first pass I'll leave the references with delete as it is, and proceed
21:30:41 <djazayeri> nadee: but do identify all the ones with delete to it's easy to go back to them
21:33:02 <wyclif> hi djazayeri
21:33:07 <djazayeri> hi wyclif
21:33:25 <wyclif> djazayeri, what version are the PIH guyr using?
21:33:34 <wyclif> sync version
21:33:59 <djazayeri> wyclif: no idea
21:34:00 <djazayeri> MarkG: ?
21:34:30 <wyclif> MarkG, what version of sync are you guys using?
21:34:53 <wyclif> MarkG, because the latest requires openmrs 1.8.3
21:35:51 <nadee> djazayeri: so this changing procedure applies on everything equally? I mean for patients, persons, visits.. all with : (1) change all void -> delete, (2) change all purge -> delete forever, (3) find all other things that have the word delete, and need to be reviewed.
21:35:52 <MarkG> good point...
21:35:55 <wyclif> djazayeri, the sync release i.e 1.xxx all require 1.8.3
21:36:00 <MarkG> we are using the head of the 1.6.x-compatible branch...
21:36:06 <MarkG> which is 0.975-SNAPSHOT
21:36:16 <wyclif> so am wondering how you are managing to run sync on 1.6.x
21:37:09 <wyclif> MarkG, may be that also poses some issues
21:38:02 <wyclif> because i believe it requires 1.8.3 because the chainining interceptor was added later it is key for sync to work
21:38:35 <wyclif> and this might explain why the sync interceptor might be failing
21:38:43 <wyclif> or not found
21:39:20 *** bryq has left #openmrs
21:40:11 <MarkG> wyclif: good point. although i know i made a fix in core or somewhere to handle a similiar chaining interceptor problem... we do have multiple hibernate interceptors running on our production servers... either name phonetics or address hierarchy (i forget) has a hibernate interceptor as well; these were conflicting until a core change was made
21:42:06 <wyclif> djazayeri, am supposed to send the swim lane update to dev or core devs?
21:42:29 <wyclif> i.e devlist or core devs/sprinters
21:42:35 <djazayeri> wyclif: to dev and implemeenters
21:42:41 <wyclif> ok
21:43:08 <djazayeri> wyclif: one purpose of the email is to let people know that we now have someone doing active bug-fixes on highly-voted issues
21:44:02 <djazayeri> wyclif: so in the email, please list which bugs you fixed, and very briefly why you chose them.
21:57:29 <djazayeri> wyclif: status on a fail-if-sync version of MDS?
21:59:08 <wyclif> sync requires 1.8.3 so i havent yet successfully got running on 1.6.5 or 1.6.4
21:59:14 <wyclif> djazayeri, sync requires 1.8.3 so i havent yet successfully got running on 1.6.5 or 1.6.4
21:59:28 <djazayeri> wyclif: you need that for testing?
21:59:43 <wyclif> djazayeri, i have had a couple of discussion with mike, mark and ben though whileyou were away
21:59:48 <djazayeri> wyclif: okay
22:00:26 <djazayeri> It would seem to me like building an omod and sending it to mark to try dropping in his test setup might be easier than getting sync running on 1.6 yourself
22:01:00 <wyclif> according to mike they say they were able to have both running 1.6.4 and not 1.6.5 so i have to test these and find out first of if this is true and then why
22:01:48 <wyclif> djazayeri, they actually dint go with the option of just stopping mds from running if sync is installed
22:02:19 <wyclif> djazayeri, because if it works on 1.6.4, they suggest we instead fix why it is failing in 1.6.5
22:02:55 <djazayeri> MarkG and mseaton said that?
22:03:13 <MarkG> what are you talking about?
22:03:16 <wyclif> djazayeri, and am not sure i have time to work on this today given the day has actually ended
22:03:49 <djazayeri> nadee: sorry, missed your message earlier, but yes, the void/delete rephrasing applies to everything.
22:03:51 <wyclif> MarkG, mike said mds and sync run fine on 1.6.4 , right?
22:04:20 <djazayeri> wyclif: yeah, the day is over.
22:04:36 <MarkG> wyclif: it *appears* to run fine
22:04:49 <djazayeri> the original point was to *not* investigate the exact cause, but to quickly release a version that would break in a case we're not sure about
22:05:14 <djazayeri> and get that out ASAP, until we've had a chance to understand and solve the underlying problem
22:05:36 <djazayeri> wyclif: I still have a couple hours today; any code you'd like to pass along to me?
22:06:02 <djazayeri> (MarkG: unless you think that it's not worth releasing the stop-in-presence-of-sync version of MDS?)
22:06:24 <MarkG> how is it that we have an object like Obs that extends BaseOpenmrsData but yet doesn't have a date_changed db field?
22:06:55 <djazayeri> MarkG: because obs aren't really editable
22:07:03 <djazayeri> or shouldn't be
22:07:25 <MarkG> MarkG: i don't know re mds. i would just pull the omods over the weekend... or flag them with a warning, if that is possible
22:08:21 <MarkG> i know why we don't want to store a date_changed for obs... so we just don't map the field to the db?
22:09:46 *** downey has quit IRC
22:10:05 <OpenMRSBot> Recent updates in the world of openmrs: On Twitter: OpenMRS: If you use the #OpenMRS Metadata Sharing and Sync modules together, read this important announcement: https://t.co/2tG4hnNd <http://twitter.com/OpenMRS/statuses/190917819553161217>
22:10:11 <MarkG> it is just annoying because i want to iterate over all OpenmrsObjects and create a query for each one where date_changed > some_date AND date_created > some_date
22:11:07 <MarkG> of course, not all the objects have a dateCreated and dateChanged... but i was hoping i could just use reflection over the fields of an object to see if it has a dateCreated and dateChanged...
22:11:52 <djazayeri> MarkG: you'll have to try/catch it seems.
22:12:02 <MarkG> yep...
22:12:20 <wyclif> djazayeri, no code
22:12:27 <djazayeri> okay
22:13:02 <djazayeri> wyclif: I'll take the issue, go ahead and send out the bugfix swim lane email, and enjoy the weekend!
22:13:09 <djazayeri> brb
22:13:11 <wyclif> djazayeri, when mike and mark jumped i got distracted and didn't want to write any code given they had different views
22:13:19 <wyclif> thanks djazayeri
22:13:28 <wyclif> jumped in
22:28:44 <nadee> djazayeri : np, thanks darius, btw asking this just in case to get your view: I hope I have to edit both the property name as well as the value (i.e. "patient.void"=Void Patient ==> "patient.delete"=Delete Patient) and change the JSPs calling the lefthand side as well.. I mean prior to submitting the patch.. Or, is it only required that I change the righthand side only? (i.e. the value)
22:29:03 <djazayeri> nadee: I think only the value
22:30:01 <djazayeri> the benefit of having things in messages.properties files is they can be easily edited without having to change all the places that reference them
22:30:47 <nadee> djazayeri: yeah, but I thought having the term voided appearing on the properties file may be ambiguous
22:31:11 <nadee> djazayeri: will get this done on value, np! thanks
22:34:04 *** MarkG has quit IRC
22:34:29 *** MarkG has joined #openmrs
22:39:24 *** MarkG has quit IRC
22:52:14 *** bwolfe has quit IRC
23:00:17 *** bwolfe has joined #openmrs
23:00:17 *** ChanServ sets mode: +o bwolfe
23:17:40 *** wyclif has quit IRC
23:40:50 *** MarkG has joined #openmrs
23:51:05 <MarkG> djazayeri: will test your omod out now
23:51:16 <djazayeri> MarkG: great, thanks!
23:51:24 <djazayeri> (Didn't know if you were still online.)
23:54:03 <MarkG> djazayeri: just back
23:54:14 <MarkG> djazayeri: works fine... module doesn't start, sync still works...
23:54:23 <djazayeri> wonderful, I'll upload to the module repo then
23:54:40 <MarkG> djazayeri: the only downside would be the startup error doesn't explain why, but i would't worry about that
23:54:57 <MarkG> djazayeri: thanks for doing this
23:54:59 <djazayeri> MarkG: I blame OpenMRS core for that. I put meaningful text in the RuntimeException I threw...
23:55:08 <djazayeri> it's in the logs...
23:55:19 <djazayeri> thoughts about a better way?
23:57:37 <djazayeri> meh, whatever, uploading to the repo before 5pm