nHapi добавляет нестандартные сегменты к сообщению REFI12 - PullRequest
1 голос
/ 04 марта 2020

Я использую nHapi для создания и чтения сообщений HL7 REF_I12 в HL7 V2.3 и V2.4.

В стандартном сообщении nHapi REF_I12 отсутствуют несколько нужных мне сегментов - PRD, OBR, PV1, PV2 , ИЛИ C и OBX.

Как добавить эти сегменты в стандартное сообщение nHapi REF_I12?

Стоит ли пытаться добавить их в качестве пользовательских сегментов Z?

1 Ответ

2 голосов
/ 05 марта 2020

Как добавить эти сегменты в стандартное сообщение nHapi REF_I12?

Вам не нужно добавлять их; те есть. Вам нужно загрузить их.

Простое заполнение сообщения не загружает сегмент как PID в случае REF^I12. Пожалуйста, обратитесь к иерархии здесь :

Hierarchy

Вам необходимо загрузить Provider_Contact перед загрузкой PRD сегмент.

Вы можете сделать это примерно так:

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

Вам необходимо повторить то же самое для всех сегментов, которые не загружаются. Я думаю ORC не является частью сообщения; так что это не будет работать с ним.

Пожалуйста, обратитесь к исходному коду на 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;
}

Должен ли я попробовать и добавить их как пользовательские Z-сегменты?

Если вы добавите Z сегмент, он будет Z-сегментом. Это будет не тот сегмент, который вы ожидаете.

...