nHapi Add Non-Standard Segments to REFI12 Message

517 Views Asked by At

I'm using nHapi to create & read HL7 REF_I12 messages in HL7 V2.3 and V2.4.

The standard nHapi REF_I12 Message is missing several segments I need - PRD, OBR, PV1, PV2, ORC and OBX.

How do I add these segments to the standard nHapi REF_I12 Message ?

Should I try and add them as custom Z segments ?

1

There are 1 best solutions below

0
Amit Joshi On BEST ANSWER

How do I add these segments to the standard nHapi REF_I12 Message ?

You do not need to add those; those are there. You need to load them.

Just populating the message does not load the segment like PID in case of REF^I12. Please refer to the hierarchy here:

Hierarchy

You need to load Provider_Contact before loading PRD segment.

You can do it something like below:

msgREF_I12.GetPROVIDER_CONTACT(0).PRD......

You need to repeat the same for all the segments those are not loading. I think ORC is not the part of message; so this will not work with it.

Please refer to the source code on GitHub:

///<summary>
/// Returns  first repetition of REF_I12_PROVIDER_CONTACT (a Group object) - creates it if necessary
///</summary>
public REF_I12_PROVIDER_CONTACT GetPROVIDER_CONTACT()
{
    REF_I12_PROVIDER_CONTACT ret = null;
    try
    {
        ret = (REF_I12_PROVIDER_CONTACT)this.GetStructure("PROVIDER_CONTACT");
    }
    catch(HL7Exception e)
    {
        HapiLogFactory.GetHapiLog(GetType()).Error("Unexpected error accessing data - this is probably a bug in the source code generator.", e);
        throw new System.Exception("An unexpected error ocurred", e);
    }
    return ret;
}

Should I try and add them as custom Z segments ?

If you add Z segment, it will be a Z segment. It will not be the segment you are expecting.