MISAC dev
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Help
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    2
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # Patient portal ## Introduction - 背景及目的: -1. 許多應用領域資訊互通標準(含健康醫療) 可分為兩方面的標準;a.資訊互通規範(含整合架構),b.資料內容規範。但對於諸多**跨機構、跨系統的應用,目前並無明確的規範可依循**。 -2. 本文件列舉健康醫療常見的應用,提出通用之資訊互通架構,方便依循及延伸應用 - 規範內容:本文件基於 FIHR 及 DICOMweb 之 RESTful API,建立標準化架構及互通資訊 -1. 整合架構: 以 Patient Portal 為橋梁,整合各機構標準化前後端系統 -2. 互通資訊: 包含人員組織、認證、文件及服務索引、授權機制等所需之標準規範 - 應用範例: 以簡單通用之情境,利於了解及延伸應用。包含由民眾端、醫療端、服務端啟動之健康醫療服務 -- **會有許多民眾端、醫療端、服務端使用者及伺服器**,因此需要 portal 管理人員、組織、及索引... ## 分散式系統整合架構 https://chatgpt.com/share/680854af-3e88-8006-890f-bb8b6c312794 - 各單位自行管理人員異動 - 可由各機構自行建置身分驗證機制 - Data owner 授權 data consumer 資料調閱 - service 存取授權(需再分析) ## 規範目的 - 參考 [IHE XDS](https://wiki.ihe.net/index.php/Cross-Enterprise_Document_Sharing) 提出標準化之系統整合架構,方便依循建立病歷索引中心,及各式雲端儲存庫 -- 在此架構上,方便達成各式健康醫療應用 - 標準化認證、授權機制,以利安全管控各式雲端服務 -- 現行[FHIR 官網資安說明廣泛](https://www.hl7.org/fhir/secpriv-module.html),無明確應用情境及病歷互通權限管控規格 - 在病歷索引中心當中建立帳號、人員組織、及授權機制,以此形成 [patient portal](https://hackmd.io/3-YA4NIlSduzirHccnIq6A?view#Patient-Portal) -- 方便發展各式健康醫療前端應用,與 patient portal 及 repositories 整合應用 ## Use cases - [US use cases](https://hackmd.io/97LUFdFHSe-lETzvkQLC7g) ### MISAC use cases - [大健康](https://hackmd.io/_ljxzycbRiCB8NaEy1O41A?view) - [運動醫學](https://hackmd.io/UeD63TIASsGKHXIhedxm7Q?view) -- https://hackmd.io/UeD63TIASsGKHXIhedxm7Q#%E9%81%8B%E5%8B%95%E8%99%95%E6%96%B9 - [QIBA](https://hackmd.io/s6vtumooQ2OyUwxhENR5QQ) - [SDOH](https://hackmd.io/gUC8OlUmSWuBAOt0MAmHCg) - 單一登入,掛號不同醫院 : [Single sign-on for registration at different hospitals](https://hackmd.io/amKh-guyRs2SlggRdJU7cA?view#Single-sign-on-for-registration-at-different-hospitals): SSO for all hospitals' appointment - 物流及狀態追蹤: Logistics and status tracking - 居家病況分享: Home-based condition sharing ## SSO for all hospitals appointment 單一帳號,登入後,可掛不同醫院號 ### elearning - https://hackmd.io/bWEZu4J1STS7yA18H6yvUw ## Resilient system design - 分散式韌性網路架構 - 問題: 當網際網路斷網或受到攻擊時,區域的健康醫療儀器及系統還可整合運作,這要如何設計 -- https://chatgpt.com/share/6825538b-9240-8006-8097-c28b152b57d9 ## 測試及試行環境 ( snadbox): 待補充 ## 建構步驟 - 建立人員組織,[FHIR 人員組織](https://hackmd.io/vC8Nq7r4RG6E14Wk8pUf3w?view)、[Patient portal person and organization management](https://hackmd.io/JlxUlR5_QGmM9HlrLIMuzQ?view) - [裝置、系統管理](https://chat.deepseek.com/a/chat/s/69e569fb-1d9b-4b93-beb9-2774ba163f15) - [憑證申請及管理](https://hackmd.io/@kan71462/SyadZkNkR#%E5%BB%BA%E7%AB%8B%E9%9B%99%E5%90%91SSL%E6%B5%81%E7%A8%8B%E8%AA%AA%E6%98%8E-client%E7%AB%AF) -- 伺服器憑證 -- 裝置憑證:安裝於個人電腦或裝置 - 建構認證機制 - 服務管理 - 文件發布 - 授權 [Patient granted digital healthcare](https://chat.openai.com/share/db79afe4-6198-45b3-b1b8-3a56d2b77ec8) - [調閱存取控制](https://hackmd.io/HGz2sTXISYyRKJxLg_-gAA?view) ## Patient granted EMR and EHR sharing - 除了緊急醫療之外,雲端電子病歷及健康紀錄互通皆須民眾授權;授權資料上傳及調閱 - EMR : 醫院產生的電子病歷 - EHR or PHR: 民眾端上傳的健康紀錄 - Patient granted EMR and EHR: -- 民眾授權醫院上傳其 EMR 資料 -- 民眾自行上傳其 PHR 資料到雲端 -- 民眾授權組織人員或 AI 調閱其 EMR 及 PHR 資料 - 包含的資料: 電子病歷、醫學影像、基因檢測、個人健康紀錄(如穿戴式系統產生的資料)、場域端產生的資料(如運動場域) -- [Patient granted digital healthcare](https://chat.openai.com/share/db79afe4-6198-45b3-b1b8-3a56d2b77ec8) ## 不建議單純引用 oAuth and smart on FHIR - [oAuth and smart on FHIR]( https://chatgpt.com/c/d471e9c2-0714-48d3-97f4-434618b775aa) 不合呼 PHR 或 EMR 互通所認證授權 -- 上述為病人授權其應用系統調閱病人所屬病歷及健康紀錄 -- 非病人授權醫護機構及人員調閱病人所屬病歷及健康紀錄 - 資料擁有者授權他人調閱病歷 --[ charGPT result]( https://chatgpt.com/share/2e0b3c38-d084-429e-ba51-f8a8d7f26b0d),結果尚需修正 - Patient portal 方案,本文件所提方案: Portal 發放[標準化之 JWT token](https://hackmd.io/baG5TwZOT2elwJrn1YSasA?view),以利網際網路上各式伺服器之服務與資料存取控制 ## [FHIR EMR and PHR integrated use case](https://hackmd.io/Q1sPmblxTBK59OVeitzyzg?view#Use-cases) ## Patient Portal - Patient portal 方案,本文件所提方案: Portal 發放[標準化之 JWT token](https://hackmd.io/baG5TwZOT2elwJrn1YSasA?view),以利網際網路上各式伺服器之服務與資料存取控制 ![](https://i.imgur.com/0femxtD.jpg) -- SSO Portal(健康照護入口網): 如圖右下方之健康醫療入口網,以此做為健康醫療服務入口,統一管理人員組織、帳號、使用裝置、病歷文件索引、以及認證及授權 -- Cloud healthcare server(雲端儲存庫): 如圖上方之雲端儲存庫,基於HL7 FHIR 或 DICOMWeb 建立雲端儲存庫,以此存放及處理醫院病歷、居家健康紀錄、醫學影像、及基因序列等各式是臨床資料 -- Client application (含 分析系統及 AI): 如圖左下方系統,可為醫院或照護機構現行系統,也可是民眾或醫護人員使用之 APP 或網頁系統,或資料判讀 AI系統。使用 FHIR 或 DICOMWeb 規範之標準的 HTTP 協定向伺服器端存取資料 ## XDS on FHIR - XDS 架構,並無明確之權限管控規範。本文件建議將 XDS registry 延伸管理人員組織及所屬憑證及裝置,及認證授權,以此 patient portal(健康醫療入口網)。以此形成完整之實作規格,利於開發者發展標準化健康照護入口網、雲端儲存庫、及各式用戶端 App. 及分析系統: ![](https://hackmd.io/_uploads/r1HqP1xr2.png) - 上圖為分散式架構: 病歷及健康紀錄分散儲存在各健康醫療機構儲存庫,建立集中索引,以利文件查詢及授權 - 基於 XDS 架構,client 可分為資料提供端(document source) 及資料使用端(document consumer) 兩種腳色,其運作流程分為: 1.文件及索引發布 2.文件查詢調閱兩部分 1. 文件及索引發布 1.1 document source​ 發布文件到 repository。 上傳的文件可為 FHIR document 或其他規格文件 1.2 Repository 扮演 HTTP client ,post 上傳 FHIR document reference 到 registry 2. 文件查詢調閱 2.1 document consumer 向 registry 查詢被授權的文件(註 1)索引 2.2 document consumer 向 repository 調閱文件 註 1: XDS 架構並無規範 registry 當中,授予(granting) consumer 可調閱那些文件的機制。consumer 向 repository 調閱 document 時,access token 規格亦須進一步規範 ## 社區及部落生活資訊整合 - 基於醫資標準,或可建構社區或部落生活資訊整合系統,促進良善社會發展。 - ### 應用示意圖 ![image.png](https://hackmd.io/_uploads/Bkvly_OQp.png) ### Document types for sharing - 互通的資料可為 **FHIR document**、HL7 CDA 及 PDF 電子病歷、醫學影像、影音多媒體資料 -- 機構服務窗口資訊、服務時間表、掛號結果等可用單一 FHIR resource 互通 -- 處方或服務請求(藥物處方、檢驗檢查處方、治療或照護計畫等), 檢查、診斷、處置、評估紀錄(如影像報告、檢驗報告、院內用藥或處置紀錄等) 建議打包成[FHIR document](https://build.fhir.org/documents.html) 分享 - 影音多媒體資料需另建儲存庫及傳輸機制(如 DICOM WADO 調閱醫學影像,串流機制傳輸影音),及其 FHIR metadata (FHIR ImagingStudy、media、documentReference ),可從 FHIR server 查到 metadata,再由 metadata 中的索引 URL 連結到影音資料 註 1. 我們將 Electronic Medical Records(EMR) 視為醫護端之使用系統,Personal Health Records (PHR) 民眾端使用之健康醫療系統。 [EMR,PHR, EHR 較詳細的說明](https://www.linkedin.com/pulse/emr-ehr-phr-actual-difference-between-3-confusing-terms-a-khader/) 註 2. 本文件先探討 FHIR document 及影音資料之互通及存取控制;**配合入口網站文件索引(documentReference) 可有一致的授權及存取控制規範**,管理 FHIR document 及影音資料,以此應用於大多數機構與民眾間資訊互通情境。 註 3. 各類單一 resource 之互通及存取控制,將配合其應用情境另行討論。 ### In-House Patient Portal (Internal) and Internet-Based Patient Portal (External): - https://chatgpt.com/share/b8d37451-4fb3-4b13-8618-7ffc3463a571 ## FHIR server integrated with HIS - 醫院運作以 HIS 為主,但可建構 FHIR server,以歷屆接整合: 1. 部門專業資訊系統 2. 跨機構或民眾端系統 3.申報、公衛、研究、教育訓練之系統 ![image](https://hackmd.io/_uploads/BkAmlEe2T.png) ## SSO fundations - 基於 SSO 架構,建立相關人員、系統、裝置、憑證,及其認證及授權 1. 建立民眾端(provider): pateint, relativePerson, 及其所屬裝置( device) 2. 建立健康醫療端(consumer):可為機構服務窗口、主治醫師、個管師), 及其所屬裝置( device) 3. 上述人員使用之裝置或系統之憑證(FHIR device and certificate) 以利認證 4. 建立人員及裝置認證機制,如 FIDO 5. 授權 -- 5.1 授權 provider 可增修刪那些內容,可在資料尚未產生前做授權 -- 5.2 授權 consumer 可調閱那些內容。可授權調閱已產生的資料,或預設授權 (如 IoT 應用,在資料未產生前,預先授權醫護端可調閱 ## EMR、PHR、 and portal integrated application implementation steps 0. 事前建立人員及服務所引,以利線上互動與授權 a. 建立組織、服務人員窗口 b. PHR 平台匿名(或假名)的病人 c. 建立服務索引: 建立看診及服務時間表 2. 基於[FHIR 健康醫療作業流程](https://hackmd.io/7YeI1b2YQRGqdeiZujeS6g?view) 產生掛號、就醫、處方、檢驗檢查、診斷與問題狀況、處置等資訊 3. 打包 FHIR document: 可為釋出的處方,或結果報告。document 中也包含就醫過程相關資訊(註 1) 4. FHIR document 產生單位簽章 5. 產生 FHIR documentReference,上傳到授權 portal 6. 在 Potal 提供授權(Granting) 介面,授權病人或特定機構人員調閱 7. FHIR document 使用者(consumer)查詢及調閱文件 -a. consumer client 向 portal 進行認證 -b. consumer client 在 portal 查詢已被授權之文件 -c. 選擇文件,portal 回應 Access token -d. consumer client HTTP request (with access token) 向 repository 調閱文件(或多媒體資料) -e. Repository 檢查 access token ,合法: 回應要求的文件或資料。不合法: 回應 error ### document consumer 查詢及調閱文件步驟 -a. consumer client 向 portal 進行認證 -b. consumer client 在 portal 查詢已被授權之文件 -c. 選擇文件,portal 回應 Access token -d. consumer client HTTP request (with access token) 向 repository 調閱文件(或多媒體資料) -e. Repository 檢查 access token ,合法: 回應要求的文件或資料。不合法: 回應 error ## 系統架構特點 - 基於國際標準 -- IHE ITI、XDS、 FHIR security、 oAuth 等標準規範 - 合乎國內及國際健康醫療系統現況及發展需求 -- 資料分散儲存(repositories)、索引集中管理(portal registry) -- 方便各健康醫療部門可分別建置其專業伺服器(如醫學影像、基因檢測、生理監測...) -- 統一管理人員組織、身分驗證、存取權限 - 可在醫院及院外分階段建置,易於擴充應用 ## Refernece - 愛佳 md: https://hackmd.io/@victoriatjia/patientportal

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully