147.11. HL7 確認式

HL7v2 処理の一般的なタスクは、受信した HL7v2 メッセージへのレスポンスとして、たとえば検証結果に基づいて確認メッセージを生成することです。ack 式を使用すると、これを非常にエレガントに実現できます。

import static org.apache.camel.component.hl7.HL7.messageConformsTo;
import static org.apache.camel.component.hl7.HL7.ack;
import ca.uhn.hl7v2.validation.impl.DefaultValidation;

  // Use standard or define your own validation rules
   ValidationContext defaultContext = new DefaultValidation();

   from("direct:test1")
      .onException(Exception.class)
         .handled(true)
         .transform(ack()) // auto-generates negative ack because of exception in Exchange
         .end()
      .validate(messageConformsTo(defaultContext))
      // do something meaningful here

      // acknowledgement
      .transform(ack())