You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
(4) |
May
(5) |
Jun
(6) |
Jul
(3) |
Aug
(13) |
Sep
(28) |
Oct
(33) |
Nov
(8) |
Dec
(1) |
2003 |
Jan
(6) |
Feb
(2) |
Mar
|
Apr
(25) |
May
(21) |
Jun
(13) |
Jul
(12) |
Aug
(14) |
Sep
(6) |
Oct
(6) |
Nov
(16) |
Dec
(6) |
2004 |
Jan
(5) |
Feb
(7) |
Mar
(13) |
Apr
(17) |
May
(24) |
Jun
(14) |
Jul
(14) |
Aug
(8) |
Sep
(3) |
Oct
(8) |
Nov
(14) |
Dec
(26) |
2005 |
Jan
(18) |
Feb
(12) |
Mar
(29) |
Apr
(9) |
May
(4) |
Jun
(12) |
Jul
(17) |
Aug
(9) |
Sep
(12) |
Oct
|
Nov
(12) |
Dec
|
2006 |
Jan
(46) |
Feb
(18) |
Mar
(11) |
Apr
(13) |
May
(12) |
Jun
(27) |
Jul
(34) |
Aug
(45) |
Sep
(27) |
Oct
(13) |
Nov
(26) |
Dec
(22) |
2007 |
Jan
(21) |
Feb
(29) |
Mar
(32) |
Apr
(6) |
May
(11) |
Jun
(13) |
Jul
(14) |
Aug
(11) |
Sep
(15) |
Oct
(7) |
Nov
(30) |
Dec
(16) |
2008 |
Jan
(11) |
Feb
(14) |
Mar
(5) |
Apr
(18) |
May
(12) |
Jun
(11) |
Jul
(5) |
Aug
(12) |
Sep
(3) |
Oct
(2) |
Nov
(15) |
Dec
(2) |
2009 |
Jan
(18) |
Feb
(6) |
Mar
(9) |
Apr
(10) |
May
(29) |
Jun
(16) |
Jul
(44) |
Aug
(49) |
Sep
(14) |
Oct
(21) |
Nov
(11) |
Dec
(22) |
2010 |
Jan
(12) |
Feb
(13) |
Mar
(5) |
Apr
(6) |
May
(15) |
Jun
(15) |
Jul
(14) |
Aug
(20) |
Sep
(17) |
Oct
(36) |
Nov
(19) |
Dec
(7) |
2011 |
Jan
(8) |
Feb
(14) |
Mar
(21) |
Apr
(12) |
May
(6) |
Jun
(12) |
Jul
(17) |
Aug
(6) |
Sep
(13) |
Oct
(15) |
Nov
(26) |
Dec
(9) |
2012 |
Jan
(25) |
Feb
(13) |
Mar
(31) |
Apr
(10) |
May
(16) |
Jun
(21) |
Jul
(61) |
Aug
(38) |
Sep
(16) |
Oct
(13) |
Nov
(37) |
Dec
(26) |
2013 |
Jan
(20) |
Feb
(26) |
Mar
(34) |
Apr
(32) |
May
(27) |
Jun
(56) |
Jul
(16) |
Aug
(38) |
Sep
(35) |
Oct
(17) |
Nov
(11) |
Dec
(7) |
2014 |
Jan
(36) |
Feb
(13) |
Mar
(25) |
Apr
|
May
(27) |
Jun
(33) |
Jul
(34) |
Aug
|
Sep
(4) |
Oct
(11) |
Nov
(42) |
Dec
(2) |
2015 |
Jan
(5) |
Feb
(6) |
Mar
(11) |
Apr
(3) |
May
|
Jun
(1) |
Jul
(2) |
Aug
(5) |
Sep
(5) |
Oct
(5) |
Nov
(8) |
Dec
(19) |
2016 |
Jan
(8) |
Feb
(12) |
Mar
(6) |
Apr
(5) |
May
(5) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
(9) |
Oct
(1) |
Nov
(2) |
Dec
(5) |
2017 |
Jan
(2) |
Feb
|
Mar
(3) |
Apr
(6) |
May
(8) |
Jun
(7) |
Jul
(14) |
Aug
(10) |
Sep
(6) |
Oct
(2) |
Nov
|
Dec
|
2018 |
Jan
|
Feb
(9) |
Mar
(2) |
Apr
(3) |
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
(8) |
Sep
(4) |
Oct
(3) |
Nov
(1) |
Dec
(1) |
2019 |
Jan
(10) |
Feb
(2) |
Mar
(6) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(5) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
2020 |
Jan
(9) |
Feb
|
Mar
|
Apr
(6) |
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(9) |
Oct
(1) |
Nov
(11) |
Dec
|
2021 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(7) |
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2023 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
(2) |
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
(7) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
|
Dec
|
From: Stefan T. <ste...@s3...> - 2006-06-06 02:48:27
|
Hi Bryan, Indeed, in some cases I would like to write-protect the field. As you wrote the Type or AbstractType don't have setValue method for the reason. In case when HAPI user know exactly that he would like to overwrite whole field at once, he (me) could remove the write protection at Type level, in that way only in this case he could write the whole field. You see, I prefer to have a strong mapping between the MSH-10 in inbound message and MSA-2 in outbound message, and as these are Primitive(s) the mapping is quite easy to write. Thus I would like to re-use the same architecture for mapping between the fields of type Type. So I would need a method setValue on the Type level. I hope that this time it is clearer, if it isn't please feel free to ask more question.. Maybe my decisions are wrong and I would be glad to know about that :-) -- Best regards, Stefan ps. of course to the method that sets the field the logic how to get / parse / validate values from 'in' parameter should be passed to the 'out' filed. And then on the Type level the setValue message is rather abstract one, but could be easily extended in the specific implementation. So in case of, for example, HD type, there could be additional type that inherits after HD, name it MSH_3 / MSH_4 / MSH_5 ... In this specific implementations the mapping would be done. That is basically what I already started to do ... > -----Original Message----- > From: Bryan Tripp [mailto:bp...@gm...] > Sent: Sunday, June 04, 2006 6:01 PM > To: ste...@s3... > Cc: hl7...@li... > Subject: Re: [HAPI-devel] A question about something like > HD.setValue() > > Hi Stefan, > > I'm not sure I understand the issue. Is it that you want to > write-protect fields in some circumstances (by setting your > canSetValue flag to false)? Or is it that you want setValue() > implemented at the Type level instead of the Primitive level? Or both? > > The reason Type and AbstractType don't have setValue() is > that the types may be composites, or even composites of > composites (so you would need setValue(index) and > setValue(index, index) as well, but these wouldn't make sense > for Primitive types). When you set values using Terser, if no > subcomponent is specified and the Type is in fact Composite, > then it's assumed that you want to set the first component. > > Bryan > > On 6/1/06, Stefan Turalski <ste...@s3...> wrote: > > > > > > > > Hi, > > > > In some specific cases I think that it makes sense to have setValue > > method on the level of AbstractType. > > e.g the MSH-5 and MSH-6 fields are almost in all cases just > retrieved > > from inbound message and passed to the outbound message. > > > > I know that this works only in context of specific types > and methods (e.g. > > the HD.setValue has sense only after the > getReceivingApplication call). > > > > What I did is that I added additional variable to the HD class that > > stores the information if setValue is allowed. > > I set it as true in the MSH class implementation of > > getReceivingApplication method. > > > > Then I call the setValue > > out.getMSH().getReceivingApplication().setValue( > > in.getMSH().getSendingApplication() ); > > > > As you may assume at the end of setValue I set the > canSetValue to false. > > > > The problem I faced is multithreading - but right now > decided to not > > bother with that.. > > > > So, what do you think about that, should it be done in > other way / do > > you see any other potential bugs / problems that will arise > after such > > a wrapping? > > > > -- > > Best regards > > Stefan Turalski > > ________________________________ > > The information contained in this e-mail and in any attachments is > > confidential and is designated solely for the attention of the > > intended recipient(s). If you are not an intended > recipient, you must > > not use, disclose, copy, distribute or retain this e-mail > or any part > > thereof. If you have received this e-mail in error, please > notify the > > sender by return e-mail and delete all copies of this > e-mail from your computer system(s). > > Please direct any additional queries to: > com...@s3.... > > Thank You. > > ________________________________ > > > > > > > > > > _______________________________________________ > > Hl7api-devel mailing list > > Hl7...@li... > > https://lists.sourceforge.net/lists/listinfo/hl7api-devel > > > > > > > The information contained in this e-mail and in any attachments is confidential and is designated solely for the attention of the intended recipient(s). If you are not an intended recipient, you must not use, disclose, copy, distribute or retain this e-mail or any part thereof. If you have received this e-mail in error, please notify the sender by return e-mail and delete all copies of this e-mail from your computer system(s). Please direct any additional queries to: com...@s3.... Thank You. |
From: Stefan T. <ste...@s3...> - 2006-06-06 02:36:55
|
Hi Bryan, Thank you for your answer. Thanks to your suggestion I hope that I avoided a lot of messy code. However, I would like to ask another question then... In the IHE's MESA tests cases there is a QPD query that looks somehow like this "@PID5.1^thename^@PID5.2^xxxx". Basing on your experience, is it a common way to formulize a query in HL7 and should I bother to write a common class (sort of parser) for that, or the syntax of queries is rather different in each particular HL7 enabled system? -- Best regards, stefan > -----Original Message----- > From: Bryan Tripp [mailto:bp...@gm...] > Sent: Sunday, June 04, 2006 6:07 PM > To: ste...@s3... > Cc: hl7...@li... > Subject: Re: [HAPI-devel] The most convenient way to handle > query stored in the QPD > > Hi Stefan, > > Terser is the best way. The types of fields 3 and up on a QPD > depend entirely on the query, so Varies has to be used. You > can deal with the Varies fields directly if you like, but the > code can get ugly. Terser makes it transparent. > > Bryan > > On 6/2/06, Stefan Turalski <ste...@s3...> wrote: > > > > > > > > Hi, > > > > In the HAPI structure that represents the QPD (2.5) segment > there is > > only support up to QPD-3 field, should I retrieve all other fields' > > data using Terser ? > > > > In other words, Is there a generic way to retrieve data > from the User > > Parameters field (QPD-3) that is of Varies type, or the > Terser is the > > only way to get these data? > > > > -- > > Best regards, > > Stefan > > ________________________________ > > The information contained in this e-mail and in any attachments is > > confidential and is designated solely for the attention of the > > intended recipient(s). If you are not an intended > recipient, you must > > not use, disclose, copy, distribute or retain this e-mail > or any part > > thereof. If you have received this e-mail in error, please > notify the > > sender by return e-mail and delete all copies of this > e-mail from your computer system(s). > > Please direct any additional queries to: > com...@s3.... > > Thank You. > > ________________________________ > > > > > > > > > > _______________________________________________ > > Hl7api-devel mailing list > > Hl7...@li... > > https://lists.sourceforge.net/lists/listinfo/hl7api-devel > > > > > > > The information contained in this e-mail and in any attachments is confidential and is designated solely for the attention of the intended recipient(s). If you are not an intended recipient, you must not use, disclose, copy, distribute or retain this e-mail or any part thereof. If you have received this e-mail in error, please notify the sender by return e-mail and delete all copies of this e-mail from your computer system(s). Please direct any additional queries to: com...@s3.... Thank You. |
From: Bryan T. <bp...@gm...> - 2006-06-06 01:40:45
|
Hi Stefan, I'm not sure I understand the issue. Is it that you want to write-protect fields in some circumstances (by setting your canSetValue flag to false)? Or is it that you want setValue() implemented at the Type level instead of the Primitive level? Or both? The reason Type and AbstractType don't have setValue() is that the types may be composites, or even composites of composites (so you would need setValue(index) and setValue(index, index) as well, but these wouldn't make sense for Primitive types). When you set values using Terser, if no subcomponent is specified and the Type is in fact Composite, then it's assumed that you want to set the first component. Bryan On 6/1/06, Stefan Turalski <ste...@s3...> wrote: > > > > Hi, > > In some specific cases I think that it makes sense to have setValue method > on the level of AbstractType. > e.g the MSH-5 and MSH-6 fields are almost in all cases just retrieved from > inbound message and passed to the outbound message. > > I know that this works only in context of specific types and methods (e.g. > the HD.setValue has sense only after the getReceivingApplication call). > > What I did is that I added additional variable to the HD class that stores > the information if setValue is allowed. > I set it as true in the MSH class implementation of getReceivingApplication > method. > > Then I call the setValue > out.getMSH().getReceivingApplication().setValue( > in.getMSH().getSendingApplication() ); > > As you may assume at the end of setValue I set the canSetValue to false. > > The problem I faced is multithreading - but right now decided to not bother > with that.. > > So, what do you think about that, should it be done in other way / do you > see any other potential bugs / problems that will arise after such a > wrapping? > > -- > Best regards > Stefan Turalski > ________________________________ > The information contained in this e-mail and in any attachments is > confidential and is designated solely for the attention of the intended > recipient(s). If you are not an intended recipient, you must not use, > disclose, copy, distribute or retain this e-mail or any part thereof. If you > have received this e-mail in error, please notify the sender by return > e-mail and delete all copies of this e-mail from your computer system(s). > Please direct any additional queries to: com...@s3.... Thank > You. > ________________________________ > > > > > _______________________________________________ > Hl7api-devel mailing list > Hl7...@li... > https://lists.sourceforge.net/lists/listinfo/hl7api-devel > > > |
From: Kurtis F. <fra...@uc...> - 2006-06-06 01:40:26
|
I am currently developing client and server programs using HAPI. For the server, I am using SimpleServer. Basically what I want from the server side, is to simply display the message to a text box that I have in my GU= I and then send an ACK. I have a class that implements application (and I register this with the server), and in processMessage I encode the messag= e received and display it to the text box and then I return an ACK message.= =20 This is where the problem comes in, I always get the following error: ERROR [Thread-7:ca.uhn.hl7v2.app.Responder]: Attempting to send error message to remote system. ca.uhn.hl7v2.HL7Exception: Can't encode message: MSH-1 (field separator) is missing at ca.uhn.hl7v2.parser.PipeParser.encode(PipeParser.java:499) at ca.uhn.hl7v2.parser.PipeParser.encode(PipeParser.java:484) at ca.uhn.hl7v2.app.Responder.processMessage(Responder.java:162) at ca.uhn.hl7v2.app.Receiver$Grunt.run(Receiver.java:121) Any help would be appreciated.. -Kurtis |
From: Stefan T. <ste...@s3...> - 2006-06-02 13:14:32
|
Hi, In the HAPI structure that represents the QPD (2.5) segment there is only support up to QPD-3 field, should I retrieve all other fields' data using Terser ? In other words, Is there a generic way to retrieve data from the User Parameters field (QPD-3) that is of Varies type, or the Terser is the only way to get these data? -- Best regards, Stefan The information contained in this e-mail and in any attachments is confidential and is designated solely for the attention of the intended recipient(s). If you are not an intended recipient, you must not use, disclose, copy, distribute or retain this e-mail or any part thereof. If you have received this e-mail in error, please notify the sender by return e-mail and delete all copies of this e-mail from your computer system(s). Please direct any additional queries to: com...@s3.... Thank You. |
From: Stefan T. <ste...@s3...> - 2006-06-01 13:53:13
|
Hi, In some specific cases I think that it makes sense to have setValue method on the level of AbstractType. e.g the MSH-5 and MSH-6 fields are almost in all cases just retrieved from inbound message and passed to the outbound message. I know that this works only in context of specific types and methods (e.g. the HD.setValue has sense only after the getReceivingApplication call). What I did is that I added additional variable to the HD class that stores the information if setValue is allowed. I set it as true in the MSH class implementation of getReceivingApplication method. Then I call the setValue out.getMSH().getReceivingApplication().setValue( in.getMSH().getSendingApplication() ); As you may assume at the end of setValue I set the canSetValue to false. The problem I faced is multithreading - but right now decided to not bother with that.. So, what do you think about that, should it be done in other way / do you see any other potential bugs / problems that will arise after such a wrapping? -- Best regards Stefan Turalski The information contained in this e-mail and in any attachments is confidential and is designated solely for the attention of the intended recipient(s). If you are not an intended recipient, you must not use, disclose, copy, distribute or retain this e-mail or any part thereof. If you have received this e-mail in error, please notify the sender by return e-mail and delete all copies of this e-mail from your computer system(s). Please direct any additional queries to: com...@s3.... Thank You. |
From: Bryan T. <bp...@gm...> - 2006-05-30 22:51:55
|
Hi Stefan, I see what you mean. Yes, that would be a reasonable change to make. But what do you want the behaviour to be if your Application can't process the message? As it is now, a DefaultApplication would be used instead (to return an error message to the remote system). Is this satisfactory, or would you rather have the search continue for another Application? Thanks, Bryan On 5/30/06, Stefan Turalski <ste...@s3...> wrote: > > > > Hi, > > First of all, I would like to say 'nice to meet you' to all of you, as a > newbie in a world of HAPI I'm quite sure I would like to extensively use > your knowledge ;-) > > And second, straight to the technical stuff. > I just started to build custom Application based on the latest beta of > hapi0.5. I registered it to handle all events of the QBP messages (QBP|*) > and in the canProcess method I would like to decide (as I would go with > impementation) if in the case of the specific trigger event this method > would return true or false. > > But then I found out that somehow a code in my custom class, in the > canProcess method, ISN'T executed. > After a while in debugger I found that in the Responder during the execut= ion > scan assign the MessageTypeRouter as an application, then the canProcess > method is called. The MessageTypeRouter (as an implementation of > Application) in the canProcess try to find registered application. > > My custom application is matched properly, so the canProcess of > MessageTypeRouter returns true, where in fact there should be a call to t= he > canProcess method of the already matched application. > > So would it be may mistake to assume that canProcess method of > MessageTypeRouter should be extended by something like this=85 > > =85 > Application matches =3D this.getMatchingApplication(in); > if ( (matches !=3D null) && matches.canProcess(in)) can =3D true; > =85 > > Right now, using the MessageTypeRouter (by the router instance in > HL7Service) I don't see what is the sense of canProcess implementation in > any custom application implementation. > > Please, let me know what do you think about that? If I made a mistake > somewhere, I would be more than grateful for any suggestions. > > -- > best regards, > stefan > ________________________________ > The information contained in this e-mail and in any attachments is > confidential and is designated solely for the attention of the intended > recipient(s). If you are not an intended recipient, you must not use, > disclose, copy, distribute or retain this e-mail or any part thereof. If = you > have received this e-mail in error, please notify the sender by return > e-mail and delete all copies of this e-mail from your computer system(s). > Please direct any additional queries to: com...@s3.... Than= k > You. > ________________________________ > > |
From: Stefan T. <ste...@s3...> - 2006-05-30 13:33:50
|
Hi, First of all, I would like to say 'nice to meet you' to all of you, as a newbie in a world of HAPI I'm quite sure I would like to extensively use your knowledge ;-) And second, straight to the technical stuff. I just started to build custom Application based on the latest beta of hapi0.5. I registered it to handle all events of the QBP messages (QBP|*) and in the canProcess method I would like to decide (as I would go with impementation) if in the case of the specific trigger event this method would return true or false. But then I found out that somehow a code in my custom class, in the canProcess method, ISN'T executed. After a while in debugger I found that in the Responder during the execution scan assign the MessageTypeRouter as an application, then the canProcess method is called. The MessageTypeRouter (as an implementation of Application) in the canProcess try to find registered application. My custom application is matched properly, so the canProcess of MessageTypeRouter returns true, where in fact there should be a call to the canProcess method of the already matched application. So would it be may mistake to assume that canProcess method of MessageTypeRouter should be extended by something like this. . Application matches = this.getMatchingApplication(in); if ( (matches != null) && matches.canProcess(in)) can = true; . Right now, using the MessageTypeRouter (by the router instance in HL7Service) I don't see what is the sense of canProcess implementation in any custom application implementation. Please, let me know what do you think about that? If I made a mistake somewhere, I would be more than grateful for any suggestions. -- best regards, stefan The information contained in this e-mail and in any attachments is confidential and is designated solely for the attention of the intended recipient(s). If you are not an intended recipient, you must not use, disclose, copy, distribute or retain this e-mail or any part thereof. If you have received this e-mail in error, please notify the sender by return e-mail and delete all copies of this e-mail from your computer system(s). Please direct any additional queries to: com...@s3.... Thank You. |
From: Bryan T. <bp...@gm...> - 2006-05-26 13:19:47
|
When people are learning HAPI they often want to study code from a system that uses HAPI. I don't have much to offer them. I've used HAPI in other systems, but haven't been able to open-source any of that code. If anyone has an open-source system that they would not mind being referenced as an example of HAPI usage, please let me know. I will make a list on our web site. Thanks, Bryan |
From: <Tom...@kp...> - 2006-05-24 15:53:19
|
Thanks Brian, I was calling getUniversalID() instead of getNamespaceID() - duhhh. For the processing ID I had to change from the sample provided at http://hl7api.sourceforge.net/parsing_messages.html so: from: ack.getMSH().getProcessingID().getProcessingMode().setValue("P"); to: ack.getMSH().getProcessingID().getProcessingID().setValue("P"); Tom Bonavia (303) 338 3126 CONFIDENTIAL OR PRIVILEGED: This communication contains information intended only for the use of the individuals to whom it is addressed and may contain information that is privileged, confidential or exempt from other disclosure under applicable law. If you are not the intended recipient, you are notified that any disclosure, printing, copying, distribution or use of the contents is prohibited. If you have received this in error, please notify the sender immediately by telephone or by returning it by reply email and then permanently deleting the communication from your system. Thank you. "Bryan Tripp" <bp...@gm...> 05/24/2006 08:14 AM To: Tom Bonavia/CO/KAIPERM@Kaiperm cc: hl7...@li..., hl7...@li..., hl7...@li... Subject: Re: [HAPI-devel] Extra component delimiter in MSH fields Hi Tom, How did you set those fields? If you're referencing subcomponents by their number, they're numbered from 0. You can also call msh.getSendingFacility().getNamespaceID().setValue(...) and so on if you prefer. There are a some short tutorials on the web site, which will give you a basic orientation. I also have a PDF pamphlet that will point you in the right direction for most things you would want to do with HAPI. Hold on a minute and I'll see if I have it with me. Bryan On 5/23/06, Tom...@kp... <Tom...@kp...> wrote: > > I've just started using HAPI and am trying to create an MSH segment. When I > do, the sending application and facility, receiving application and facility > and processing ID all have a component separator inserted (see below - > versions 2.4 and 2.3.1 both do this). Am I missing some kind of > configuration to specify that the value I am inserting is the 1st component? > On a related note it's pretty much impossible for me to guess how to use > this API correctly with no documentation other than Javadoc lists of > packages and classes. Am I missing something (be polite) - how did you all > figure it out? Any code snippets would be greatly appreciated. > > MSH sample: > MSH|^~\&|^SENDAPP|^SENDFAC|^RECVAPP|^RCVFAC|2006051111:11:11||ORF^R04^ORF_R04|123456|^P|2.4||||AA > > Tom Bonavia > (303) 338 3126 > > CONFIDENTIAL OR PRIVILEGED: This communication contains information > intended only for the use of the individuals to whom it is addressed and may > contain information that is privileged, confidential or exempt from other > disclosure under applicable law. If you are not the intended recipient, you > are notified that any disclosure, printing, copying, distribution or use of > the contents is prohibited. If you have received this in error, please > notify the sender immediately by telephone or by returning it by reply email > and then permanently deleting the communication from your system. Thank you. > |
From: Bryan T. <bp...@gm...> - 2006-05-24 14:28:38
|
Here is a short document that provides a high-level overview of what HAPI does, and the classes you must use for each task. With this and the JavaDocs, there will be no stopping you. It was meant to be printed double-sided and folded like a pamphlet, which is why it starts at the end of page 2. Bryan |
From: Bryan T. <bp...@gm...> - 2006-05-24 14:14:34
|
Hi Tom, How did you set those fields? If you're referencing subcomponents by their number, they're numbered from 0. You can also call msh.getSendingFacility().getNamespaceID().setValue(...) and so on if you prefer. There are a some short tutorials on the web site, which will give you a basic orientation. I also have a PDF pamphlet that will point you in the right direction for most things you would want to do with HAPI. Hold on a minute and I'll see if I have it with me. Bryan On 5/23/06, Tom...@kp... <Tom...@kp...> wrote: > > I've just started using HAPI and am trying to create an MSH segment. When= I > do, the sending application and facility, receiving application and facil= ity > and processing ID all have a component separator inserted (see below - > versions 2.4 and 2.3.1 both do this). Am I missing some kind of > configuration to specify that the value I am inserting is the 1st compone= nt? > On a related note it's pretty much impossible for me to guess how to use > this API correctly with no documentation other than Javadoc lists of > packages and classes. Am I missing something (be polite) - how did you al= l > figure it out? Any code snippets would be greatly appreciated. > > MSH sample: > MSH|^~\&|^SENDAPP|^SENDFAC|^RECVAPP|^RCVFAC|2006051111:11:11||ORF^R04^ORF= _R04|123456|^P|2.4||||AA > > Tom Bonavia > (303) 338 3126 > > CONFIDENTIAL OR PRIVILEGED: This communication contains information > intended only for the use of the individuals to whom it is addressed and = may > contain information that is privileged, confidential or exempt from other > disclosure under applicable law. If you are not the intended recipient, = you > are notified that any disclosure, printing, copying, distribution or use = of > the contents is prohibited. If you have received this in error, please > notify the sender immediately by telephone or by returning it by reply em= ail > and then permanently deleting the communication from your system. Thank y= ou. > |
From: <Tom...@kp...> - 2006-05-23 20:30:22
|
I've just started using HAPI and am trying to create an MSH segment. When I do, the sending application and facility, receiving application and facility and processing ID all have a component separator inserted (see below - versions 2.4 and 2.3.1 both do this). Am I missing some kind of configuration to specify that the value I am inserting is the 1st component? On a related note it's pretty much impossible for me to guess how to use this API correctly with no documentation other than Javadoc lists of packages and classes. Am I missing something (be polite) - how did you all figure it out? Any code snippets would be greatly appreciated. MSH sample: MSH|^~\&|^SENDAPP|^SENDFAC|^RECVAPP|^RCVFAC|2006051111:11:11||ORF^R04^ORF_R04|123456|^P|2.4||||AA Tom Bonavia (303) 338 3126 CONFIDENTIAL OR PRIVILEGED: This communication contains information intended only for the use of the individuals to whom it is addressed and may contain information that is privileged, confidential or exempt from other disclosure under applicable law. If you are not the intended recipient, you are notified that any disclosure, printing, copying, distribution or use of the contents is prohibited. If you have received this in error, please notify the sender immediately by telephone or by returning it by reply email and then permanently deleting the communication from your system. Thank you. |
From: Miguel R. <mro...@gm...> - 2006-05-16 21:42:31
|
hi everybody currently we are developing a h.i.s. on java, and one of our customers want= s to integrate it with several other applicationes via hl7 now we are starting to research about hl7, and have played a little with th= e sample classes included in hapi hl7, but we wan to know if there are any other examples, maybe some sort of real implementation that can use as a reference thanks in advance for your help best regards |
From: Karry K. <kk...@ca...> - 2006-05-10 14:31:43
|
The email archive contains the following thread describing a problem with pid-4 alternate patient id being incorrectly defined as a non-repeating field in 0.4.3. Is this fix available? Karry Keown --------------------------------------------------- No, the text version of the standard says it should repeat, so I"ll change it. Bryan -----Original Message----- From: hl7...@li... on behalf of Alan Shields Sent: Wed 3/30/2005 4:00 PM To: hl7...@li... Subject: [HAPI-devel] hapi 0.4.3 & pid alternate patient id Hi I just downloaded 0.4.3 and I notice that the data model for 2.3 defines PID:4 (alternate patient id) as a non repeating field. Is this correct? Cheers Alan Shields ma...@as... --------------------------------------------------- |
From: Bravo R. C. <ES...@so...> - 2006-05-09 11:36:59
|
Hello all: =20 I'm newbie with HAPI, and I want to transform HL7 v2.x ("v2.1", "v2.2", "v2.3.1", "v2.4" and "v2.5") messages to "v2.3". I've thought about two implementation ways: =20 (A) WITH XSLT TRANSFOMATION -------------------------------------------------- 1) parse the HL7v2.x message to 2.x DOM Message 2) encode the DOM Message to a XML string 3) apply a XSLT transformation to obtain the 2.3 XML string 4) parse the 2.3 XML to 2.3 DOM Message 5) encode the DOM to HL7v2.3 =20 =20 =20 (B) WITH HAPI ---------------------- 1) parse the HL7v2.x message to 2.x DOM Message 2) change the "versionID" DOM node to "2.3" (with setValue() ) 2) encode the DOM Message to a XML string 4) parse the XML string to 2.3 DOM Message 5) encode the DOM to HL7v2.3 =20 What do you think? what's the best way? do you think I could loose data with the (B) implementation if I convert "2.5" or "2.4" messages to "2.3"? =20 Thanks in advance: =20 Carlos. =20 |
From: Wyatt T. <wt...@ra...> - 2006-05-04 19:57:55
|
Hi Bryan, I managed to figure out how to configure logging commons to use the JDK logging mechanism. Now I'm trying figure out how to set the logging level on the various HAPI loggers (i.e. Initiator, raw inbound/outbound, etc). Any pointers on where to look? Thanks, Wyatt Bryan Tripp wrote: > Hi Wyatt, > > If I remember correctly there are some direct dependencies in code > related to conformance profiles, but most things should work fine > without. Then again, I'm not sure I've ever tried. I've usually used > log4j. Have you tried without? What happened? > > Thanks, > Bryan > > On 3/28/06, Wyatt Tellis <wt...@ra...> wrote: > >>Hi, >> >>Is it possible to drop the dependency on Log4J and use some other >>logging mechanism such as the JDK 1.4 logging system? The version of >>Log4J used by HAPI 0.5 is incompatible with an another application we're >>using and it's not possible to remove that application's dependency. >> >>Thanks, >> >>Wyatt >> >> >> >> >>------------------------------------------------------- >>This SF.Net email is sponsored by xPML, a groundbreaking scripting language >>that extends applications into web and mobile media. Attend the live webcast >>and join the prime developer group breaking into this new coding territory! >>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 >>_______________________________________________ >>Hl7api-devel mailing list >>Hl7...@li... >>https://lists.sourceforge.net/lists/listinfo/hl7api-devel >> > > |
From: Daniel M. <dm...@xb...> - 2006-05-04 14:21:20
|
Hi There, I also stumbled into the segment repetition problem with regards to PV1-7, however the fix is relatively easy. In the class "ca.uhn.hl7v2.model.v23.segment.PV1" (I'm using v2.3 at the moment, not sure how this issue effects other versions of the standard), change the method "public XCN getAttendingDoctor()" to: public XCN[] getAttendingDoctor() { XCN[] ret = null; try { Type[] t = this.getField(7); XCN[] tempXCN = new XCN[t.length]; for (int i = 0; i < t.length; i++) { tempXCN[i] = (XCN) t[i]; } ret = tempXCN; } catch (ClassCastException cce) { HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", cce); throw new RuntimeException(cce); } catch (HL7Exception he) { HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", he); throw new RuntimeException(he); } return ret; } Apologies for the loop, can't work out why the array wouldn't cast (nor care at this point :-)). Of course it may still be handy to get direct access to the details of the first attending doctor, in which case you may want to add this as an additional method. Hope that helps Daniel |
From: Bryan T. <bp...@gm...> - 2006-04-26 15:00:32
|
Hi Mimi, It looks like you are missing the path to OBX. It should look something like this: terser.set("/PATIENT_RESULT/ORDER_OBSERVATION/OBSERVATION/OBX-2-1", "TX"); ... or you can try to let HAPI search for the OBX segment by prepending a "." to the segment name, like this: terser.set("/.OBX-2-1", "TX"); If you want to set values in a subsequent group/segment repetition, put the repetition number in brackets after the name, e.g. "...OBSERVATION(2)...". Hope this helps. Bryan On 4/24/06, Mimi Maloles <wma...@gm...> wrote: > > Hello, > > I am writing an application that will send an ORU_R01 message. I am > creating the message as follows: > > > ORU_R01 msg =3D new ORU_R01(); > > > > > > msg.getMSH(); > > msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBR(); > > msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBSERVATION().getOBX(); > > and adding values to the fields usig the Terser utility: > > > > Terser terser =3D new Terser(msg.getMessage()); > > terser.set("/MSH-1", m_mshValues.getFieldSeparator()); > terser.set("/MSH-2", m_mshValues.getEncodingCharacters()); > terser.set("/MSH-3-1", > m_mshValues.getSendingApplication()); > > ... > > terser.set("/"OBR(1)-2-1", patID)); > > ... > > terser.set("OBX-2-1", "TX"); > > When I try to encode using the PipeParser, > > parser.encode(msg); > > it seems only the MSH segment is encoded. > > What am I doing wrong? > > I would appreciate any help. > > Thanks, > > Mimi Maloles > > |
From: Ajay A. <Aja...@we...> - 2006-04-25 21:54:51
|
I also had a problem with the terser. I do not know the reason but I did following. Following is part of code and for ORM message. You can do the same thing for ORU also=20 =20 ORM_O01 message; =85 ORC orc =3D message.getORM_O01_ORCOBRRQDRQ1RXOODSODTNTECTDDG1OBXNTEFT1CTIBLG().getOR C(); orc.getOrderControl().setValue(=93123"); =20 OBX obx =3D message.getORM_O01_ORCOBRRQDRQ1RXOODSODTNTECTDDG1OBXNTEFT1CTIBLG().getOR M_O01_OBRRQDRQ1RXOODSODTNTECTDDG1OBXNTE().getORM_O01_OBXNTE().getOBX(); obx.getSetIDOBX().setValue(=93123=94); =20 =20 Hope this will help. =20 Aj =20 _____ =20 From: Mimi Maloles [mailto:wma...@gm...]=20 Sent: Monday, April 24, 2006 2:29 AM To: hl7...@li... Cc: bry...@uh... Subject: [HAPI-devel] HAPI Development Problem =20 Hello, =20 I am writing an application that will send an ORU_R01 message. I am creating the message as follows: ORU_R01 msg =3D new ORU_R01(); msg.getMSH(); msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBR(); msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBSERVATION().getOBX() ; and adding values to the fields usig the Terser utility: Terser terser =3D new Terser(msg.getMessage()); terser.set("/MSH-1", m_mshValues.getFieldSeparator()); terser.set("/MSH-2", m_mshValues.getEncodingCharacters()); terser.set("/MSH-3-1", m_mshValues.getSendingApplication()); =2E.. terser.set("/"OBR(1)-2-1", patID)); =2E.. terser.set("OBX-2-1", "TX"); When I try to encode using the PipeParser, parser.encode(msg); it seems only the MSH segment is encoded. What am I doing wrong? I would appreciate any help. Thanks, Mimi Maloles =20 |
From: Mimi M. <wma...@gm...> - 2006-04-24 08:29:14
|
Hello, I am writing an application that will send an ORU_R01 message. I am creating the message as follows: ORU_R01 msg =3D new ORU_R01(); msg.getMSH(); msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBR(); msg.getPATIENT_RESULT().getORDER_OBSERVATION().getOBSERVATION().getOBX(); and adding values to the fields usig the Terser utility: Terser terser =3D new Terser(msg.getMessage()); terser.set("/MSH-1", m_mshValues.getFieldSeparator()); terser.set("/MSH-2", m_mshValues.getEncodingCharacters()); terser.set("/MSH-3-1", m_mshValues.getSendingApplication()); ... terser.set("/"OBR(1)-2-1", patID)); ... terser.set("OBX-2-1", "TX"); When I try to encode using the PipeParser, parser.encode(msg); it seems only the MSH segment is encoded. What am I doing wrong? I would appreciate any help. Thanks, Mimi Maloles |
From: Bryan T. <bp...@gm...> - 2006-04-13 17:40:11
|
Hi Paul, There is a lot of flexibility with respect to validation in HAPI 0.5. See the package ca.uhn.hl7v2.validation. You could have different parsers running with different ValidationContexts, to handle different regions. Bryan On 4/12/06, mo...@mo... <mo...@mo...> wrote: > Hi, I'm new to the whole HL7 and hapi universe. I'm working on a project > (actually refactoring some work done by another developer whom I don't > have access to) that's going to act as a service that grabs hl7 messages > (obviously). The deal is that I have to develope it in such a way that it > will work anywhere in the world (well right now it's just Canada and > Australia). The problem is that some of the existing primitive types won'= t > work for Australia (for example their phone numbers are formatted > differently). > > I doubt this is a 'yes' but I'll ask it anyways: Is there any > international support for hapi? Are there primitives out there for > different countries? > > My alternate plan is to develop my own primitives that should handle thes= e > peculuarities. What I'll have is a properties file that defines what > region the service is running in (North America by default). Then from > there I'd change the existing common* files so that they delegate their > work (validation) to other classes based on the region defined in the > properties file. > > Does this sound reasonable? Is this overkill? Is there an easier/better > way to handle primitives for different countries? > > thx -Paul > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting langua= ge > that extends applications into web and mobile media. Attend the live webc= ast > and join the prime developer group breaking into this new coding territor= y! > http://sel.as-us.falkag.net/sel?cmdlnk&kid=110944&bid$1720&dat=121642 > _______________________________________________ > Hl7api-devel mailing list > Hl7...@li... > https://lists.sourceforge.net/lists/listinfo/hl7api-devel > |
From: Bryan T. <bp...@gm...> - 2006-04-13 17:19:36
|
Hi Scott, There are a few quick tutorials at hl7api.sourceforge.net. Once you get up and running the main resource is the JavaDocs, although sometimes it may help to look at the test cases (in the CVS repository). Bryan On 4/6/06, Scott Jensen <sco...@ag...> wrote: > > Hello, > > I am new to HAPI. I could only find the javadoc. Is there any > documentation or examples about how to use API? > > Thanks! > -- > View this message in context: http://www.nabble.com/Documentation-t140762= 3.html#a3790408 > Sent from the hl7api-devel forum at Nabble.com. > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting langua= ge > that extends applications into web and mobile media. Attend the live webc= ast > and join the prime developer group breaking into this new coding territor= y! > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D110944&bid=3D241720&dat= =3D121642 > _______________________________________________ > Hl7api-devel mailing list > Hl7...@li... > https://lists.sourceforge.net/lists/listinfo/hl7api-devel > |
From: <mo...@mo...> - 2006-04-12 18:06:20
|
Hi, I'm new to the whole HL7 and hapi universe. I'm working on a project (actually refactoring some work done by another developer whom I don't have access to) that's going to act as a service that grabs hl7 messages (obviously). The deal is that I have to develope it in such a way that it will work anywhere in the world (well right now it's just Canada and Australia). The problem is that some of the existing primitive types won'= t work for Australia (for example their phone numbers are formatted differently). I doubt this is a 'yes' but I'll ask it anyways: Is there any international support for hapi? Are there primitives out there for different countries? My alternate plan is to develop my own primitives that should handle thes= e peculuarities. What I'll have is a properties file that defines what region the service is running in (North America by default). Then from there I'd change the existing common* files so that they delegate their work (validation) to other classes based on the region defined in the properties file. Does this sound reasonable? Is this overkill? Is there an easier/better way to handle primitives for different countries? thx -Paul |
From: <mo...@mo...> - 2006-04-10 20:39:05
|
Hi, I'm new to development with hapi (2 days into it now). So I'm going t= o ask alot of questions you've all seen before, but searching mailing list archives rarely yeilds successful results (especially when I'm not syntactically sure of what I'm looking for.) Just for some background info, I'm taking over an old project that someon= e whom I don't have access to was working on. They've written a Service which seems to be code that just elaborated on the SimpleServer from the hapi jar. I'm currently using version 0.4.2. Now, my problems is this: Using the normal hapi test panel, and sample messages that I get from australia, it will not parse because australian phone numbers are ####-#### not like the north american 7 digit number. I= s there a configuration file where I can set up what a phone number looks like? Or other data for that matter? My guess is no, and that I have to modify the source code for the classes found under primitive (ew, I hope this isn't the case). Can anyone recommend any good tutorials for developing an hl7 app using hapi? Not that the one(s) on sourceforge are bad, they're just a bit sparse for my level of sophistication with hl7 right now. Your help is greatly appreciated -Paul |