I am very new to FHIR JSON and I am not even sure I ask the right question. But here is my scenario.
I have a BizTalk solution that receives a FHIR ImagingStudy message as JSON. Using this post (http://soapfault.com/blog/2016/08/hl7-fhir-json-decoding-in-biztalk/) I successfully convert the FHIR JSON message to an XML message in my receive location. Then in my send port this message is mapped to an ORU HL7 and dumped into a folder through a pass-thru send pipeline. Except that my map doesn't get executed for some reason.
If I play a little bit around with my pipelines, to receive a FHIR XML message through an XML Receive pipeline, I get the following exception:
There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=#########" Source: "XML disassembler" Receive Port: "RP_MyProject_Test_FILE" URI: "D:\Projects\MyProject\In*.xml" Reason: Cannot locate document specification because multiple schemas matched the message type "http://hl7.org/fhir#ImagingStudy".
How did I get to this situation, well I don't know. I downloaded the fhir-all-xsd.zip from hl7.org and added all the .xsd files to may project in Visual Studio. I ended up with 100 schemas, I tried to add only the ImagingStudy specific schemas but it didn't work until I added all schemas. After deployment to BizTalk, I can see even more schemas in my BizTalk Admin Console and several have the above message type.
What am I doing wrong? Is there a way to include in my project only the ImagingStudy FHIR schemas? In my suspended message I see that MessageType is not promoted, I guess the map wouldn't know when to execute then, but then I have several messages with the same MessageType in BizTalk.