Hi, I've uploaded the patch file of the changes we made to the HL7 module. Please have a look here : https://source.openmrs.org/cru/CR-TRUNK-569#CFR-17337 , and let us know any changes. Right now, we are not sending the message to the destination (just a pop up comes up), but that can be easily changed to a http post to that destination.
Thanks, Thothathri On Wed, Dec 7, 2011 at 4:29 AM, Ben Wolfe <[email protected]> wrote: > It would be better to create something external (like an openmrs module) > that could call your methods in core to pop things off the queue. The > module could concern itself with how to send (either an http post or just > sending to a port) > > Ben > > > On Tue, Dec 6, 2011 at 7:17 PM, Thothathri Srinivasan <[email protected]>wrote: > >> Hi Ben, >> >> It makes sense. >> So far this is what we have done : >> 1. Converted messages into the HL7 format and inserted the details into >> the db. >> 2. We have a form that users can fill out with destination details, that >> has all the CRUD operations on it too. >> 3. We have a method to choose to send HL7 messages to those destinations. >> Right now, we are just showing a popup at this stage, but we can modify it >> to just send out a HTTP post request to the destination veryeasily(please >> let me know if we can do a http post), if that's ok, or some other method >> to do the same. >> So to move the "sending" code, we would have to use Mirth in which case? >> Presently we are not using Mirth, we are converting the messages into HL7 >> on our own, and we have the option to create new destinations to send those >> messages to, as well. >> Please let us know if this is ok, or if a change to the existing design >> would be better to pop things into the queue, and then to use Mirth. >> Also, 12:30 ET on Monday (Dec 12th) would be perfect for the meeting with >> our professor to discuss the progress and what we've learnt during the >> project. >> My other group members will leave 5 mins before it gets over, so that >> they can make it in time for their exam, so I guess it should be fine. >> >> Thanks, >> Thothathri >> >> On Mon, Dec 5, 2011 at 11:15 PM, Ben Wolfe <[email protected]> wrote: >> >>> (replying privately) >>> >>> Does this make sense to you guys? Do you think you have enough time to >>> move the "sending" code to a module? The core code then only has to worry >>> about putting things into the outbound queue. The module worries about how >>> to pop things off the queue and send to a specific destination. >>> >>> You could also look at the webservices.rest module and add a method >>> there for it to be able to pop things off the queue. Mirth could easily >>> use that to do the sending. >>> >>> Ben >>> >>> >>> >>> On Mon, Dec 5, 2011 at 8:48 PM, Burke Mamlin <[email protected]>wrote: >>> >>>> What I'm advocating for is (1) loading the outbound queue via the API >>>> with an add-this-to-the-outbound-HL7-queue method and (2) providing an easy >>>> way (i.e., web services) to securely externalize the queue so the business >>>> of handling outbound messages – which is typically implementation-specific >>>> – can be as flexible as possible. >>>> >>>> For example, authenticated web service access to pop entries off the >>>> outbound HL7 queue would allow for any solution – e.g., a small bundled >>>> module that simply dumps outbound HL7 messages into a pre-defined folder OR >>>> a Mirth instance pulling out messages and delivering them to dozens of >>>> different destinations using a variety of different channels. >>>> >>>> -Burke >>>> >>>> >>>> On Mon, Dec 5, 2011 at 10:53 AM, Friedman, Roger (CDC/CGH/DGHA) (CTR) < >>>> [email protected]> wrote: >>>> >>>>> We still need to be able to push a text file to be e-mailed or >>>>> sneaker netted elsewhere.**** >>>>> >>>>> ** ** >>>>> >>>>> *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Burke >>>>> Mamlin >>>>> *Sent:* Monday, December 05, 2011 9:53 AM >>>>> >>>>> *To:* [email protected] >>>>> *Subject:* Re: [OPENMRS-DEV] About the progress in the HL7 Output >>>>> Messages Module**** >>>>> >>>>> ** ** >>>>> >>>>> Any code/processes putting HL7 messages *into* the outbound queue >>>>> doesn't need to be concerned with destination. Any code/processes pulling >>>>> data *out* of the outbound queue – which should be separate from the >>>>> processes loading the outbound queue – will need to consider the >>>>> destination.**** >>>>> >>>>> ** ** >>>>> >>>>> There are two potential approaches: push or pull. A push-based >>>>> approach would be a process in OpenMRS that takes entries out of the >>>>> outbound queue, considers their destination, and sends the messages to an >>>>> external system/folder based on the destination. A pull-based approach >>>>> would be to expose the outbound queue through a web service (with >>>>> appropriate privilege checks), allowing an external process to pull items >>>>> out of the outbound queue.**** >>>>> >>>>> ** ** >>>>> >>>>> I would favor the pull-based approach, since it doesn't try to >>>>> pre-define how messages will be handled/directed. If we want to make a >>>>> simple module to use the web service and place messages into a folder or >>>>> to >>>>> send them to TCP port with basic ack/nack support, that's fine. Larger >>>>> installations would probably install an interface engine (e.g., Mirth) to >>>>> pull outbound messages.**** >>>>> >>>>> ** ** >>>>> >>>>> -Burke**** >>>>> >>>>> ** ** >>>>> >>>>> On Mon, Dec 5, 2011 at 2:38 AM, Ben Wolfe <[email protected]> wrote:**** >>>>> >>>>> The 99% use-case is to send it to a port or url on another server. >>>>> And that should be automatic. The admin should not have to go in and send >>>>> off every one of them. >>>>> >>>>> You could add in a feature to download messages. This would help an >>>>> admin debug an issue and/or download a bunch of messages and send them to >>>>> someone to analyze if its possible to send to someone else. >>>>> >>>>> Ben**** >>>>> >>>>> ** ** >>>>> >>>>> On Thu, Dec 1, 2011 at 8:22 PM, Thothathri Srinivasan < >>>>> [email protected]> wrote:**** >>>>> >>>>> Hi Ben, >>>>> >>>>> Sure, I'll just put up the code later today, as a patch again, and I'm >>>>> updating the wiki docs right away. >>>>> Okay, so I'll send it just as the hl7 text message, and not send >>>>> objects or anything else to other systems. >>>>> >>>>> Roger, yes, I was under the impression that sending the HL7 Messages >>>>> over a network to a destination was also a major concern. Now I understand >>>>> that generating them is what interests us more. >>>>> So we have used HAPI to convert patient details into HL7 ADTA28 and >>>>> ORUR01 messages and save it into the db. >>>>> We thought we would modify the jsp page and have an option to send >>>>> that message to destinations as an option if the admin user wants to. I >>>>> understand that we might be interested to send it to another app on the >>>>> same server, and other cases which might not be satisfied by simply having >>>>> an option to send it over to a destination over the network. Should we >>>>> include a few more cases like writing the details to a file, for instance? >>>>> Any suggestions on how to go about this? Please let us know. >>>>> >>>>> Thanks, >>>>> Thothathri**** >>>>> >>>>> >>>>> >>>>> **** >>>>> >>>>> On Thu, Dec 1, 2011 at 5:45 AM, Ben Wolfe <[email protected]> wrote:**** >>>>> >>>>> The messages can just go out as the text hl7 message. Thats all you >>>>> want to send, don't send our objects or xml to other systems. >>>>> >>>>> Can you link to the most up-to-date code review so we can see your >>>>> code/tables/etc? (Or link to wiki docs that you have created) >>>>> >>>>> Ben**** >>>>> >>>>> ** ** >>>>> >>>>> On Thu, Dec 1, 2011 at 10:24 AM, Thothathri Srinivasan < >>>>> [email protected]> wrote:**** >>>>> >>>>> So I've used HAPI to convert into HL7 Message formats (ADT and ORU), >>>>> and stored these details into a table called HL7OutQueue in the database. >>>>> I have also created a HL7OutQueueDestination that has the destination >>>>> details. >>>>> I thought that we could serialize the objects in the HL7OutQueue table >>>>> (which would have transient data members too), and then send it over the >>>>> network to the destination from the HL7OutQueueDestination table. >>>>> Isn't this what we have to do to send the HL7 messages to a >>>>> destination? >>>>> Please let me know. >>>>> >>>>> Thanks, >>>>> Thothathri**** >>>>> >>>>> ** ** >>>>> >>>>> On Thu, Dec 1, 2011 at 2:08 AM, Ben Wolfe <[email protected]> wrote:**** >>>>> >>>>> Serializing and sending to a destination? What do you mean by that? >>>>> Can you give you the steps in your processing? >>>>> >>>>> Ben**** >>>>> >>>>> ** ** >>>>> >>>>> On Thu, Dec 1, 2011 at 6:57 AM, Thothathri Srinivasan < >>>>> [email protected]> wrote:**** >>>>> >>>>> Hello Ben, >>>>> >>>>> We had talked to you a few days back about what we intended to do >>>>> about the HL7 Output Messages module. >>>>> We tried using Mirth like you had mentioned, but then decided to >>>>> implement the conversion of details into HL7 ADTA28 and ORUR01 messages >>>>> using HAPI, and then serializing and sending it over to a destination. >>>>> Please let us know if that's fine. >>>>> >>>>> Thanks, >>>>> Thothathri >>>>> >>>>> >>>>> ------------------------------ >>>> Click here to >>>> unsubscribe<[email protected]?body=SIGNOFF%20openmrs-devel-l>from >>>> OpenMRS Developers' mailing list >>>> >>> >>> >> >> >> -- >> Thothathri Srinivasan >> Graduate Student in Computer Science, >> *NC STATE* UNIVERSITY >> >> > -- Thothathri Srinivasan Graduate Student in Computer Science, *NC STATE* UNIVERSITY _________________________________________ To unsubscribe from OpenMRS Developers' mailing list, send an e-mail to [email protected] with "SIGNOFF openmrs-devel-l" in the body (not the subject) of your e-mail. [mailto:[email protected]?body=SIGNOFF%20openmrs-devel-l]

