IRC Chat : 2009-06-19 - OpenMRS

01:05:39 *** atomicturtle1 has joined #openmrs
01:15:41 *** Keelhaul has quit IRC
01:43:00 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8607]: ncd: partial progress on AUI-5 (sent in error flag). <http://dev.openmrs.org/changeset/8607>
02:06:29 *** atomicturtle1 has left #openmrs
02:15:02 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8609]: ncd: added Manage NLP Concepts, fixed some eclipse-reported "problems" in … <http://dev.openmrs.org/changeset/8609> || OpenMRS Changesets: Changeset [8608]: ncd: partial progress on AUI-5 (sent in error flag). <http://dev.openmrs.org/changeset/8608>
02:24:16 *** upul has joined #openmrs
02:24:16 *** ChanServ sets mode: +v upul
02:56:52 *** Mkop has joined #openmrs
02:58:55 * r0bby licks his lips
02:59:02 <r0bby> I found an *AWESOME* plugin for IDEA :)
02:59:16 <r0bby> it creates "Class clouds" which shows dependencies among them
03:00:34 <Mkop> r0bby: you have not left IRC all day, it seems
03:00:42 <r0bby> I been getting help
03:00:46 <Mkop> I know
03:00:53 <r0bby> for a problem im *STILL* having
03:01:00 <r0bby> though some objects seem to be saving
03:01:12 <r0bby> it's the sections that's now updating (the List)
03:01:38 <r0bby> Mkop: fighting the urge to flip out
03:01:49 <r0bby> on darius, which isn't good
03:02:20 <Mkop> are your issues technical issues with getting hibernate etc. to do what they're supposed to, or design issues that you can't figure out?
03:05:36 <r0bby> hibernate
03:05:40 <r0bby> Design *WILL* work
03:05:46 <r0bby> right now something is going weird
03:06:06 <r0bby> it's looking for a question_id column in my section table
03:06:50 <r0bby> if i could use JPA annotations i'd be SOOOOOOO happy
03:09:58 <r0bby> DOH
03:10:00 <r0bby> got it
03:10:17 <r0bby> copy/paste == lose.
03:20:35 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8610]: ncd: boilerplated Manage Conditions and Groups <http://dev.openmrs.org/changeset/8610>
04:40:40 *** OpenMRSBot has joined #openmrs
04:40:40 *** ChanServ sets mode: +o OpenMRSBot
04:40:53 <Mkop> hello, bot
05:21:23 *** upul has quit IRC
05:25:35 <r0bby> I love this
05:25:36 <r0bby> 6269272 [http-8080-3] ERROR org.hibernate.util.JDBCExceptionReporter - Unknown column 'formsectio0_.elt' in 'field list'
05:27:39 <Mkop> go to sleep r0bby
05:27:46 <Mkop> go to sleep Mkop
05:30:03 <basic`> shoot, are svn emails still not going out?
05:30:44 <r0bby> tes
05:30:45 <r0bby> yes
05:30:53 <r0bby> Mkop: persistence works :)
05:30:57 <r0bby> Just my list isn't working
05:46:42 *** Mkop has quit IRC
05:52:52 *** upul has joined #openmrs
05:52:52 *** ChanServ sets mode: +v upul
05:53:33 <r0bby> ... this is *SO* cute
05:55:32 <r0bby> my collection isn't persisting
05:58:14 *** Mkop has joined #openmrs
06:54:13 *** Mkop has quit IRC
06:58:14 <r0bby> \/jj
07:22:10 *** atomicturtle1 has joined #openmrs
07:23:10 *** atomicturtle has quit IRC
07:37:52 *** Josesordo has joined #openmrs
07:38:04 <Josesordo> hi
07:39:56 <upul> Josesordo: Hi
07:41:21 <Josesordo> that is a good project...
07:43:33 *** Josesordo has quit IRC
07:45:50 <r0bby> upul
07:46:04 <upul> r0bby
07:48:06 <r0bby> nevermind
07:48:09 <r0bby> im gonna go to sleep
07:48:18 <r0bby> i also cant get tests to run :(
07:48:28 <r0bby> but whatever :)
09:10:53 *** harshini has joined #openmrs
09:11:01 <harshini> hi all
09:25:39 *** harshini has quit IRC
10:06:46 *** atomicturtle has joined #openmrs
10:06:46 *** atomicturtle1 has quit IRC
10:17:28 *** upul has quit IRC
11:47:09 *** james_regen has joined #openmrs
11:47:09 *** ChanServ sets mode: +v james_regen
11:50:46 *** atomicturtle has left #openmrs
11:52:37 *** kane77 has joined #openmrs
12:41:01 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8611]: gmapsimageviewer: Changed config.xml to proper form <http://dev.openmrs.org/changeset/8611>
12:41:05 *** bmckown has joined #openmrs
12:41:05 *** ChanServ sets mode: +o bmckown
13:06:36 *** atomicturtle has joined #openmrs
13:22:24 *** kane77 has quit IRC
13:34:09 *** atomicturtle has quit IRC
14:14:45 *** atomicturtle has joined #openmrs
14:14:58 *** atomicturtle has left #openmrs
14:17:08 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8612]: -- dss * added a utility method <http://dev.openmrs.org/changeset/8612>
14:30:53 *** Keelhaul has joined #openmrs
14:30:53 *** ChanServ sets mode: +v Keelhaul
14:44:25 *** bwolfe has joined #openmrs
14:44:25 *** ChanServ sets mode: +o bwolfe
14:47:42 <r0bby> bwolfe: it seems that everything persists okay... except for my list
14:47:51 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8614]: -- chica * removed utility methods and moved them to dss * changed … <http://dev.openmrs.org/changeset/8614> || OpenMRS Changesets: Changeset [8613]: -- atd * removed some unneeded code <http://dev.openmrs.org/changeset/8613>
14:49:42 <bwolfe> make sure you have the 'inverse' property set up right
15:00:34 <r0bby> which end should it be set up on?
15:00:43 <r0bby> should it be set up on a one-to-many?
15:02:14 <r0bby> http://pastie.org/private/quimhbklawsbonbuekd8pq
15:02:14 <bwolfe> inverse=true should be put onto the child set/list
15:02:17 <OpenMRSBot> <http://ln-s.net/3LlI> (at pastie.org)
15:02:28 * r0bby blinks
15:02:43 <r0bby> I can't think straight when it comes to shit like this it makes my head spin
15:02:45 <bwolfe> inverse=true tells hibernate that the other end of the relationship (the parent object) will handle the adding/removign of list items
15:03:16 <bwolfe> if you do not have the inverse=true, you have to manually loop over the child list items and save them all individually
15:03:44 *** jmiranda has joined #openmrs
15:03:44 <bwolfe> Form.hbm.xml has an example of one-to-many that you should look at.
15:03:44 *** ChanServ sets mode: +o jmiranda
15:03:52 <r0bby> ok
15:04:05 <r0bby> thanks for being so patient with me
15:04:21 *** jmiranda has quit IRC
15:04:44 <r0bby> so i need lazy="true"?
15:05:00 <Keelhaul> lazy is true by default
15:06:05 <bwolfe> lazy only has to do with pulling data back out. it has nothing to do with persisting data
15:06:44 <r0bby> so -- should i add a schema reference to the FacilityDataFormSection class?
15:06:55 <r0bby> is that necessary?
15:07:37 <Keelhaul> not if sections are used by multiple schemata
15:08:37 *** djazayeri has joined #openmrs
15:08:37 *** ChanServ sets mode: +o djazayeri
15:09:28 <r0bby> hrm
15:09:30 <r0bby> ok
15:10:14 <r0bby> bwolfe: the FormQuestionss aren't persisting properly either
15:12:57 <bwolfe> ok, you'll probably want to fix that too
15:19:21 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8615]: ncd: Fix for AbnormalFlagCritic and tests. <http://dev.openmrs.org/changeset/8615>
15:20:28 <r0bby> the bottom mapping is the second mapping
15:20:52 <r0bby> neither is working it matches
15:23:31 <bwolfe> r0bby: you have form_section_id in your section mapping and just section_id in your schema mapping. could be cause?
15:24:30 <r0bby> AHHH!
15:24:34 <r0bby> bwolfe: thanks!!!!
15:24:47 <r0bby> of this works i'm gonna love you forever
15:25:06 <r0bby> that still doesnt explain the other one :(
15:25:09 <bwolfe> oh great
15:25:10 <r0bby> the many to many
15:25:24 <r0bby> let's see if this works
15:25:43 <r0bby> I drempt i was in a prison that had internet access
15:29:13 <r0bby> okay
15:29:26 <r0bby> bwolfe: how do i get around this: not-null property references a null or transient value: org.openmrs.module.facilitydata.model.NumericQuestion.creator
15:30:00 <r0bby> it's a chicken and the egg problem
15:32:25 <bwolfe> um, put a creator on the question.
15:33:16 <r0bby> I did
15:34:38 <r0bby> oh i see what happened
15:36:23 <r0bby> so that means that it's working -- now why didnt hibernate bitch is the question
15:51:23 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #1579 (task closed): Error saving core global properties at startup <http://dev.openmrs.org/ticket/1579#comment:1> || OpenMRS Changesets: Changeset [8617]: 1.5.x: Fixing global property nonuniqueexception at startup after an … <http://dev.openmrs.org/changeset/8617> || OpenMRS Changesets: Changeset [8616]: Fixing global property nonuniqueexception at startup after an upgrade - … <http://dev.openmrs.org/changeset/8616> || OpenMRS Tickets: Ticket #1579 (task created): Error saving core global properties at startup <http://dev.openmrs.org/ticket/1579>
15:56:39 <bwolfe> basic`: FYI: I mentioned the other day that the svn emails weren't working. turns out it was due to the list getting more than 50 in a day and so the list freezing svn@openmrs emails. burke cleaned it up.
16:07:16 *** Keelhaul has quit IRC
16:19:19 <r0bby> bwolfe: nudge me after soc ends -- i wanna give the IDEA plugin for @should a go
16:19:45 <r0bby> also
16:19:49 <r0bby> tests wont run
16:21:08 <r0bby> Caused by: java.io.FileNotFoundException: class path resource [org/apache/taglibs/standard/tag/common/core/ImportSupport.class] cannot be opened because it does not exist
16:21:12 <r0bby> ?!
16:23:03 <r0bby> ill just use the junit task
16:27:10 <bwolfe> make sure all the jars in the .classpath file are in whatever file idea uses
16:29:09 <r0bby> the .classpath file
16:29:16 <r0bby> do you use that class anywhere?
16:29:29 <r0bby> im afraid to hard-code paths
16:29:40 <r0bby> i try and keep them relative to my module
16:29:52 <r0bby> idea can use the .iml (module classpath file)
16:29:58 <r0bby> *OR* the eclipse .classpath file
16:30:40 <r0bby> so each method tests *ONE* @should behavior
16:30:44 <r0bby> as i understand it
16:31:07 <r0bby> and I'm only testing the service layer since the service just delagates to the DAO
16:32:02 <bwolfe> apparently its used, yes. I think its a parent class for some of the taglibs
16:33:16 <r0bby> *sigh*
16:33:26 <r0bby> where is it in openmrs -- i dont see it :/
16:35:23 <r0bby> i use google collections you should look into it
16:35:33 <r0bby> google collections uses generics :)
16:35:41 <r0bby> and it's well tested (you should appreciate that)
16:38:04 <bwolfe> me not commenting on it the 10 times you've mentioned it doesn't mean I don't hear you...it means we're not moving to it.
16:40:02 <r0bby> DO IT!
16:40:05 * r0bby slaps bwolfe
16:40:12 * r0bby runs
16:40:20 <r0bby> Okay working
16:40:42 <r0bby> (I am working, just modifying my mess of a mock report schema :)
17:25:32 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Tickets: Ticket #1580 (defect created): If you type your password wrong, then log in correctly, the API will not lock you out after multiple login attempts in the future <http://dev.openmrs.org/ticket/1580> || OpenMRS Changesets: Changeset [8620]: ncd: added a LOINC column to the reportable result list page, more manage … <http://dev.openmrs.org/changeset/8620> || OpenMRS Changesets: Changeset [8619]: amrs-14x: merging changesets [8602] and [8618] from openmrs-1.4.x <http://dev.openmrs.org/changeset/8619> || OpenMRS Changesets: Changeset [8618]: 1.4.x: Fixing concept_word table upgrade in update-to-latest sql file to … <http://dev.openmrs.org/changeset/8618>
17:32:15 *** Mkop has joined #openmrs
17:50:43 <djazayeri> Anyone out there a whiz with xslt, xpath, and things xml-related?
17:51:13 <bmckown> i've done a little bit lately with the idcards... not necessarily a whiz.
17:51:26 <Mkop> djazayeri: #xml?
17:51:40 <bmckown> xslt, xpath, xml, xsl-fo
17:51:51 <djazayeri> So, I've been toying with the idea of automatically converting infopath forms to htmlforms.
17:52:27 <bmckown> hmm.
17:52:43 <djazayeri> Specifically, taking page1.xsl out of the xsn archive, and automatically converting that to "html" for htmlformentry
17:52:53 <r0bby> djazayeri: at some point, i plan on gutting htmlforms for groovyforms
17:53:06 <djazayeri> By taking the infopath-specific widgets out and replacing them with htmlformentry-specific widgets.
17:53:12 <djazayeri> The issue is this...
17:54:07 <r0bby> your html widgets is so much better than burke's vision of scriptlets
17:54:12 <r0bby> s/is/are/
17:54:17 <Mkop> so that would allow form designers to use infopath, but not require infopath on all the client machines
17:54:31 <djazayeri> I want to take this:
17:54:33 <djazayeri> <span class="xdTextBox xdBehavior_Formatting" hideFocus="1" title="" contentEditable="true" tabIndex="0" xd:CtrlId="CTRL2079" xd:xctname="PlainText" xd:binding="obs/clinical_examination/weight_kg/value" ...
17:54:51 <r0bby> eeek
17:55:02 <r0bby> djazayeri: i actually know a guy!
17:55:30 <djazayeri> and lookup the element in the template.xml file referenced by the xd:binding (in this case obs/clinical_exam/weight_kg) and find the conceptId there.
17:55:42 <r0bby> djazayeri: hold i have a guy coming in
17:55:48 *** ioexception has joined #openmrs
17:56:10 <r0bby> ioexception: djazayeri has a question regarding xml, djazayeri go :)
17:56:17 <djazayeri> Mkop: My main goal would be to allow us to convert our "legacy" infopath forms into htmlforms. But others might have different uses.
17:56:31 <djazayeri> So my question is this:
17:56:31 <r0bby> djazayeri: ioexception wrote an XML editor
17:56:50 <djazayeri> I have one file that contains elements that I want to replace.
17:57:03 <Mkop> if you can do the conversion seamlessly real time, then seemingly what I'm suggesting should work
17:57:17 <djazayeri> I.e. replace <spanxd:binding="something"/> with <obs conceptId="somethingElese"/>
17:57:37 <djazayeri> However I need to look up the mapping from "something" -> "somethingElse" in a different file.
17:57:43 <djazayeri> Can XSLT do that?
17:58:04 <djazayeri> I.e. can I write an XSLT that takes *two* xml documents as input, and produces a single one as output?
17:58:09 <ioexception> yes it can, not so sure about "lookup the mapping"
17:58:24 <ioexception> you can use the document() function
17:58:29 <djazayeri> That's cool.
17:58:45 <djazayeri> To be a bit more specific I would want to convert:
17:59:00 <djazayeri> <spanxd:binding="/obs/clinical_examination/weight_kg/value"/>
17:59:01 <djazayeri> into
17:59:17 <djazayeri> <obs conceptId="(lookup something by xpath)"/>
17:59:46 <djazayeri> where the thing I'd want to look up is the xd:binding from the original element + "../openmrs_concept_id"
17:59:54 <djazayeri> Am I making any sense?
18:00:29 <r0bby> I believe he went afk for a sec -- he mentioend it in another chan im in
18:00:50 <r0bby> i know way too many people..
18:01:15 <bmckown> Yes, that makes sense.... not sure how to do it otmh
18:01:22 <Mkop> r0bby: how many freaking channels are you in?
18:01:29 <r0bby> Mkop: a lot.
18:01:31 <djazayeri> I could obviously do it in Java.
18:01:50 <djazayeri> But I feel like this is what xslt is made for. So I guess this is time to learn.
18:01:53 <r0bby> I'm +i so you can't see channels you don't share in common w/ me.
18:02:05 <Mkop> not true
18:02:11 <bmckown> I used this link a lot for xslt stuff: http://www.dpawson.co.uk/xsl/index.html
18:02:13 <Mkop> /whois r0bby lists all the channels
18:02:23 <ioexception> djazayeri, yes you could use an api such as dom4j and walk the nodes or xslt and use xsl:variable to store the xpath before replacing it
18:02:47 <r0bby> heh :)
18:02:50 <r0bby> shoulda been +i :)
18:03:17 <Mkop> ok, I gotta head out
18:03:20 <djazayeri> ioexception: thanks
18:03:21 <r0bby> have fun :)
18:03:23 <Mkop> see y'all later
18:03:25 <r0bby> Mkop
18:03:40 <ioexception> later, np djazayeri
18:03:41 <bmckown> obviously r0bby has more time to work on it though.
18:03:57 <r0bby> bmckown: what?
18:04:01 <bmckown> maybe he could do that for gsoc.
18:04:04 <r0bby> I'm taking short breaks
18:04:13 <r0bby> bmckown: I have my own shit to do o
18:04:27 <bmckown> i thought you were volunteering... sorry.
18:04:32 <r0bby> Unless of course you want another unfinished project
18:04:48 <r0bby> bmckown: no, groovyforms is volunteer now
18:04:49 <bmckown> finished projects are good.
18:04:59 <r0bby> it has to be finished -- and it will just don't know when
18:05:19 <r0bby> darius's work and his student's work as well is going to help me heaps
18:05:51 <r0bby> his module by far has given me tons of ideas as to how to render it -- that's all that's keeping me from finishing
18:06:12 <r0bby> I need to refactor saving too now
18:07:49 <r0bby> i need coffee
18:08:23 *** Mkop has quit IRC
18:27:40 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8624]: 1.5.x: Backporting trunk fix in [8250] to ignore the auto updates runtime … <http://dev.openmrs.org/changeset/8624> || OpenMRS Tickets: Ticket #1580 (defect closed): If you type your password wrong, then log in correctly, the API will not lock you out after multiple login attempts in the future <http://dev.openmrs.org/ticket/1580#comment:5> || OpenMRS Changesets: Changeset [8623]: 1.4.x branch: Fixing #1580 (If you type your password wrong, then log in … <http://dev.openmrs.org/changeset/8623> || OpenMRS Changesets: Changeset [8622]: 1.5.x branch: Fixing #1580 (If you type your password wrong, then log in … <http://dev.openmrs.org/changeset/8622> || OpenMRS Changesets: Changeset [8621]: Fixing #1580 (If you type your password wrong, then log in correctly, the … <http://dev.openmrs.org/changeset/8621>
18:45:48 <djazayeri> bwolfe: when I disable IP-based lockouts, you do still get locked out via the API-layer user-based check, but it gives the wrong error message.
18:46:01 <djazayeri> This is in LoginServlet: catch (ContextAuthenticationException e) {
18:46:01 <djazayeri> // set the error message for the user telling them
18:46:01 <djazayeri> // to try again
18:46:01 <djazayeri> httpSession.setAttribute(WebConstants.OPENMRS_ERROR_ATTR, "auth.password.invalid");
18:46:26 <djazayeri> do you mind if I make a new TooManyTriesException as a subclass of ContextAuthenticationException?
18:46:52 <bwolfe> do we not have an exception like that ?
18:47:00 <bwolfe> or is contextauthex always used?
18:47:58 <djazayeri> from HibernateContextDAO: throw new ContextAuthenticationException(
18:47:58 <djazayeri> "Invalid number of connection attempts. Please try again later.");
18:48:57 <bwolfe> ah
18:49:18 <bwolfe> sure, make a new exception
18:49:46 <bwolfe> except I like ContextAuthenticationLockoutException more than TooManyTriesException. :-)
18:51:00 <djazayeri> fine, that it is
18:55:46 *** jabobo is now known as jacobb
19:14:12 <r0bby> bwolfe: question
19:14:33 <r0bby> will OpenMRS the approriate service method be called when hibernate saves the object graph ?
19:14:46 <r0bby> ie say I have a List of FacilityDataFormQuestions
19:14:55 <r0bby> or do I need to persist prior to adding them to the list?
19:15:08 <bwolfe> the openmrs services are not called by hibernate
19:15:19 <r0bby> okay
19:15:23 <r0bby> so i need to do it manually
19:15:24 <r0bby> thanks
19:31:46 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8626]: Fixed old update-to-latest sql file to not throw error if column doesn't … <http://dev.openmrs.org/changeset/8626> || OpenMRS Changesets: Changeset [8625]: 1.5.x: Fixed old update-to-latest sql file to not throw error if column … <http://dev.openmrs.org/changeset/8625>
19:35:10 *** ioexception has quit IRC
19:40:37 <r0bby> if I do .getAllFoo()
19:40:48 <r0bby> the last index is the entry that was last added correct?
19:40:59 <r0bby> hrm that can fail nevermind bad idea
19:53:05 <djazayeri> r0bby: looking back up a few lines, you should not have to manually persist thing before adding them to the list.
19:53:16 <djazayeri> If the hibernate mappings are written right, it will magically happen.
19:53:50 <djazayeri> I.e. you can do this and it will work: Patient p = new Patient(...); p.addName("Darius"); savePatient(p);
19:54:33 <djazayeri> However implied here is that the Patient.addName method has to both add the name to the list of names in Patient, and also do name.setPatient(p);
19:56:12 <r0bby> it doesn't
19:56:18 <r0bby> It doesn't set the creator
19:56:30 <r0bby> and causes constraints to be violated -- so it can't hurt to do it
19:56:46 <r0bby> just requires i pay very close attention to what's going on
19:57:19 <r0bby> (seen it happen =/)
19:57:58 <r0bby> I'm kinda winging it w/ hibernate here
19:58:16 <r0bby> I never claimed to know it deeply
19:58:34 <djazayeri> Nobody knows hibernate deeply except the dude who wrote it.
19:58:51 <r0bby> I know guys who spend *DAYS* looking at the code
19:58:52 <djazayeri> So, incidentally there are two different ways to handle the setting of metadata (like creator)
19:59:07 <r0bby> AOP advice?
19:59:11 <r0bby> on my end
19:59:23 <r0bby> I don't feel like *MANUALLY* doing it
19:59:29 <djazayeri> The old way is to manually do it.
19:59:38 <r0bby> the new way?
20:00:26 <r0bby> doing what i'm doing right now isn't bad; it's going to go away -- this code anyways; but knowing the way to do it is good -- i'll need it later
20:01:04 <r0bby> I need more coffee brb
20:01:08 <djazayeri> The new way is to make sure your classes implement org.openmrs.Auditable
20:01:45 <r0bby> OHH
20:01:47 <djazayeri> Then when you save one of them (even implicitly by save it's parent) the AuditableSaveHandler should be invoked.
20:01:55 <r0bby> ok
20:01:58 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Changesets: Changeset [8627]: in patientmatching module, added a "synchronized" to a method earlier when … <http://dev.openmrs.org/changeset/8627>
20:01:59 *** owen1 has joined #openmrs
20:02:00 <djazayeri> I have not actually done this yet.
20:02:22 <r0bby> I still need the other metadata
20:02:25 <djazayeri> And I'm not sure whether it's been tested to have this in a module.
20:02:31 <r0bby> *WAIT*
20:02:33 <owen1> is there any channel for medical questionsL
20:02:36 <owen1> ?
20:02:37 <r0bby> it implicitly implements it!
20:02:37 <djazayeri> What other metadata?
20:02:57 <r0bby> I'm using BaseOpenmrsMetadata
20:03:23 * r0bby sighs
20:04:38 <r0bby> http://resources.openmrs.org/doc/org/openmrs/BaseOpenmrsMetadata.html
20:04:40 <OpenMRSBot> <http://ln-s.net/3Ls0> (at resources.openmrs.org)
20:04:47 <r0bby> ^^ it implements Auditable
20:05:32 <r0bby> me EXPLICITLY doing it
20:05:36 <r0bby> is it pointless
20:05:54 <djazayeri> bwolfe: do you remember if the code you wrote for saveHandlers will handle module services?
20:06:51 <r0bby> it does
20:07:07 <r0bby> -- problem is: for all other dependent objects in the graph :/
20:07:28 <r0bby> saving it seems to fix the problem :x -- just have to pay *REALLY* close attention
20:07:39 <djazayeri> Okay, if you have it working, go ahead.
20:07:41 <bwolfe> djazayeri: as long as the module service has the RequiredDataAdvice put onto it.
20:08:05 <djazayeri> you mean it's annotated with @RequiredDataAdvice?
20:08:27 <r0bby> I need to annotate the service
20:08:28 <r0bby> hold
20:08:37 <r0bby> the interface or the impl?
20:09:57 <djazayeri> This is from applicationContext-service.xml in trunk:
20:09:58 <djazayeri> <bean id="cohortService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
20:09:58 <djazayeri> <property name="transactionManager"><ref local="transactionManager"/></property>
20:09:58 <djazayeri> <property name="target"><ref local="cohortServiceTarget"/></property>
20:09:58 <djazayeri> <property name="preInterceptors">
20:10:00 <djazayeri> <ref local="serviceInterceptors" />
20:10:02 <djazayeri> </property>
20:10:04 <djazayeri> <property name="transactionAttributeSource"><ref local="transactionAttributeSource" /></property>
20:10:06 <djazayeri> </bean>
20:10:28 <djazayeri> I think you need to add the preInterceptors thing to the xml definition of your module service in moduleApplicationContext.xml
20:10:40 <bwolfe> djazayeri: yes, trunk now has that "serviceInterceptors" list that can be used
20:11:09 <r0bby> djazayeri: do me a favor, send me this on skype
20:11:13 <r0bby> easier to cut/paste
20:11:26 <r0bby> <property name="transactionAttributeSource"><ref local="transactionAttributeSource" /></property>
20:11:27 <djazayeri> just type it, I'm busy
20:11:29 <djazayeri> :-P
20:11:31 <r0bby> just need that?
20:12:55 <djazayeri> the important part is adding the preInterceptors to your service.
20:13:14 <djazayeri> Note that you probably can't say ref local=... because it won't be *local* to your file
20:13:26 <djazayeri> I don't know the correct way to reference it.
20:13:40 <r0bby> i need to say bean prolly
20:14:38 <bwolfe> r0bby: use the irclogs to copy/paste
20:14:40 <bwolfe> !irclogs
20:14:40 <OpenMRSBot> bwolfe: "irclogs" --- The OpenMRS IRC logs are publicly displayed online: http://dev.openmrs.org/irclogs
20:14:41 <basic`> bwolfe: okay good, i wasn't sure if something got borked or anything, i hadn't changed anything so that makes sense :)
20:15:04 <basic`> you guys are working too hard
20:15:07 <basic`> hehe
20:15:35 <r0bby> incoming
20:15:39 <r0bby> <property name="preInterceptors">
20:15:39 <r0bby> <list>
20:15:39 <r0bby> <ref bean="serviceInterceptors"/>
20:15:39 <r0bby> <ref bean="authorizationInterceptor"/>
20:15:39 <r0bby> <ref bean="transactionAttributeSource" />
20:15:42 <r0bby> </list>
20:15:44 <r0bby> </property>
20:15:55 <r0bby> what IU have
20:16:11 <r0bby> prolly easier in a pastebin
20:16:47 <r0bby> http://pastie.org/private/pv4pkfmrzqzcz2pxvr5na
20:17:26 <r0bby> http://pastie.org/private/pv4pkfmrzqzcz2pxvr5na
20:17:28 <r0bby> formatted better
20:18:07 *** james_regen has quit IRC
20:19:41 <djazayeri> look at applicationContext-service.xml in trunk
20:19:53 <djazayeri> serviceInterceptors actually just adds one thing to the two you had already
20:23:45 <bwolfe> basic`: I agree. but someone has to save the world. might as well be us...60 commits per day at a time :-)
20:24:39 <owen1> i am looking at the openmrs site and went to the demo. is this suppose to be a system that will hold medical records of everyone, but in secure way?
20:25:10 <owen1> + ability to create statistics and find other people with the same issues?
20:25:49 <basic`> bwolfe: ha, glad somebody is doing it :)
20:26:41 <r0bby> ok lemme look
20:26:58 <bwolfe> owen1: its a general medical record system, yes
20:28:16 <r0bby> owen1: currently my project is being created to collect data that's not specifically patient-centric
20:28:31 <bwolfe> owen1: are you looking for something that finds statistics about issues? I don't know of any openmrs modules that will do that automatically. you can write one or look at your database to do those kinds of queries
20:29:34 <r0bby> logging
20:30:27 <r0bby> djazayeri: thank you, i think you just made my life easier
20:33:55 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: OpenMRS version vs. DB Version <http://forum.openmrs.org/viewtopic.php?f=9&t=459#p1652>
20:35:35 <owen1> i am just curious about the problem of medical history.
20:36:14 <owen1> there is so much info about a person, but sometimes it's not in a centralize place.
20:36:21 <owen1> and impossible to track.
20:36:57 <owen1> when i go to a new doctor, i would like if he can pull all my history from day 1.
20:37:07 <owen1> the same with dentist.
20:37:17 <owen1> is it a dream?
20:37:36 <owen1> or is it already being implemented somewhere?
20:39:05 <bwolfe> that kind of thing is being done by regional health exchanges. they are one of the things specified in the health stimulus package I think
20:39:44 <bwolfe> openmrs and other EMRs will collect data about patients they have seen. they send daily data up to the health exchange center.
20:40:08 <bwolfe> when a new patient comes to a hospital, their EMR will query the health exchange for the patient's history
20:40:42 <bwolfe> my parent company in Indianapolis does this kind of regional health exchange thing
20:41:13 <bwolfe> openmrs can be used as the framework for an EMR or for a regional health exchange.
20:41:20 <owen1> ok. so openmrs is only in the end nodes (the clinics).
20:43:40 <r0bby> bwolfe: which module handles that?
20:43:54 <bwolfe> r0bby: handles what ?
20:44:06 <r0bby> nevermind
20:44:23 <r0bby> what's the parent company to Regenstrief anyways?
20:44:26 <r0bby> curious
20:45:46 <bwolfe> I meant Regenstrief as the parent company. theres no one above that.
20:50:37 <djazayeri> easy question (for someone who knows the answer anyway): in javascript if I have a variable that points to a method, how do I call it?
20:51:14 <djazayeri> i.e. I have a variable named methodToCall, how do I call it?
20:51:46 <sdefabbiakane> there's an eval function
20:52:02 <sdefabbiakane> not sure if there's a better way
20:52:02 <djazayeri> so something like eval(methodToCall, someArgument) ?
20:52:48 <r0bby> yeh you pass a method (closure) in JS
20:52:49 <bwolfe> djazayeri: you actually should be able to just do methodToCall()
20:52:57 <r0bby> erm wait
20:52:58 <r0bby> nvm
20:53:29 <r0bby> djazayeri: something like: foo = function() { ... };
20:53:54 <djazayeri> r0bby, right, so when I have one of those, how do I call foo?
20:54:12 <r0bby> how is this being invoked in what kind of context?
20:54:19 <djazayeri> javascript.
20:54:24 <r0bby> I know
20:54:28 <r0bby> AJAX, callback?
20:54:35 <r0bby> try doing foo();
20:54:50 <r0bby> i know another guy js guru lol
20:55:00 <djazayeri> I don't need a js guru
20:55:10 <r0bby> i *THINK* you can do that
20:55:12 <r0bby> lemme try it
20:55:20 <djazayeri> you work on your project...
20:55:24 <bwolfe> you can. why don't you people listen to me?
20:55:26 <djazayeri> I can try it.
20:55:35 <djazayeri> I will try it bwolfe because you said so.
20:55:39 <djazayeri> I just don't believe...
20:55:46 <r0bby> yeh do foo()
20:56:04 <r0bby> foo = function(str) { alert(str); }
20:56:04 <r0bby> foo("hai");
20:56:10 <r0bby> just tested it
20:56:43 <r0bby> I <3 firebug *SO* much :)
20:56:50 <sdefabbiakane> yeah
20:57:25 <r0bby> doing JS development w/o it is crippling yourself
20:57:36 <r0bby> kind of like doing java development when groovy is sitting on the sideline
20:57:40 <r0bby> *rimshot*
20:57:41 <r0bby> :D
20:57:47 <sdefabbiakane> even if you're just doing html/css it's wonderful
20:57:53 <r0bby> yeh
20:57:57 <r0bby> checking POST params
20:58:06 <r0bby> seeing what's going out on the wire
20:59:29 <r0bby> I *DEMAND* voodo magic
20:59:59 <r0bby> sdefabbiakane: how's your code going? :)
21:00:44 <r0bby> oh djazayeri -- you're not opposed to a "freetext" question type are you?
21:01:13 <r0bby> it'll render a text area
21:01:15 <djazayeri> do whatever mike says re: that
21:01:26 <r0bby> eh he said you'd have a lot of say in it
21:01:41 <djazayeri> I suppose it might be useful in some random case, but generally not useful.
21:01:46 <sdefabbiakane> r0bby: slowly, so far. next week I finally have a full week to devote to it
21:01:49 <djazayeri> Probably worth it.
21:02:04 <djazayeri> It's trivial to implement.
21:02:37 <r0bby> I'll leave it in, it'll be available; wait -- i have a use-case: what if the report wants a summary of the months events
21:02:46 <r0bby> that's a *HORRID* example
21:06:02 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: OpenMRS version vs. DB Version <http://forum.openmrs.org/viewtopic.php?f=9&t=459#p1654> || OpenMRS Tickets: Ticket #1581 (defect created): Another bug in locking user accounts <http://dev.openmrs.org/ticket/1581> || OpenMRS Forum: Re: OpenMRS version vs. DB Version <http://forum.openmrs.org/viewtopic.php?f=9&t=459#p1653>
21:38:07 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: OpenMRS version vs. DB Version <http://forum.openmrs.org/viewtopic.php?f=9&t=459#p1656> || OpenMRS Forum: Re: OpenMRS version vs. DB Version <http://forum.openmrs.org/viewtopic.php?f=9&t=459#p1655> || OpenMRS Changesets: Changeset [8628]: formentry module: Fixed call to deprecated createHl7Queue method <http://dev.openmrs.org/changeset/8628> || OpenMRS Modules: Form Entry 3.6.4 uploaded to OpenMRS Module Repository <https://dev.openmrs.org/modules/view.jsp?module=formentry&version=&3.6.4>
21:39:05 *** sdefabbiakane has quit IRC
21:46:55 *** djazayeri has quit IRC
21:48:44 *** bwolfe has quit IRC
22:32:47 *** Mkop has joined #openmrs
22:40:23 *** owen1 has left #openmrs
22:51:18 *** bmckown has quit IRC
22:53:47 *** Mkop has quit IRC
23:02:11 *** Mkop has joined #openmrs
23:12:11 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: uuid does not have a default value exception <http://forum.openmrs.org/viewtopic.php?f=8&t=461#p1657>
23:40:22 *** Mkop has quit IRC
23:44:15 <OpenMRSBot> Recent updates in the world of openmrs: OpenMRS Forum: Re: implementing a doctor's console <http://forum.openmrs.org/viewtopic.php?f=11&t=456#p1660> || OpenMRS Forum: Re: Cannot add field to form + tomcat log section <http://forum.openmrs.org/viewtopic.php?f=3&t=458#p1659> || OpenMRS Forum: Re: trouble with chica / dss module <http://forum.openmrs.org/viewtopic.php?f=8&t=460#p1658>
23:55:17 *** Mkop has joined #openmrs
23:56:31 <r0bby> ugh