# 個案 --- 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收案,無法收案