1

ORM^O01注文メッセージからORC-​​2フィールドを読み取るのに問題があります。HapiStructures-v23-1.2.jarを使用して読み取りを行っていますが、このメソッド(getFillerOrdersNumber())はnull値を返しています

    MSH|^~\\&|recAPP|20010|BIBB|HCL|20110923192607||ORM^O01|11D900220|D|2.3|1\r
    PID|1|11D900220|11D900220||TEST^FOURTYONE||19980808|M|||\r
    ZRQ|1|11D900220||CHARTMAXX TESTING ACCOUNT 2|||||||||||||||||Y\r

    ORC|NW|11D900220||||||||||66662^NOT INDICATED^X^^^^^^^^^^U|||||||||CHARTMAXX   
    TESTING ACCOUNT 2|^695 S.BROADWAY^DENVER^CO^80209\r

    OBR|1|11D900220||66^BHL, 9P21 GENOTYPE^L|NORMAL||20110920001800|
    ||NOTAVAILABLE|N||Y|||66662^NOT INDICATED^X^^^^^^^^^^U\r

このメッセージを解析してORC-2フィールドを読み取り、データベースに保存したい

    public static string getOrderNumber(){
         Message hapiMsg = null;
         Parser p = new GenericParser();
         p.setValidationContext(null);
         try {
            hapiMsg = p.parse(hl7Message);
         } catch (Exception e) {
            Logger.error(e);
         }

             Terser terser = new Terser(hapiMsg);
         try {
            ORM_O01 getOrc = (ORM_O01)hapiMsg;
            ORC orc = new ORC(getOrc, null);
            String fn= orc.getFillerOrderNumber().toString();
         }catch(Exception e){
            logger.error(e);
         }
         return fn;
    }

ORCOBRおよびNTEセグメントに到達するためにはしごを通過しなければならないいくつかの投稿を読みました。誰かがコードでこれを行う方法を教えてもらえますか?前もって感謝します

4

2 に答える 2

2

まず、ORC-2はプレーサー注文番号であり、ORC-3はフィラー注文番号であり、その逆ではないことを指摘する必要があります。だから、あなたがしたいと思うかもしれないことはこれです:

ORM_O01 msg = ... 
ORC orc = msg.getORDER().getORC();
String placerOrderNumber =
    orc.getPlacerOrderNumber().getEntityIdentifier().getValue();
String fillerOrderNumber =
    orc.getFillerOrderNumber().getEntityIdentifier().getValue();

Hapiのドキュメントを自分で読むことをお勧めします:http://hl7api.sourceforge.net/v23/apidocs/index.html

于 2011-10-01T17:10:02.290 に答える
1

このコードに基づく:

ORM_O01 getOrc = (ORM_O01)hapiMsg;
ORC orc = new ORC(getOrc, null);
String fn= orc.getFillerOrderNumber().toString();

ORCメッセージから既存のものを引き出すのではなく、新しいものを作成しているようです。残念ながら、HAPIではなくHL7にしか精通していないため、正確なコードを提供することはできません。

編集:あなたができるかもしれないように見えますORC orc = getOrc.getORDER().getORC();

于 2011-09-26T00:17:52.820 に答える