共用方式為


使用任意文字的字元編碼

從 BizTalk Server 2013 R2 開始,“FreeText” 可用於欄位或區段。 不會剖析 「FreeText」 字段/區段中的數據。

您所需了解的事情

Separator 行為 範例
~: 重複分隔符 在欄位中,重複 (~) 會被視為重複分隔符。 在非可用區段中,重複 (~) 會被視為重複分隔符。 在自由區段中,重複 (~) 被視為免費文字的一部分,而不是新的重複。 在下列範例中,FRE 是免費的 Segment。 它可以有任意字元做為自由文字,包括 ~。 任何額外的重複 (~) 都不會被視為重複分隔符,而且會被視為「自由文字」內容。 即使免費區段的子系不可重複,而且包含重複 (~) ,驗證仍會成功。 FRE 範例:

FRE|Foo&^|Foo&^|Foo&^|Foo&^~Foo&^|Foo&^|Foo&^|Foo&^

在下列範例中,EVN4 定義為自由文字,因為它包含 &^。 遇到 “|” 分隔符時,會將它視為目前可用文字的結尾。 EVN 範例:

EVN|||Foo&^Foo&^Foo&^Foo&^Foo&^||

在下列範例中,EVN5 的第一個子系會定義為自由文字,因為它包含 &。 遇到 “^” 分隔符時,會將它視為目前可用文字的結尾。 EVN5 範例:

EVN||||Foo&Foo&Foo&Foo&Foo&^5.2|

在下列範例中,即使在架構中定義為FreeText,5.2.1和5.2.2不能有任何分隔符做為Free Text。 5.2.1 和 5.2.2 範例:

EVN||||Foo1^5.2.1&5.2.2|

在下列範例中,假設 EVN4 可以重複,而且是免費文字類型。 Foo1&^ 會被視為第一次重複, 而 Foo2&^ 會被視為第二次重複。 如果 EVN4 無法重複 (MaxOccurs = 1) ,則即使它包含 ~,驗證仍會失敗,即使它是非可用文字字段 (,) 。 EVN4 範例:

EVN |||Foo1&^~ Foo2&^ ||
|: 欄位分隔符 如果在可用區段的區段標記之後遺漏欄位分隔符,則驗證會成功。 在下列範例中,FRE 是免費文字類型。 可用文字內容可以在 FRE 區段標籤之後立即啟動,且不含 「|」 字段分隔符。 這兩個範例都成功:

FREabc
FRE|abc

在下列範例中,驗證成功:

DASM 的輸入訊息: FRE|abcd
DASM 的輸出: <SegmentData>|abcd</SegmentData>
ASM 的輸出: FRE|abcd

DASM 的輸入訊息: FREabcd
DASM 的輸出: <SegmentData>abcd</SegmentData>
ASM 的輸出: FREabcd
Parent-Child 選擇性 父子式選擇性驗證規則仍適用。 假設父系是選擇性的,而且其中一個子系是必要項目,然後:

- 如果沒有填入其他子系和強制子系,則訊息驗證會成功。
- 如果至少填入一個子系,則也必須填入強制子系。 否則,訊息驗證會失敗。

在下列範例中,欄位 1 為選擇性。 其 1.a 子系是選擇性的,而且是免費文字類型。 其 1.b 子系是必要專案:

xyz|1.a^1.b|2

在下列範例訊息中, dfssdf&sdf 會被視為單一元素 - 1.a。 剖析器會檢查 1.b 是否存在。 |達到 時,它會假設未填入 1.b,且訊息驗證失敗:

xyz|dfssdf&sdf|2
MSH、FSH 和 BSH 區段 所有欄位都會忽略任意文字。 這些區段會對應至標頭區段。 驗證會像平常一樣發生,即使它們定義為自由文字也一樣。
\: 逸出字元 如果元素中有偶數的 “\”,即使它們不是連續的) ,驗證仍會成功 (。 如果有奇數,驗證就會失敗。 非免費文字欄位會繼續相同的行為。 使用 [免費文字] 欄位時,數字沒有驗證;它被視為免費文字內容。

訊息分隔符 提供這些範例中分隔符的詳細資訊。

使用自由文字

  1. 在Visual Studio的專案中,開啟架構。

  2. 以滑鼠右鍵按下記錄,選取 [ 插入架構節點],然後選取 [子字段元素]。

  3. 在 [屬性] 中,選取 [ 數據類型],然後選取 [ Free Text (SimpleType)

另請參閱

處理 HL7 訊息