Default value (initial expression) in HL7 Field
Epic had changed some of their logic on their Incoming Radiology Results which now require an Ordering Provider even though it is supposed to account for it within the Epic Interface settings.
I was wondering if we are using a custom schema if there was a way to default a value into OBR:16 if it was not valued without having to modify all the DTL's for these Results.
Is there a way to set this via the schema editor or in the background so we don't have to create/update DTL's or create a custom TCP Operation Class??
Comments
I have faced similar in the past, and I found the easiest way to manage this was to add a router at an early stage of the process to act as a pre-processor which makes the initial change once. Something like:
.png)
Adding a Pre-Processing Router on top seems like it would work, but it's not really efficient when you are struggling with processing, cpu, memory etc... it adds another process on top of everything else.
Are you dealing with multiple DocTypes and Categories of messages going to Epic, or are all messages the same schema?
I know you're not crazy about a custom operation, but if you take a look at the source for EnsLib.HL7.Operation.TCPOperation, you'll see that it would be dead simple to copy/extend it, add a check for the population of the Ordering Provider field, and the logic to populate it with a default if it's empty.
Typically, it would only be one message schema, but I understand what you mean by creating a copy of the EnsLib.HL7.Operation.TCPOperation. I'll keep that in mind if I want to explore this further.
Another option would be to "chain" a 2nd DTL in the Send action for each sender that has its "Create" setting as Existing. It would handle the evaluation and population of the ordering provider. You wouldn't have to touch a bunch of DTLs, but you'd be modifying a bunch of routes.