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]

Reply via email to