저는 FHIR과 json으로 시작 했으므로 제 질문에 대해서는 잘 대답하지 못할 수도 있습니다. 내가 여기 예에 따라이 라이브러리 https://github.com/ewoutkramer/fhir-net-api를 사용하여 FHIR-XML로 FHIR-JSON 변환하는 BizTalk 파이프 라인 구성 요소를 구축FHIR JSON과 BizTalk의 XML 디코딩
, 여기 http://soapfault.com/blog/2016/08/hl7-fhir-json-decoding-in-biztalk/
는 파이프 라인 구성 요소에서 코드입니다. 예제와 거의 같습니다.
//Read the json message
using (TextReader tr = new StreamReader(originalDataStream))
{
json = tr.ReadToEnd();
}
//Use FHIR-NET-API to create a FHIR resource from the json
Hl7.Fhir.Serialization.ResourceReader resourceReader = new Hl7.Fhir.Serialization.ResourceReader(FhirJsonParser.CreateFhirReader(json), ParserSettings.Default);
//Use FHIR-NET-API to serialize the resource to XML
byte[] resourceXmlBytes = Hl7.Fhir.Serialization.FhirSerializer.SerializeToXmlBytes(resourceReader.Deserialize());
파이프 라인 구성 요소는 { "resourceType": "ImagingStudy",
로 시작하는 하나의 JSON FHIR 메시지를 디코딩 할 수 있지만이 같은 시작 메시지를 구문 분석 오류,
{
"resourceType" : "Bundle",
"entry" : [{
"resource" : {
"resourceType" : "ImagingStudy",
또는
{
"entry": [
{
"fullUrl": "http://fhirtest.uhn.ca/baseDstu2/ImagingStudy/EXexample",
"resource": {
"resourceType": "ImagingStudy",
여기에 공동 내가 가지고 오류의 uple, 궁극적 인 목표에 내 솔루션을
There was a failure executing the receive pipeline: "LALALA.Imaging.Pipelines.FHIRJasonDecoderRP, LALALA.Imaging.Pipelines, Version=1.0.0.0, Culture=neutral, PublicKeyToken=19bb8b5ea64396aa" Source: "FHIRJsonDecoder" Receive Port: "RP_LA_Test_FILE" URI: "D:\Projects\LALALA.Imaging\In\*.json" Reason: Data at the root level is invalid. Line 1, position 1.
또는
Reason: At line 1, pos 1: Cannot determine type of resource to create from json input data: no member resourceType was found
다음 될 것입니다 단일 fhir의 XML 메시지에 FHIR 이미지 연구 메시지의 수 구문 분석 번들이 될 수 있습니다 HL7 ORU 메시지에 매핑됩니다.
위의 문제에 대한 도움이나 BizTalk를 사용하여 최종 목표를 달성하는 방법에 대한 제안은 크게 감사하겠습니다.
감사 Ewout, 나는 "번들"메시지를 내 샘플의 일부를 편집하고 XML로 디코딩하는 파이프 라인을 얻을 수있었습니다. 나는 아직도 다른 사람들이 무엇이 잘못되었는지 확신 할 수 없지만, 지금 나는 참고할 실례를 가지고있다. – David