---
# System prepended metadata

title: '機構與家戶組織、人員、裝置管理(權限及資安: R2)'

---

# 機構與家戶組織、人員、裝置管理(權限及資安: R2)

## 病人資料應用情境
https://mos2718.github.io/MITW/2020/patient.html

## 分層管理概念
- 多層組織，由子組織自行管理其人員異動。避免根組織管理全部人員異動造成的不便
- 個人可自行更新其基本資料及所屬裝置

## 定義腳色及其可用功能(依據應用情境)，如:
- 機構組織管理人、醫師、護士、個管人員、老師、學生等
-- 可分單位腳色(如**醫院開刀房醫師)及通用腳色(如醫師、老師、同學)
-- Patient portal 僅註冊服務人員，其他使用者可匿名(用帳號、密碼、email、憑證等資訊做身分驗證)
- 機構組織管理人可增修刪查機構所屬人員及其子組織，並設定其腳色
- 機構設備管理人可增修刪查機構所屬裝置(含其 IP 及 MAC address)
- 個人可增修刪查其所屬裝置、設定登入密碼、及申請憑證
- 個人可增、修、刪其聯絡資訊
- 個人可設定其職位代理人

##  建立分層管理組織
1. 建立根組織及其管理人員(跳過 gateway，由系統管理員直接在本機設定)
2. 父組織管理人員建立子組織及其管理人員
4. 子組織管理人員新增所屬人員、腳色、及孫組織
5. 組織及人員更新其密碼、基本資料、及使用的裝置

## 建立雲端醫護所需組織、人員、裝置
- 註冊服務機構、系統、及服務窗口人員(非服務人員，不須建資料)
- 註冊民眾(含家戶)組織、人員、及所屬裝置(考慮隱私，名眾可假名建資料)



## 新增組織所屬人員
- 新增人員 ID 及帳號: Person
- 新增專業腳色: Practitioner
- 新增組織所屬人員

## Portal 存取控制情境
- 機構組織管理人可增修刪查機構所屬人員及其子組織，並設定其腳色
1. 管理人新增子組織

## Portal 人員、組織、裝置、地點管理(含組織中人員權限管控)


- 機構組織管理人可增修刪查機構所屬人員及其子組織，並設定其腳色
1. 管理人新增子組織

```json
// 新增子組織 
{"verb":"POST" ,
 "User":  {"reference":"PractitionerRole/PRid" },
 "clientSystems":[{"reference": "Device/Did" }],
  "constraint": [{"resourceName": "Organization",
                "partOf" =  "Organization/parentOrgID" }] }

```

-  PractitionerRole, Devices 需先在 portal 註冊
-  並授權，以產生上述資訊. 記錄在 FHIR conscent 當中?  
-  使用者使用其所屬 client 系統登入 portal，需驗證使用者及其裝置
-  傳入使用者 及 client 系統 ID，驗證用對應公鑰驗章、或 share key 驗 HMAC
-  公鑰或 share key 可存放在 FHIR person and Device 當中 
-  PractitionerRole.practitioner
-  檢查參考之 PractitionerRole.practitioner 是否在 login person.link.target 當中
-  檢查目前使用的系統是否在參考之 Device 當中
-  檢查 post organization.partOF 之父組織是否與上述授權檔相同

```json
// 更新子組織 
{"verb":"UPDATE" ,
 "User":  {"reference": "PractitionerRole/PRid" },
 "clientSystems":[{"reference": "Device/Did" }],
  "constraint": [{"resourceName": "Organization",
                "partOf" =  "Organization/parentOrgID" }] }

```
```json
// 刪除子組織 
{"verb":"DELETE" ,
 "User":  {"reference": "PractitionerRole/PRid" },
 "clientSystems":[{"reference": "Device/Did" }],
 "constraint": [{"resourceName" : "Organization",
                "partOf" =  "Organization/parentOrgID" }] }
```

- 查詢子組織
-- Get RootURL/Organization?partOf=parentOrgID

```json
// 新增子組織 
{verb:"POST" ,
 PractitionerRole: {"code":"orgManager",
                    organization: "Organization/parentOrgID",
                    period :  "period": {
    "start": "2012-01-01",
    "end": "2012-03-31"
  }, {star= 2022-01-01}
                    }
  "Devices":[,],
  constraint: [{resourceName: "Organization",
                partOf =  "Organization/parentOrgID" }] }

```

```json
// 新增子組織 
{"verb":"POST" ,
 "User":  {"reference": "PractitionerRole/PRid" },
 "clientSystems":[{"reference": "Device/Did" }],
  "constraint": [{"resourceName": "Organization",
                "partOf" =  "Organization/parentOrgID" }] }

```

-  PractitionerRole, Devices 需先在 portal 註冊
-  並授權，以產生上述資訊. 記錄在 FHIR conscent 當中?  
-  使用者使用其所屬 client 系統登入 portal，需驗證使用者及其裝置
-  傳入使用者 及 client 系統 ID，驗證用對應公鑰驗章、或 share key 驗 HMAC
-  公鑰或 share key 可存放在 FHIR person and Device 當中 
-  PractitionerRole.practitioner
-  檢查參考之 PractitionerRole.practitioner 是否在 login person.link.target 當中
-  檢查目前使用的系統是否在參考之 Device 當中
-  檢查 post organization.partOF 之父組織是否與上述授權檔相同

```json
// 更新子組織 
{"verb":"UPDATE" ,
 "User":  {"reference": "PractitionerRole/PRid" },
 "clientSystems":[{"reference": "Device/Did" }],
  "constraint": [{"resourceName": "Organization",
                "partOf" =  "Organization/parentOrgID" }] }

```
```json
// 刪除子組織 
{"verb":"DELETE" ,
 "User":  {"reference": "PractitionerRole/PRid" },
 "clientSystems":[{"reference": "Device/Did" }],
 "constraint": [{"resourceName" : "Organization",
                "partOf" =  "Organization/parentOrgID" }] }
```

- 查詢子組織
-- Get RootURL/Organization?partOf=parentOrgID



