簡體   English   中英

在BizTalk中處理EDI文件后,如何執行一次存儲的proc?

[英]How to execute a stored proc once after processing EDI file in BizTalk?

這更多是一個通用的體系結構問題。 我有一些想法,但我認為我們不可能是唯一需要這樣做的人。

通過BizTalk處理HIPAA EDI文件(例如837醫療保健索賠)時,它會拆分為多個索賠文件,並且處理的所有業務流程都將同時運行(很好,實際上)。 在將每個聲明存儲到數據庫之后,我只需要執行一次存儲過程,因此proc顯然無法從保存數據的同一編排執行。

有什么建議嗎? 謝謝!

法案

一種方法是在存儲索賠的數據表上使用插入觸發器。

一方面,這是一種非常簡單的解決方案。 但是,您必須確保已對​​其進行了充分的記錄。 內置於觸發器中的功能可能很難維護。

我可以考慮一些選擇,但是我不知道如何保證您不按順序處理文檔或先檢查文檔就知道索賠數量的情況下處理所有文檔。 一些選擇:

  1. 除了讓管道進行拆分外,您還可以按業務流程進行拆分並按順序而不是並行地對其進行處理。
  2. 再次由一個業務流程進行拆分,但是在拆分之前,請對文檔數量進行計數,並有一個單獨的過程正在輪詢要提交給數據庫的文檔數量。 這將使您至少可以異步觸發所有子文檔。
  3. 在允許EDI組件進行拆分之前,創建一個檢查文檔的管道組件,並且與上述類似,對要完成的所有索賠進行單獨的過程輪詢。

似乎這里最大的問題是如果其中一項聲明失敗,您應該怎么做,如果只想在完整文件完成后才提交,則需要一些回滾策略。

我們決定使用單個(而不是多個)HIPAA模式,因此聲明文件被轉換為包含多個2000A循環的單個XML消息。 然后,我們遍歷這些循環,將它們映射到其中,並在完成后觸發proc。

暫無
暫無

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

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