01:33:26 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (order-entry): Replace order_drug.complex_dosing with unstructured_dosing - TRUNK-2387... <http://feedproxy.google.com/~r/OMRStrunk/~3/abBmWK3nnaY/OpenMRS> || New Changeset: OpenMRS (order-entry): change some em- or en-dashes in comments into regular hyphens, since the maven compiler was choking on them. <http://feedproxy.google.com/~r/OMRStrunk/~3/I-0aKfRK4kI/OpenMRS>
03:15:32 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (concept_mappings): Merging trunk to concept_mappings rev:19955 - rev:20797 <http://feedproxy.google.com/~r/OMRStrunk/~3/7YRL0DZ7Tug/OpenMRS>
04:23:37 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (webapp-testing): Follow up to apply changes after code review comments - APPTEST-10 <http://feedproxy.google.com/~r/OMRStrunk/~3/OZ3PYjO7UMI/OpenMRS> || New Changeset: OpenMRS (webapp-testing): Follow up to apply changes after code review comments - APPTEST-9 <http://feedproxy.google.com/~r/OMRStrunk/~3/xV3VgmxgIa8/OpenMRS>
05:50:12 *** dkayiwa has joined #openmrs-sprint
06:14:14 *** bwolfe has quit IRC
06:36:08 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (order-entry): Dropping the testOrderId field from the TestOrder class and adding missing javadoc to this class - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/3o63wdwKAxo/OpenMRS>
07:37:20 *** rafa has joined #openmrs-sprint
07:37:20 *** ChanServ sets mode: +v rafa
07:41:51 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (obs-codes-expanded): Updating Branch to Revision no. 20829 of trunk <http://feedproxy.google.com/~r/OMRStrunk/~3/cMVRbdFaD3c/OpenMRS>
07:59:37 *** dkayiwa has quit IRC
08:15:54 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (order-entry): Fixing miss spelt fields in the order set member hibernate mapping file - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/iO3qyL-E9G4/OpenMRS> || New Changeset: OpenMRS (obs-codes-expanded): Committing changes overlooked using update to Revision <http://feedproxy.google.com/~r/OMRStrunk/~3/UhNjR6N3v2Y/OpenMRS> || New Changeset: OpenMRS (obs-codes-expanded): Committing changes overlooked using update to Revision <http://feedproxy.google.com/~r/OMRStrunk/~3/F3eYGWuBGVw/OpenMRS> || New Changeset: OpenMRS (order-entry): Renaming orderSetMembers in the OrderSet class to just members - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/wv_nwYeMD0w/OpenMRS> || New Changeset: OpenMRS (order-entry): Dropping the drugOrderId field from a drug order - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/Cy97P4wrGPQ/OpenMRS> || New Changeset: OpenMRS (order-entry): Dropping the testOrderId field from the Order hibernate mapping file - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/Cs0rnaK-jsU/OpenMRS>
09:23:35 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (obs-codes-expanded): Committing fieldGen (web) layer support for custom data types (Draft -1) <http://feedproxy.google.com/~r/OMRStrunk/~3/gmEeVJw_Vtc/OpenMRS>
11:27:19 *** bwolfe has joined #openmrs-sprint
11:27:19 *** ChanServ sets mode: +o bwolfe
11:52:43 <rafa> Hi bwolfe, I'm creating a concept mapping. How to set it up correctly? What is sourceId, sourceCode?
12:00:48 <bwolfe> rafa, did you read the wiki page on concept mapping?
12:00:54 <bwolfe> did you set up a Concept Source ?
12:01:00 <bwolfe> (thats where source id comes from)
12:01:14 <bwolfe> the source code is the unique id/code used in that external source/system
12:01:29 <bwolfe> so in SNOMED, "weight" is 342HJ7ds-32
12:01:29 <rafa> yes, I need to create both.
12:01:41 <bwolfe> so so that long number is the source_code
12:02:00 <bwolfe> and the source_id is the primary key from the ConceptSource row you add for SNOMED
12:02:12 <rafa> perfect! thank you!
12:27:57 *** wyclif has quit IRC
12:53:26 *** bwolfe has quit IRC
13:18:41 *** downeym has joined #openmrs-sprint
13:18:41 *** ChanServ sets mode: +o downeym
13:18:42 *** OpenMRSBot sets mode: +o downeym
13:33:21 *** wyclif has joined #openmrs-sprint
13:56:32 *** asgoyal has joined #openmrs-sprint
14:03:29 <djazayeri> wyclif: skype
14:07:31 <asgoyal> hi
14:08:13 <asgoyal> for the trunk 2383, where should i start looking at the code to get an understanding?
14:10:12 <djazayeri> questions: do you know what a .tag file is? do you know what DWR is?
14:10:53 <asgoyal> no...
14:24:02 *** asgoyal has quit IRC
14:24:10 *** asgoyal has joined #openmrs-sprint
14:25:43 *** dkayiwa has joined #openmrs-sprint
14:26:35 <wyclif> dkayiwa
14:26:44 <dkayiwa> wyclif
14:28:07 <wyclif> i want to keep in touch with the changes you are making to Order and DugOrder bceause apparently am working on a ticket that is duplicating some of the things you have already covered
14:28:30 <wyclif> so am making the following changes to Order, let me know if you are not working on them too
14:29:18 <wyclif> dkayiwa, Am changing orderAction to an enum and making the necessary hibernate mappings changes
14:29:41 <wyclif> have you already changed concept to be a fk to Concept?
14:29:47 <dkayiwa> not yet
14:30:31 <rafa> dkayiwa: skype :)
14:30:37 <wyclif> oh! i think it was indication
14:30:59 <dkayiwa> :)
14:34:11 <djazayeri> asgoyal: look at "locationField.tag" as an example in the core code.
14:34:54 <asgoyal> ok
14:36:07 <djazayeri> The idea is that if I do, on a jsp page, <openmrs_tag:locationField formFieldName="location"/>
14:36:18 <djazayeri> then I'll get the widget defined in the locationField.tag file
14:36:25 <asgoyal> oh ok
14:36:50 <djazayeri> a .tag class is a way of writing some reusable jsp, that can be included as a tag in other jsp pages.
14:37:10 <asgoyal> wow ok
14:37:41 <djazayeri> The nice part about it is that if you're running jetty, you can just edit the .tag file, and see the changes immediately. You don't have to re-deploy the webapp or anything
14:37:53 <djazayeri> so it allows rapid development and tweaking of a ui widget
14:38:03 <asgoyal> cool
14:38:54 <asgoyal> now it says that i need to call some function via ajax
14:39:01 <asgoyal> where is that function located?
14:39:02 <djazayeri> Right. You know ajax, yes?
14:39:07 <asgoyal> no...
14:39:26 <asgoyal> heard of it but dont know it
14:40:21 <asgoyal> tht is why i was searching for some tutorial links on ui widgets and ajax... right now looking at ui widget tutorial
14:40:53 <djazayeri> okay, that's not super-relevant since it's for OpenMRS 2.x
14:41:03 <asgoyal> ok :)
14:41:42 <asgoyal> so that i what i m confused... so i was wondering that if there is any such code written before related to the ticket i m doing.. i can have a look at that and understand it quickly
14:41:54 <asgoyal> rest as i encounter problems i can google them out
14:42:09 <asgoyal> but i need a sample or something to just understand ..
14:42:26 <asgoyal> thats how i did with selenium test cases.. i checked some previous files on that.. and got an idea
14:42:39 <asgoyal> later it became simple to work on them :)
14:44:25 <djazayeri> So, the basic point of AJAX is that the browser requests information (using javascript) and redraws part of the page without reloading the entire page.
14:44:44 <asgoyal> ok
14:44:54 <dkayiwa> hi wyclif
14:44:59 <djazayeri> In this case, you start typing "ampi" and the browser needs to query the server and find out that there's a drug called "Ampicillin"
14:45:02 <wyclif> hi daniel
14:45:12 <asgoyal> ok
14:45:26 <djazayeri> asgoyal: the tool we use for this is DWR
14:46:10 <djazayeri> It allows you to write methods in Java, and they are automatically callable via javascript
14:46:15 <djazayeri> DWR = Direct Web Remoting
14:46:35 <djazayeri> we're not actually using the most recent version of it, so be careful looking at the docs on their website.
14:46:46 <asgoyal> oh ok
14:46:54 <dkayiwa> wyclif: asNeeded exists as prn
14:48:02 <wyclif> dkayiwa, i think getAsNeeded() will always return true when prn is true otherwise it will depend
14:49:01 <wyclif> dkayiwa, am getting this notion from what Burke added as descriptions on each property on the comments on this ticket https://tickets.openmrs.org/browse/TRUNK-2360
14:49:15 <dkayiwa> let me look at it now: wyclif
14:51:36 <djazayeri> asgoyal: a simple example of a DWR method is DWREncounterService.getLocations()
14:51:48 <asgoyal> oh ok
14:52:08 <djazayeri> you're going to need to add some methods in DWROrderService, which already exists (as a class)
14:52:18 <djazayeri> but the code in there may be old and hacky
14:52:26 <asgoyal> oh ok searching that file
14:52:52 <asgoyal> ah got it
14:53:11 <wyclif> asgoyal, if you are not done with this ticket, we can go through DWR together when you come over tomorrow
14:53:18 <dkayiwa> wyclif: do you know what prn is in full?
14:53:24 <wyclif> not sure
14:53:32 <wyclif> ha ha ha
14:53:35 <dkayiwa> :)
14:53:39 <djazayeri> http://www.google.com/url?sa=t&source=web&cd=2&ved=0CCYQFjAB&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FPro_re_nata&ei=5gECTvOsA5LXiAK5zdSsCA&usg=AFQjCNHqn_xeEc4WOZM-sw9FgBQ5NeIfPA&sig2=W9py2aIDw-FZciW41Ki3XQ
14:53:44 <OpenMRSBot> <http://ln-s.net/8w6R> (at www.google.com)
14:53:44 <wyclif> am just coding, i dont understand the medical jargon that well
14:53:49 <dkayiwa> :)
14:54:10 <djazayeri> Pro re nata is a http://en.wikipedia.org/wiki/Latin phrase meaning "in the circumstances" or "as the circumstance arises".http://en.wikipedia.org/wiki/Pro_re_nata#cite_note-0 It is commonly used in http://en.wikipedia.org/wiki/Medicine to mean "as needed" or "as the situation arises." It is generally abbreviated to p.r.n. in reference to dosage of http://en.wikipedia.org/wiki/Medical_prescription medication that is not schedule
14:54:10 <wyclif> i now understand why Burke was forced to go to medical school
14:54:12 <OpenMRSBot> <http://ln-s.net/8w6T> (at en.wikipedia.org)
14:54:50 <dkayiwa> hahahahahah
14:55:04 <dkayiwa> i would go there two if it was not more than one year. :)
14:55:17 <wyclif> lol
14:55:18 *** burke has joined #openmrs-sprint
14:55:18 *** ChanServ sets mode: +o burke
14:55:28 <djazayeri> asgoyal: keep in mind that the logic for "get orderables that match the query string" is already implemented in OrderService.
14:55:35 <asgoyal> i loved biology ... but just cant hold my strength when my teacher used to cut open a frog....
14:55:47 <wyclif> ha ha ha
14:55:48 <asgoyal> oh ok
14:55:53 <asgoyal> :D
14:55:56 <wyclif> bones made me hate bilogy
14:56:16 <djazayeri> asgoyal: you just need to write a short method in DWROrderService that delegates to that OrderService method, and returns the results in a simplified object.
14:56:42 <asgoyal> aaww ok
14:56:43 <wyclif> because when we were studying about bones, the teacher would throw them at me if i was taking in class
14:57:28 *** rafa has quit IRC
14:57:39 <asgoyal> LOL
14:57:43 <dkayiwa> lollllllllllllll
14:57:50 <asgoyal> throw bones!!
14:57:51 <dkayiwa> that teacher!!!
14:57:53 <asgoyal> hahaaha
14:57:53 <wyclif> asgoyal look at DWREncounterService.getLocations() and see the pattern
14:58:06 <dkayiwa> were you bony? :)
14:58:24 <djazayeri> asgoyal: do _not_ look at DWROrderService to learn the pattern
14:58:27 <wyclif> yeah
14:58:32 <djazayeri> that code is very old, and probably hasn't been reviewed
14:58:44 <asgoyal> oh then which one will be the best one to look at?
14:58:46 <djazayeri> look at DWREncounterService.getLocations() first
14:58:51 <asgoyal> oh ok
14:59:01 <djazayeri> (and LocationListItem)
14:59:13 <djazayeri> that will show you exactly what you need to do for DWROrderService.getOrderables(String)
14:59:23 <burke> djazayeri: where is the log for this chat room?
14:59:50 <djazayeri> burke: I don't know, I've never looked at chat logs. just ask everyone to repeat all conversations they've had in the last hour.
15:00:04 <asgoyal> getLocations... i cant search taht in the file DWROrderService...
15:00:11 <wyclif> djazayeri, asgoyal , there are two approaches , the one one that returns a map that is compartible with the new search widgets to support paging and then the older one that would return a list
15:00:17 <burke> so we're logging an empty chat room and everyone is working in a separate one? wtf?
15:00:18 <djazayeri> DWREncounterService
15:00:23 <asgoyal> oops
15:00:46 <djazayeri> burke: https://wiki.openmrs.org/display/IRC/Logs+-+OpenMRS-Sprint
15:00:51 <OpenMRSBot> <http://ln-s.net/8w6Y> (at wiki.openmrs.org)
15:01:09 <burke> djazayeri: thanks
15:01:13 <djazayeri> or rather: https://wiki.openmrs.org/x/ZIIaAQ
15:02:18 <wyclif> burke, djazayeri ,dkayiwa, so getAsNeeded returns true if prn is true otherwise i return the value of asNeeded?
15:02:43 <djazayeri> burke: should we drop the prn column and replace it with an as_needed column?
15:03:04 <djazayeri> or should we be exposing the prn column as an asNeeded property?
15:03:08 <djazayeri> or just stick with prn?
15:03:31 <burke> yes. prn == asNeeded. same thing. PRN is known by clinical folks, "as needed" is understandable by everyone.
15:03:36 <dkayiwa> looks like they referer to the same
15:03:41 <dkayiwa> "as the circumstance arises"
15:04:02 <djazayeri> burke: so drop the prn column and replace with a new column?
15:06:04 <dkayiwa> would that just be trying to do a field rename?
15:06:05 <burke> I liked prn myself, but I'm a doctor. A number of our devs at Regenstrief were confused by it. Everyone understood "as needed". So, my experience is that "as needed" is preferable to PRN to be self-descriptive to the widest audience. UI can show this to clinicians as "PRN"
15:07:27 <asgoyal> brb
15:07:44 <djazayeri> okay, I agree with that.
15:08:05 <dkayiwa> wyclif: would "durationUnits" be different from the existing "units" field?
15:08:26 <djazayeri> dkayiwa: yes, different
15:08:31 <dkayiwa> ok
15:08:58 <wyclif> durationUnits would be specific to duration, i wonder why we have units
15:09:36 <dkayiwa> looks like we should get rid of the generic "units" field
15:11:33 <wyclif> i thinks units is for the drugorder itself
15:11:42 <wyclif> or order
15:12:17 <wyclif> it is drugorder
15:14:28 <dkayiwa> would it be better if we renamed it? And prefix it with what kind of units. Like we do for quantityUnits and durationUnits
15:14:42 <dkayiwa> for consistency
15:14:50 <burke> which units is it for?
15:15:02 <dkayiwa> i have no idea
15:15:08 <djazayeri> maybe strength?
15:15:12 <burke> what attribute does it follow?
15:15:24 <dkayiwa> equivalentDailyDose
15:15:36 <djazayeri> is there a strengthUnits?
15:15:47 <dkayiwa> yes
15:17:04 <burke> delete "units" column and then force a purge of any caches on the computer so it can't come back ;)
15:17:08 <djazayeri> did you add strengthUnits daniel, or was it there already?
15:17:23 <dkayiwa> it was there already
15:17:37 <djazayeri> Maybe it goes with dose
15:18:01 <djazayeri> Looking at the design page I see: strength, dose, duration, quantity
15:18:06 <djazayeri> (those are all the doubles)
15:18:17 <djazayeri> of those, all but dose have an equivalent _units column
15:24:33 *** rafa has joined #openmrs-sprint
15:24:39 *** ChanServ sets mode: +v rafa
15:34:09 <wyclif> djazayeri, burke , i have the following as the order actions enum values NEW, REVISE, DISCONTINUE, RENEW, CARRY_OVER
15:34:22 <wyclif> is there anything else?
15:35:28 *** burke has quit IRC
15:35:39 <djazayeri> wyclif: I don't know
15:35:47 <dkayiwa> :)
15:35:57 <djazayeri> btw, I have a quick question for you in the other chat
15:36:04 <djazayeri> wyclif: is it possible to make one of the new UI search widgets automatically query for the first 25 results when the page is loaded?
15:36:44 <djazayeri> wyclif, dkayiwa: that makes me wonder whether we've got our getActiveOrders methods right.
15:37:09 <dkayiwa> we may need to revise it
15:37:54 <djazayeri> What happens when you discontinue an order?
15:38:03 <djazayeri> it discontinues the active one
15:38:31 <djazayeri> and it creates a new order with action=DISCONTINUE for the same concept
15:38:40 <djazayeri> I suppose that order is instantaneous
15:39:14 <djazayeri> I mean: I suppose that action=DISCONTINUE order is instantaneous
15:39:18 <djazayeri> so it's never "active"
15:39:50 <djazayeri> right?
15:40:09 <djazayeri> actually we should ask burke what the startDate and autoExpireDate are set to on an action=DISCONTINUE order
15:41:29 <dkayiwa> as for the moment, startDate and autoExpireDate are not touched
15:44:37 *** burke has joined #openmrs-sprint
15:44:40 *** ChanServ sets mode: +o burke
15:46:07 <wyclif> it can do search for the first results
15:46:59 <wyclif> dkayiwa, it can do a search on page load
15:47:55 <djazayeri> dkayiwa & wyclif: I emailed burke to ask
15:47:58 <djazayeri> oh, burke is here now
15:48:09 <djazayeri> burke, I emailed the dev list to ask you a question. :-P
15:48:16 <dkayiwa> :)
15:48:18 <burke> sorry. I got kicked out of the (physical) room I was in.
15:48:19 <wyclif> but i doubt if it can get the first 25 on page load
15:48:25 <wyclif> i will test it
15:48:44 <djazayeri> wyclif: would that be easy to add?
15:48:59 <wyclif> i know there is a patch for limiting the fetch size
15:49:14 <wyclif> i will have to create a review and add
15:49:20 <wyclif> but it is do able
15:49:33 <djazayeri> I don't care much about the specific number 25.
15:49:48 <wyclif> yes it can do a search on page load
15:50:14 <djazayeri> Specifically this is about the Manage Providers page, where some implementations will have <20 providers, and others may have thousands.
15:50:23 <wyclif> by adding a query parameter to the url
15:50:42 <djazayeri> I'd like to be able to have the Manage Providers page automatically list all providers when it's loaded, but not too many
15:50:56 <wyclif> see the index.jsp page under dictionary i.e the concept search page
15:51:02 <djazayeri> I understand that feature doesn't exist yet.
15:51:17 <wyclif> it does a search on page load
15:51:52 <djazayeri> Yes, but I don't want a search, I want a getAll, and I want it to *not* return thousands of results
15:52:17 <wyclif> i will test it and add it if possible
15:52:44 <wyclif> if it is not possible i will create a ticket to limit the results on page load
15:52:56 <wyclif> sorry! get all
15:53:04 <wyclif> that is possible
15:53:16 <djazayeri> this is less important than order entry
15:53:22 <djazayeri> so don't do it now.
15:53:29 <djazayeri> I'll have someone else create the ticket
15:53:32 <wyclif> of course not now
15:53:49 <wyclif> i meant some time to come suring this milestone
15:53:54 <wyclif> sorry during
15:56:39 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (order-entry): Changing the liquibase file to allow drug order brandName to be null - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/ayjGH1HRJMk/OpenMRS>
15:56:47 <wyclif> djazayeri, to answer your question, search widgets only perform searches, so getting all is something you would have to just add in the controller for your page
15:57:05 <wyclif> just like the XXX.list pages do
15:57:13 <djazayeri> But that's a method call you'd make on the search widget, right?
15:57:16 <djazayeri> or not?
15:57:20 <wyclif> no
15:57:29 <wyclif> it can be a feature
15:57:34 <djazayeri> okay, gotcha
15:58:28 * burke dislikes having to follow multiple chat rooms
15:58:45 *** rafa has quit IRC
15:59:29 <djazayeri> burke: as I said in the other chat room, the real reason we have two is that the other chat room is completely and utterly unusable for anything work-related during the GSoC application period.
15:59:55 <djazayeri> that's died down now, so we could probably just use the other chat room.
16:00:21 <dkayiwa> +1 for using the other room
16:02:06 <burke> so we fork our room to accommodate a 2-3 week window each year? how about if we don't schedule sprints during the GSoC application process instead?
16:02:36 <djazayeri> well, we started our sprints during the GSoC application process. :-)
16:02:48 <dkayiwa> :)
16:03:21 <djazayeri> What I would really like is to have some sort of medium that's purely for "important" conversation
16:04:10 <djazayeri> but in practice I think people don't make the distinction well. ;-)
16:04:32 <dkayiwa> am among those :)
16:06:05 <djazayeri> Okay, gotta run for a bit, back in 30
16:08:02 <wyclif> me too am heading for lunch
16:08:26 <dkayiwa> at white ???
16:10:18 <wyclif> nope
16:10:39 <wyclif> break room, remember that room at work
16:13:41 <dkayiwa> yes
16:30:00 *** rafa has joined #openmrs-sprint
16:30:00 *** ChanServ sets mode: +v rafa
16:30:22 <djazayeri> burke: if we leave startDate null on a DC order then the only date associated with it is a dateCreated
16:30:36 <djazayeri> that seems wrong
16:35:55 <djazayeri> (my prior comment is wrong, and I rephrased in in an email.)
16:42:04 *** cta has joined #openmrs-sprint
16:42:11 <cta> hello
16:45:23 *** ekrub has joined #openmrs-sprint
16:45:23 *** ChanServ sets mode: +o ekrub
16:48:41 *** burke has quit IRC
16:49:41 *** ekrub has quit IRC
16:53:49 *** dkayiwa has quit IRC
16:55:28 *** rafa has quit IRC
17:00:30 *** burke has joined #openmrs-sprint
17:00:30 *** ChanServ sets mode: +o burke
17:00:36 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (order-entry): Adding foreign key constraint on test_order_id field in the test_order table - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/f-Y2EYpybZY/OpenMRS> || New Changeset: OpenMRS (order-entry): Dropping order_id field from the test_order table - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/9CVIts4KTIM/OpenMRS> || New Changeset: OpenMRS (order-entry): Adding missing javadoc to the drug order class - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/LICwhWiml9s/OpenMRS>
17:01:05 <djazayeri> burke: question for you requiring response about what pk fields to keep in subclasses
17:01:12 <djazayeri> (I emailed it last night)
17:01:50 <djazayeri> concept_numeric table has concept_id as its pk (and no concept_numeric_id field)
17:02:08 <djazayeri> you've proposed the opposite for drug_order
17:21:38 <wyclif> djazayeri, burke, is indication and orderAction required or optional?
17:21:50 <djazayeri> orderAction is required
17:21:52 <djazayeri> indication is optional
17:21:56 <wyclif> thanks
17:29:06 <cta> djazayeri: Hello Darius, about your comments on review for 2387 ticket. I've already fixed that. Corresponding patch is already attached to ticket.
17:29:22 <djazayeri> is that the Drug one?
17:30:00 <cta> no, it's about DrygOrder and complex dosings
17:30:15 <djazayeri> oh, the big one?
17:30:30 <cta> yep
17:30:44 <djazayeri> You did an svn update, and the new patch is against already having your original patch applied, right?
17:30:50 <wyclif> i think we need to update trunk to use the core data after upgrading to 1.8 so that we shorten the liquibase-update-file
17:31:24 <cta> yes, I first did svn update and then created new patch
17:31:24 <djazayeri> wyclif: It would indeed by nice to do that every major release.
17:31:35 <djazayeri> okay, great, will take a look at it later
17:31:42 <wyclif> it getting annoyingly long
17:31:58 <wyclif> we need a ticket like this every milestone
17:32:23 <cta> djazayeri: what about 2358 ticket? any comments from you?
17:32:55 <djazayeri> cta: I commented on the ticket already
17:33:16 <cta> djazayeri: sOk, thnk you. Sorry, I need to go away from my computer for 15-20 minutes.
17:33:24 <cta> (Ok)
17:33:52 <djazayeri> cta: btw you forgot to click Request Code Review on 2387
17:33:54 <djazayeri> I did it for you
17:42:04 *** bwolfe has joined #openmrs-sprint
17:42:04 *** ChanServ sets mode: +o bwolfe
17:43:57 <burke> djazayeri: I'm not sure orderAction should be required. Are we going to infer or assume an action by default? It's not marked as required in the data model image.
17:45:04 <burke> djazayeri: regarding "question for you requiring response about what pk fields to keep in subclasses", I would follow pattern of concept_numeric – i.e., order_id as key in both order_drug & order_test tables. I've updated the data model image.
17:45:53 <djazayeri> okay, will tell daniel that
17:46:27 <djazayeri> burke: what's the interpretation of orderAction == null then?
17:47:24 <burke> NEW order or, if previousOrderNumber != null, REVISE.
17:47:47 <djazayeri> but those are also possible options in the enum?
17:48:20 <djazayeri> btw, the design wiki page should list more possible enum options for order_action
17:48:59 <djazayeri> I have these from an earlier IRC msg from wyclif: NEW, REVISE, DISCONTINUE, RENEW, CARRY_OVER
17:49:53 <djazayeri> IMHO if we're going to have NEW and REVISE as Enum options, and null maps to one of those, in a well-defined way, we should just make the orderAction field required.
17:52:36 <burke> that's okay. as long as consumers of the API are not required to set an action on every order when it's "obvious"
17:56:54 *** burke has quit IRC
17:57:40 *** dkayiwa has joined #openmrs-sprint
18:00:09 <cta> djazayeri: Darius, I need small clarification about 2358, and actually about using Context.getConceptService().getDrugs(string). So, I made an investigation into it and found out that deep under the hood it uses HibernateConceptDAO.getDrugs(String), and what is actually interesting: search criteria for drugs involves drug.retired=false, so it goes that we do not need to iterate over list of drugs one more time. Correct me if I wrong, please.
18:01:07 <djazayeri> Hmm. That is actually incorrect behavior in core then.
18:01:27 <djazayeri> cta: service methods are supposed to include retired metadata by default.
18:02:25 <cta> djazayeri: I didn't know about that
18:02:46 <djazayeri> so, cta, can you please do two things: 1. create a ticket like "ConceptService.getDrugs(String) does not include retired results, but it should", 2. still do iterate in the orderservice method to remove retired options
18:06:11 <cta> djazayeri: no problem, Darius. Can you clarify me what is it supposed to mean - "right GenericMedication results, and the right Drug results" (2358 ticket's comment). We need to create 2 separate tests, don't we?
18:06:49 <djazayeri> Right now you're just checking that the size of the return list is 3.
18:06:55 <djazayeri> really you need to test the contents
18:07:01 <djazayeri> to make sure they're right
18:07:02 <cta> ou
18:07:15 <djazayeri> I think it's fine to do in one test.
18:07:20 <djazayeri> You don't need to test too deeply
18:07:26 *** burke has joined #openmrs-sprint
18:07:26 *** ChanServ sets mode: +o burke
18:07:35 <djazayeri> because this method is going to continue evolving.
18:07:43 <cta> but how to test content?
18:08:04 <djazayeri> For now just make sure there are 3 things in it, two are GenericMedication, and one is a Drug.
18:08:08 <cta> directly but comparing each elements
18:08:19 <cta> okay
18:09:21 <cta> djazayeri: Thank you for clarifications!
18:14:28 *** bwolfe has quit IRC
18:15:48 *** asgoyal has quit IRC
18:30:39 <cta> djazayeri: I found out that inside HibernateConceptDAO.getDrugs(String) is calling ConceptWord.getUniqueWords(String) and it (inter alia) capitalazes result text. In fact, for search we are using only UPPER CASE strings. Is it right behaviour?
18:32:59 <djazayeri> cta: you don't need to care how that method works
18:33:12 <djazayeri> just call ConceptService.getDrugs(String) and use the results. :-)
18:33:51 <cta> hm, but when I gave name "Ampicillin" for my drug it my tests fail for input string "Ampi"
18:34:32 <djazayeri> you have an entry in the Drug table for "Ampicillin" ?
18:34:43 <cta> yes
18:34:55 <djazayeri> it may be a problem that the unit test database is case-sensitive, and mysql in production is not
18:35:23 <cta> ou, it so cool. I didn't now about that
18:35:31 <cta> (know)
19:02:12 <cta> djazayeri: Darius, I've already fixed everything about your last comments on 2358 ticket and attached the patch. What is next?
19:03:35 <djazayeri> cta: how about https://tickets.openmrs.org/browse/TRUNK-2391?
19:04:50 <cta> djazayeri: no problem, Assign it to me
19:19:53 <wyclif> dkayiwa, am loving the standalone when working on multiple branches with different database versions, good job with the standalone
19:20:49 <dkayiwa> oh thats for the feedback wyclif. I use it also only and only for the same purpose :)
19:20:59 <dkayiwa> thats = thanks
19:21:20 <wyclif> got it
19:21:53 <djazayeri> I hadn't thought of that, but it's great
19:22:03 <djazayeri> cta: claim it yourself, you have the power
19:22:23 <cta> djazayeri: I've got the power
19:22:29 <cta> its a magic
19:22:35 <cta> i did it))
19:48:06 <cta> djazayeri: Darius, can you apply the patches for 2358 and 2387, because they are overlaps with 2391
19:54:29 <djazayeri> cta: on a phone call now, will try to do it in the background
19:55:00 <cta> djazayeri: thank you a lot, Darius, I will wait
19:58:30 <djazayeri> wyclif: remind me the ticket number for fetching concepts?
20:13:20 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (order-entry): Adding missing javadoc to order set member - TRUNK-2385 <http://feedproxy.google.com/~r/OMRStrunk/~3/iuGjqPcbuIg/OpenMRS>
20:17:59 *** bwolfe has joined #openmrs-sprint
20:17:59 *** ChanServ sets mode: +o bwolfe
20:37:05 <wyclif> djazayeri, just a second
20:39:01 <wyclif> from your email, do you mean were are ignoring https://tickets.openmrs.org/browse/RESTWS-132
20:39:30 <wyclif> djazayeri, this is the concept name ticket https://tickets.openmrs.org/browse/RESTWS-131
20:39:55 <wyclif> djazayeri, and this is for concepts: https://tickets.openmrs.org/browse/RESTWS-118
20:45:44 <djazayeri> cta, you there?
20:45:58 <cta> djazayeri: yes
20:46:38 <djazayeri> You are now officially a Partial Committer. See https://wiki.openmrs.org/x/CxEz
20:46:54 <djazayeri> you have permission to commit directly to this branch.
20:47:17 <djazayeri> I committed the followup to the unstructured ticket already, but you can commit the Drug ticket yourself.
20:48:10 <djazayeri> When you do this, click "Committed Code" in JIRA (instead of "Request Code Review", which is for patches) and make sure the comment has rev:xyz (where xyz is the revision you just committed)
20:48:41 <cta> djazayeri: Ok, I understand. Thnk you.
20:48:42 <djazayeri> Your commit messages should basically be: ticket summary - ticket id
20:49:06 <djazayeri> or, if it's a followup to a ticket: followup fix for {ticket id}
20:49:11 <djazayeri> Welcome!
20:49:31 <cta> djazayeri: Thank you!
20:50:22 *** dkayiwa has quit IRC
20:51:18 <djazayeri> cta: btw, one comment about that patch. You have a misspelling. isExcepted -> isExpected
20:51:28 <djazayeri> fix that in the commit
20:51:39 <cta> okay, sorry for that
21:17:29 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (order-entry): followup for code review on TRUNK-2387... <http://feedproxy.google.com/~r/OMRStrunk/~3/4fS9j9ejy1k/OpenMRS>
21:24:21 *** ekrub has joined #openmrs-sprint
21:24:21 *** ChanServ sets mode: +o ekrub
21:26:29 *** burke has quit IRC
21:29:33 *** ekrub has quit IRC
21:30:53 <wyclif> djazayeri, what is the default order action?
21:31:24 <djazayeri> if previousOrderNumber is null -> NEW, else RENEW
21:31:25 <wyclif> NEW?
21:31:28 <djazayeri> I think
21:31:43 <djazayeri> Definitely NEW if it doesn't have a previous order
21:31:59 <djazayeri> I'm speculating that RENEW is the default if there is one
21:32:05 <wyclif> i need to set this in a liquibase changeset
21:32:13 <wyclif> so i cant tell if there other is null
21:32:13 <djazayeri> oh, NEW
21:32:25 <djazayeri> for existing orders that are being upgraded, you mean
21:32:44 <cta> djazayeri: Darius, I need your clarification. Since we deleted version and lastVersion properties from Order entity the DAO method _getOrderByOrderNumber(String orderNumber)_ will actually fail, because it supposed the unique result will be returned, but order.number is not uniaue field. And for number 8 can be returned for example 3 orders. It will fail. So, what to do with that method? or we can assume that for now order number will be unique?
21:33:29 *** downeym has quit IRC
21:33:48 <djazayeri> they're unique for now
21:34:04 <djazayeri> actually, get rid of the getOrderHistoryByOrderNumber method
21:34:14 <djazayeri> that only becomes necessary when we add version back.
21:35:25 <cta> okey, sure
21:54:19 <cta> djazayeri: Darius, I already commited code for 2358 and 2391. I did everything as you asked. Now, I gotta sleep. See tomorrow at developers call.
21:54:34 <djazayeri> bye
21:54:48 <cta> good bye, guys
21:54:53 *** cta has quit IRC
22:21:34 <OpenMRSBot> Recent updates in the world of openmrs: New Changeset: OpenMRS (order-entry): Removed version and currentVersion properties from Order and refactored corresponding code - TRUNK-2391 <http://feedproxy.google.com/~r/OMRStrunk/~3/urZSwwZkJTU/OpenMRS> || New Changeset: OpenMRS (order-entry): Exposed drugs as orderables - TRUNK-2358 <http://feedproxy.google.com/~r/OMRStrunk/~3/Jugxl7jdtCM/OpenMRS>
22:39:35 *** burke has joined #openmrs-sprint
22:39:39 *** ChanServ sets mode: +o burke
22:39:49 *** burke has quit IRC