10a|記錄欄位與端點(由 api/model.mjs 產生,勿手改)
產生自
api/model.mjsv0.1.0(2026-10-01)。規則與範例在 10 · 傳輸格式:扁平記錄 JSON(現行)。 取得欄:M 使用者輸入、P 前次帶入、H HIS 鏡像(只在回應)、C 系統計算(只在回應)。「必填」是指回應裡一定有值;請求裡只需要 M/P 的必填欄。
1. 記錄型別總表
| resourceType | 中文 | FHIR 對應 | 原型 state | 欄位數 |
|---|---|---|---|---|
patient |
病人 | Patient(+Encounter 摘要) | patients[] |
33 |
encounter |
就醫事件 | Encounter | patients[].encounter/episode/archives |
11 |
allergy |
過敏 | AllergyIntolerance | patients[].allergies[] |
16 |
condition |
診斷 | Condition | patients[].conditions[]/diagnoses[] |
17 |
practitioner |
人員 | Practitioner+PractitionerRole | people{} |
10 |
careRelationship |
照護關係 | CareTeam.participant | relationships[] |
9 |
rosterConfirmation |
照護名單確認 | Provenance(roster-confirm) | confirmed{} |
6 |
catalogItem |
目錄品項 | ValueSet/Medication | ICUCatalog.entries[] |
21 |
favorite |
常用品項 | List.entry | favorites{} |
5 |
order |
醫囑 | MedicationRequest/ServiceRequest | orders[] |
45 |
orderSafety |
用藥安全提示處理 | DetectedIssue | orders[].safety[] |
12 |
execution |
執行紀錄(eMAR) | MedicationAdministration/Procedure | executions[] |
21 |
infusionCheck |
輸注速率核對 | Observation(infusion-rate) | infusionChecks[] |
9 |
observation |
量測 | Observation(vital-signs) | observations[] |
13 |
report |
檢驗檢查報告 | DiagnosticReport | reports[] |
15 |
labResult |
檢驗數值 | Observation(laboratory) | reports[].components[] |
11 |
reportReview |
報告已閱/判讀 | Provenance(clinical-review) | reports[].seen[]/processed[] |
8 |
task |
工作 | Task | tasks[] |
8 |
taskEvent |
工作歷程 | Provenance | tasks[].history[] |
9 |
note |
病歷 | Composition | notes[] |
26 |
noteSection |
病歷段落 | Composition.section | notes[].sections{} |
4 |
signature |
簽章紀錄 | Provenance.signature | signatureRecords[] |
8 |
goal |
本日問題與目標 | Goal | goals[] |
8 |
careFocus |
醫師照顧重點(唯讀歷史) | Goal | careFocuses[] |
5 |
communication |
必要溝通 | Communication(essential) | communications[] |
7 |
consultation |
照會 | ServiceRequest(consult)+Communication(consult-reply) | consultations[] |
17 |
surgery |
手術紀錄 | Procedure | surgeries[] |
23 |
handover |
交班 | Composition(handover) | handovers[] |
21 |
handoverReceipt |
交班接收 | Provenance(receive) | receipts[] |
6 |
archive |
病歷封存 | — | archives{} |
9 |
auditEvent |
稽核事件 | AuditEvent | audit[] |
12 |
draft |
草稿 | — | drafts{} |
6 |
settings |
維護設定 | — | settings |
9 |
orderCategory |
醫囑分類顯示名 | — | settings.categories[] |
3 |
2. 逐型別欄位
patient 病人
病人識別與行政資料。病歷號、姓名、出生日期、性別一律 H 或 P,永不 M;接診登錄(admitPatient)是示範替代,正式由 HIS 推入。
FHIR 對應:Patient(+Encounter 摘要) | 原型:patients[] | Schema:api/schema/patient.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 病人代理鍵;原型為 A–J 或 P101… | |
identifier |
string | ✓ | H HIS | 病歷號(TDL.0004) | |
visitNo |
string | H HIS | 就醫序號(R-035 未拍板,預設隱藏;不得放進 URL) | ||
name |
string | ✓ | H HIS | 姓名(TDL.0005),維持來源語言 | |
gender |
string | H HIS | 值域 gender |
||
birthDate |
date | H HIS | |||
ward |
string | ✓ | H HIS | 病房 | |
bed |
string | ✓ | H HIS | 病床號 | |
department |
string | H HIS | 科別(Phase 1 固定 ICU) | ||
admitted |
date | ✓ | H HIS | 入院日 | |
admittedAt |
datetime | H HIS | 入院時間(有才給) | ||
dischargedAt |
datetime | C 計算 | 出院登記時間(dischargePatient) | ||
attendingId |
string | M 輸入 | → practitioner.id |
回應:由 careRelationship(role=attending, active) 推得;只有 POST /patients 的請求收它(指定主治) | |
attendingName |
string | C 計算 | |||
nurseId |
string | M 輸入 | → practitioner.id |
只在 POST /patients 的請求收(接診時指定主要護理師);之後一律走 careRelationship,回應回 null | |
problem |
string | M 輸入 | 入院診斷/主要問題(自由文字) | ||
flags |
string[] | H HIS | 值域 flag-code |
特殊註記;空陣列=無 | |
allergyStatus |
string | ✓ | M 輸入 | 值域 allergy-status |
|
allergySummary |
string | C 計算 | 病人列的單行過敏摘要,三種狀態文字不同 | ||
surgeryDate |
date | H HIS | 無資料回 null,前端顯示「尚未取得」;不得省略欄位 | ||
surgeryProcedure |
string | M 輸入 | |||
surgeryStart |
datetime | M 輸入 | |||
surgeryEnd |
datetime | M 輸入 | |||
surgerySurgeon |
string | M 輸入 | |||
surgeryAnesthesia |
string | M 輸入 | |||
surgeryIcuArrival |
datetime | M 輸入 | |||
surgeryNote |
string ≤2000 | M 輸入 | |||
encounterId |
string | ✓ | C 計算 | → encounter.id |
|
episodeId |
string | C 計算 | ICU 照護段 | ||
stayDays |
number | C 計算 | 由 admitted 與今日算,不入庫 | ||
admittedById |
string | C 計算 | → practitioner.id |
||
registeredAt |
datetime | C 計算 | |||
source |
string | C 計算 | 來源標註,例「接診登錄(示範),非 HIS 主檔」 |
encounter 就醫事件
L2 HIS 唯讀鏡像。Phase 1 一位病人一次 ICU 住院=一個 encounter。
FHIR 對應:Encounter | 原型:patients[].encounter/episode/archives | Schema:api/schema/encounter.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 例 ENC-A | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
episodeId |
string | C 計算 | |||
status |
string | ✓ | C 計算 | 值域 encounter-status |
|
encounterNumber |
string | H HIS | HIS 就醫序號;只回傳不進 URL | ||
admittedAt |
datetime | H HIS | |||
dischargedAt |
datetime | C 計算 | |||
department |
string | H HIS | |||
ward |
string | H HIS | |||
bed |
string | H HIS | |||
archiveStatus |
string | C 計算 | 值域 archive-status |
allergy 過敏
欄位取 FHIR R4 AllergyIntolerance 必要子集,值域用 FHIR 原始代碼;顯示層才翻中文。
FHIR 對應:AllergyIntolerance | 原型:patients[].allergies[] | Schema:api/schema/allergy.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
substanceKind |
string | ✓ | M 輸入 | 值域 substance-kind |
|
substanceText |
string | ✓ | M 輸入 | 過敏原顯示文字(code.text) | |
ingredient |
string | M 輸入 | substanceKind=ingredient 時 | ||
drugClass |
string | M 輸入 | substanceKind=class 時,須在藥理類別表 | ||
type |
string | M 輸入 | 值域 allergy-type |
||
category |
string | M 輸入 | 值域 allergy-category |
||
criticality |
string | M 輸入 | 值域 allergy-criticality |
||
clinicalStatus |
string | ✓ | M 輸入 | 值域 allergy-clinical |
|
verificationStatus |
string | M 輸入 | 值域 allergy-verification |
||
manifestation |
string | ✓ | M 輸入 | 反應型態;沒有反應型態就無法判斷嚴重度 | |
severity |
string | M 輸入 | 值域 reaction-severity |
||
recordedDate |
date | C 計算 | |||
recorderId |
string | C 計算 | → practitioner.id |
||
source |
string | C 計算 |
condition 診斷
代碼必在 ICD-10 目錄;換代碼=另建一筆,不改既有。
FHIR 對應:Condition | 原型:patients[].conditions[]/diagnoses[] | Schema:api/schema/condition.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
encounterId |
string | M 輸入 | → encounter.id |
||
icdKey |
string | ✓ | M 輸入 | 目錄鍵,例 icd:3793 | |
icdCode |
string | C 計算 | 例 I71.0 | ||
icdText |
string | C 計算 | 越南文名稱 | ||
icdEnglish |
string | C 計算 | |||
category |
string | ✓ | M 輸入 | 值域 condition-category |
|
stage |
string | M 輸入 | 值域 condition-stage |
||
rank |
string | M 輸入 | 值域 condition-rank |
||
clinicalStatus |
string | ✓ | M 輸入 | 值域 condition-clinical |
|
verificationStatus |
string | ✓ | M 輸入 | 值域 condition-verification |
|
onset |
date | M 輸入 | |||
recordedDate |
date | C 計算 | |||
recorderId |
string | C 計算 | → practitioner.id |
||
active |
boolean | C 計算 | |||
source |
string | C 計算 |
practitioner 人員
帳號、類別、科別、班別。正式認證與 RBAC 由後端。
FHIR 對應:Practitioner+PractitionerRole | 原型:people{} | Schema:api/schema/practitioner.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 帳號代理鍵,例 D001 | |
name |
string | ✓ | H HIS | ||
role |
string | ✓ | H HIS | 值域 practitioner-role |
|
department |
string | H HIS | |||
specialty |
string | H HIS | 照會醫師的專科 | ||
consultationOnly |
boolean | H HIS | true=只看得到被指派照會的病人 | ||
shift |
string | H HIS | 班別代碼,例 D1/N1 | ||
shiftStart |
time | M 輸入 | HH:mm | ||
shiftEnd |
time | M 輸入 | HH:mm,跨日加 +1 | ||
active |
boolean | H HIS |
careRelationship 照護關係
同人可有多個關係;每病人同一時間只有一個有效主治。
FHIR 對應:CareTeam.participant | 原型:relationships[] | Schema:api/schema/careRelationship.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
practitionerId |
string | ✓ | M 輸入 | → practitioner.id |
|
role |
string | ✓ | M 輸入 | 值域 care-role |
|
active |
boolean | ✓ | C 計算 | ||
startedAt |
datetime | C 計算 | |||
endedAt |
datetime | C 計算 | |||
byId |
string | C 計算 | → practitioner.id |
||
via |
string | C 計算 | 值域 relationship-via |
rosterConfirmation 照護名單確認
所有寫入的前置閘;未確認前除草稿外回 409。
FHIR 對應:Provenance(roster-confirm) | 原型:confirmed{} | Schema:api/schema/rosterConfirmation.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
practitionerId |
string | ✓ | C 計算 | → practitioner.id |
|
shift |
string | C 計算 | |||
patientIds |
string[] | ✓ | C 計算 | ||
at |
datetime | C 計算 | |||
source |
string | C 計算 |
catalogItem 目錄品項
B 目錄快照,唯讀。醫囑建立時再快照一次存進 order(catalogKey+catalogVersion)。
FHIR 對應:ValueSet/Medication | 原型:ICUCatalog.entries[] | Schema:api/schema/catalogItem.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
key |
string | ✓ | H HIS | kind:id,例 medication:41652 |
|
kind |
string | ✓ | H HIS | 值域 catalog-kind |
|
code |
string | H HIS | |||
name |
string | ✓ | H HIS | ||
zh |
string | H HIS | |||
english |
string | H HIS | |||
ingredient |
string | H HIS | |||
atc |
string | H HIS | |||
strength |
string | H HIS | |||
unit |
string | H HIS | |||
routeCode |
string | H HIS | |||
routeId |
string | H HIS | 目錄預設途徑 | ||
group |
string | H HIS | 服務群組(越南文) | ||
inputCode |
string | H HIS | |||
reportCode |
string | H HIS | |||
isLab |
boolean | H HIS | |||
category |
string | C 計算 | 值域 order-category |
七分類(首個相符者勝) | |
active |
boolean | ✓ | H HIS | ||
source |
string | H HIS | |||
catalogVersion |
string | H HIS | |||
sourceSHA256 |
string | H HIS |
favorite 常用品項
個人常用上限 60;只收目錄既有品項。
FHIR 對應:List.entry | 原型:favorites{} | Schema:api/schema/favorite.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
scope |
string | ✓ | M 輸入 | 值域 favorite-scope |
|
ownerId |
string | C 計算 | → practitioner.id |
scope=doctor 為本人;department 為科別代碼 | |
catalogKey |
string | ✓ | M 輸入 | ||
at |
datetime | C 計算 |
order 醫囑
開立、簽署、送出、HIS 回應、實際執行是五個分開的狀態。檢驗檢查免簽署,開立即可執行並自動開出 report(pending)+task。
FHIR 對應:MedicationRequest/ServiceRequest | 原型:orders[] | Schema:api/schema/order.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | M…藥囑/L…檢驗檢查/C…照護 | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
encounterId |
string | ✓ | M 輸入 | → encounter.id |
就醫事件;必須與 patientId 相符,否則 422 |
version |
number | ✓ | C 計算 | ||
kind |
string | ✓ | C 計算 | 值域 order-kind |
|
category |
string | C 計算 | 值域 order-category |
||
name |
string | ✓ | C 計算 | 品項名稱快照 | |
catalogKey |
string | M 輸入 | 目錄鍵;送出時重新快照,停用或查不到回 422 | ||
catalogVersion |
string | C 計算 | |||
fromSetId |
string | M 輸入 | 套組來源 | ||
batchId |
string | C 計算 | 同一次確認開立的批次 | ||
quantity |
number | M 輸入 | 藥囑必填 > 0 | ||
unit |
string | M 輸入 | 藥囑必填 | ||
dose |
string | C 計算 | 顯示用「數量 單位」 | ||
routeKey |
string | M 輸入 | 藥囑必填,必須對回 route 目錄鍵;自由文字回 400 | ||
routeText |
string | C 計算 | |||
routeMismatch |
boolean | C 計算 | 與目錄預設途徑不一致,不阻擋但留存 | ||
dosingMode |
string | M 輸入 | 值域 dosing-mode |
藥囑;服務一律 once | |
frequency |
string | M 輸入 | 值域 frequency |
scheduled 必填;其餘由 mode 決定 | |
days |
number | M 輸入 | 療程天數 1–365;與 end 擇一 | ||
rate |
string | M 輸入 | infusion 必填 | ||
concentration |
string | M 輸入 | |||
prnIndication |
string | M 輸入 | prn 必填 | ||
prnMinInterval |
string | M 輸入 | prn 必填 | ||
prnMaxPerDay |
number | M 輸入 | prn 必填 > 0 | ||
start |
datetime | ✓ | M 輸入 | 生效時間 | |
end |
datetime | M 輸入 | 留空=持續到停用 | ||
orderedAt |
datetime | C 計算 | |||
authorId |
string | ✓ | C 計算 | → practitioner.id |
|
clinicalStatus |
string | ✓ | C 計算 | 值域 order-clinical-status |
|
localStatus |
string | ✓ | C 計算 | 值域 order-local-status |
|
hisStatus |
string | ✓ | C 計算 | 值域 his-status |
|
signedAt |
datetime | C 計算 | |||
signatureExempt |
boolean | C 計算 | 檢驗檢查免簽署 | ||
occurrenceId |
string | C 計算 | 劑次識別 <id>-V<version>-D1 |
||
progressNoteId |
string | M 輸入 | → note.id |
病程來源(同病人、本人所寫) | |
consultSourceId |
string | M 輸入 | → consultation.id |
須為同病人已採納的建議 | |
clinicalInfo |
string ≤5000 | M 輸入 | |||
stopAt |
datetime | M 輸入 | |||
stopReason |
string | M 輸入 | |||
stopById |
string | C 計算 | → practitioner.id |
||
cancelAt |
datetime | C 計算 | |||
cancelReason |
string | M 輸入 | hisStatus=accepted 時必填 | ||
cancelById |
string | C 計算 | → practitioner.id |
||
source |
string | C 計算 |
orderSafety 用藥安全提示處理
寫入端重算;畫面漏掉不等於檢核通過。只有 high 且牽涉本次新增才擋。
FHIR 對應:DetectedIssue | 原型:orders[].safety[] | Schema:api/schema/orderSafety.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
orderId |
string | ✓ | C 計算 | → order.id |
|
pair |
string | ✓ | C 計算 | 配對鍵 | |
ruleId |
string | C 計算 | 例 RX-BLEED-01 | ||
severity |
string | C 計算 | 值域 safety-severity |
||
kind |
string | C 計算 | 值域 safety-kind |
||
label |
string | C 計算 | |||
decision |
string | ✓ | M 輸入 | 值域 safety-decision |
|
handling |
string | M 輸入 | decision=handled 的處理方式;「其他」時 reason 必填 | ||
reason |
string | M 輸入 | decision=override 必填 | ||
byId |
string | C 計算 | → practitioner.id |
||
at |
datetime | C 計算 |
execution 執行紀錄(eMAR)
同一 occurrenceId 不得有第二筆 done;五對是五個獨立布林,單一 scanned 一律 400。
FHIR 對應:MedicationAdministration/Procedure | 原型:executions[] | Schema:api/schema/execution.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
orderId |
string | ✓ | M 輸入 | → order.id |
|
orderVersion |
number | C 計算 | |||
occurrenceId |
string | ✓ | C 計算 | ||
status |
string | ✓ | M 輸入 | 值域 execution-status |
|
at |
datetime | ✓ | M 輸入 | 實際時間;須在醫囑版本有效期間內 | |
recordedAt |
datetime | C 計算 | |||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
actualDose |
string | M 輸入 | 與醫囑不同時 reason 必填 | ||
actualRoute |
string | M 輸入 | |||
reason |
string | M 輸入 | status≠done 或有差異時必填 | ||
checkPatient |
boolean | M 輸入 | 五對:病人 | ||
checkDrug |
boolean | M 輸入 | 五對:藥物 | ||
checkDose |
boolean | M 輸入 | 五對:劑量 | ||
checkRoute |
boolean | M 輸入 | 五對:途徑 | ||
checkTime |
boolean | M 輸入 | 五對:時間 | ||
reviewOutcome |
string | M 輸入 | 值域 review-outcome |
||
reviewNote |
string | M 輸入 | |||
reviewById |
string | C 計算 | → practitioner.id |
||
reviewAt |
datetime | C 計算 |
infusionCheck 輸注速率核對
FHIR 對應:Observation(infusion-rate) | 原型:infusionChecks[] | Schema:api/schema/infusionCheck.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
orderId |
string | ✓ | M 輸入 | → order.id |
|
orderVersion |
number | C 計算 | |||
rate |
number | ✓ | M 輸入 | ||
unit |
string | ✓ | M 輸入 | ||
at |
datetime | ✓ | M 輸入 | ||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
reason |
string | ✓ | M 輸入 | 觀察與差異說明 |
observation 量測
一列一個數值。血壓是收縮壓、舒張壓兩列,用同一個 setId 綁在一起(原型是一筆兩個 component,轉接層展開)。缺值不補 0。
FHIR 對應:Observation(vital-signs) | 原型:observations[] | Schema:api/schema/observation.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
encounterId |
string | M 輸入 | → encounter.id |
||
code |
string | ✓ | M 輸入 | 值域 observation-code |
|
display |
string | C 計算 | |||
value |
number | ✓ | M 輸入 | 非負數 | |
unit |
string | C 計算 | 由 code 決定 | ||
at |
datetime | ✓ | M 輸入 | 量測時點 | |
recordedAt |
datetime | C 計算 | |||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
setId |
string | C 計算 | 同一次輸入的多個項目共用 | ||
entry |
string | C 計算 | 值域 observation-entry |
||
source |
string | C 計算 |
report 檢驗檢查報告
L2 HIS 唯讀鏡像;報告自帶識別碼,不沿用醫囑編號。待回顯示「待回」不顯示 0。
FHIR 對應:DiagnosticReport | 原型:reports[] | Schema:api/schema/report.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
orderId |
string | C 計算 | → order.id |
||
kind |
string | ✓ | H HIS | 值域 report-kind |
|
examType |
string | H HIS | |||
status |
string | ✓ | H HIS | 值域 report-status |
|
version |
number | ✓ | H HIS | ||
text |
string | H HIS | 文字報告/結論 | ||
at |
datetime | H HIS | 報告時間 | ||
collectedAt |
datetime | H HIS | 採檢時間 | ||
recordedAt |
datetime | C 計算 | |||
catalogKey |
string | H HIS | |||
source |
string | C 計算 | |||
cancelledAt |
datetime | C 計算 | |||
cancelledById |
string | C 計算 | → practitioner.id |
labResult 檢驗數值
參考範圍隨每列走只做顯示;classification 只依 interpretation,不由數值推。
FHIR 對應:Observation(laboratory) | 原型:reports[].components[] | Schema:api/schema/labResult.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
reportId |
string | ✓ | H HIS | → report.id |
|
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
code |
string | ✓ | H HIS | 指標短碼,例 WBC | |
name |
string | H HIS | |||
value |
string | H HIS | 待回為 null;文字型結果亦放這裡 | ||
unit |
string | H HIS | |||
reference |
string | H HIS | |||
interpretation |
string | H HIS | 值域 interpretation |
||
classification |
string | ✓ | C 計算 | 值域 result-classification |
|
at |
datetime | H HIS |
reportReview 報告已閱/判讀
記錄的是「當時的報告版本」;來源缺漏或報告未回一律 409。
FHIR 對應:Provenance(clinical-review) | 原型:reports[].seen[]/processed[] | Schema:api/schema/reportReview.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
reportId |
string | ✓ | M 輸入 | → report.id |
|
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
action |
string | ✓ | M 輸入 | 值域 review-action |
|
reportVersion |
number | ✓ | C 計算 | ||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
at |
datetime | C 計算 | |||
note |
string | M 輸入 | processed 必填 |
task 工作
結案要證據;來源報告要已判讀才能結案。
FHIR 對應:Task | 原型:tasks[] | Schema:api/schema/task.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
title |
string | ✓ | M 輸入 | ||
sourceId |
string | M 輸入 | 來源醫囑/報告 id,或 manual | ||
ownerId |
string | ✓ | C 計算 | → practitioner.id |
|
status |
string | ✓ | M 輸入 | 值域 task-status |
|
evidence |
string | M 輸入 | done 必填 | ||
createdAt |
datetime | C 計算 |
taskEvent 工作歷程
FHIR 對應:Provenance | 原型:tasks[].history[] | Schema:api/schema/taskEvent.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
taskId |
string | ✓ | C 計算 | → task.id |
|
fromStatus |
string | C 計算 | 值域 task-status |
||
toStatus |
string | C 計算 | 值域 task-status |
||
fromOwnerId |
string | C 計算 | → practitioner.id |
||
toOwnerId |
string | C 計算 | → practitioner.id |
||
handoverId |
string | C 計算 | → handover.id |
||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
at |
datetime | C 計算 |
note 病歷
草稿可改、簽後不可改;更正=建新版本 replacesId 指向舊版。結構化段落在 noteSection。
FHIR 對應:Composition | 原型:notes[] | Schema:api/schema/note.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | DOC… | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
encounterId |
string | ✓ | M 輸入 | → encounter.id |
就醫事件;必須與 patientId 相符,否則 422 |
noteType |
string | ✓ | M 輸入 | 值域 note-type |
|
format |
string | ✓ | M 輸入 | 值域 note-format |
|
kind |
string | C 計算 | 顯示用中文類別 | ||
text |
string | M 輸入 | format=text 必填;其餘由段落組成(C) | ||
S |
string | M 輸入 | |||
O |
string | M 輸入 | |||
A |
string | M 輸入 | |||
P |
string | M 輸入 | SOAP 四段,format=soap 必填 | ||
clinicalAt |
datetime | ✓ | M 輸入 | 臨床時間(事件發生) | |
authorId |
string | ✓ | C 計算 | → practitioner.id |
|
version |
number | ✓ | C 計算 | ||
replacesId |
string | M 輸入 | → note.id |
更正/修改自哪一版 | |
reason |
string | M 輸入 | 已簽署版本的更正原因必填 | ||
status |
string | ✓ | C 計算 | 值域 note-status |
|
reviewStatus |
string | C 計算 | 值域 review-status |
||
at |
datetime | C 計算 | 存檔時間 | ||
signedAt |
datetime | C 計算 | |||
signatureId |
string | C 計算 | → signature.id |
||
referenceIds |
string[] | M 輸入 | 引用的量測/醫囑/診斷鍵(引用不複製) | ||
diagnosisKeys |
string[] | M 輸入 | admission 至少一個 ICD 目錄鍵,第一個為主要 | ||
addendum |
boolean | C 計算 | 封存後追加更正 | ||
copiedFromId |
string | C 計算 | → note.id |
複製前一日病程 | |
source |
string | C 計算 |
noteSection 病歷段落
住院病歷/出院病摘的結構化欄位,一列一段。必填段落依 noteType,見 docs/10 §5。
FHIR 對應:Composition.section | 原型:notes[].sections{} | Schema:api/schema/noteSection.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
noteId |
string | ✓ | C 計算 | → note.id |
|
code |
string | ✓ | M 輸入 | 值域 note-section |
|
text |
string ≤5000 | ✓ | M 輸入 |
signature 簽章紀錄
展示身分確認,非正式電子簽章。
FHIR 對應:Provenance.signature | 原型:signatureRecords[] | Schema:api/schema/signature.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | SIG… | |
documentId |
string | ✓ | C 計算 | ||
documentType |
string | ✓ | C 計算 | 值域 document-type |
|
version |
number | C 計算 | |||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
at |
datetime | C 計算 | |||
method |
string | C 計算 | |||
image |
string | C 計算 |
goal 本日問題與目標
FHIR 對應:Goal | 原型:goals[] | Schema:api/schema/goal.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
problem |
string | ✓ | M 輸入 | ||
assessment |
string | M 輸入 | |||
goal |
string | ✓ | M 輸入 | ||
icdKey |
string | M 輸入 | 須為 active 的 icd 目錄鍵 | ||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
at |
datetime | C 計算 |
careFocus 醫師照顧重點(唯讀歷史)
FHIR 對應:Goal | 原型:careFocuses[] | Schema:api/schema/careFocus.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
text |
string | ✓ | M 輸入 | ||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
at |
datetime | C 計算 |
communication 必要溝通
照會醫師不能寫必要溝通。
FHIR 對應:Communication(essential) | 原型:communications[] | Schema:api/schema/communication.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
kind |
string | ✓ | M 輸入 | 值域 communication-kind |
|
recipient |
string | ✓ | M 輸入 | ||
text |
string | ✓ | M 輸入 | ||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
at |
datetime | C 計算 |
consultation 照會
回覆必指向照會單;只有被指派者能回覆;主治採納後才能當醫囑來源。
FHIR 對應:ServiceRequest(consult)+Communication(consult-reply) | 原型:consultations[] | Schema:api/schema/consultation.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | CONS… | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
specialty |
string | C 計算 | |||
urgency |
string | ✓ | M 輸入 | 值域 consult-urgency |
|
assigneeId |
string | ✓ | M 輸入 | → practitioner.id |
|
subject |
string ≤80 | M 輸入 | |||
question |
string | ✓ | M 輸入 | ||
requesterId |
string | ✓ | C 計算 | → practitioner.id |
|
requestedAt |
datetime | C 計算 | |||
status |
string | ✓ | C 計算 | 值域 consult-status |
|
recommendation |
string | M 輸入 | |||
responderId |
string | C 計算 | → practitioner.id |
||
respondedAt |
datetime | C 計算 | |||
adoptionDecision |
string | M 輸入 | 值域 adoption-decision |
||
adoptionNote |
string | M 輸入 | |||
adoptionById |
string | C 計算 | → practitioner.id |
||
adoptionAt |
datetime | C 計算 |
surgery 手術紀錄
手術醫師登打;交出後 ICU 主治/照護醫師接收。ICU 端唯讀。
FHIR 對應:Procedure | 原型:surgeries[] | Schema:api/schema/surgery.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | OR… | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
procedure |
string | ✓ | M 輸入 | ||
preDiagnosis |
string | ✓ | M 輸入 | ||
postDiagnosis |
string | ✓ | M 輸入 | ||
team |
string | ✓ | M 輸入 | ||
events |
string | ✓ | M 輸入 | ||
airway |
string | ✓ | M 輸入 | ||
fluids |
string | ✓ | M 輸入 | ||
lines |
string | ✓ | M 輸入 | ||
pending |
string | ✓ | M 輸入 | ||
recommendations |
string | ✓ | M 輸入 | ||
start |
datetime | ✓ | M 輸入 | ||
end |
datetime | ✓ | M 輸入 | ||
authorId |
string | ✓ | C 計算 | → practitioner.id |
|
version |
number | C 計算 | |||
replacesId |
string | M 輸入 | → surgery.id |
||
status |
string | ✓ | C 計算 | 值域 surgery-status |
|
at |
datetime | C 計算 | |||
sentAt |
datetime | C 計算 | |||
receiverId |
string | C 計算 | → practitioner.id |
||
receivedById |
string | C 計算 | → practitioner.id |
||
receivedAt |
datetime | C 計算 |
handover 交班
醫師 ISBAR、護理 SBAR;接收後才算完成,未接收前病人仍算在交出者身上。
FHIR 對應:Composition(handover) | 原型:handovers[] | Schema:api/schema/handover.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | H… | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
role |
string | C 計算 | 值域 practitioner-role |
||
shift |
string | C 計算 | |||
authorId |
string | ✓ | C 計算 | → practitioner.id |
|
receiverId |
string | ✓ | M 輸入 | → practitioner.id |
同角色、非本人 |
version |
number | C 計算 | |||
replacesId |
string | M 輸入 | → handover.id |
||
reason |
string | M 輸入 | 更正時必填 | ||
batchId |
string | C 計算 | |||
format |
string | ✓ | C 計算 | 值域 handover-format |
|
I |
string | P 帶入 | 身分確認;未填由病人識別資料帶入 | ||
S |
string | ✓ | M 輸入 | ||
B |
string | ✓ | M 輸入 | ||
A |
string | ✓ | M 輸入 | ||
R |
string | ✓ | M 輸入 | ||
summary |
string | C 計算 | |||
attendingTransferred |
boolean | M 輸入 | 主治是否一併轉移 | ||
at |
datetime | C 計算 | |||
clinicalAt |
datetime | M 輸入 | |||
taskIds |
string[] | C 計算 | 交出時的未結工作快照 |
handoverReceipt 交班接收
FHIR 對應:Provenance(receive) | 原型:receipts[] | Schema:api/schema/handoverReceipt.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
handoverId |
string | ✓ | M 輸入 | → handover.id |
|
handoverVersion |
number | C 計算 | |||
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
at |
datetime | C 計算 | |||
clinicalAt |
datetime | M 輸入 |
archive 病歷封存
出院登記 → 必要文件全部核定 → 封存(過渡期 0 或 24 小時)。
FHIR 對應:— | 原型:archives{} | Schema:api/schema/archive.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
patientId |
string | ✓ | M 輸入 | → patient.id |
病人代理鍵(原型 p) |
status |
string | ✓ | C 計算 | 值域 archive-status |
|
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
at |
datetime | C 計算 | |||
dueAt |
datetime | C 計算 | |||
sealedAt |
datetime | C 計算 | |||
documentIds |
string[] | C 計算 | |||
signatureId |
string | C 計算 | → signature.id |
auditEvent 稽核事件
append-only;每一次寫入一列,八欄一個不能少。
FHIR 對應:AuditEvent | 原型:audit[] | Schema:api/schema/auditEvent.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
revision |
number | C 計算 | |||
action |
string | ✓ | C 計算 | 原型 action 名 | |
actorId |
string | ✓ | C 計算 | → practitioner.id |
伺服器由 token 決定,不收前端值 |
actorRole |
string | C 計算 | 值域 practitioner-role |
當時的作業角色 | |
patientId |
string | C 計算 | → patient.id |
||
at |
datetime | ✓ | C 計算 | ||
target |
string | C 計算 | 物件.欄位 | ||
oldValue |
string | C 計算 | |||
newValue |
string | C 計算 | |||
reason |
string | C 計算 | |||
sourceScreen |
string | C 計算 |
draft 草稿
伺服器端暫存格,換裝置看得到;內容不驗證。
FHIR 對應:— | 原型:drafts{} | Schema:api/schema/draft.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
ownerId |
string | ✓ | C 計算 | → practitioner.id |
|
patientId |
string | M 輸入 | → patient.id |
||
kind |
string | ✓ | M 輸入 | 值域 draft-kind |
|
dataJson |
string | ✓ | M 輸入 | 表單內容的 JSON 字串 | |
updatedAt |
datetime | C 計算 |
settings 維護設定
FHIR 對應:— | 原型:settings | Schema:api/schema/settings.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
id |
string | ✓ | C 計算 | 伺服器發的記錄代理鍵(字串) | |
version |
number | C 計算 | |||
graceHours |
number | M 輸入 | 0 或 24 | ||
categoryOrder |
string[] | M 輸入 | 值域 order-category |
七類全含不重複 | |
templateAdmission |
string | M 輸入 | |||
templateProgress |
string | M 輸入 | |||
templateDischarge |
string | M 輸入 | |||
changedById |
string | C 計算 | → practitioner.id |
||
changedAt |
datetime | C 計算 |
orderCategory 醫囑分類顯示名
FHIR 對應:— | 原型:settings.categories[] | Schema:api/schema/orderCategory.schema.json
| 欄位 | 型別 | 必填 | 取得 | 值域/參照 | 說明 |
|---|---|---|---|---|---|
code |
string | ✓ | M 輸入 | 值域 order-category |
|
label |
string | ✓ | M 輸入 | ||
sortOrder |
number | M 輸入 |
3. 端點
前綴 /api/v1/icu。角色:全=三種臨床角色皆可、醫=主責醫師、護=護理師、照=照會醫師、管=管理者、介接=HIS 轉接層(非前端)。錯誤欄的 G 編號見 H12 §6.2。
系統
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/capabilities |
全 | 伺服器支援的記錄型別、端點與錯誤碼;前端據此決定按鈕要不要出現 | — | — | capabilities |
|
POST |
/batch |
全 | 一個交易寫多筆(全成功或全退回) | — | batch |
batch |
G5 |
人員與照護名單
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/me |
全 | 我是誰:人+類別+科別+班別 | — | — | practitioner |
|
GET |
/staff |
全 | 找人員(指定接班者、照會對象)(查詢:q, role, department, limit, offset) | — | — | practitioner[] |
|
GET |
/staff/{id} |
全 | — | — | practitioner |
||
PUT |
/staff/{id} |
管 | 維護人員姓名/科別/班別 | personSave |
practitioner |
practitioner |
|
GET |
/assignments |
全 | 本班分派給我的照護名單 | — | — | rosterConfirmation |
|
POST |
/assignments/confirm |
全 | 確認本班照護名單——所有寫入的前置閘 | confirmRoster |
— | rosterConfirmation |
|
GET |
/patients/{id}/care-team |
全 | 該病人的照護關係 | — | — | careRelationship[] |
|
POST |
/patients/{id}/care-team |
管 | 新增/停用照護關係;指定新主治會自動結束舊主治 | relationshipSave |
careRelationship |
careRelationship[] |
病人與就醫
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/worklist |
全 | 今日工作儀表板清單(查詢:ward, q, limit, offset) | — | — | patient[] |
|
GET |
/patients |
全 | 按病歷號/姓名/床號找病人(手圈掃碼、病歷查詢)(查詢:q, limit, offset) | — | — | patient[] |
|
GET |
/patients/{id} |
全 | — | — | patient |
||
GET |
/patients/{id}/bundle |
全 | 一次下載這位病人的全部記錄(混合型別陣列,fhirfox 式)(查詢:types, from) | — | — | records[] |
|
POST |
/patients |
醫護管 | 接診登錄(示範替代;正式由 HIS 推入) | admitPatient |
patient+allergy[]+condition[] |
patient |
G8 G9 |
POST |
/patients/{id}/discharge |
醫 | 登記出院(需出院病摘已核定) | dischargePatient |
{at} |
patient |
|
POST |
/patients/{id}/archive |
醫 | 病歷封存(必要文件全部核定、無暫存) | archiveComplete |
— | archive |
|
GET |
/encounters/{id} |
全 | — | — | encounter |
||
GET |
/patients/{id}/allergies |
全 | — | — | allergy[] |
||
GET |
/patients/{id}/conditions |
全 | (查詢:stage, category) | — | — | condition[] |
|
POST |
/patients/{id}/conditions |
醫 | 新增診斷(代碼必在 ICD-10 目錄) | diagnosisSave |
condition[] |
condition[] |
G7 G10 |
醫囑
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/orders |
全 | 跨病人或單一病人的醫囑;全科待簽佇列用 status=draft(查詢:patient, status, category, from, to, limit, offset) | — | — | order[] |
|
GET |
/orders/{id} |
全 | 含 orderSafety、execution | — | — | order |
|
GET |
/patients/{id}/order-cart |
醫 | 本次新增清單(伺服器端草稿) | — | — | draft |
|
PUT |
/patients/{id}/order-cart |
醫 | 整份覆寫待開清單 | cartAdd/cartAddSet/cartRemove |
draft |
draft |
G7 G10 |
POST |
/patients/{id}/orders:batch |
醫 | 整組確認開立(購物車 → 醫囑草稿;檢驗檢查直接可執行) | catalogOrder |
order[]+orderSafety[] |
order[] |
G7 G8 G9 G10 |
POST |
/patients/{id}/orders |
醫 | 單筆手動開立(需病程來源) | order |
order |
order |
G7 G8 G9 |
POST |
/orders/{id}/sign |
醫 | 簽署(只能簽自己的草稿) | signOrder |
{progressNoteId} |
order |
G7 |
POST |
/orders/{id}/send |
醫 | 送出 HIS(觸發 L3) | sendOrder |
— | order |
G7 G18 |
POST |
/orders/{id}/his-response |
介接 | HIS 回應(accepted/rejected);逾時 → unknown | hisResponse |
{status} |
order |
|
POST |
/orders/{id}/stop |
醫 | 停止有效醫囑(不得早於已完成執行) | stopOrder |
{stopAt, stopReason} |
order |
G7 G9 |
POST |
/orders/{id}/cancel |
醫 | 取消(有完成執行不能取消;報告已回不能取消) | cancelOrder |
{cancelReason} |
order |
G7 |
POST |
/order-safety/assess |
醫 | 比對待開清單與現行醫囑,回衝突清單與涵蓋率 | — | {patientId, catalogKeys[]} |
orderSafety[]+coverage |
執行
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/executions |
全 | 按病人/時間窗查全部劑次(eMAR、交班用)(查詢:patient, order, from, to) | — | — | execution[] |
|
POST |
/orders/{id}/executions |
護 | 記錄已給藥/延遲/未執行 | execute |
execution |
execution |
G6 G9 G11 G12 G13 G14 |
POST |
/executions/{id}/review |
醫 | 核對執行結果 | reviewExecution |
{reviewOutcome, reviewNote} |
execution |
G7 G8 |
GET |
/infusion-checks |
全 | (查詢:patient, order) | — | — | infusionCheck[] |
|
POST |
/orders/{id}/infusion-checks |
護 | infusion |
infusionCheck |
infusionCheck |
G6 G8 G9 G14 |
量測
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/observations |
全 | 原始量測;時間窗由前端換算成絕對時間(查詢:patient, code, from, to, limit, offset) | — | — | observation[] |
|
POST |
/patients/{id}/observations |
護 | 一次輸入多個項目(同時點同交易);血壓送 SBP+DBP 兩列 | measure/measureSet/measureBP |
observation[] |
observation[] |
G6 G8 G9 |
檢驗檢查
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/reports |
全 | (查詢:patient, status, kind, dateBasis, from, to, q) | — | — | report[] |
|
GET |
/reports/{id} |
全 | 含 labResult[]、reportReview[] | — | — | report |
|
GET |
/lab-results |
全 | 逐項數值(矩陣由前端排)(查詢:patient, dateBasis, from, to, code, abnormalOnly) | — | — | labResult[] |
|
POST |
/reports/{id}/reviews |
全/醫 | action=seen 任何人;action=processed 限醫師且 note 必填 | readReport/processReport |
reportReview |
reportReview |
G7 G8 G17 |
POST |
/reports/{id}/return |
介接 | HIS 回報結果(D1 事件轉接) | reportReturn |
report+labResult[] |
report |
病歷
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/notes |
全 | 跨病人待簽佇列用 status=draft 或 reviewStatus=pending(查詢:patient, noteType, status, reviewStatus, from, to, q) | — | — | note[] |
|
GET |
/notes/{id} |
全 | 含 noteSection[]、signature | — | — | note |
|
POST |
/patients/{id}/notes |
醫/護 | 建立病歷(結構化 noteSection[] 或 SOAP 或全文);replacesId 有值=修改既有版本 | recordNote/note |
note+noteSection[] |
note |
G7 G8 G9 G10 |
POST |
/notes/{id}/sign |
作者 | 簽名定版(只能簽自己的未簽草稿) | signNote |
— | note |
|
POST |
/notes/{id}/review |
作者 | 確認完成(本院無代簽代核) | reviewNote |
— | note |
|
POST |
/notes/{id}/amend |
作者 | 留痕更正:建新版本 | amendNote |
note+noteSection[] |
note |
|
GET |
/patients/{id}/notes/previous-progress |
醫 | 前一日已簽病程供複製 | copyPreviousProgress |
— | note |
|
GET |
/drafts |
全 | (查詢:patient, kind) | — | — | draft[] |
|
PUT |
/drafts/{kind} |
全 | 存草稿(不需先確認名單) | saveDraft |
draft |
draft |
目標、溝通、照會
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/patients/{id}/goals |
全 | — | — | goal[] |
||
POST |
/patients/{id}/goals |
醫 | goal |
goal |
goal |
G7 G8 G10 | |
GET |
/patients/{id}/care-focuses |
全 | 唯讀歷史 | — | — | careFocus[] |
|
POST |
/patients/{id}/care-focuses |
醫 | careFocus |
careFocus |
careFocus |
||
GET |
/communications |
全 | (查詢:patient, kind) | — | — | communication[] |
|
POST |
/patients/{id}/communications |
醫護 | communication |
communication |
communication |
G8 | |
GET |
/consultations |
全 | (查詢:patient, assignee, status) | — | — | consultation[] |
|
POST |
/patients/{id}/consultations |
醫 | consultRequest |
consultation |
consultation |
G7 G8 | |
POST |
/consultations/{id}/response |
照 | 只有被指派者能回覆 | consultRespond |
{recommendation} |
consultation |
|
POST |
/consultations/{id}/adoption |
醫 | 主治採納/不採納/追蹤 | consultAdopt |
{adoptionDecision, adoptionNote} |
consultation |
手術與交接
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/surgeries |
全 | (查詢:patient, status) | — | — | surgery[] |
|
POST |
/patients/{id}/surgeries |
手術醫師 | surgerySave |
surgery |
surgery |
||
POST |
/surgeries/{id}/send |
手術醫師 | surgerySend |
— | surgery |
||
POST |
/surgeries/{id}/receive |
醫 | surgeryReceive |
— | surgery |
工作與交班
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/tasks |
全 | (查詢:owner, patient, status) | — | — | task[] |
|
POST |
/tasks |
全 | task |
task |
task |
||
PATCH |
/tasks/{id} |
負責者 | 更新狀態/完成證據 | taskStatus |
{status, evidence} |
task |
|
GET |
/handovers |
全 | 上一班交給我/我交出的(查詢:receiver, author, patient, pending) | — | — | handover[] |
|
POST |
/handovers |
醫護 | 交出一位病人(或更正前一版) | handover/handoverPublish |
handover |
handover |
|
POST |
/handovers:batch |
醫護 | 整批交班(每位病人一筆,沒有接班者整批擋下) | handoverPublishBatch |
handover[] |
handover[] |
|
POST |
/handovers/{id}/receipts |
接班者 | receive |
handoverReceipt |
handoverReceipt |
目錄與常用
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/catalog/items |
全 | 去聲調比對;預設 20 筆(查詢:kind, q, category, limit, offset) | — | — | catalogItem[] |
|
GET |
/catalog/items/{key} |
全 | — | — | catalogItem |
||
GET |
/catalog/icd10 |
全 | (查詢:q, limit, offset) | — | — | catalogItem[] |
|
GET |
/catalog/routes |
全 | — | — | catalogItem[] |
||
GET |
/catalog/frequencies |
全 | — | — | value-set |
||
GET |
/catalog/taxonomy |
全 | — | — | orderCategory[] |
||
GET |
/value-sets/{name} |
全 | 任一值域表(api/value-sets/*.csv 的 JSON 版) | — | — | value-set |
|
GET |
/favorites |
全 | (查詢:scope) | — | — | favorite[] |
|
PUT |
/favorites/{key} |
全 | 加入/移除(body {scope, on}) | toggleFavorite |
— | favorite[] |
|
GET |
/order-sets |
全 | — | — | order-set[] |
設定與稽核
| 方法 | 路徑 | 角色 | 目的 | 原型 action | 請求 | 回應 | 錯誤 |
|---|---|---|---|---|---|---|---|
GET |
/settings |
全 | — | — | settings+orderCategory[] |
||
PUT |
/settings |
管 | settingsSave |
settings+orderCategory[] |
settings |
||
GET |
/audit-events |
依權限 | (查詢:patient, actor, action, from, to) | — | — | auditEvent[] |
|
GET |
/provenance |
全 | 誰簽的、何時判讀、名單誰確認——reportReview/signature/rosterConfirmation 的統一查詢(查詢:target) | — | — | records[] |
原型有、API 刻意不收的展示用 action:scenario、retrySave、reset、clockAdvance。
4. 值域
每張表在 api/value-sets/<name>.csv(欄:code、label_zh、fhir_code)。標「開放」者允許表外的自訂文字。
gender 性別
FHIR:http://hl7.org/fhir/administrative-gender
male 男(male) · female 女(female) · other 其他(other) · unknown 未知(unknown)
flag-code 特殊註記
FHIR:Flag.code(院內碼)
ALG 過敏 · ISO 接觸隔離 · DNR DNR · FALL 跌倒高風險 · LINE 中心導管 · VENT 呼吸器 · RESTRICT 限水
allergy-status 過敏登錄狀態
FHIR:—(Patient 層摘要)
unknown 來源未記錄,不能視為無過敏 · none-known 登錄為無已知過敏 · recorded 有已知過敏,見 allergy 記錄
allergy-clinical 過敏臨床狀態
FHIR:allergyintolerance-clinical
active 有效 · inactive 非有效 · resolved 已解除
allergy-verification 過敏驗證狀態
FHIR:allergyintolerance-verification
unconfirmed 未確認 · confirmed 已確認 · refuted 已排除 · entered-in-error 誤建
allergy-type 過敏類型
FHIR:allergy-intolerance-type
allergy 過敏 · intolerance 不耐受
allergy-category 過敏原類別
FHIR:allergy-intolerance-category
medication 藥物 · food 食物 · environment 環境 · biologic 生物製劑
allergy-criticality 過敏危急度
FHIR:allergy-intolerance-criticality
low 低 · high 高 · unable-to-assess 無法評估
reaction-severity 反應嚴重度
FHIR:reaction-event-severity
mild 輕 · moderate 中 · severe 重
substance-kind 過敏原種類
FHIR:—
medication 藥品品項 · ingredient 成分 · class 藥理類別
condition-category 診斷類別
FHIR:condition-category
encounter-diagnosis 本次就醫診斷 · problem-list-item 問題清單
condition-clinical 診斷臨床狀態
FHIR:condition-clinical
active 有效 · recurrence 復發 · relapse 再發 · inactive 非有效 · remission 緩解 · resolved 已解除
condition-verification 診斷驗證狀態
FHIR:condition-ver-status
unconfirmed 未確認 · provisional 暫定 · differential 鑑別 · confirmed 確立 · refuted 排除 · entered-in-error 誤建
condition-stage 診斷階段
FHIR:—(院內)
admission 入院 · icu ICU 期間 · discharge 出院
condition-rank 主次診斷
FHIR:Encounter.diagnosis.rank
primary 主要 · secondary 次要
practitioner-role 人員類別
FHIR:PractitionerRole.code
doctor 醫師 · nurse 護理師 · admin 管理者
care-role 照護關係身分
FHIR:CareTeam.participant.role
attending 主治醫師 · care 科內照護 · consult 跨科會診 · nurse 護理照護 · surgeon 手術醫師
relationship-via 照護關係來源
FHIR:—
seed 院方預先分派 · admit 接診登錄 · handover 交班承接 · consult 照會指派 · settings 維護設定
catalog-kind 目錄品項種類
FHIR:—(B 目錄)
service 醫療服務 · medication 藥品 · supply 衛材 · diet 飲食 · icd ICD-10 · route 給藥途徑 · unit 計量單位
order-kind 醫囑種類
FHIR:MedicationRequest/ServiceRequest
medication 藥囑 → MedicationRequest · service 服務(檢驗檢查/處置) → ServiceRequest · care 照護 → ServiceRequest
order-category 醫囑七分類
FHIR:ServiceRequest.category(院內)
medication 藥囑 · labimaging 檢驗檢查 · procedure 處置 · surgery 手術麻醉 · supply 衛材 · diet 飲食 · other 其他
dosing-mode 給藥模式
FHIR:Dosage.timing/asNeeded/rate
once 單次/STAT · scheduled 排定重複 · prn 需要時 PRN · infusion 連續輸注
frequency 執行頻率(排定重複用;自訂文字亦可)(開放)
FHIR:Dosage.timing.code
STAT(立即) 立即與單次 · 本次 立即與單次 · 術前一次 立即與單次 · 睡前一次(HS) 立即與單次 · QD(每日 1 次) 每日固定 · BID(每日 2 次) 每日固定 · TID(每日 3 次) 每日固定 · QID(每日 4 次) 每日固定 · Q2H(每 2 小時) 固定間隔 · Q4H(每 4 小時) 固定間隔 · Q6H(每 6 小時) 固定間隔 · Q8H(每 8 小時) 固定間隔 · Q12H(每 12 小時) 固定間隔 · QOD(隔日一次) 間隔天數 · 每週三次 間隔天數 · QW(每週一次) 間隔天數 · PRN(需要時) 需要時 · 連續輸注 持續 · 持續監測 持續
order-clinical-status 醫囑臨床狀態
FHIR:MedicationRequest.status
draft 草稿(draft) · active 有效(active) · stopped 已停止(stopped) · cancelled 已取消(cancelled)
order-local-status 醫囑本地簽署狀態
FHIR:—(Provenance)
draft 未簽署 · signed 已簽署
his-status HIS 送出狀態
FHIR:—(L3 回寫)
notSent 未送出 · sent 已送出待回應 · accepted HIS 已接受 · rejected HIS 拒絕 · unknown 逾時結果未知・禁止重送
safety-severity 用藥安全嚴重度
FHIR:DetectedIssue.severity
high 高(禁忌,須覆寫理由) · moderate 中(須選處理方式)
safety-kind 用藥安全提示種類
FHIR:DetectedIssue.code
duplicate 重複用藥 · interaction 交互作用
safety-decision 提示處理結果
FHIR:DetectedIssue.mitigation
shown 已顯示 · handled 已選處理方式 · override 覆寫(禁忌)
execution-status 執行狀態
FHIR:MedicationAdministration.status
done 已執行(completed) · held 延遲/暫停(on-hold) · notDone 未執行(not-done)
review-outcome 執行核對結論
FHIR:—(Provenance)
reviewed 已核對無差異 · difference 有差異
observation-code 量測項目
FHIR:LOINC
HR 心率 /min(8867-4) · TEMP 體溫 °C(8310-5) · RR 呼吸頻率 /min(9279-1) · SPO2 SpO₂ %(59408-5) · SBP 收縮壓 mmHg(8480-6) · DBP 舒張壓 mmHg(8462-4) · WT 體重 kg(29463-7) · IN 入量 mL(—) · OUT 出量 mL(—)
observation-entry 量測來源方式
FHIR:—
manual 手動輸入 · device 儀器讀取 · import HIS/展示匯入
report-kind 報告種類
FHIR:DiagnosticReport.category
lab 檢驗(LAB) · imaging 影像(RAD) · exam 檢查/其他(OTH)
report-status 報告狀態
FHIR:DiagnosticReport.status
pending 待回(registered) · returned 已回(final) · cancelled 已取消(cancelled)
interpretation 檢驗判讀旗標(來源給,不計算)
FHIR:v3-ObservationInterpretation
N 正常 · H 偏高 · L 偏低 · HH 極高 · LL 極低 · A 異常 · AA 極異常 · POS 陽性 · NEG 陰性 · DET 檢出 · ND 未檢出
result-classification 結果分類(伺服器只依 interpretation 推)
FHIR:—
pending 待回 · abnormal 異常 · normal 正常 · unknown 無旗標 · unavailable 尚未取得關聯結果
review-action 報告閱讀/處理動作
FHIR:Provenance.activity
seen 已閱 · processed 已判讀處理
task-status 工作狀態
FHIR:Task.status
open 待處理(requested) · accepted 已接受(accepted) · waiting 等待中(on-hold) · done 已完成(completed)
note-type 病歷類型
FHIR:Composition.type
admission 住院病歷(入院診察) · progress 病程記錄 SOAP · discharge 出院病歷摘要 · nursing 護理紀錄 · free 自由文字病程
note-format 病歷格式
FHIR:—
soap SOAP 四段 · text 全文 · sections 結構化段落(見 noteSection)
note-status 病歷簽署狀態
FHIR:Composition.status
draft 草稿(preliminary) · signed 已簽名(final)
review-status 病歷確認狀態
FHIR:—(Provenance)
saved 已存檔・待確認 · pending 已簽名・待確認 · completed 已確認
note-section 病歷段落代碼
FHIR:Composition.section.code
CC 入院理由 · illnessDay 於發病第幾天入院 · PI 病程經過 · PH 過去病史(本人) · PHFamily 過去病史(家族) · vitalSummary 入院生命徵象 · examGeneral 身體診察(全身) · examCirculatory 循環系統 · examRespiratory 呼吸系統 · examDigestive 消化系統 · examRenal 腎臟泌尿生殖 · examNeuro 神經系統 · examMusculoskeletal 肌肉骨骼關節 · examOther 五官口腔營養皮膚及其它 · plannedTests 待做檢驗檢查 · summary 病歷摘要 · initialAssessment 初步評估 · differential 鑑別診斷 · prognosis 預後 · treatmentPlan 治療方向 · S S 主觀資料 · O O 客觀資料 · A A 評估 · P P 計畫 · admissionDate 入院日期 · admissionDiagnosis 入院診斷 · dischargeDate 出院日期 · dischargeDiagnosis 出院診斷 · course 病理過程與臨床演變 · labsSummary 具診斷價值之檢驗檢查摘要 · treatmentMethod 治療方法 · proceduresSummary 重要手術與處置 · ordersSummary 已執行醫囑 · dischargeCondition 出院時病況 · followup 後續治療方向與醫囑 · referral 轉診建議 · dischargeReadiness 出院準備現況 · dischargeBarriers 出院障礙 · dischargeFollowup 追蹤與轉銜準備 · educationAudience 衛教對象 · educationContent 衛教內容 · educationTeachBack 理解確認
document-type 簽章對象
FHIR:Provenance.target
note 病歷 · archive 病歷封存
communication-kind 必要溝通種類(開放)
FHIR:Communication.category
家屬溝通 家屬溝通 · 跨科溝通 跨科溝通 · 其他 其他
consult-urgency 照會急迫度
FHIR:ServiceRequest.priority
routine 常規(routine) · urgent 緊急(urgent)
consult-status 照會狀態
FHIR:ServiceRequest.status
requested 已發出待回覆(active) · completed 已回覆(completed)
adoption-decision 照會建議採納
FHIR:—
adopt 採納 · decline 不採納 · follow 持續追蹤
surgery-status 手術紀錄狀態
FHIR:Procedure.status
saved 已登打 · sent 已交出 ICU · received ICU 已接收
handover-format 交班格式
FHIR:Composition.type
ISBAR 醫師 ISBAR · SBAR 護理 SBAR
archive-status 病歷封存狀態
FHIR:—
open 未封存 · grace 過渡期 · sealed 已封存
favorite-scope 常用清單範圍
FHIR:List.code
doctor 個人常用 · department 科常用
encounter-status 就醫狀態
FHIR:Encounter.status
in-progress 住院中(in-progress) · finished 已出院(finished)
draft-kind 草稿種類
FHIR:—
cart 待開清單 · orderDetails 開立明細 · note 自由病程 · recordWriter:admission 住院病歷撰寫 · recordWriter:progress 病程撰寫 · recordWriter:discharge 出院病摘撰寫 · surgery 手術紀錄 · handover 交班
batch-op 交易項目動作
FHIR:Bundle.entry.request.method
create 新增 · update 更新 · action 狀態動作(簽署/送出/接收…)