IRC Chat : 2012-12-05 - OpenMRS

00:14:49 *** wyclif_ has quit IRC
00:14:57 *** wyclif_ has joined #openmrs
00:31:56 *** wluyima has joined #openmrs
00:31:57 *** wyclif_ has quit IRC
01:06:46 *** andreapat has quit IRC
01:44:24 *** r0bby has joined #openmrs
01:44:24 *** ChanServ sets mode: +v r0bby
02:02:28 *** sgithens has quit IRC
02:09:15 *** jkeiper has joined #openmrs
02:09:15 *** ChanServ sets mode: +v jkeiper
02:25:32 *** sgithens has joined #openmrs
03:40:03 *** r0bby has quit IRC
04:12:45 *** kavuri has joined #openmrs
04:26:09 *** kishoreyekkanti has joined #openmrs
04:43:41 *** djazayeri1 has quit IRC
04:57:12 *** djazayeri has joined #openmrs
04:57:12 *** ChanServ sets mode: +o djazayeri
06:20:55 *** sgithens has quit IRC
06:33:20 *** kishoreyekkanti_ has joined #openmrs
06:33:20 *** kishoreyekkanti has quit IRC
06:33:20 *** kishoreyekkanti_ is now known as kishoreyekkanti
07:19:47 *** wyclif_ has joined #openmrs
07:19:47 *** wluyima has quit IRC
07:32:33 *** dkayiwa has joined #openmrs
07:46:26 <kavuri> djazayeri: you there?
07:50:48 <kavuri> dkayiwa: hi
07:50:55 <dkayiwa> kavuri: hi
07:51:11 <kavuri> dkayiwa: question. Is there a way to perform a Person update in a single REST call?
07:51:41 <dkayiwa> kavuri: i think there should be
07:52:18 <kavuri> dkayiwa: I want to update any of name/address/attributes in a single upadte call
07:52:51 <dkayiwa> kavuri: i think you should be able to
07:53:22 <kavuri> dkayiwa: is there an example json message that I can use to try it out?
07:54:17 <dkayiwa> kavuri: not any that am aware of
08:03:25 <dkayiwa> kavuri: try what you think could work, and then we debug if it does not work
08:03:38 <kavuri> dkayiwa: ok
08:05:27 *** djazayeri has quit IRC
08:19:57 <kavuri> dkayiwa: from the wiki page: https://wiki.openmrs.org/display/docs/REST+Web+Service+Resources?focusedCommentId=36671446&#RESTWebServiceResources-Person
08:20:08 <kavuri> it seems it is not possible to update attributes for a person
08:20:20 <kavuri> using /person/{uuid}
08:22:25 <dkayiwa> kavuri: looking ....
08:22:35 <dkayiwa> kavuri: POST /ws/rest/v1/person/{uuid} Edit with given uuid, only modifying properties in request
08:23:01 <dkayiwa> kavuri: does that look like will update as long as in request?
08:24:17 <kavuri> dkayiwa: you mean update the attributes?
08:25:40 <dkayiwa> kavuri: that is what i thought but
08:25:56 <dkayiwa> kavuri: looking at PersonResource.getUpdatableProperties
08:26:14 <dkayiwa> kavuri: have only: age, preferredName, preferredAddress
08:26:22 <kavuri> dkayiwa: right...
08:26:33 <kavuri> dkayiwa: is it by design that attributes update is left out?
08:26:36 <dkayiwa> kavuri: can you send out an email to the dev list to confirm this?
08:26:42 <kavuri> dkayiwa: ok
08:26:47 <dkayiwa> kavuri: i suspect so
08:26:55 <dkayiwa> kavuri: may be because no one requested for it :)
08:27:04 <kavuri> dkayiwa: :)
08:58:13 *** robbyoconnor has joined #openmrs
08:58:13 *** ChanServ sets mode: +v robbyoconnor
09:11:02 *** Sateesh has joined #openmrs
09:12:58 *** kavuri has quit IRC
09:26:06 *** yony258 has joined #openmrs
09:36:51 *** rafa has joined #openmrs
09:36:51 *** ChanServ sets mode: +v rafa
09:51:52 *** suranga has joined #openmrs
09:51:52 *** ChanServ sets mode: +v suranga
10:24:56 *** suranga has quit IRC
10:34:17 *** suranga has joined #openmrs
10:55:00 <dkayiwa> Sateesh: are you the kivuri? :D
10:55:14 <dkayiwa> Sateesh: or kavuri :)
10:55:15 <Sateesh> dkayiwa: yes
10:55:22 <dkayiwa> oh i see :)
10:55:31 <Sateesh> dkayiwa: name changed in irc...after a network disconnect
10:55:52 <dkayiwa> Sateesh: so irc knows your other name :)
10:56:11 <Sateesh> dkayiwa: yes, its possible to set the 2'nd preference in xchat
10:56:19 <dkayiwa> Sateesh: ok
10:58:42 *** suranga has quit IRC
11:01:46 *** suranga has joined #openmrs
11:17:42 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Modules: Privilege Helper 1.0.1 uploaded to OpenMRS Module Repository <https://modules.openmrs.org/modules/view.jsp?module=privilegehelper&ampversion=&amp1.0.1>
11:24:31 <dkayiwa> rafa: did 1.9.2 increase the required memory to run the app?
11:25:15 <rafa> dkayiwa: it shouldn't be different from 1.9.1
11:25:22 <rafa> dkayiwa: why?
11:25:40 <dkayiwa> rafa: getting Exception in thread "Thread-12" java.lang.OutOfMemoryError: Java heap space
11:25:55 <dkayiwa> rafa: at org.openmrs.util.DatabaseUpdater.writeUpdateMessagesToFile(DatabaseUpdater.java:683)
11:25:55 <dkayiwa> at org.openmrs.util.databasechange.ConceptValidatorChangeSet.writeWarningsToFile(ConceptValidatorChangeSet.java:363)
11:26:38 <rafa> dkayiwa: how much assigned memory do you have?
11:27:07 <dkayiwa> rafa: -Xmx512m -Xms512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:NewSize=512m
11:27:37 <rafa> dkayiwa: when does this happen?
11:27:48 <dkayiwa> rafa: during database setup
11:28:02 <dkayiwa> rafa: i did choose simple installation method
11:28:09 <dkayiwa> rafa: with an option to include demo data
11:28:30 <dkayiwa> rafa: and am using the standalone
11:29:32 <rafa> dkayiwa: are you using the version of standalone that support vm_arguments?
11:29:40 <dkayiwa> rafa: yes
11:30:09 <rafa> dkayiwa: probably ConceptValidatorChangeSet uses too much memory
11:30:19 <rafa> dkayiwa: do you have yourkit?
11:30:23 <dkayiwa> rafa: i suspect so too
11:30:27 <dkayiwa> rafa: yes
11:30:47 <rafa> dkayiwa: so run it
11:30:54 <dkayiwa> rafa: ok
11:30:55 <rafa> dkayiwa: see what takes so much memory
11:30:58 *** sgithens has joined #openmrs
11:31:44 <dkayiwa> rafa: its this line: sb.append(scanner.nextLine()).append(lineSeparator);
11:32:26 <rafa> dkayiwa: it is possible that there are so many logs that we need to write them in between to a file
11:32:30 <rafa> dkayiwa: not only at the end
11:32:58 <dkayiwa> rafa: i agree
11:33:53 <rafa> dkayiwa: but best to check with yourkit
11:34:02 <dkayiwa> rafa: ok
11:35:09 <dkayiwa> rafa: and just to add, everything works well when i comment out the line: DatabaseUpdater.writeUpdateMessagesToFile(sb.toString());
11:36:25 <rafa> dkayiwa: writeUpdateMessagesToFile should not be writing to StringBuilder
11:36:36 <rafa> dkayiwa: but directly to the writer
11:36:43 <dkayiwa> rafa: i a gree
11:37:36 <rafa> this should reduce memory by half
11:37:43 <dkayiwa> rafa: ok
11:38:02 <rafa> dkayiwa: but ideally we should line line by line to file with writeUpdateMessagesToFile
11:38:10 <rafa> dkayiwa: instead of the whol text at once
11:38:21 <dkayiwa> rafa: ok
11:38:39 <rafa> dkayiwa: we definitely need a ticket for this
11:38:55 <dkayiwa> rafa: does that involve too much IO?
11:39:19 <rafa> dkayiwa: not at all
11:39:26 <dkayiwa> rafa: ok
11:39:27 <rafa> dkayiwa: IO is buffered in memory
11:39:33 <dkayiwa> rafa: ok
11:39:36 <rafa> dkayiwa: before putting to hdd
11:39:41 <dkayiwa> rafa: ok
11:41:36 <rafa> dkayiwa: quick first pass is not to use StringBuilder in writeUpdateMessagesToFile
11:41:46 <rafa> dkayiwa: but write directly to the writer
11:41:58 <dkayiwa> rafa: ok
11:50:53 *** Sateesh has quit IRC
11:56:47 *** dkayiwa has quit IRC
12:07:37 *** dkayiwa has joined #openmrs
12:14:44 *** robbyoconnor has quit IRC
12:20:18 *** kavuri has joined #openmrs
12:35:43 *** tobin_g has joined #openmrs
12:49:54 *** jkeiper has quit IRC
13:24:44 *** his has joined #openmrs
13:26:59 *** jkeiper has joined #openmrs
13:26:59 *** ChanServ sets mode: +v jkeiper
13:28:05 *** dkayiwa has quit IRC
13:31:31 *** dkayiwa has joined #openmrs
13:32:14 *** wyclif_ has quit IRC
13:32:23 <suranga> gi guys :)
13:32:36 <suranga> err
13:32:37 <suranga> hi
13:32:38 *** shangxiao has joined #openmrs
13:44:24 <rafa> hi
13:56:58 *** kavuri has quit IRC
13:58:27 <rafa> dkayiwa: http://connect.iu.edu/omrsu/ :)
13:58:51 <dkayiwa> rafa: am failing to connect
13:59:08 <dkayiwa> rafa: my net has slowed down
13:59:18 <rafa> dkayiwa: with adobe connect?
13:59:44 <dkayiwa> rafa: yes
14:00:06 <dkayiwa> rafa: it just times out
14:00:39 <rafa> dkayiwa: ok, please try in a few minutes again
14:00:57 <dkayiwa> rafa: yes thats what am doing
14:12:23 *** sgithens has quit IRC
14:12:29 *** tobin_g has quit IRC
14:17:51 *** afiles has joined #openmrs
14:17:52 *** wyclif_ has joined #openmrs
14:23:23 *** tobin_g has joined #openmrs
14:26:03 *** adam_l has joined #openmrs
14:26:04 *** tobin_g has quit IRC
14:26:15 *** tobin_g has joined #openmrs
14:26:31 <adam_l> dkayiwa: Hi daniel how are you?
14:26:43 <dkayiwa> adam_l: iam fine
14:26:46 <dkayiwa> adam_l: and u?
14:26:55 <adam_l> dkayiwa: great :)
14:27:26 <dkayiwa> adam_l: :)
14:28:33 <adam_l> dkayiwa: I'm trying to do now hte location hierarchy and I saw the code in the link that you posted in the comments but I can't make it work
14:29:24 <dkayiwa> adam_l: do you like get errors?
14:30:22 <adam_l> dkayiwa: I can't understand from where the content of the tree view comes from? I can't understand how the data transfered using JSON
14:30:28 <adam_l> dkayiwa: No there are no errors
14:30:48 <dkayiwa> adam_l: which page are you looking at to copy?
14:31:17 <adam_l> dkayiwa: hierarchy.jsp
14:32:32 <dkayiwa> adam_l: have you looked at its controller?
14:34:58 *** tobin_g has quit IRC
14:35:30 *** tobin_g has joined #openmrs
14:36:30 <adam_l> dkayiwa: no I'm looking for it right now
14:36:38 <dkayiwa> adam_l: ok
14:39:56 <adam_l> dkayiwa: I need to do handlers like that in the AppointmentBlockListController?
14:40:43 *** tobin_g_ has joined #openmrs
14:40:56 <adam_l> dkayiwa: In order to retrieve the location hierarchy
14:41:10 <dkayiwa> adam_l: yes
14:41:19 <adam_l> dkayiwa: ok I will try that
14:42:12 *** tobin_g has quit IRC
14:51:07 *** yony258 has joined #openmrs
14:53:25 *** ShellZero has joined #openmrs
14:55:02 *** suranga has quit IRC
15:03:38 *** sgithens has joined #openmrs
15:03:43 *** andrea_ has joined #openmrs
15:04:49 <andrea_> where is cpower?
15:05:23 *** cpower has joined #openmrs
15:05:35 <cpower> Hello!
15:05:43 <cpower> Let's Scrum
15:05:51 <cpower> !scrumon cpowre
15:05:51 * 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 cpowre- you may begin when ready.
15:06:33 *** djazayeri has joined #openmrs
15:06:33 *** ChanServ sets mode: +o djazayeri
15:06:46 <cpower> Order: rafa, adam_l, andrea_, dkayiwa, wyclif_, yony258
15:07:26 <djazayeri> then djazayeri. :-)
15:07:35 <cpower> oh sure I guess
15:07:42 <rafa> Today:
15:07:42 <rafa> * Finished preparing the hibernte-search for showcasing
15:07:42 <rafa> * University call
15:07:42 <rafa> * Started with TRUNK-3776: Username validation is not the same between API and web application
15:07:43 <rafa> https://tickets.openmrs.org/browse/TRUNK-3776
15:07:43 <rafa> No blockers.
15:08:14 <cpower> adam..
15:08:54 <cpower> , next andrea_
15:09:10 <andrea_> Tuesday
15:09:10 <andrea_> Work on TRUNK-2768
15:09:10 <andrea_> JSPs
15:09:10 <andrea_> Liquibase change set
15:09:10 <andrea_> ATLAS-43
15:09:11 <andrea_> Wednesday
15:09:13 <andrea_> Univ call
15:09:15 <andrea_> Design call
15:09:17 <andrea_> JSPs for TRUNK-2768
15:09:19 <andrea_>
15:09:21 <andrea_> Blockers
15:09:23 <andrea_> Do we need some design review for JSPs
15:09:27 <andrea_> Calculations for deathdate estimated
15:09:37 <cpower> dkayiwa
15:09:41 <dkayiwa> Committed: SchedulerServiceTest.saveTask_shouldSaveTaskToTheDatabase fails randomly - TRUNK-3831
15:09:42 <dkayiwa> Committed: SchedulerServiceTest:shouldAllowTwoTasksInitMethodsToRunConcurrently fails randomly - TRUNK-3596
15:09:42 <dkayiwa> Curated some more tickets
15:09:42 <dkayiwa> Looked into why patient dashboard does not load for 1.9.2 at: http://gw65.iu.xsede.org:8080/openmrs/admin/patients/patient.form?patientId=3
15:09:43 <dkayiwa> University Call
15:09:43 <dkayiwa> Now going to help Tobin's team with the current tickets
15:09:43 <dkayiwa> No Blockers
15:09:49 <OpenMRSBot> <http://ln-s.net/+EHM> (at gw65.iu.xsede.org:8080)
15:09:57 <cpower> wyclif_
15:10:05 <wyclif_> Tuesday:
15:10:05 <wyclif_> Fixed some bugs for TRUNK-3593-proposed concept queue - proposed concept text did not get saved to dictionary correctly
15:10:05 <wyclif_> Bakport TRUNK-3593 to 1.8.x and 1.9.x, apparently this turned out to be a pain
15:10:05 <wyclif_> Reviewed TRUNK-3491 - Write to independent log file
15:10:05 <wyclif_> Went through a couple of pull requests ut seems some are getting stale or are mine
15:10:06 <wyclif_>
15:10:08 <wyclif_> Wednesday:
15:10:10 <wyclif_> TRUNK-3754 - Modules folder should be configured via a runtime property, not a global property
15:10:12 <wyclif_> design call
15:10:13 <adam_l> rafa: Me and yony258 are having the SCRUM meeting later
15:10:14 <wyclif_> pick another sprint ticket
15:10:16 <wyclif_>
15:10:18 <wyclif_> Discussion point: Stale and unreviewed pull requests
15:10:20 <wyclif_> Blockers: None
15:10:28 <yony258> * Today: Working on AM-4 the createAppointment.jsp form. right now trying to learn how to use patientField.tag.
15:10:34 <yony258> * Tomorrow: more of the same.
15:10:39 <yony258> * Blockers: none but would really appreciate if I could get your opinions on future dates calender in TRUNK-3829
15:10:55 <yony258> since I could really use it in Create Appointment form.
15:11:10 <yony258> !ticket TRUNK-3829
15:11:11 <OpenMRSBot> yony258: [#TRUNK-3829] Change calendar.js to support future dates. - OpenMRS JIRA - https://tickets.openmrs.org/browse/TRUNK-3829
15:11:23 <cpower> ok djazayeri
15:11:46 <djazayeri> Yesterday
15:11:47 <djazayeri> * Reviewed CALC-47
15:11:47 <djazayeri> * Mirebalais iteration wind-down
15:11:47 <djazayeri> * Prepared presentation for Design forum
15:11:47 <djazayeri> Today
15:11:47 <djazayeri> * Calls, calls, calls
15:11:48 <djazayeri> * Start new Mirebalais iteration
15:11:48 <djazayeri> no blockers
15:12:08 <cpower> ok lots of blockers
15:12:12 <dkayiwa> adam_l: scrumming here too will enable us get help from the rest of the group :)
15:12:37 <dkayiwa> adam_l: it also helps them get updated on what we are up to :)
15:13:15 <dkayiwa> adam_l: do you think you can scrum like yony258 has done?
15:13:23 <cpower> Andrea's Blockers that need help: Do we need design reviews for JSP's? and Calculations for deathdate estimated
15:14:04 <adam_l> cpower: *Today working on AM-3 appointment block jsp and AM-8 - adding Location hierarchy to that jsp page.
15:14:27 <adam_l> cpower: *Tomorrow the same and maybe finish the above
15:14:34 <adam_l> cpower: no blockers right now
15:14:45 <dkayiwa> adam_l: thanks :)
15:14:55 <cpower> I could get your opinions on future dates calender in TRUNK-3829
15:14:55 <cpower> [10:10] <yony258> since I could really use it in Create Appointment form.
15:14:55 <cpower> [10:11] <yony258> !ticket TRUNK-3829
15:14:55 <cpower> [10:11] <OpenMRSBot> yony258: [#TRUNK-3829] Change calendar.js to support future dates. - OpenMRS JIRA - https://tickets.openmrs.org/brow se/TRUNK-3829
15:15:10 <djazayeri> okay, let's go in order with the blockers
15:15:23 <djazayeri> andrea_: what do you mean about "do we need design review for JSPs"?
15:15:39 <cpower> !scrumoff
15:15:39 * 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.
15:15:45 <andrea_> birthdate estimated -
15:15:45 <andrea_> must enter either age or birthdste
15:15:45 <andrea_> if age - date is estimated
15:15:45 <andrea_> how to calculate deathdate?
15:16:26 <andrea_> also, html format must change a little
15:16:27 <yony258> dkayiwa: I need your help on how to use findPatient.tag whenever you can.
15:16:30 <djazayeri> andrea_: I would suggest that for deathdate you do _not_ allow capturing "death age"
15:16:37 <yony258> dkayiwa: please :)
15:16:54 <dkayiwa> yony258: anytime :)
15:16:56 <djazayeri> andrea_: instead just capture death date (as we are), and add a checkbox for "estimated"
15:17:14 <djazayeri> andrea_: and map those directly to the object properties.
15:17:36 <andrea_> but how do we know if it's estimsated?
15:17:39 <djazayeri> andrea_: later, if someone asks for the feature of entering approximate-deathdate-by-age, we can add that
15:17:44 <djazayeri> andrea_: the user has to know that
15:17:53 <adam_l> dkayiwa: The location hierarchy is working. I think I need to set the TREE view to be deffault do you agree?
15:17:53 <djazayeri> andrea_: they'd check the box if it's estimated.
15:18:12 <jkeiper> djazayeri, mind if I backport TRUNK-2704 to 1.8.x?
15:18:13 <andrea_> djazayeri, ok thanks
15:18:14 <dkayiwa> adam_l: i fully agree!!!!
15:18:20 <jkeiper> !ticket trunk-2794
15:18:21 <OpenMRSBot> jkeiper: [#TRUNK-2794] Add visit screen should allow entering time for start and stop datetime - OpenMRS JIRA - https://tickets.openmrs.org/browse/trunk-2794
15:18:34 <adam_l> dkayiwa: ok great
15:18:51 <yony258> dkayiwa: So I have this openmrs_tag:patientField formFieldName="patientId" . I want to load some details about the selected patient, (I was doing that in ASP.NET using AJAX )
15:19:09 <yony258> dkayiwa: Details for example: phone number, full name...
15:19:20 <dkayiwa> yony258: which ticket is that?
15:19:28 <yony258> !ticket AM-4
15:19:29 <OpenMRSBot> yony258: [#AM-4] Create new Appointment - OpenMRS JIRA - https://tickets.openmrs.org/browse/AM-4
15:19:42 <dkayiwa> yony258: loading....
15:20:29 <djazayeri> jkeiper: fine to backport that
15:20:40 <jkeiper> djazayeri, thanks ...
15:20:53 <dkayiwa> yony258: have you had a look at this? https://wiki.openmrs.org/display/docs/DWR+in+OpenMRS
15:21:07 <djazayeri> yony258: about the future date picker...
15:21:48 <djazayeri> what's the question exactly?
15:25:17 <yony258> djazayeri: The question is do you think it is possible to add that?
15:26:05 *** shangxiao has quit IRC
15:26:05 <yony258> djazayeri: Or should we implement it just for our module
15:28:51 <djazayeri> yony258: I would suggest that you implement a date picker widget just for the module
15:29:04 <djazayeri> yony258: so you don't have to worry about getting a core bug fixed and backported
15:29:05 <yony258> djazayeri: Ok Thank you
15:29:21 <djazayeri> yony258: ideally we'll fix this in core too, but you don't want to wait for that
15:29:33 <yony258> djazayeri: ok
15:29:39 <dkayiwa> yony258: adam_l will be back in 30mins
15:29:47 <djazayeri> yony258: so basically just copy the code for that widget, and change the one option that's passed to the jquery ui widget
15:33:00 <yony258> djazayeri: ok got it
15:37:56 <adam_l> dkayiwa: ok
15:39:04 <yony258> dkayiwa: Finished reading still dont know how to implement.
15:39:41 *** shangxiao has joined #openmrs
15:42:54 *** ShellZero is now known as applecool
15:42:55 *** ChanServ sets mode: +v applecool
15:47:55 *** sgithens has quit IRC
15:54:04 *** sgithens has joined #openmrs
15:54:33 *** suranga has joined #openmrs
16:09:37 <suranga> howdy rafa :)
16:21:27 <dkayiwa> yony258: adam_l am back :)
16:21:43 <yony258> dkayiwa: welcome back :)
16:21:52 <dkayiwa> yony258: thanks :)
16:22:33 <adam_l> dkayiwa: great :) I did a commit with the locaiton hierarchy. please check it when you'r free
16:22:50 <dkayiwa> adam_l: oh that was so fast :)
16:23:02 <dkayiwa> adam_l: let me review it now. thanks :)
16:23:36 <yony258> dkayiwa: Let me know when you can help me with that issue I mentioned
16:23:54 <dkayiwa> yony258: add a callback attribute to the tag
16:24:47 <adam_l> dkayiwa: super :) I need to add the functionality though
16:26:14 <dkayiwa> adam_l: atleast you made a good start :)
16:26:27 <dkayiwa> yony258: do you need a sample to look at?
16:26:33 <yony258> dkayiwa: yes
16:26:54 <dkayiwa> yony258: look for encounterForm.jsp in openmrs-core
16:27:02 <yony258> dkayiwa: ok
16:27:11 *** kishoreyekkanti has quit IRC
16:27:38 <dkayiwa> yony258: and here is the tag to look for: <openmrs_tag:patientField formFieldName="patientId" searchLabelCode="Patient.find" initialValue="${status.value.patientId}" linkUrl="${pageContext.request.contextPath}/admin/patients/patient.form" callback="updateSaveButtonAndVisits" allowSearch="${encounter.encounterId == null}"/>
16:28:20 <yony258> dkayiwa: Im trying to understand each of the properties meaning, cant find it on google
16:28:53 <dkayiwa> yony258: for now, you only need to understand one property: callback
16:29:04 <dkayiwa> yony258: atleast for the task at hand :)
16:29:55 <dkayiwa> yony258: but just to satisfy your thirst, the tag is implemented in this file in openmrs-core: patientField.tag
16:30:42 *** sgithens has quit IRC
16:34:46 <adam_l> dkayiwa: I think I don't need all the json staff in the controller do you agree?
16:35:45 <dkayiwa> adam_l: you do not need to copy all the stuff in that controller. only enough to get your widget working
16:36:36 <adam_l> dkayiwa: so only to set it to be tree view and that's it
16:37:50 <dkayiwa> adam_l: yes and try test it by creating some locatuin hierarchy
16:38:05 <adam_l> dkayiwa: ok
16:39:10 *** kavuri has joined #openmrs
16:43:47 <dkayiwa> adam_l: yony258 have you guys looked at bamboo for our module? https://ci.openmrs.org/browse/APPT-APPT
16:44:47 <yony258> dkayiwa: will do later
16:45:10 <dkayiwa> yony258: no work. just looking :D
16:46:15 *** applecool has quit IRC
16:48:57 *** andrea_ has quit IRC
16:50:23 <dkayiwa> adam_l: as for the location widget type, leave it as you have already implemented it to be set by use through a global property
16:50:24 *** sgithens has joined #openmrs
16:52:13 <adam_l> dkayiwa: : I didn't understand
16:52:24 <adam_l> dkayiwa: there is problem with it?
16:52:32 <dkayiwa> adam_l: do not hard code it to be a tree
16:53:35 <adam_l> dkayiwa: ok so I will add option tab?
16:53:53 <adam_l> dkayiwa: tag*
16:54:00 <dkayiwa> adam_l: i have put what to be done in the review comments
16:54:08 <adam_l> dkayiwa: ok
16:54:15 <dkayiwa> adam_l: it is simply about removing one line
16:54:31 *** shangxiao has quit IRC
16:59:40 *** yony258 has quit IRC
17:17:09 *** shangxiao has joined #openmrs
17:17:22 *** yony258 has joined #openmrs
17:25:48 *** dkayiwa has quit IRC
17:26:52 *** afiles has quit IRC
17:28:12 *** dkayiwa has joined #openmrs
17:34:07 *** dkayiwa has quit IRC
17:36:40 *** sgithens has quit IRC
17:42:11 *** sravanthisinha has joined #openmrs
17:42:30 *** sravanthisinha has quit IRC
17:43:06 *** dkayiwa has joined #openmrs
17:53:01 <adam_l> dkayiwa: how can I add to some location, sub-locations?
17:53:28 *** sgithens has joined #openmrs
17:54:01 <adam_l> dkayiwa: ok got it .. I just update parent location
17:54:09 <dkayiwa> adam_l: ok
17:57:09 <adam_l> dkayiwa: The hierarchy works fine
17:57:22 <dkayiwa> adam_l: excellent!!!
17:58:04 <shangxiao> djazayeri
17:58:18 <shangxiao> you there?
17:59:02 <djazayeri> hi shangxiao, yeah, I'm here, but in the midst of a 5-hour block of calls
17:59:17 <shangxiao> oh ok
17:59:22 <adam_l> dkayiwa: Now I need to use ajax(dwr) in order to sync the value(location) and value(calendar) to the appointmnet blocks appear on the list right?
17:59:45 <dkayiwa> adam_l: correct
18:00:02 <shangxiao> dkayiwa: wanna see something cool? :)
18:00:14 <dkayiwa> shangxiao: oh yes :)
18:00:25 <dkayiwa> shangxiao: and hot
18:00:31 <shangxiao> lol
18:00:37 <shangxiao> have you seen this ruby script?
18:00:38 <shangxiao> http://mamememo.blogspot.com.au/2010/09/qlobe.html
18:00:41 <OpenMRSBot> <http://ln-s.net/+EL5> (at mamememo.blogspot.com.au)
18:00:49 <dkayiwa> shangxiao: no
18:00:54 <shangxiao> it's called a quine :D
18:01:07 <shangxiao> it's a ruby script which prints itself out
18:01:38 <shangxiao> but every time you run it it prints itself with the world turning a little bit ;)
18:01:56 *** rafa has quit IRC
18:02:08 <shangxiao> it's so impressive xD
18:02:30 <dkayiwa> shangxiao: :D
18:03:32 <shangxiao> programming art ;)
18:04:02 <dkayiwa> shangxiao: and maddness :)
18:04:09 <shangxiao> lol
18:05:24 <adam_l> dkayiwa: dwr is a way to create servieces which can be called via javaScript?
18:05:51 <dkayiwa> adam_l: yes
18:05:58 <shangxiao> direct web remoting
18:06:10 <shangxiao> it's an rpc mechanism
18:07:03 <shangxiao> dkayiway if you put that ruby script into a file called qlobe.rb and then run the following:
18:07:04 <shangxiao> while [ 1 ] ; do ruby qlobe.rb 1 > tmp; clear; cat tmp; cp tmp qlobe.rb ; done
18:07:25 <dkayiwa> shangxiao: :)
18:07:28 <shangxiao> you should see the world turning around slowly ;)
18:07:57 <shangxiao> but you have to be on mac/ubuntu
18:08:00 <dkayiwa> shangxiao: and if i want to see it turning around fast? :)
18:08:10 <shangxiao> hm
18:08:28 <shangxiao> make the "1" bigger ;)
18:11:44 <adam_l> dkayiwa: so I can create a new method in DWRAppointmentService class which returns a list of appointment blocks which have the selected location? and when I have the list in the javaScript how can I update the appointment blocks list?
18:12:16 <dkayiwa> adam_l: first create the method and then i will guide you next
18:12:42 <dkayiwa> adam_l: https://wiki.openmrs.org/display/docs/DWR+in+OpenMRS
18:15:52 *** adam_l has quit IRC
18:16:17 *** adam_l has joined #openmrs
18:16:37 <adam_l> dkayiwa: I need to create DWRAppointmentService.java file?
18:16:56 <dkayiwa> adam_l: yes
18:17:03 <djazayeri> dkayiwa: did you ever create the rapid board for this sprint?
18:17:07 <adam_l> dkayiwa: where to put it?
18:17:28 <dkayiwa> adam_l: in the omod project
18:17:38 <dkayiwa> djazayeri: oh no!!!
18:18:41 <djazayeri> dkayiwa: are the ticket statuses at https://tickets.openmrs.org/secure/Dashboard.jspa?selectPageId=12355 up to date?
18:21:31 <dkayiwa> djazayeri: yes
18:23:39 <djazayeri> okay
18:29:03 *** tobin_g has joined #openmrs
18:29:44 <tobin_g> yony258: dkayiwa adam_l do you guys want to scrum early today? forgot that there is design call at 9
18:30:15 <tobin_g> adam_l: yony258 i'm planning to join the call but unless you have things that need discussing it's not neceessary for you
18:31:21 *** yony258_ has joined #openmrs
18:31:42 *** adam_l has quit IRC
18:32:12 <tobin_g> dkayiwa: any idea whats up with the CI server?
18:32:25 <dkayiwa> tobin_g: no
18:32:38 <tobin_g> dkayiwa: i guess we're beta testing :)
18:32:52 <dkayiwa> :D
18:32:52 *** adam_l has joined #openmrs
18:33:04 <tobin_g> hi suranga
18:33:22 *** yony258 has quit IRC
18:33:23 <tobin_g> dkayiwa: adam_l yony258_ do you guys want to scrum early today? forgot that there is design call at 9
18:33:54 <yony258_> tobin_g: sure, I can stay at the design call until 22:30 though
18:34:25 <tobin_g> adam_l: yony258_ i'm planning to join the call but unless you have things that need discussing it's not necessary if you want to work?
18:34:44 <tobin_g> yony258_: adam_l how was the presentation by the way?
18:35:02 <yony258_> tobin_g: What do you want to discuss in the call?
18:35:13 <adam_l> tobin_g: I don't mind to do SCRUM early
18:35:35 <tobin_g> yony258_: i'm just curious about some of the new UI stuff; not related to our project
18:35:50 <tobin_g> yony258_: i don't think we have any stuff to discuss for our sprint right now do we?
18:36:03 <adam_l> tobin_g: the presentation was ok :) plus minus
18:36:05 <yony258_> tobin_g: I don't
18:36:20 <tobin_g> adam_l: saw you committed some stuff but haven't been able to play with it b/c the CI server is down :(
18:36:40 <tobin_g> adam_l: why plus minus?
18:37:11 <yony258_> tobin_g: I can scrum right now if you want
18:37:37 <tobin_g> yony258_: adam_l whose the boss today?
18:37:48 <yony258_> tobin_g: you
18:38:12 <tobin_g> yony258_: i don't know if i can take the pressure :P
18:38:32 <tobin_g> ok dkayiwa here we go!
18:38:35 <yony258_> !scrumon
18:38:35 * 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 - you may begin when ready.
18:38:38 <adam_l> tobin_g: the content was good but we presented it not that good.
18:38:52 <yony258_> order: adam_l dkayiwa tobin_g yony258_
18:39:59 <adam_l> *Today did some fixes and worked on the appointment block UI
18:40:12 <adam_l> *Tomorrow the same
18:40:26 <adam_l> no blockers
18:40:36 <dkayiwa> Reviewed commits
18:40:37 <dkayiwa> Given some guidance on tasks at hand
18:40:37 <dkayiwa> Waiting for more questions and commits to review :)
18:40:37 <dkayiwa> No Blockers
18:40:53 <tobin_g> today: experimented with module on CI (until CI broke)
18:40:53 <tobin_g> tomorrow: continue "bugging" module and prepare additional tickets for sprint
18:40:53 <tobin_g> blockers: none
18:41:02 <yony258_> Today: Was working on Create Appointment form,
18:41:06 <yony258_> trying to go deeper with my understanding of the spring:bind tag
18:41:10 <yony258_> and how the patientField.tag works.
18:41:16 <yony258_> Tomorrow: Hopefully make a lot of progress with this form.
18:41:21 <yony258_> Blockers: Don't know how to present the details of the selected patient.
18:41:25 <yony258_> !scrumoff
18:41:25 * 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.
18:41:48 <tobin_g> yony258_: in terms of not knowing how to present, is that a technical or a UI thing?
18:41:56 <yony258_> tobin_g: technical
18:42:11 <tobin_g> yony258_: when you get to the UI stuff let me know
18:42:26 <yony258_> tobin_g: ok
18:42:53 <tobin_g> adam_l: yony258_ how are you guys feeling about expanding the sprint to include an additional page which will allow us to see what appointments are scheduled for a particular day?
18:43:23 <tobin_g> adam_l: yony258_ a basic version of the appointment/queue management page we talked about before.
18:43:46 <tobin_g> adam_l: yony258_ if we could finish this, i think the module would be "usable"
18:44:41 <yony258_> tobin_g: I think that we should finish the stuff we are doing now and then check how much time we have.
18:44:53 *** sgithens has quit IRC
18:45:03 <tobin_g> yony258_: of course wouldn't be a "required" ticket
18:45:17 <tobin_g> yony258_: but yeah that makes sense. i'll try to write up the user stories for it.
18:45:21 <yony258_> tobin_g: ok than I see no reason not to
18:45:40 <tobin_g> yony258_: adam_l cool.
18:45:50 <tobin_g> yony258_: adam_l are you guys in b7 this weekend?
18:45:53 <adam_l> tobin_g: ok if it's not required
18:46:06 <yony258_> tobin_g: I dont think so
18:46:21 <tobin_g> yony258_: ok. not sure if i'm going to be either but figured i'd check
18:46:43 <adam_l> tobin_g: I'm not sure either
18:48:48 *** sgithens has joined #openmrs
18:50:49 <dkayiwa> adam_l: yony258_ have you guys looked at? http://gw65.iu.xsede.org:8080/openmrs
18:51:21 <yony258_> dkayiwa: un/pw ?
18:51:33 <dkayiwa> adam_l: admin/DevTest01
18:51:47 <dkayiwa> yony258_: ^^
18:52:31 <yony258_> dkayiwa: Nice, what is that for?
18:52:38 <adam_l> dkayiwa: is that the CI server?
18:53:03 <dkayiwa> yony258_: every time you guys commit, your changes are reflected there
18:53:13 <dkayiwa> adam_l: ^^
18:54:01 <adam_l> dkayiwa: :)
18:54:13 <dkayiwa> yony258_: adam_l but only if this shows green: https://ci.openmrs.org/browse/APPT-APPT
18:55:56 <adam_l> dkayiwa: I need now list of appointment blocks that have a specific location and date. I need to add method to the api level? or I can change the list returned from the db?
18:56:25 <dkayiwa> adam_l: create an api method for that
18:56:41 <adam_l> dkayiwa: ok
18:56:49 <adam_l> dkayiwa: thanks :)
18:57:51 <yony258_> tobin_g: So do you need me on the Design Call today? or is it not related to our project?
18:58:09 <adam_l> dkayiwa: in the method that I added to the DWR class I need to check if the context is authenticated?
18:58:32 <tobin_g> yony258_: unrelated
18:58:40 <yony258_> tobin_g: ok
18:58:46 *** yony258_ has quit IRC
18:58:47 <dkayiwa> adam_l: yes you can
19:00:23 <adam_l> dkayiwa: just to test the dwr I will return only the voided appointment blocks and letter I will add the api method and tests. Is that ok?
19:01:03 <dkayiwa> adam_l: did u mean non voided?
19:01:34 <adam_l> dkayiwa: It can be.... just to see that my appointment block list is being updated
19:01:34 *** cpower has quit IRC
19:02:11 <dkayiwa> adam_l: ok
19:08:46 *** yony258 has joined #openmrs
19:10:28 <adam_l> dkayiwa: how I can get the selected location id by java scripit? I mean it's not an html tag.
19:11:39 <adam_l> dkayiwa: can I use getElementByName , getElementByID?
19:13:41 *** dkayiwa has quit IRC
19:14:43 *** adam_l has quit IRC
19:18:42 *** dkayiwa has joined #openmrs
19:19:07 *** shangxiao has quit IRC
19:20:01 <yony258> dkayiwa: Can you please tell me how to get to encounterForm.jsp on the standalone version (Demonstration mode)
19:20:48 <dkayiwa> yony258: its already part of openmrs
19:20:49 <dkayiwa> yony258: so it should be there
19:21:01 <yony258> dkayiwa: Im asking where is it?
19:21:13 <yony258> dkayiwa: What do I need to do on the standalone to get there
19:22:36 <dkayiwa> yony258: http://gw65.iu.xsede.org:8080/openmrs/admin/encounters/encounter.form
19:22:40 <OpenMRSBot> <http://ln-s.net/+EMk> (at gw65.iu.xsede.org:8080)
19:23:01 *** adam_l has joined #openmrs
19:28:43 <dkayiwa> yony258: http://gw65.iu.xsede.org:8080/openmrs/admin/encounters/encounter.form
19:28:44 <OpenMRSBot> <http://ln-s.net/+EMk> (at gw65.iu.xsede.org:8080)
19:28:52 <yony258> dkayiwa: I dont understand what will the spring:bind path="appointment.patient" do if there is no defined appointment?
19:29:29 <dkayiwa> yony258: it will enable you send back (to the controller) the select patientId
19:29:52 <yony258> dkayiwa: Still I dont understand
19:30:10 <dkayiwa> yony258: when you click add new, the controller does new Appointment()
19:30:26 <dkayiwa> yony258: and then uses this brand new appointment for the page
19:30:45 <yony258> dkayiwa: But I dont click add new until I locate the patient
19:30:46 <dkayiwa> yony258: the spring:bind populates that object with the appropriate values
19:31:05 <dkayiwa> yony258: i mean the link you click to load the appointment page
19:31:35 <yony258> dkayiwa: What did I write to do that? (activate the constructor)?
19:31:55 <dkayiwa> yony258: am not sure i get your question
19:32:39 <yony258> dkayiwa:You say when I click "create appointment" form link it will activate appointment() constructor, correct?
19:33:20 <dkayiwa> yony258: yes the same way i did they create new appointment type
19:33:38 <dkayiwa> yony258: look at how the controller create a brand new appointment type for the page
19:33:53 <yony258> dkayiwa: What piece of code causes the activation of appointment() constructor?
19:34:15 <dkayiwa> yony258: look at the appointmenttypeform controller for a sample
19:35:26 <yony258> dkayiwa: Looking at it now, where should I look?
19:35:36 <dkayiwa> yony258: look at all of it :)
19:35:51 <yony258> dkayiwa: Where is the code that activates the constructor?
19:36:03 <dkayiwa> yony258: have you looked at all of it?
19:37:32 <yony258> tobin_g: Still here?
19:41:16 <tobin_g> yony258: yeah sup
19:42:05 <yony258> tobin_g: When a user want to edit an appointment he should have the option to void that appointment, add reason, unvoid an appointment, purge an appointment.
19:42:34 <yony258> tobin_g: We have two options to do that: 1. On the create appointment form. 2. Adding a new Edit appointment form.
19:43:02 <yony258> tobin_g: I think that choosing the first option will cause this form to be too confusing on the use case of "create new appointment".
19:43:12 <tobin_g> yony258: i agree with you
19:43:37 <tobin_g> yony258: i think we have an edit appointment form somewhere that we made a balsamiq of?
19:44:03 <yony258> tobin_g: dkayiwa Let me know what you think. Take into consideration the complexity of each of the options. tobin_g if you choose option #2 please make a balsamiq mock up with all the mentioned options.
19:44:25 <tobin_g> yony258: ok
19:44:29 <yony258> tobin_g: As far as I remember we said we will use the same form just with preloaded values (option 1)
19:44:46 <tobin_g> yony258: why is this coming up now?
19:45:04 <tobin_g> yony258: yes we did say to prefill, but a different form
19:45:10 <tobin_g> yony258: hmmm a little confused
19:46:44 <yony258> tobin_g: Because I just thought of it now. We didn't took into consideration the void/retire , unvoid/unretire, purge options.
19:46:54 *** kavuri has quit IRC
19:47:00 <tobin_g> yony258: gotcha.
19:47:14 <tobin_g> yony258: the appointments would only get edited from the appointment management page which we haven't created yet which is why i guess why we didn't talk about it
19:47:26 <tobin_g> yony258: when i say created, i meant scheduled.
19:47:35 <tobin_g> yony258: but this is what i was planning to work on in the next day or so.
19:47:55 <yony258> tobin_g: ok, just wanted to bring up this issue
19:47:56 <tobin_g> tobin_g: does the behavior effect what you're doing now?
19:48:11 <tobin_g> yony258: excellent that you did :)
19:48:14 <yony258> tobin_g: No, it will only be added (if we will choose option 1)
19:48:29 <tobin_g> yony258: i think option 2 is the way to go
19:49:03 <yony258> tobin_g: Ok, btw purge I think is the same as "Delete" so maybe we dont have to put it on the Edit UI
19:49:20 <tobin_g> yony258: yeah
19:49:20 <yony258> tobin_g: (assuming we will have a seperate "delete" button next to "edit")
19:49:28 <tobin_g> yony258: right :)
19:49:39 <tobin_g> yony258: or since i think it won't get used that much, it may be a button on the edit scren.
19:50:43 <yony258> tobin_g: Well its your call, but as a User I would like to have the CRUD options available easily.
19:52:07 <tobin_g> yony258: makes sense
19:52:25 <tobin_g> yony258: i'll design that page / functionality then we'll all talk about it
19:52:35 <yony258> tobin_g: ok
20:02:06 <yony258> dkayiwa: I refactor->rename a controller and it caused a problem "There is already handler of type "+previousControllerName. How to fix it?
20:03:53 <dkayiwa> yony258: duplicate url mappings
20:05:10 <yony258> dkayiwa: I cant find the other file that has the same url mapping
20:05:26 <yony258> dkayiwa: Did a search on all of the module, there is only 1 file that has this mapping
20:05:43 <dkayiwa> yony258: which annotation are you looking at?
20:05:50 <yony258> dkayiwa: @RequestMapping(value = "/module/appointment/createAppointmentForm"
20:06:39 <dkayiwa> yony258: pastebin the new controller
20:07:31 <yony258> dkayiwa: http://pastebin.com/Pq4i2VyS
20:08:24 <dkayiwa> yony258: just call it AppointmentFormController
20:08:36 <dkayiwa> yony258: just to be consistent with our naming convention
20:08:59 <yony258> dkayiwa: That what I did and it caused this error, tried to name back and than I had the error with the other name....
20:09:15 <dkayiwa> yony258: when do you get the error? when compiling?
20:09:23 <yony258> dkayiwa: Uploading the omod
20:10:06 <dkayiwa> yony258: if you comment out @RequestMapping does it load?
20:10:29 <yony258> dkayiwa: BTW I dont think the AppointmentFormController name is good, because there will be more Appointment forms, or do you suggest doing all mappings related to appointment forms in this file
20:10:34 <yony258> dkayiwa: I'll check
20:12:49 <yony258> dkayiwa: Yes commenting the @RequestMapping annotation fix this problem.
20:13:08 <dkayiwa> yony258: paste here the entire commented out line
20:13:28 <yony258> dkayiwa: //@RequestMapping(value = "/module/appointment/createAppointmentForm", method = RequestMethod.GET)
20:14:30 <dkayiwa> yony258: change it to /module/appointment/appointmentForm
20:14:39 <dkayiwa> yony258: and rename the class too
20:15:04 <yony258> dkayiwa: Rename the form too?
20:15:12 <dkayiwa> yony258: the controller
20:15:33 <dkayiwa> yony258: even the jsp
20:15:42 <dkayiwa> yony258: to be consistent with names i and adam_l used
20:16:10 <yony258> dkayiwa: Take into consideration that will be edit appointment form .jsp and manage appointments form.jsp
20:16:50 <dkayiwa> yony258: is one displaying a list of appointments?
20:17:14 <yony258> dkayiwa: Manage Appointments Form
20:17:27 <dkayiwa> yony258: is that displaying a list of them?
20:17:33 <yony258> dkayiwa: yes
20:17:49 <dkayiwa> yony258: just just follow my and adam_l convention
20:17:52 <dkayiwa> yony258: list and form
20:18:06 <dkayiwa> yony258: just look at our controllers and jsp names
20:18:12 <yony258> dkayiwa: How will the edit appointment form be named?
20:18:28 <dkayiwa> adam_l: appointmentForm.jsp
20:18:40 <yony258> dkayiwa: and the create appointment form?
20:19:02 <dkayiwa> adam_l: edit and create are the same. just look at what i did for appointment types
20:19:16 <yony258> dkayiwa: You are notifying adam
20:19:23 <yony258> dkayiwa: No they won't on this case
20:19:26 <dkayiwa> yony258: sorry :)
20:19:41 <dkayiwa> yony258: do they have different fields?
20:19:54 <yony258> tobin_g:
20:20:10 <tobin_g> yony258: sup?
20:20:27 <yony258> tobin_g: can you repeat please the issue we talked about?
20:20:43 <tobin_g> yony258: from a few minutes ago?
20:20:49 <yony258> tobin_g: dkayiwa Edit and Create Appointment - Same page or Different?
20:21:15 <tobin_g> tobin_g: from my perspective, different
20:21:21 <dkayiwa> yony258: can i look at the mockups for each
20:21:49 <yony258> tobin_g:
20:22:06 <tobin_g> yony258: yeah, i just haven't made them all...
20:22:50 <yony258> dkayiwa: The motivation to make different forms is the frequency of use of the create appointment in comparison to the edit appointment.
20:23:23 <dkayiwa> yony258: can i see at how they will look like?
20:23:24 <tobin_g> tobin_g: i think they're different forms. because the create will have a sort of "intelligence" for picking times
20:23:40 <tobin_g> yony258: dkayiwa whereas the edit will be editing for a time that already exists mostly
20:24:01 <tobin_g> yony258: dkayiwa i need to think through the behavior
20:24:20 <dkayiwa> tobin_g: do they display different fields?
20:24:40 <tobin_g> dkayiwa: the edit may be a subset of the create
20:24:59 <dkayiwa> tobin_g: what percentage of difference in fields?
20:25:13 <yony258> dkayiwa: ~30%
20:25:26 <tobin_g> dkayiwa: to be honest hard for me to say
20:25:38 <dkayiwa> yony258: will need to look at the mockup to tell whether we use the same or different page
20:25:40 <tobin_g> dkayiwa: i'm trying to look @ mockups
20:26:49 <yony258> dkayiwa: In order to save time, lets stick with the name CreateAppointmentFormController, ok?
20:27:03 <yony258> dkayiwa: We can change it if we decide we won't need another form
20:27:03 <dkayiwa> yony258: lets use the other
20:27:09 <yony258> dkayiwa: ok
20:27:22 <dkayiwa> yony258: it is safe to follow convention until when we prove otherwise
20:27:39 <yony258> dkayiwa: ok
20:28:05 <tobin_g> dkayiwa: yony258 i think it will be another form
20:28:27 <tobin_g> dkayiwa: yony258 i envision the "edit" as allowing you to do things that the create will not let you do - like schedule an appointment into a full block at a very specific time
20:28:36 <dkayiwa> tobin_g: yony258 cannot tell until when i look a the real mockups
20:28:56 <tobin_g> yony258: dkayiwa i'll get you some mockups in the next day or so
20:29:18 <dkayiwa> tobin_g: yony258 it is after then that i will be in position to make a decision about it :)
20:29:38 <yony258> dkayiwa: Ok it works now, can you explain to me the problem so I'll won't need your help if it will happen again?
20:29:40 <tobin_g> dkayiwa: makes sense
20:30:14 <dkayiwa> yony258: problem was that you had more than one request mapping for the same url
20:30:41 <yony258> dkayiwa: How can this happen if there is only one in the module files? (I checked and confirmed that more than one time)
20:31:24 <dkayiwa> yony258: not sure. may be module loading cause problems (or possible bug some where)
20:31:43 <yony258> dkayiwa: It said something with ".../APPDATA/..."
20:31:56 <yony258> dkayiwa: I reinstalled the standalone and deleted that folder
20:32:04 <yony258> dkayiwa: But it didnt solved it
20:32:15 <dkayiwa> yony258: ok
20:33:43 <yony258> dkayiwa: ok
20:38:24 *** tobin_g has quit IRC
20:42:28 *** sgithens has quit IRC
20:46:40 <yony258> dkayiwa: Ok I fixed the issue with the spring:bind, I was missing that constructor. How do I load the patient details, I need to use AJAX right? (callback when a patient was chosen on the patientField tag)
20:47:06 <dkayiwa> yony258: yes
20:47:27 <dkayiwa> yony258: https://wiki.openmrs.org/display/docs/DWR+in+OpenMRS
20:47:34 <yony258> dkayiwa: Yes I've read it
20:48:02 <dkayiwa> yony258: ok
20:48:19 <yony258> dkayiwa: So I need to do something that triggers a javascript function that uses dwr. correct?
20:48:41 <dkayiwa> yony258: supply callback to the patient field tag
20:49:10 <yony258> dkayiwa: sending in the method the ${patient.id} ?
20:50:02 <dkayiwa> yony258: can you look at the encounter form i sent you the other time?
20:50:15 <yony258> dkayiwa: Yes I'll have a look
20:50:21 <dkayiwa> yony258: ok
20:50:48 <yony258> dkayiwa: But in that form its just enables the save button
20:51:07 <dkayiwa> yony258: in your case you will make the DWR call
20:53:01 <yony258> dkayiwa: How to I obtain the selected patient id? since the name is not unique
20:53:52 <dkayiwa> yony258: do you see the parameters in the call back for that encounter form?
20:54:19 <yony258> dkayiwa: no where?
20:54:37 <dkayiwa> yony258: what is the name of the callback you are looking at?
20:55:16 <yony258> dkayiwa: function enableSaveButton(relType, id)
20:55:46 <yony258> dkayiwa: you are talking about this parameters?
20:58:05 <dkayiwa> 16:27:38
20:58:05 <dkayiwa>
20:58:06 <dkayiwa> <dkayiwa> yony258: and here is the tag to look for: <openmrs_tag:patientField formFieldName="patientId" searchLabelCode="Patient.find" initialValue="${status.value.patientId}" linkUrl="${pageContext.request.contextPath}/admin/patients/patient.form" callback="updateSaveButtonAndVisits" allowSearch="${encounter.encounterId == null}"/>
20:58:47 *** adam_l has quit IRC
20:59:38 <yony258> dkayiwa: I am probably looking at an old version of this file
20:59:42 <yony258> (FishEye)
21:00:34 <dkayiwa> yony258: would be good to have openmrs-core checked out
21:11:14 *** suranga has quit IRC
21:24:42 <jkeiper> djazayeri, do you know (off hand) if reporting flushes the context after running a rule on N patients?
21:25:17 <jkeiper> it could be that the first 1000 patients have less data ... but the second 1000 took 231% longer to evaluate
21:25:20 <djazayeri> jkeiper: reporting doesn't flush the context ever, AFAIK. but you need to manually keep a context around to reuse it.
21:25:27 <jkeiper> and the third took another 180% longer than the second
21:25:42 <djazayeri> jkeiper: oh, sorry, hibernate context...
21:25:47 <jkeiper> ah sorry, yes
21:26:02 <djazayeri> jkeiper: reporting typically is doing sql queries, and I don't think it loads hibernate objects into the context.
21:29:47 <jkeiper> djazayeri, my rules are using the API to load observations ... so ... is it up to me to flush the context every so often? that could be why it's so slow ...
21:29:51 * jkeiper tries it
21:29:55 <djazayeri> jkeiper: could be
21:30:07 <djazayeri> jkeiper: you could also consider using the reporting module to fetch obs for you
21:30:27 <djazayeri> jkeiper: since in theory some optimization work has already been done...
21:30:38 <djazayeri> jkeiper: Data Definitions, I think.
21:31:31 <jkeiper> hmmmmmmmmmmmmmmmmm
21:31:39 * jkeiper will read up on that
21:35:03 <yony258> dkayiwa: Sorry for this silly question, does OpenMRS Person has a contact number? a phone? or something like this?
21:35:22 <dkayiwa> yony258: you would add it as a person attribute
21:36:39 <yony258> dkayiwa: How can I check if an attribute is a phone number? (I loaded the selected patient, got it's person, now want to show his/her phone number)
21:37:39 <dkayiwa> yony258: you may use a global property to let the user specify which attribute has the phone number
21:38:19 <yony258> dkayiwa: Where? It looks too complicated
21:39:13 <dkayiwa> yony258: first step is let module register a global property
21:40:38 <dkayiwa> yony258: https://wiki.openmrs.org/display/docs/Setting+and+Reading+Global+Properties
21:42:43 <yony258> dkayiwa: So the idea is to tell the user to config this property to the correct attributeId after the installation of this module?
21:43:17 <dkayiwa> yony258: perfect
21:43:40 <yony258> dkayiwa: ok
21:43:54 *** jkeiper has quit IRC
21:49:01 <yony258> dkayiwa:
21:49:07 <yony258> dkayiwa: on config.xml
21:49:09 <yony258> <globalProperty> <property>${project.parent.artifactId}.AttributeType.contactId</property> <defaultValue>8</defaultValue> <description>Allows admin to set which attribute type ID describes the contact details for the patient.</description> </globalProperty>
21:49:16 <yony258> dkayiwa: Sry ill pastebin
21:49:57 <yony258> dkayiwa: http://pastebin.com/xEdyt5MS
21:50:09 <dkayiwa> yony258: loading...
21:51:14 <dkayiwa> yony258: first of all, do not give it a default value because you can never know it
21:51:33 <dkayiwa> yony258: secondly, the description is not correct
21:51:34 <yony258> dkayiwa: ok
21:52:06 <dkayiwa> yony258: can you look at a few descriptions for existing global properties?
21:52:14 <dkayiwa> yony258: and then copy the same pattern
21:52:25 <yony258> dkayiwa: Like this?
21:52:26 <yony258> Allows admin to set which errors to ignore to prevent large numbers of errors getting into table
21:52:51 <dkayiwa> yony258: look at more than one
21:53:02 <dkayiwa> yony258: especially those which take numbers
21:53:21 <dkayiwa> yony258: those which do something more close to yours
21:56:49 <yony258> dkayiwa: Like this? Concept id of the concept defining the WEIGHT concept
21:57:13 <dkayiwa> yony258: yes
21:57:45 <yony258> dkayiwa: Attribute type id of the attribute type that define the phone number attribute?
21:58:53 <dkayiwa> yony258: too many attribute repeatition :)
21:59:54 <dkayiwa> yony258: how about this: Person attribute type id for the phone number.
22:01:05 <dkayiwa> yony258: the name also needs to change
22:01:41 <dkayiwa> yony258: some thing like: ${project.parent.artifactId}.phoneNumberPersonAttributeTypeId
22:02:00 <yony258> dkayiwa: Why dont you just tell me the conventions about globalProperty, because I find it very hard to learn the conventions of OpenMRS.
22:02:20 <dkayiwa> yony258: no convention for this that am aware of
22:02:31 <dkayiwa> yony258: was just making the names more meaningful :)
22:03:31 <yony258> dkayiwa: Sorry I am just starting to lose myself with all of the stuff I learn....
22:03:55 <yony258> dkayiwa: But even when I dont write it, know that I really appreciate the help.
22:04:13 <dkayiwa> yony258: :)
22:05:29 <yony258> dkayiwa: Now I want to get this property value with the javascript function, how do I do that?
22:06:02 <yony258> * with = in
22:06:35 <dkayiwa> yony258: then after getting it?
22:06:55 <yony258> dkayiwa: Let me rephrase this
22:07:19 <dkayiwa> yony258: why don't you do it from the server side?
22:07:32 <yony258> dkayiwa: Assuming I have the personObj, how do I get the phone number in the javascript function.
22:08:20 <yony258> dkayiwa: Please specify what do you mean
22:09:47 <dkayiwa> yony258: like when a patient is selected, you make a DWR call to the server which returns the patient info you need to display
22:09:53 <yony258> dkayiwa: Maybe I should do all of this in the server side? like after callback send to the server side the patient and than add to the map the String of details I want to present.
22:09:57 <yony258> dkayiwa: Exactly
22:10:21 <dkayiwa> yony258: yes
22:10:52 <dkayiwa> yony258: so you do the global propery check from the server
22:10:53 <yony258> dkayiwa: Maybe add a url parameter? patientId?
22:11:08 <dkayiwa> yony258: for DWR it is a method parameter
22:11:21 <yony258> dkayiwa: I mean I dont know how to cause the server to start a specific function for that
22:11:38 <dkayiwa> yony258: you could also create a data transfer object with only the fields you need to display
22:11:58 <dkayiwa> yony258: make a DWR call
22:12:14 <dkayiwa> yony258: can you look at examples in openmrs-core?
22:12:29 <yony258> dkayiwa: Can you direct me to an example?
22:12:34 <dkayiwa> yony258: ok
22:12:56 <dkayiwa> yony258: loading.....
22:13:09 *** wyclif_ has quit IRC
22:15:27 <dkayiwa> yony258: can you look at DWRPatientService
22:16:24 <dkayiwa> yony258: DWRPatientService.getPatient(Integer patientId)
22:17:41 <yony258> dkayiwa: ok
22:24:21 <yony258> dkayiwa: So I'll create DWRAppointmentService.java under which package?
22:25:23 <yony258> org.openmrs.module.appointment.dwr ?
22:25:36 <dkayiwa> yony258: org.openmrs.module.apppointment.web
22:26:03 <dkayiwa> yony258: in the omod project
22:26:23 <yony258> dkayiwa:right click new package "web" ?
22:27:19 <dkayiwa> yony258: right click on src/main/java
22:27:26 <dkayiwa> yony258: then new package
22:29:19 <yony258> dkayiwa: implements GlobalPropertyListener?
22:29:31 <dkayiwa> yony258: no
22:29:41 <yony258> dkayiwa: ok just wanted to confirm
22:32:04 <yony258> dkayiwa: So now I need to add a method to return the description, and than add the dwr to the config.xml with the signature of this method, correct?
22:32:34 <dkayiwa> yony258: return value can be anything you want
22:32:50 <dkayiwa> yony258: can even be a custom object what has all properties you want to display
22:33:13 <dkayiwa> yony258: like PatientListItem groups its display properties for a patient
22:33:46 <yony258> dkayiwa: in c# I would just create a small struct, or use a String Map. How do I do that here?
22:34:24 <dkayiwa> yony258: if you need more than one property you can create a class
22:35:53 <yony258> dkayiwa: Actually according to the ticket I need the patient's phone number and if he missed an appointment lately I should add that too.
22:36:36 <dkayiwa> yony258: create class withe those properties
22:37:16 <dkayiwa> yony258: class with string and boolean
22:37:23 <yony258> dkayiwa: Ok so I'll add to the same package: PatientDescription.java with String phoneNumber and String Date
22:37:31 <yony258> dkayiwa: I need the missed appointment date.
22:37:50 <dkayiwa> yony258: ok
22:41:20 <yony258> dkayiwa: Can you please remind me how do I use messages from messages.properties in java?
22:41:45 <dkayiwa> yony258: what do you want to do?
22:42:55 <yony258> dkayiwa: sorry I meant in javascript, for example if phoneNumber==null than Say: "No existing phone number"
22:43:52 <dkayiwa> yony258: look at appointmentTypeForm.jsp
22:44:41 <yony258> dkayiwa: ok
22:56:21 <yony258> dkayiwa: Did we deleted AppointmentStatus?
22:56:32 <dkayiwa> yony258: renamed
22:56:43 <dkayiwa> added history
22:56:49 <yony258> dkayiwa: Oh had to do an extra refresh
23:08:57 *** sgithens has joined #openmrs
23:12:49 <yony258> dkayiwa: Is there a OpenMRS convention/specific-way to convert Date to String?
23:14:57 <dkayiwa> yony258: for display in a jsp?
23:15:19 <yony258> dkayiwa: yes, Im converting in java and than presenting in jsp
23:15:57 <dkayiwa> yony258: you could use dateField.tga
23:16:02 <dkayiwa> dateField.tag
23:16:47 <dkayiwa> yony258: FormatDateTag
23:17:38 <dkayiwa> yony258: or Context.getDateFormat().format(arg0)
23:19:20 <yony258> dkayiwa: Great. Is that what I need to add to config.xml ?
23:19:20 <yony258> http://pastebin.com/UX3bq0zj
23:20:05 <dkayiwa> yony258: yes
23:22:11 <yony258> dkayiwa: How do I import this to use in javascript?
23:23:52 <dkayiwa> yony258: https://wiki.openmrs.org/display/docs/DWR+in+OpenMRS
23:24:14 <yony258> dkayiwa: just change Patient to Appointment?
23:24:37 <dkayiwa> yony258: meaning???
23:25:08 <yony258> dkayiwa: /dwr/interface/DWRAppointmentService.js
23:25:54 <dkayiwa> yony258: yes
23:40:03 *** rafa has joined #openmrs
23:40:03 *** ChanServ sets mode: +v rafa
23:45:53 <yony258> dkayiwa: Do you prefer to work tomorrow or can I still ask questions ? :)
23:46:35 <dkayiwa> yony258: tomorrow :D
23:46:50 <yony258> dkayiwa: Great, thank you :)
23:53:22 *** yony258 has quit IRC