71.4. HL7 DataFormat
camel->-<7
JAR은 HL7 모델 오브젝트를 마샬링하거나 해제하는 데 사용할 수 있는 HL7 데이터 형식과 함께 제공됩니다.
HL7 데이터 포맷은 아래에 나열된 1개의 옵션을 지원합니다.
이름 | Default | Java Type | 설명 |
---|---|---|---|
검증 |
| HL7 메시지의 유효성 검사는 기본적으로 true입니다. |
-
Marshal
= Message에서 바이트 스트림까지 (HL7 MLLP codec를 사용하여 응답할 때 사용할 수 있음) -
Unmarshal
= 바이트 스트림에서 Message (HL7 MLLP에서 스트리밍된 데이터를 수신할 때 사용할 수 있음)
데이터 형식을 사용하려면 인스턴스를 인스턴스화하고 경로 빌더에서 marshal 또는 Unmarshal 작업을 호출하기만 하면 됩니다.
DataFormat hl7 = new HL7DataFormat(); from("direct:hl7in") .marshal(hl7) .to("jms:queue:hl7out");
DataFormat hl7 = new HL7DataFormat();
from("direct:hl7in")
.marshal(hl7)
.to("jms:queue:hl7out");
위의 샘플에서 HL7은 HAPI Message 오브젝트에서 바이트 스트림으로 마샬링되고 JMS 큐에 배치됩니다.
다음은 그 반대의 예입니다.
DataFormat hl7 = new HL7DataFormat(); from("jms:queue:hl7out") .unmarshal(hl7) .to("patientLookupService");
DataFormat hl7 = new HL7DataFormat();
from("jms:queue:hl7out")
.unmarshal(hl7)
.to("patientLookupService");
여기서는 바이트 스트림을 환자 조회 서비스로 전달되는 HAPI Message 오브젝트로 요약합니다.
71.4.1. 세그먼트 구분 기호 링크 복사링크가 클립보드에 복사되었습니다!
Unmarshalling은 \n
을 \r
로 변환하여 더 이상 세그먼트 구분자를 자동으로 수정하지 않습니다. 이 변환이 필요한 경우 org.apache.camel.component.anchor7.HL7#convertLFToCR
은 이러한 목적으로 용인 표현식
을 제공합니다.
71.4.2. grafset 링크 복사링크가 클립보드에 복사되었습니다!
마샬링 및 unmarshal
은 MSH-18
필드에 제공된charset을 평가합니다. 이 필드가 비어 있는 경우 기본적으로 해당 Camel hadset 속성/header에 포함된charset가 가정됩니다. HL7DataFormat
클래스에서 상속할 때 guessCharsetName
메서드를 재정의하여 이 기본 동작을 변경할 수도 있습니다.
Camel에는 일반적으로 사용되는 잘 알려진 데이터 형식에 대한 간단한 구문이 있습니다. 그런 다음 HL7DataFormat
개체의 인스턴스를 만들 필요가 없습니다.