{
  "resourceType": "CapabilityStatement",
  "id": "icu-emr-api",
  "url": "http://icu.emr.local/CapabilityStatement/icu-emr-api",
  "version": "0.1.0",
  "name": "ICUEmrApi",
  "title": "ICU EMR FHIR API（越南兒童醫院 Phase 1）",
  "status": "draft",
  "experimental": true,
  "date": "2026-09-01",
  "publisher": "越南兒童醫院 ICU Phase 1 專案",
  "description": "ICU 臨床工作站的 FHIR R4 介面。HIS 仍為病人、就醫、檢驗結果與處方號的權威來源；本 API 僅提供 EMR 端的臨床作業。",
  "kind": "requirements",
  "fhirVersion": "4.0.1",
  "format": ["application/fhir+json"],
  "patchFormat": ["application/json-patch+json"],
  "implementationGuide": [],
  "rest": [
    {
      "mode": "server",
      "documentation": "所有可寫互動要求 If-Match（樂觀鎖）。不提供 delete；誤建資料以 status=entered-in-error 標記。",
      "security": {
        "cors": true,
        "service": [
          {
            "coding": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/restful-security-service",
                "code": "SMART-on-FHIR"
              }
            ]
          }
        ],
        "description": "OAuth 2.0 + SMART on FHIR。權杖須帶 fhirUser(PractitionerRole) 與 shift claim。"
      },
      "resource": [
        {
          "type": "Patient",
          "documentation": "HIS 唯讀。臨床帳號不可寫入。",
          "interaction": [
            { "code": "read" },
            { "code": "vread" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "versioning": "versioned",
          "readHistory": true,
          "updateCreate": false,
          "conditionalCreate": false,
          "conditionalUpdate": false,
          "conditionalDelete": "not-supported",
          "searchParam": [
            { "name": "identifier", "type": "token" },
            { "name": "name", "type": "string" },
            { "name": "birthdate", "type": "date" }
          ],
          "operation": [
            {
              "name": "roster",
              "definition": "http://icu.emr.local/OperationDefinition/Patient-roster",
              "documentation": "回傳目前登入者的照護名單（Patient + CareTeam + 作用中醫囑計數）。"
            }
          ]
        },
        {
          "type": "Encounter",
          "documentation": "HIS 唯讀。",
          "interaction": [
            { "code": "read" },
            { "code": "vread" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "date", "type": "date" },
            { "name": "identifier", "type": "token" }
          ]
        },
        {
          "type": "CareTeam",
          "documentation": "本班照護名單。確認動作記於 Provenance。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "update" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "participant", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "encounter", "type": "reference" }
          ]
        },
        {
          "type": "MedicationRequest",
          "documentation": "臨床狀態、簽署狀態、HIS 傳輸狀態為三個獨立軸。已送出後不可就地修改內容。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "update" },
            { "code": "patch" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "versioning": "versioned-update",
          "conditionalCreate": true,
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "encounter", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "intent", "type": "token" },
            { "name": "authoredon", "type": "date" },
            { "name": "requester", "type": "reference" },
            { "name": "identifier", "type": "token" },
            { "name": "code", "type": "token" }
          ],
          "operation": [
            {
              "name": "sign",
              "definition": "http://icu.emr.local/OperationDefinition/MedicationRequest-sign",
              "documentation": "驗證病程來源存在，寫入帶版本快照，建立 Provenance.signature。"
            },
            {
              "name": "submit",
              "definition": "http://icu.emr.local/OperationDefinition/MedicationRequest-submit",
              "documentation": "送出至 HIS。冪等。hisTransmissionStatus=unknown 時拒絕重送。"
            }
          ]
        },
        {
          "type": "MedicationAdministration",
          "documentation": "建立後不可修改。同一劑次至多一筆 completed，以 If-None-Exist 強制。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "conditionalCreate": true,
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "request", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "effective-time", "type": "date" },
            { "name": "performer", "type": "reference" },
            { "name": "identifier", "type": "token" }
          ]
        },
        {
          "type": "ServiceRequest",
          "documentation": "檢驗、檢查、照護醫令與跨科照會（category=consultation）共用。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "update" },
            { "code": "patch" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "category", "type": "token" },
            { "name": "code", "type": "token" },
            { "name": "authored", "type": "date" },
            { "name": "requester", "type": "reference" },
            { "name": "performer", "type": "reference" },
            { "name": "priority", "type": "token" },
            { "name": "identifier", "type": "token" }
          ]
        },
        {
          "type": "Procedure",
          "documentation": "照護與處置的實際執行。建立後不可修改。手術紀錄為唯讀接收。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "based-on", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "date", "type": "date" },
            { "name": "performer", "type": "reference" }
          ]
        },
        {
          "type": "DiagnosticReport",
          "documentation": "HIS 唯讀。已閱與判讀記於 Provenance，不修改報告本身。",
          "interaction": [
            { "code": "read" },
            { "code": "vread" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "searchInclude": [
            "DiagnosticReport:result",
            "DiagnosticReport:specimen",
            "DiagnosticReport:based-on"
          ],
          "searchRevInclude": ["Provenance:target"],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "category", "type": "token" },
            { "name": "code", "type": "token" },
            { "name": "issued", "type": "date" },
            { "name": "based-on", "type": "reference" },
            { "name": "identifier", "type": "token" }
          ]
        },
        {
          "type": "Observation",
          "documentation": "生命徵象、檢驗指標、輸注速率觀察。建立後不可修改。缺值一律 dataAbsentReason，不送 0。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "code", "type": "token" },
            { "name": "component-code", "type": "token" },
            { "name": "date", "type": "date" },
            { "name": "status", "type": "token" },
            { "name": "category", "type": "token" },
            { "name": "part-of", "type": "reference" },
            { "name": "derived-from", "type": "reference" }
          ]
        },
        {
          "type": "Composition",
          "documentation": "病歷、會診回覆、SBAR 交班、同意書。已簽（final）後不可修改；更正一律新建並以 relatesTo[replaces] 連結。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "update" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "encounter", "type": "reference" },
            { "name": "type", "type": "token" },
            { "name": "status", "type": "token" },
            { "name": "date", "type": "date" },
            { "name": "author", "type": "reference" },
            { "name": "related-id", "type": "token" }
          ],
          "operation": [
            {
              "name": "sign",
              "definition": "http://icu.emr.local/OperationDefinition/Composition-sign"
            },
            {
              "name": "receive",
              "definition": "http://icu.emr.local/OperationDefinition/Composition-receive",
              "documentation": "交班接收：建立 Provenance 並將交出者名下未完成 Task 的 owner 轉移給接收者。"
            }
          ]
        },
        {
          "type": "Task",
          "documentation": "臨床工作與待辦。結案需完成證據；來源為檢驗報告時需該報告已回報且已判讀。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "update" },
            { "code": "patch" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "owner", "type": "reference" },
            { "name": "focus", "type": "reference" },
            { "name": "business-status", "type": "token" },
            { "name": "authored-on", "type": "date" }
          ]
        },
        {
          "type": "Provenance",
          "documentation": "臨床溯源：已閱、判讀、醫師核對、簽章、交班接收。僅新增，永不修改。",
          "interaction": [{ "code": "create" }, { "code": "read" }, { "code": "search-type" }],
          "searchParam": [
            { "name": "target", "type": "reference" },
            { "name": "agent", "type": "reference" },
            { "name": "recorded", "type": "date" },
            { "name": "entity", "type": "reference" }
          ]
        },
        {
          "type": "Communication",
          "documentation": "必要溝通紀錄。僅記錄溝通已發生，API 不觸發任何實際通知。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "category", "type": "token" },
            { "name": "sent", "type": "date" },
            { "name": "sender", "type": "reference" },
            { "name": "recipient", "type": "reference" }
          ]
        },
        {
          "type": "Condition",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "update" },
            { "code": "history-instance" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "code", "type": "token" },
            { "name": "verification-status", "type": "token" },
            { "name": "recorded-date", "type": "date" }
          ]
        },
        {
          "type": "Goal",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "update" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "lifecycle-status", "type": "token" }
          ]
        },
        {
          "type": "CarePlan",
          "documentation": "照顧重點。更新一律新建並以 replaces 指向舊版，不覆寫。",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "replaces", "type": "reference" }
          ]
        },
        {
          "type": "Consent",
          "interaction": [
            { "code": "create" },
            { "code": "read" },
            { "code": "vread" },
            { "code": "update" },
            { "code": "search-type" }
          ],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "status", "type": "token" },
            { "name": "category", "type": "token" }
          ]
        },
        {
          "type": "AuditEvent",
          "documentation": "伺服器產生，含讀取軌跡。臨床帳號不可查詢，僅限稽核角色。",
          "interaction": [{ "code": "read" }, { "code": "search-type" }],
          "searchParam": [
            { "name": "patient", "type": "reference" },
            { "name": "agent", "type": "reference" },
            { "name": "date", "type": "date" },
            { "name": "action", "type": "token" },
            { "name": "outcome", "type": "token" }
          ]
        }
      ],
      "interaction": [
        { "code": "transaction", "documentation": "多資源原子操作：批次開立、簽署、交班接收、病歷更正。" },
        { "code": "batch", "documentation": "僅限唯讀批次載入，不得含寫入。" },
        { "code": "search-system" }
      ]
    }
  ]
}
