You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
getting exceptions when trying to parse hl7 messages containing large data in obx-5 #594
Public Shared Function ParseHL7Messages(HL7Messages As String, FType As FeedType) As Boolean
Dim MsgType As String = ""
Dim SendingApp As String = ""
Dim iEPDFacNo As Integer = 0
Try
FieldSeparator = HL7Messages(3)
ComponentSeparator = HL7Messages(4)
Dim HL7MessageName As String = ""
If Not HL7Messages.StartsWith("MSH") Then
If blnInService = True Then 'if running in the service
WriteEventLog("Error in ParseHL7Messages: does not start with MSH " & vbCrLf & HL7Messages, EventLogEntryType.Error)
Else
Dim ex As New Exception("Error in ParseHL7Messages: does not start with MSH " & vbCrLf & HL7Messages)
Throw ex
End If
End If
Dim prsr As New Parser.PipeParser()
Dim imsg As Model.IMessage = Nothing
Dim trsr As Util.Terser
Dim blnFilterOut As Boolean = False
For Each strMsg In HL7Messages.Split(New String() {"MSH|"}, StringSplitOptions.RemoveEmptyEntries)
strMsg = "MSH|" & strMsg 'add the split chars back on.
'If prsr.GetMessageStructure(strMsg) = "ORU_R01" Then
strMsg = SetOBX2DataType(strMsg) '
'End If
Try
imsg = prsr.Parse(strMsg)
Catch ex As Exception
Try
EPDnHapi.SetPtrnFindReplace(strMsg)
imsg = prsr.Parse(strMsg)
Catch ex1 As Exception
If strMsg.Contains("ORU^R01") OrElse strMsg.Contains("ORM^O01") Then ' for IB ORU/ORM clearing OBR-13 since not needed
EPDnHapi.ClearField(strMsg, "OBR|", 13) ' and causing problems for parser (AF)
Try
imsg = prsr.Parse(strMsg)
Catch ex2 As Exception
imsg = prsr.Parse(strMsg, "2.4")
End Try
End If
End Try
End Try
+"OBX|1|ED|PDF^Display format in PDF^AUSPDI||^TX^PDF^Base64^JVBERi0xLjcNJeLjz9MNCjI0IDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDExMjQxNi9PIDI2L0UgNTQ2MTkvTiAyL1QgMTExODE2L0ggWyA5NzYgMjk3XT4+DWVuZG9iag0gICAgICAgICAgICAgICAgDQp4cmVmDQoyNCAzNA0KMDAwMDAwMDAxNiAwMDAwMCBuDQowMDAwMDAxMjczIDAwMDAwIG4NCjAwMDAwMDE0NDUgMDAwMDAgbg0KMDAwMDAwMTg5OSAwMDAwMCBuDQowMDAwMDAyNDgwIDAwMDAwIG4NCjAwMDAwMDI1MTUgMDAwMDAgbg0KMDAwMDAwMjYyOCAwMDAwMCBuDQowMDAwMDAyODgzIDAwMDAwIG4NCjAwMDAwMDM0NTEgMDAwMDAgbg0KMDAwMDAwNDI0OSAwMDAwMCBuDQowMDAwMDA0MzgzIDAwMDAwIG4NCjAwMDAwMDQ5MjYgMDAwMDAgbg0KMDAwMDAwNTAzNyAwMDAwMCBuDQowMDAwMDA1MDYyIDAwMDAwIG4NCjAwMDAwMDU1NjcgMDAwMDAgbg0KMDAwMDAwNTgyMyAwMDAwMCBuDQowMDAwMDA2MzA4IDAwMDAwIG4NCjAwMDAwMDcwMTYgMDAwMDAgbg0KMDAwMDAwNzYyNCAwMDAwMCBuDQowMDAwMDA4MjE0IDAwMDAwIG4NCjAwMDAwMDg4NzAgMDAwMDAgbg0KMDAwMDAwOTM0NyAwMDAwMCBuDQowMDAwMDA5Nzg3IDAwMDAwIG4NCjAwMDAwMTA0NDMgMDAwMDAgbg0KMDAwMDAxMzA5MiAwMDAwMCBuDQowMDAwMDEzMTYxIDAwMDAwIG4NCjAwMDAwMTMyNjAgMDAwMDAgbg0KMDAwMDAxOTU3NSAwMDAwMCBuDQowMDAwMDE5ODQzIDAwMDAwIG4NCjAwMDAwMjAyNDIgMDAwMDAgbg0KMDAwMDAyODAyNCAwMDAwMCBuDQowMDAwMDM0MzUyIDAwMDAwIG4NCjAwMDAwNTE0OTQgMDAwMDAgbg0KMDAwMDAwMDk3NiAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDU4L1Jvb3QgMjUgMCBSL0luZm8gMjMgMCBSL0lEWzxDNzc3RERCRUE2QTE1RDQwODZEMDg2MTlBODBGOEVBOD48RjlDREEyMTExMzgzMTU0MzhGRjlGNzgwQkMzRDZEQzc+XS9QcmV2IDExMTgwNT4+DQpzdGFydHhyZWYNCjANCiUlRU9GDQogICAgICAgICAgICANCjU3IDAgb2JqDTw8L0ZpbHRlci9GbGF0ZURlY29kZS9JIDI1Mi9MZW5ndGggMjA0L08gMjM2L1MgOTgvVCAxOTE+PnN0cmVhbQ0KaN5iYGDgY2BgqWFgZWA4tZSBmwEBuIFibAwsDBwdDIsUGJY6MKACDiMvnUJWNmFexdDpidNmFzAwMAoKCnYAAVhaUALIagBqBAJ+BsZ514G0PBArgWUlGfiZozg2MASwNsgcaD/Y1JDLwsMYwcAgxyDzoJgxtMmdJYvzDp+C5Ae/RxMYxBi8DFWYz3BvfHJZ+MN2Nz4GceZLDD4wdwgzMC5MANJMIA6TLgMXkGJkwAQqDUBCCKjYFKpAG4jFGRg33YfytwIEGAADmimBDQplbmRzdHJlYW0NZW5kb2JqDTI1IDAgb2JqDTw8L0V4dGVuc2lvbnM8PC9BREJFPDwvQmFzZVZlcnNpb24vMS43L0V4dGVuc2lvbkxldmVsIDM+Pj4+L01ldGFkYXRhIDIyIDAgUi9PdXRsaW5lcyAxOCAwIFIvUGFnZXMgMjEgMCBSL1R5cGUvQ2F0YWxvZy9WaWV3ZXJQcmVmZXJlbmNlczw8L0RpcmVjdGlvbi9MMlI+Pj4+DWVuZG9iag0yNiAwIG9iag08PC9BcnRCb3hbMC4wIDAuMCA2MTIuMCA3OTIuMF0vQmxlZWRCb3hbMC4wIDAuMCA2MTIuMCA3OTIuMF0vQ29udGVudHNbMzIgMCBSIDQwIDAgUiA0MSAwIFIgNDIgMCBSIDQzIDAgUiA0NCAwIFIgNDUgMCBSIDQ2IDAgUl0vQ3JvcEJveFswLjAgMC4wIDYxMi4wIDc5Mi4wXS9NZWRpYUJveFswLjAgMC4wIDYxMi4wIDc5Mi4wXS9QYXJlbnQgMjEgMCBSL1Jlc291cmNlczw8L0NvbG9yU3BhY2U8PC9DUzAgMjggMCBSPj4vRXh0R1N0YXRlPDwvR1MwIDI5IDAgUi9HUzEgMzUgMCBSPj4vRm9udDw8L0MyXzAgMzMgMCBSL1RUMCAyNyAwIFIvVFQxIDM0IDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQ10vWE9iamVjdDw8L0ltMCA1NiAwIFI+Pj4+L1JvdGF0ZSAwL1RhYnMvVy9UaHVtYiAxOSAwIFIvVHJpbUJveFswLjAgMC4wIDYxMi4wIDc5Mi4wXS9UeXBlL1BhZ2U+Pg1lbmRvYmoNMjcgMCBvYmoNPDwvQmFzZUZvbnQvSlhGUU1MK1doaXRuZXktQm9vay9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRmlyc3RDaGFyIDMyL0ZvbnREZXNjcmlwdG9yIDMwIDAgUi9MYXN0Q2hhciAxNzQvU3VidHlwZS9UcnVlVHlwZS9Ub1VuaWNvZGUgMzEgMCBSL1R5cGUvRm9udC9XaWR0aHNbMjI2IDAgMCAwIDAgMCAwIDAgMzk4IDM5OCAwIDAgMjE5IDM2NCAyMTkgNTE3IDAgMCA1MzUgNTIzIDAgMCAwIDUzMiAwIDAgMjI3IDAgMCAwIDAgMCAwIDY5MSAwIDY0OCA3MDEgNTA0IDQ3NyAwIDcwNSAyNjggMzY0IDAgNDY2IDkwNyA3MDUgNzQ1IDUzMyAwIDU2NyA1MTIgNTgxIDY4MSA2ODAgMCA2MzUgMCAwIDAgMCAwIDAgMCAwIDQ4OSA1MjggNDY2IDUzMSA0OTEgMjk4IDUwMiA1MjMgMjMzIDAgNDY2IDIzNCA4MTkgNTIzIDUyMyA1MzEgNTI4IDM0NCA0MzggMzMwIDUyMyA0NzAgNzMwIDQ3MCA0ODAgNDQ5IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAyMTkgMzg4IDM4OCAwIDQ1NiAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTY2XT4+DWVuZG9iag0yOCAwIG9iag1bL0lDQ0Jhc2VkIDQ3IDAgUl0NZW5kb2JqDTI5IDAgb2JqDTw8L0FJUyBmYWxzZS9CTS9Ob3JtYWwvQ0EgMS4wL09QIGZhbHNlL09QTSAxL1NBIHRydWUvU01hc2svTm9uZS9UeXBlL0V4dEdTdGF0ZS9jYSAxLjAvb3AgZmFsc2U+Pg1lbmRvYmoNMzAgMCBvYmoNPDwvQXNjZW50IDkzOS9DYXBIZWlnaHQgNjkwL0Rlc2NlbnQgLTIwMC9GbGFncyAzMi9Gb250QkJveFstNzYg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|||A|||F|||201411201536\r"
Ok, this information is very helpful indeed and will be used for .pdf related feeds which we have plenty.
What approach should I use if incoming hl7 message contains .rtf content in obx-5 the way I demonstrated above ?
it appears other data types in OBX-2 (like ST, TX and ED which is used in your example above) work with nhapi parser just fine,
however, in our case, we are getting type FT [formatted text] and for this type nhapi for me does not always work as expected.
data comes in like this: OBX|1|FT|^EDIE_VISIT_HISTORY||{\rtf1{\info{\
planning to override FT and make it ST or TX unless perhaps you might provide some other recommendations
@AlexFJaxFL do you have some sample code? I suspect it could be something to do with special character escaping etc
PublicSharedFunctionTryParseMessage(HL7MessageAsString)AsString'Steve K. - 20210503DimimsgAsModel.IMessage=NothingDimprsrAsNewParser.PipeParser()DimretAsString=""TryIfNotHL7Message.StartsWith("MSH")ThenIfblnInService=TrueThen'if running in the serviceWriteEventLog("Error in TryParseMessage: does not start with MSH "&vbCrLf&HL7Message,EventLogEntryType.Error)ElseDimexAsNewException("Error in TryParseMessage: does not start with MSH "&vbCrLf&HL7Message)ThrowexEndIfEndIfTryHL7Message=SetOBX2DataType(HL7Message)'Steve K. - 20210504imsg=prsr.Parse(HL7Message)CatchexAsExceptionTryEPDnHapi.SetPtrnFindReplace(HL7Message)imsg=prsr.Parse(HL7Message)Catchex1AsExceptionIfHL7Message.Contains("ORU^R01")OrElseHL7Message.Contains("ORM^O01")Then' for IB ORU/ORM clearing OBR-13 since not needed EPDnHapi.ClearField(HL7Message,"OBR|",13)' and causing problems for parser (AF)Tryimsg=prsr.Parse(HL7Message)Catchex2AsExceptionimsg=prsr.Parse(HL7Message,"2.4")EndTryEndIfEndTryEndTryIfimsgIsNothingThenret= $"Can't parse HL7Message: {vbCrLf}{EPDnHapi.GetCleanHeaderString(HL7Message)}"EndIfCatchexAsExceptionimsg=Nothingret=ex.ToString'If error return error messsage.EndTryReturnretEndFunction
client that had this issue decided to use another vendor next year so this issue does not seem as critical
Activity
milkshakeuk commentedon Sep 24, 2024
hi @AlexFJaxFL do you have any example code?
milkshakeuk commentedon Sep 24, 2024
also @AlexFJaxFL might be worth checking #105 to see if this issue is similar or not?
AlexFJaxFL commentedon Sep 24, 2024
Public Shared Function ParseHL7Messages(HL7Messages As String, FType As FeedType) As Boolean
Dim MsgType As String = ""
Dim SendingApp As String = ""
Dim iEPDFacNo As Integer = 0
AlexFJaxFL commentedon Sep 24, 2024
i can see there is certain correlation between my issue and discussion that took place in #105,
my data looks like this:
AlexFJaxFL commentedon Sep 24, 2024
maybe this structure does not match what your engine parser is expecting ..
milkshakeuk commentedon Sep 25, 2024
Hi @AlexFJaxFL we have some unit tests showing how it should look,
nHapi/tests/NHapi.Benchmarks/LargeEmbeddedFileTest.cs
Line 23 in a9f4218
There is also this blog which might help.
http://healthbase.info/blog/?p=376
AlexFJaxFL commentedon Oct 1, 2024
Ok, this information is very helpful indeed and will be used for .pdf related feeds which we have plenty.
What approach should I use if incoming hl7 message contains .rtf content in obx-5 the way I demonstrated above ?
milkshakeuk commentedon Oct 9, 2024
@AlexFJaxFL I think you can use a similar approach to the pdf for rtf files.
AlexFJaxFL commentedon Oct 25, 2024
ok, data does not come in to us in the same format so i will have to do some custom programming to adjust accordingly and then will go from there
AlexFJaxFL commentedon Oct 28, 2024
it appears other data types in OBX-2 (like ST, TX and ED which is used in your example above) work with nhapi parser just fine,
however, in our case, we are getting type FT [formatted text] and for this type nhapi for me does not always work as expected.
data comes in like this: OBX|1|FT|^EDIE_VISIT_HISTORY||{\rtf1{\info{\
planning to override FT and make it ST or TX unless perhaps you might provide some other recommendations
milkshakeuk commentedon Dec 16, 2024
@AlexFJaxFL do you have some sample code? I suspect it could be something to do with special character escaping etc
AlexFJaxFL commentedon Dec 16, 2024
client that had this issue decided to use another vendor next year so this issue does not seem as critical
milkshakeuk commentedon Dec 16, 2024
@AlexFJaxFL do you have an example message?