2016-04-28 14 views
3
  1. を特定のメッセージのセグメントHL7を取得し、私はPipeparserクラスを使用していますが、私はまだ構造により、各セグメントを取得する方法がわかりません名前(MSH,PID,OBX,...)。、私は例えば、セグメントの名称で、特定のセグメントHL7を取得したいJavaで

  2. 時々私はDG1やPV1やOBXのような繰り返しセグメントを持っています(付属のラインを参照)。どうすればこのような解決策があれば、私はケトルのJavaコードを使うべきですか? 、 助けてください)。

OBX|1|TX|PTH_SITE1^Site A|1|left||||||F||||||| 
OBX|2|TX|PTH_SPEC1^Specimen A||C-FNA^Fine Needle Aspiration||||||F||||||| 

または

DG1|1|I10C|G30.0|Alzheimer's disease with early onset|20160406|W||||||||| 
DG1|2|I10C|E87.70|Fluid overload, unspecified|20160406|W||||||||| 

答えて

1

あなたはどのHL7フォーマットされたメッセージの適切/正確な解析のためのHL7 Parserを使用する必要があります。あなたはストリーム

// Open an InputStream to read from the file 
     File file = new File("hl7_messages.txt"); 
     InputStream is = new FileInputStream(file); 

     // It's generally a good idea to buffer file IO 
     is = new BufferedInputStream(is); 

     // The following class is a HAPI utility that will iterate over 
     // the messages which appear over an InputStream 
     Hl7InputStreamMessageIterator iter = new Hl7InputStreamMessageIterator(is); 

     while (iter.hasNext()) { 

      Message next = iter.next(); 

      // Do something with the message 

     } 

として、あなたのメッセージを解析するか、またはあなたが文字列

File file = new File("hl7_messages.txt"); 
     is = new FileInputStream(file); 
     is = new BufferedInputStream(is); 
     Hl7InputStreamMessageStringIterator iter2 = new Hl7InputStreamMessageStringIterator(is); 

     while (iter2.hasNext()) { 

      String next = iter2.next(); 

      // Do something with the message 

     } 

としてそれを読むことができますHAPIの助けを借りて

が、これは正しい方向にあなたを助け願っています。

+0

ありがとう、あなたのコードは、同じ時間に複数のメッセージHL7を繰り返すことができますが、私の質問は、同じメッセージで約どのように各セグメントを取得することができますどのようにDG1 | 1 |およびDG1 | 2 | –

+0

この[example](http://hl7api.sourceforge.net/xref/ca/uhn/hl7v2/examples/ExampleUseTerser.html)を見ることができます。あなたはTerserを使ってセグメントを解析して検索することができます。 – Sanjeev

+0

はよく聞こえます。 –

関連する問題