# 計算式 HIS 參照

表單可通過 **HIS API** 查詢回傳 HIS 資料，利用控制項設定 HIS 參照範本 (HIS formula), 範本由: **參照**函數、**搜尋條件**、**取值條件** 組成來查詢病人的HIS資料。

## HIS 參照方法

表單提供下列四種 HIS 參照方法，依不同需求帶回 HIS 資料

### 計算式控制項初始參照

在計算式控制項使用 HIS 參照，在表單初始開啟時會自動查找 。

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2FsN1ilzVLo6iZLhVkcbEY%2F2025-12-07_11-12-07.jpg?alt=media&#x26;token=53daffbf-aa31-46ee-944c-c0e7ee351255" alt=""><figcaption></figcaption></figure>

### 按鈕控制項全局參照

透過巨集控制項，手動查找表單所有設定 HIS參照 的控制項。表單所有設定 HIS參照 的控制項。

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2F5M1QSEKilm2x2zMp8AEf%2F2025-12-07_11-15-28.jpg?alt=media&#x26;token=ca7e4443-cd93-4dbf-80da-4b52783ce5a4" alt=""><figcaption><p>設定 HISQUERY() 函數</p></figcaption></figure>

### 按扭控制項指定參照

透過按鈕控制項，設定 HISQUERY("queryString") 函數，queryString 的組成如下: "id1, 參照函數1; id2, 參照函數2..."，參照的結果會帶回 id1, id2。

<pre class="language-csharp"><code class="lang-csharp">// simple queryString 一次一個
<strong>HISQUERY("82,ERDDATA.InDays(30).GetLatestString()"),
</strong>HISQUERY("73,OPDDATA.InDays(30).GetAllString()"),
HISQUERY("85,LABDATA.InDays(30).GetAllJson()"),

// Multiple query 一次多個，使用";"區隔
HISQUERY("82,ERDDATA.InDays(30).GetLatestString();73,OPDDATA.InDays(30).GetAllString()")
</code></pre>

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2FMDcRcT6RldCY7DQLAYx1%2F2025-12-07_11-19-54.jpg?alt=media&#x26;token=760bcffd-e4ae-4c37-89c6-25758d7074f9" alt=""><figcaption><p>設定 HISQUERY(id, HIS formula ) 函數</p></figcaption></figure>

### 函數建構查詢

透過按鈕控制項，設定 HISQUERY(queryString) 函數，利用函數建構 queryString，可彈性使用欄位資料，以及計算式組合查詢條件。

#### 範例1

```csharp
// 利用 CONCATENATE 組合欄位資料查詢
HISquery(
CONCATENATE("82,ERDDATA.InDays(",A101,").GetLatestString()")
),
HISquery(
CONCATENATE("73,OPDDATA.InDays(",A101,").GetLatestString()")
)
```

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2FI6iTD9yXtxkVjPqclY4j%2F2025-12-07_21-30-43.jpg?alt=media&#x26;token=d4baa73c-c4f3-4174-8408-dfe8f95a2bc0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2FURPxFD1qxzT0rg8RZh5T%2F2025-12-07_21-35-25.jpg?alt=media&#x26;token=938cf632-ab3c-4fe2-a798-1e6ec9baed3d" alt=""><figcaption></figcaption></figure>

#### 範例2

{% code overflow="wrap" %}

```csharp
// get most recent report in recent A3 days
HISquery(
CONCATENATE("8,Procedure.InName(KRPTUTILITY.GET_RPTALL_DAY_ONEREC).AddParameter(P_DAYS=", A3, ").GetValueByName(OUTPUT)")
),

// get OPD data for recent A3 days
HISquery(
CONCATENATE("7,OPDDATA.InDays(", A3, ").GetAllString()")
),

// get ER data for recent A3 days
HISquery(
CONCATENATE("9,ERDDATA.InDays(", A3, ").GetAllString()")
)
```

{% endcode %}

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2FWSQq3Wwgjl9jxjTvvNXO%2Fref1.jpg?alt=media&#x26;token=b43e1e4e-41bd-48d7-964c-4c26d5133bc2" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2Fp25R5QkxYDCksKSxT4C1%2Fref2.jpg?alt=media&#x26;token=b267dbad-a4c2-48bf-b16b-a51f4c3ef3fb" alt=""><figcaption></figcaption></figure>

## HIS 參照範本

點選 HIS 參照右側的 "查找按鈕"，搜尋已經寫好的 HIS 參照公式使用....

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2FgZZtNtPOkpgxs1IRIn1c%2FHIS%20function.gif?alt=media&#x26;token=eb318922-4d92-4efb-a480-cd991e2455eb" alt=""><figcaption><p>插入以及查找 HIS 函數</p></figcaption></figure>
