---
# System prepended metadata

title: 個案

---

# 個案

---
API清單
- [身分證查詢householdMemberId](#身分證查詢householdMemberId)
- [新增個案](#新增個案)
- [QRCode收案檢查](#QRCode收案檢查)
- [QRCode收案](#QRCode收案)
---

## 身分證查詢householdMemberId

```url
GET /householdMember/searchIdCardNo?idCardNo=${idCardNo}
```

###Request
  欄位 | 型態  | 必填 | 預設 | 說明  
---|---|---|---|---
 idCardNo | string | Y | | 身分證 

###Response
  欄位 | 型態   | 說明  
 -----| -----|-------- 
 name | string | 科別名稱 
 status | boolean | 狀態 
 updateTime | int | 最後更新時間 

```javascript
{
    "httpCode": 200,
    "result": {
        "data": [
            {
                "memberId": "c0db3d14-0ff3-4b54-baff-d98b7ca6cc8d",
                "visitStatus": 0,
                "healthStatus": 0,
                "idCardNo": "A189316853",
                "idCardNoUpdatable": true,
                "updateTime": "",
                "lastVisitDate": ""
            },
            {
                "memberId": "29cf3b1e-fce7-4209-b9d7-8ab43c5d1250",
                "visitStatus": 0,
                "healthStatus": 0,
                "idCardNo": "A162174511",
                "idCardNoUpdatable": true,
                "updateTime": "",
                "lastVisitDate": ""
            }
        ]
    }
}
```


## 新增個案

```url
POST /vpnCaseGeneral/add
```

### Request
 欄位 | 型態  | 必填 | 預設 | 說明  
---|---|---|---|---
 householdMemberId | string | Y | | 由/householdMember/searchIdCardNo取得 
 patIdNo | string | Y | | 身份證 
 patName | string | Y | | 由/householdMember/searchIdCardNo取得 
 chartNo | string |  | | 編號 
 diseaseType | string |  | Y | 疾病Id 
 diseaseTypeStage | string |  | | 疾病階段Id 
 medicalStaffId | string |  | | 收案人員Id 
 remark | string |  | | 備註 
 acceptDate | timestamp |  | | 收案日期 

```javascript
{
    "householdMemberId": "9731a4dd-ea0b-4f38-ab10-bbb02fc95fb0",
    "patIdNo": "C198124276",
    "patName": "自註冊",
    "chartNo": null,
    "diseaseType": "DM",
    "diseaseTypeStage": null,
    "medicalStaffId": "7a17be34-13ae-4687-b971-1e5f586c8e3a",
    "remark": "1234",
    "acceptDate": 1611006630138
}
```

### Response
 欄位 | 型態   | 說明  
 -----| -----|-------- 
 caseId | string | 個案Id, 若為 -1 則代表使用者尚未同意收案，所以直接加入待收案清單中 

```javascript
{
    "httpCode": 200,
    "result": {
        "data": {
            "caseId": "3d43c0e6-6dc6-4193-aed2-be24c67fd4b2"
        }
    }
}
```

### Error
 錯誤碼 |  錯誤字串 | 說明  
 --- |--- |--- 
 422 | SERVICE_ERROR.WAITING_CASE_DUPLICATE | 新增待同意個案失敗，因為已存在相同的個案與機構和疾病的組合 
 422 | SERVICE_ERROR.ADD_CASE_WAITING_ERROR | 新增待同意個案失敗 


## QRCode收案檢查

```url
POST /vpnCase/check-from-qrcode
```

* App使用者掃QRCode收案時先執行此API檢查是否已被收案
* QRCode內容格式有2種
  - health365://add-case-qrcode?tenantId=xxxxxxxx
  - health365://add-case-qrcode?tenantId=xxxxxxxx&staffId=xxxxx
  - tenantId為必需參數, 表示收案租戶id
  - staffId非必需參數, 表示收案處理人員id
* 依據返回內容, 若尚未被收案, App端跳出同意畫面後, 再接著執行 /vpnCase/add-from-qrcode API進行收案


### Request
 欄位 | 型態 | 必填 | 預設 | 說明  
 ---|---|---|---|---
 tenantId | string | Y |  | 收案租戶id

```javascript
{
    "tenantId": "1af0a4c2-ef73-4385-aa8e-8e7ae8afe155"
}
```

### Response
 欄位 | 型態   | 說明  
 --- | --- |---
 tenantName | string | 租戶名稱
 tenantShortName | string | 租戶稱稱
 tenantType | string | 租戶類別, DEALER: 經銷單位, HOSPITAL:醫療機構, WMT:緯創醫學, BUSINESS:企業客戶, AD:廣告商 
 added | boolean | 是否已被收案
 
```javascript
{
    "httpCode": 200,
    "result": {
        "data": {
            "tenantType": "HOSPITAL",
            "tenantName": "小港醫院",
            "added": true
        }
    }
}
```

### Error
 錯誤碼 | 錯誤字串 | 說明
 --- | --- | ---
 400 | API_ERROR.NOT_EXIST | 無此租戶
 400 | API_ERROR.USER_INFO_ERROR | 無此使用者
 422 | SERVICE_ERROR.CASE_QR_TENANT_NOT_ENABLED | 收案醫院未啟用
 422 | SERVICE_ERROR.CASE_QR_TENANT_NOT_ALLOWED | 非收案醫院
 
 
 ## QRCode收案
 
 ```url
 POST /vpnCase/add-from-qrcode
 ```
 
 * App使用者掃QRCode收案用
 * QRCode內容格式有2種
   - health365://add-case-qrcode?tenantId=xxxxxxxx
   - health365://add-case-qrcode?tenantId=xxxxxxxx&staffId=xxxxx
   - tenantId為必需參數, 表示收案租戶id
   - staffId非必需參數, 表示收案處理人員id
 * QRCode收案成功後,請再執行 /user/profile API,更新profile內容,以啟用SOS服務
 
 
 ### Request
  欄位 | 型態 | 必填 | 預設 | 說明  
  ---|---|---|---|---
  tenantId | string | Y |  | 收案租戶id
  staffId | string |  |  | 收案處理人員 
 
 ```javascript
 {
     "tenantId": "1af0a4c2-ef73-4385-aa8e-8e7ae8afe155",
     "staffId": null
 }
 ```
 
 ### Response
  欄位 | 型態   | 說明  
  --- | --- |---
  caseId | string | 收案id
  
 ```javascript
 {
     "httpCode": 200,
     "result": {
         "data": {
             "caseId": "d85a700f-cfe3-4351-8947-6e49c682d3f8"
         }
     }
 }
 ```
 
 ### Error
  錯誤碼 | 錯誤字串 | 說明
  --- | --- | ---
  400 | API_ERROR.NOT_EXIST | 無此租戶
  400 | API_ERROR.USER_INFO_ERROR | 無此使用者
  422 | SERVICE_ERROR.CASE_QR_TENANT_NOT_ENABLED | 收案醫院未啟用
  422 | SERVICE_ERROR.CASE_QR_TENANT_NOT_ALLOWED | 非收案醫院
  422 | SERVICE_ERROR.EXIST_NON_CLOSED_CASE | 存在未結案之VPN收案，無法收案


