LIVE DOCUMENT

快速建立一份乾淨的紀錄

CURRENT TEMPLATE

載入中…

正在初始化本機資料。

COMMAND DECK

快速指令面板

↑↓ 選擇 · Enter 執行 · Esc 關閉

EXAMPLE PREVIEW

套用前預覽

CURRENT RECORD


        

AFTER APPLY


        
FIELD CHANGES 0

TEMPLATE MIGRATION

範本更新預覽

CURRENT RECORD


        

AFTER MIGRATION


        
TEMPLATE DIFFERENCES 0

PRE-FLIGHT CHECK

完成前品質檢查

BLOCKING ERRORS 0
WARNINGS 0
INFORMATION 0
OUTPUT SNAPSHOT

LOCAL LIBRARY

管理本機資料

01 選擇範本載入或新增
02 整理欄位查看結構與巢狀欄位
03 調整設定型別、預設與規則
04 儲存驗證確認差異後保存
記錄範本檔案 可匯入記錄範本 TXT,或選擇目前格式/相容舊版格式匯出。

RECORD TEMPLATE

編輯記錄範本

TEMPLATE IDENTITY

範本名稱與固定 ID

儲存與引用依據

TEMPLATE WORKSPACE

文件、預覽與欄位設定

EDITOR / PREVIEW / INSPECTOR
DOCUMENT DESIGN 使用共用 Rich Editor 編排文件、欄位與可重複區塊
raw syntax 進階模式 直接編輯範本標記與文字
注意

外層自由輸入是單一欄位。 [[key:內容]] 會把冒號後的全部內容當成輸入值,因此不能再在其中嵌入單選、複選或另一個輸入欄位;需要巢狀欄位時,請把它放在外層單選或複選的選項內。巢狀自由輸入可省略類型,直接使用 [[key:內容]]

可重複區塊:使用 {{#repeat:區塊key}}{{/repeat}} 包住一段內容;區塊內可放單選、複選與自由輸入,LIVE DOCUMENT 可逐筆新增或刪除。每個區塊目前只允許一層,區塊 key 必須是英文字母開頭的有效 key。

LIVE PREVIEW

使用者看到的欄位樣貌

等待內容

這裡只顯示結構預覽,不會執行填寫;確認欄位順序、選項與巢狀關係後,再到上方「raw syntax 進階模式」修改原始語法。

FIELD MAP

欄位結構

0 FIELDS

先從欄位結構選擇要處理的欄位;巢狀欄位會縮排顯示,可重複區塊會以 ↻ 標示。點擊節點會定位到下方設定。

CONDITIONAL COMPLETION

條件式完成檢查

VISUAL / JSON

使用方式:每一筆規則表示「當 when 條件成立時,require 中列出的 key 必須完成」。key 必須是目前範本中存在的欄位;規則儲存後會套用到 LIVE DOCUMENT 的完成記錄檢查。每個欄位的「條件規則(選用)」也可設定 visibleWhenrequiredWhen:被隱藏的欄位會保留草稿值,但不列入報告;若隱藏前已有內容,右側摘要會以提醒標示。

查看設定格式與判斷方式
完整結構範例
[{
  "id": "rule_001",
  "when": {
    "all": [
      { "key": "status", "operator": "equals", "value": "abnormal" },
      { "key": "finding", "operator": "notEmpty" }
    ]
  },
  "require": ["notes"],
  "severity": "error",
  "message": "異常結果請補充 notes。"
}]
id規則識別碼,可省略;省略時會自動產生 rule_001rule_002
when觸發條件物件;條件成立後才檢查 require
key要觀察的欄位 key,必須存在於目前範本。
operator會依欄位型別限制可用判斷;省略時預設為 equals。實際可用清單與範例請展開下方「依欄位型別查看」。
value比較值;between 必須是兩項陣列,複選的 includesAny/includesAll/includesNone 使用值陣列;empty 等無值判斷不可填 value。
require條件成立後要完成的欄位 key 陣列,也接受單一字串。
severityerror(預設)會阻擋完成;只有 warning 會產生提醒。
message顯示給使用者的文字;省略時會依 require key 自動產生。
欄位條件:放在 fieldDefinitions[key] 中
{
  "notes": {
    "visibleWhen": {
      "key": "status", "operator": "equals", "value": "abnormal"
    },
    "requiredWhen": {
      "key": "finding", "operator": "notEmpty"
    }
  }
}
visibleWhen條件成立才顯示;不成立時保留草稿值,但不列入報告與欄位化輸出。
requiredWhen條件成立且欄位可見時才算必填;隱藏欄位不會造成阻擋。
all陣列中的每個條件都要成立,至少一項。
any陣列中任一條件成立即可,至少一項。
not反轉單一子條件的結果。
設定位置visibleWhenrequiredWhen 不是 completionRules 的欄位;請在下方 STRUCTURED FIELDS 的每個欄位展開「條件規則(選用)」設定。
條件樹限制可組合巢狀最多 3 層;未知 key、不符合欄位型別的 operator、不合法 value 或欄位自我依賴會在儲存時拒絕。
依欄位型別查看可用 operator 與範例
所有欄位equalsnotEqualsemptynotEmptyremovednotRemoved。其中 removed/notRemoved 是欄位狀態判斷,不需要 value。
Boolean再加上 isTrueisFalseisSetisNotSetvalidinvalid。equals/notEquals 的 value 必須是 true/false(畫面上的「是/否」會轉成布林值)。
文字輸入再加上 containsnotContainsstartsWithendsWithvalidinvalid
數值/測量值/日期/時間/日期時間再加上 gtgteltltebetweenvalidinvalid;between 的 value 必須是兩項陣列。
單選文字單選只有所有欄位的共同 operator;數值/測量值單選可再使用數值比較與 valid/invalid。
複選再加上 includesAnyincludesAllincludesNone;value 是選項值陣列。複選條件沒有 gt/between,也沒有 contains 這個 operator。
Boolean
{ "key": "urgent", "operator": "isTrue" }
{ "key": "urgent", "operator": "equals", "value": false }
文字
{ "key": "finding", "operator": "contains", "value": "mass" }
數值
{ "key": "weight", "operator": "between", "value": [50, 90] }
單選
{ "key": "severity", "operator": "equals", "value": "high" }
複選
{ "key": "symptoms", "operator": "includesAny", "value": ["fever", "pain"] }
條件群組、欄位條件與錯誤檢查範例
all:全部成立
{ "all": [
  { "key": "status", "operator": "equals", "value": "abnormal" },
  { "key": "finding", "operator": "notEmpty" }
] }
any:任一成立
{ "any": [
  { "key": "status", "operator": "equals", "value": "urgent" },
  { "key": "urgent", "operator": "isTrue" }
] }
欄位內的 visibleWhen/requiredWhen
"notes": {
  "visibleWhen": { "key": "status", "operator": "equals", "value": "abnormal" },
  "requiredWhen": { "key": "finding", "operator": "notEmpty" }
}

儲存時會阻擋:不存在的 key、欄位型別不支援的 operator、Boolean 使用非 true/false、between 不是兩項、複選判斷沒有比較值、all/any 沒有子條件、not 不是單一子條件,以及 visibleWhen/requiredWhen 直接依賴自己。這些錯誤會顯示在管理頁,不會寫入範本。

CONDITION PREVIEW

目前條件試算

會以目前 LIVE DOCUMENT 的內容試算;若尚未載入同一份範本,則使用範本預設值。

STRUCTURED FIELDS

欄位 key 編輯器

查看欄位設定與格式說明 預設收合;修改欄位型別時會自動展開
欄位與 key
  • 舊格式欄位會先顯示暫時 key,例如 field_001;可在這裡設定 key 與「必填」。新格式或選項內嵌欄位的 key 已寫入上方內容,會反灰鎖定,請回到範本內容修改。
  • 欄位定義可設定顯示名稱、輸入提示、欄位說明、欄位型別與預設值策略。Boolean 在 LIVE DOCUMENT 使用「未設定/是/否」;「否」是有效值,只有未設定才算未填。
  • 外層巢狀欄位可使用 [[single=>key:選項1|選項2]][[multi=>key:選項1|選項2]][[input=>key:預設值]],目前只支援一層;省略類型的 [[key:內容]] 會視為巢狀自由輸入。
數值、測量值與預設值
  • 單位只適用於 measurement;最小值、最大值、整數、顯示小數位數、移除尾端 0、千分位與計算公式只適用於自由輸入的 numbermeasurement
  • 勾選「整數」後,小數位數與移除尾端 0 會隱藏,因為整數不需要小數格式。格式設定只影響畫面與人類可讀報告;JSON/CSV/TSV 仍保存純數值。
  • 預設值策略可選範本預設、空白或固定值;日期、時間、日期時間另可選今天、目前時間或目前日期與時間。
條件與計算
  • 每個欄位內的「條件規則(選用)」可設定 visibleWhenrequiredWhen。前者控制顯示,後者控制必填;條件參照其他欄位,不能讓欄位依賴自己。被隱藏欄位的草稿值會保留,但不列入報告。
  • 條件 operator 會依型別過濾:Boolean 可用 equalsnotEqualsisTrueisFalseisSetisNotSet;文字可用 containsnotContainsstartsWithendsWith;數值與日期時間可用 gtgteltltebetween。所有型別都有 equals/notEquals/empty/notEmpty。
  • 計算欄位只接受數值/測量值輸入欄位,會在 LIVE DOCUMENT 中唯讀。公式只支援 + - * /、括號與白名單函數,不執行任意 JavaScript;可用視覺化編輯器,也可切回 raw JSON。
查看條件與計算函數範例
欄位條件範例
Boolean:
{ "key": "urgent", "operator": "isTrue" }
{ "key": "urgent", "operator": "equals", "value": false }
文字:
{ "key": "finding", "operator": "contains", "value": "mass" }
數值/日期:
{ "key": "weight", "operator": "between", "value": [50, 90] }
{ "key": "examDate", "operator": "gte", "value": "2026-08-01" }
複選:
{ "key": "symptoms", "operator": "includesAll", "value": ["fever", "pain"] }
計算函數與可用來源
直接欄位 key數值/測量值輸入,以及數值/測量值單選。例如 weight + offset;不可直接使用複選。
optionIndex(key)單選選項的 0-based 順序;第一項是 0。例如 optionIndex(severity) + 1
count(key)任何複選都可用,回傳選取項目數;空集合回傳 0。例如 count(symptoms)
sum/average/min/max(key)只可用於數值/測量值複選,分別回傳總和、平均、最小與最大選項值。例如 sum(doses) / count(doses)
indexCount/indexSum/indexAverage/indexMin/indexMax(key)任何複選都可用,依範本選項順序(從 0 開始)計算,不需要選項本身是數字。例如 indexSum(symptoms)
contains(key, value)任何複選都可用;文字選項的 value 用雙引號字串,數值/測量值選項用數字,回傳 1 或 0。例如 contains(symptoms, "fever")

計算限制:公式最多 200 字元;precision 是結果四捨五入精度(0–6),不是欄位顯示小數位數。儲存時會檢查來源型別、函數參數與循環依賴。

單選、複選與巢狀欄位
  • 同一個單選/複選欄位的所有選項必須共用同一種型別:文字、數值或測量值。
  • 數值/測量值選項只共用一種內容型別;測量值另外共用欄位層級的 unit。選項本身的 value 與 label 都必須是不含單位且可轉換成數字,不使用選項層級的最小/最大值、整數、小數位數、千分位或尾端 0 設定。
  • 單選數值可用於數值條件與計算來源;複選依選取順序保存為集合。數值/測量值選項不可再包含巢狀欄位;文字選項才可設定巢狀欄位。
  • 文字選項的 value 預設與 label 同步並在介面中收合;需要時可展開修改。修改過 value 後,label 與 value 會分離,日後修改 label 不會覆蓋自訂 value;若兩者不同,畫面會持續提醒。
  • 每個選項可填寫說明文字;使用者在 LIVE DOCUMENT 選到該項時會看到說明。這是顯示提示,不會改變選項 value 或計算值。

儲存前:完成設定後按「套用 key」(如需要),再按「儲存範本」;型別、條件與巢狀結構錯誤會在儲存前拒絕。

LOCAL RECOVERY

本機還原點

匯入單筆資料、匯入整套資料或批次更新前,系統會先保存目前的範本、範例、自動展開、複製縮寫、設定、記錄草稿與管理草稿。最多保留 5 個還原點;完成記錄下載檔案不會存放在這裡。可匯出/匯入還原點備份,或手動刪除不需要的舊還原點。

還原點:0 / 5

IMPORT DECISION

匯入資料發生衝突

新資料會直接匯入;只有與本機資料相同 ID、名稱或 key 的項目需要選擇處理方式。這個選擇會套用到本次匯入的所有衝突項目。