簡體   English   中英

BizTalk中從FHIR JSON到ORU HL7的映射

[英]FHIR JSON to ORU HL7 mapping in BizTalk

我對FHIR JSON非常陌生,甚至不確定我問的是正確的問題。 但是這是我的情況。

我有一個BizTalk解決方案,可以接收FHIR ImagingStudy消息作為JSON。 使用這篇文章( http://soapfault.com/blog/2016/08/hl7-fhir-json-decoding-in-biztalk/ ),我成功地在接收位置將FHIR JSON消息轉換為XML消息。 然后在我的發送端口中,此消息被映射到ORU HL7,並通過直通發送管道轉儲到文件夾中。 除了我的地圖由於某種原因沒有執行。

如果我在管道中稍作改動,以通過XML接收管道接收FHIR XML消息,則會收到以下異常:

執行接收管道時失敗:“ Microsoft.BizTalk.DefaultPipelines.XMLReceive,Microsoft.BizTalk.DefaultPipelines,Version = 3.0.1.0,Culture = neutral,PublicKeyToken = #########”來源:“ XML反匯編程序”接收端口:“ RP_MyProject_Test_FILE” URI:“ D:\\ Projects \\ MyProject \\ In * .xml”原因:由於多個模式與消息類型“ http://hl7.org/fhir#ImagingStudy ”匹配,因此無法找到文檔規范。

我怎么知道這種情況,我不知道。 我從hl7.org下載了fhir-all-xsd.zip,並將所有.xsd文件添加到Visual Studio中的may項目中。 我最終得到了100個模式,我嘗試僅添加ImagingStudy特定的模式,但是直到我添加了所有模式后它才起作用。 部署到BizTalk后,我可以在BizTalk管理控制台中看到更多架構,其中一些具有上述消息類型。

我究竟做錯了什么? 有沒有辦法在我的項目中僅包含ImagingStudy FHIR模式? 在我的暫掛消息中,我看到MessageType沒有提升,我猜想映射將不知道何時執行,但是在BizTalk中有幾條消息具有相同的MessageType。

要解析多個架構匹配的消息類型,您必須

  1. 確保每個模式都有唯一的名稱空間+根名。 這是為了確保您不要一次部署同一架構,如果需要在多個項目中使用該架構,請創建一個公共應用程序,其他兩個應用程序都可以引用該應用程序。
  2. 如果無法達到上述要求,請確保使用XML反匯編程序創建自定義接收管道,在其中指定要使用的架構

若要解決未執行的映射,您必須查看映射之前消息中的消息類型(通過BizTalk管理控制台),然后將其與映射期望映射的消息類型進行比較。 您會發現兩者不匹配,這就是為什么地圖不執行的原因。

您的基本問題是“ 因為多個模式匹配了消息類型”“ http://hl7.org/fhir#ImagingStudy ”。

解決此問題的最佳方法,以及我在幾乎所有情況下的建議,都是使用在XmlDisassembler和XmlAssembler組件中明確設置的文檔規范創建自定義管道。

此Wiki文章描述了該過程和好處: BizTalk:通過始終創建自定義管道來改進部署和跟蹤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM