# 企業總覽 --- API 清單 * [Top5檢驗值異常項目分析](#Top5檢驗值異常項目分析) * [年度健檢執行分析](#年度健檢執行分析) * [Top5警示通知](#Top5警示通知) * [Top5收案醫院服人數](#Top5收案醫院服人數) * [查詢本企業的收案機構](#查詢本企業的收案機構) * [查詢本企業的已收案疾病](#查詢本企業的已收案疾病) * [企業個案名單](#企業個案名單) * [刪除企業個案名單](#刪除企業個案名單) * [企業部門清單](#企業部門清單) * [編輯在職狀態](#編輯在職狀態) * [匯出年度健檢分析未檢人數](#匯出年度健檢分析未檢人數) * [健檢醫院及年度清單](#健檢醫院及年度清單) * [檢驗檢查樣版檔下載](#檢驗檢查樣版檔下載) * [匯入健檢資料](#匯入健檢資料) * [下載健檢錯誤資料檔](#下載健檢錯誤資料檔) --- ## Top5檢驗值異常項目分析 ```url POST /company/employee/list ``` 匯出 ```url POST /company/employee/export-list ``` ### Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- year | string | int | | 年度 ```javascript { "year": 2021, "topNum" : 5 } ``` ### Response 欄位 | 型態 | 說明 ---| --- |--- abnormal | int | 檢驗異常總人數 ```javascript { "httpCode": 200, "result": { "data": { "abnormal": 5880, "total": { "male": 1000, "female": 2000 }, "list": [ { "id": "1552fc8b-055e-49d0-a7f8-8329389b8c84", "abnormalName": "收縮壓", "male": 1000, "female": 2000, "tooltip": "收縮壓 90-140mmHg" } ] } } } ``` ## 年度健檢執行分析 ```url POST /company/checkup/list ``` ### Request 欄位 | 型態 | 必填 | 預設 | 說明 | ---|---|---|---|--- year | int | Y | | 年度 ```javascript { "year": 2021 } ``` ### Response 欄位 | 型態 | 說明 --- | --- | --- checked | int | 已檢人數 unchecked | int | 未檢人數 list | array of json | 年齡分佈List #### Response-年齡分佈 json 欄位 | 型態 | 說明 --- | --- |---- agelevel | string | 年齡區間 checked | json | 已檢人數json unchecked | json | 未檢人數json #### Response-人數 json 欄位 | 型態 | 說明 ---| --- | --- male | int | 男性人數 female | int | 女性人數 ```javascript { "httpCode": 200, "result": { "data": { "unchecked": 6, "checked": 1, "list": [ { "agelevel": "<30", "checked": { "male": 1, "female": 0 }, "unchecked": { "male": 0, "female": 2 } }, ... ] } } } ``` ## Top5警示通知 ```url POST /company/warning/list ``` 匯出 ```url POST /company/warning/export-list ``` ### Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- startDate | timestamp | Y | | 開始年度 endDate | timestamp | Y | | 結束年度 topNum | int | | 5 | top數目 ```javascript { "startDate": 1614528000000, "endDate": 1614528000000, "topNum" : 5 } ``` ### Response 欄位 | 型態 | 說明 --- | --- | --- warning | int | 警示通知 disease | json | 疾病別與階段 caseCount | int | 關懷人次 tooltip | string | 提示 ### Response-disease json 欄位 | 型態 | 說明 --- | --- | --- diseaseType | string | 疾病別 diseaseStage | string | 疾病階段 ```javascript { "httpCode": 200, "result": { "data": [ { "id": "1552fc8b-055e-49d0-a7f8-8329389b8c84", "warning": "血壓過高", "disease": [ { "diseaseType": "ECKD", "diseaseStage": "STage1" } ], "caseCount": 1000, "tooltip": "60 <= eGFR <= 89.9 AND UPCR >= 150" } ] } } ``` ## Top5收案醫院服人數 ```url POST /company/hospital/list ``` 匯出 ```url POST /company/hospital/export-list ``` ### Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- year | string | int | | 年度 topNum | int | | 5 | top數目 ```javascript { "year": 2021, "topNum" : 5 } ``` ### Response 欄位 | 型態 | 說明 --- | --- |--- hospital | string | 收案醫院 caseCount | int | 收案人數 ```javascript { "httpCode": 200, "result": { "data": [ { "id": "1552fc8b-055e-49d0-a7f8-8329389b8c84", "hospital": "吉安診所", "caseCount": 100 } ] } } ``` ## 查詢本企業的收案機構 ```url POST /company/employee/hospital ``` ### Request ### Response 欄位 | 型態 | 說明 ---|---|--- id| String | 收案機構 ID name | String | 收案機構名稱 type | String | 收案機構類別 ```javascript { "httpCode": 200, "result": { "data": [ { "id": "1103200", "name": "高雄醫院", "type": "HOSPITAL" }, { "id": "215065", "name": "台大醫院", "type": "DEALER" } ] } } ``` ## 查詢本企業的已收案疾病 ```url POST /company/employee/alldisease ``` ### Request ### Response 欄位 | 型態 | 說明 ---|---|--- id | String | 疾病id diseaseStage | json array | 疾病階段json array #### Response-diseaseStage 欄位 | 型態 | 說明 ---|---|--- id | String | 疾病階段ID name | String | 疾病階段名稱 ```javascript { "httpCode": 200, "result": { "data": [ { "id": "ECKD", "diseaseStage": [ { "id" : "d5d579a2-9109-4cbf-bc3f-96600580ff3f", "name": "Stage1", }, ... ], }, { "id": "DM", "diseaseStage": [], }, ... ] } } ``` ## 企業個案名單 ```url POST /company/employee/case ``` ### Request ### Request 欄位 | 型態 | 預設 | 說明 --- | --- | --- |--- query | json | | 查詢條件json pagination | json | | 分頁json sorter | json | | 排序json #### query (查詢條件json) 欄位 | 型態 | 必填 | 長度限制 | 預設 | 說明 ---|---|---|---|---|--- gender | number | 1為男性,2為女性,不帶值為不指定 appUse | boolean | true為有使用app, false為未使用app, null 為不指定 keywords | String | 查尋姓名或身份證關鍵字 hospital | String | 指定收案機構ID disease | String | 指定疾病ID, null 為全部 stage | String | 指定疾病階段名稱ID, null為全部 isClosed | boolean | true 代表已結案,false 代表未結案,null 代表全部 #### pagination (分頁json) 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- current | int | | 1 | 當前頁數 pageSize | int | | 10 | 每頁結果數量,-1 為顯示所有 #### sorter (排序json) 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- field | string | | time | 排序欄位,可排序欄位有 employId , name, gender, appUse, jobStatus order | string | | desc | 升序或降序 ```javascript { "query": { "gender":1, "appUse":false, "keywords":"A15984623", "hospital":"bf47bd9c-4364-4086-946d-9fd191d93dda", "disease":"PreESRD", "stage":"6e848d55-0505-4d19-87fd-f7644d7a3fd4", "isClosed":false }, "pagination": { "current": 1, "pageSize":10 }, "sorter": { "field": "employId", "order": "asc" } } ``` ### Response 欄位 | 型態 | 說明 ---|---|--- employId |String | 企業員工編號 householdMemberId|String|用戶ID name | String | 企業員工姓名 cardNo | String | 企業員工身份證字號 department | String | 部門別,預設為null gender | number | 企業員工性別,1:男,2:女 tel | number | 企業員工電話號碼 appUse | boolean | 企業員工有無使用 App jobStatus | String | 在職狀態。ON:在職,EXIT:離職。 experience | JsonArray | 每一企業員工在每一家醫院的收案記錄 json array createTime|long|收案時間 ### Response-experience json 欄位 | 型態 | 說明 ---|---|--- hospital | String | 收案醫院名稱 record | JsonArray | 企業員工在此家醫院的收案記錄 json array ### Response-experience json 欄位 | 型態 | 說明 ---|---|--- disease | String | 收案疾病 closeDate | timestamp | 結案日期,null 為尚未結案 isClosed | boolean | true 為已結案,false 為尚未結案 stageName | String | 疾病階段名稱,null 意指此疾病無分階段 acceptDate | timestamp | 收案日期 ```javascript { "httpCode": 200, "result": { "data": [ { "employId":"1103200", "name": "Black", "cardNo": "C120882609", "createTime": 1621363553134, "householdMemberId": "66519a94-4084-41d8-a95a-b6ac7a055e63", "department": "footpart" "gender":1, "tel":"0963208526", "appUse": false, "department": "食品部", "jobStatus": "ON", "experience": [ { "hospital": "緯緯醫學", "record": [ { "disease": "ECKD", "closeDate": null, "isClosed ": false, "stageName": null, "acceptDate": 1609725600000 } ] }, ... ] }, ... ], "pagination": { "current": 3, "pageSize": 10, "total": 75 }, "sorter": { "field": "employId", "order": "asc" } } } ``` ## 刪除企業個案名單 ```url POST /company/employee/delete ``` - 企客管理員可以刪除某成員 ### Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- id | String | Y | | 企業客戶個案id ### Response 欄位 | 型態 | 說明 ---|---|--- data | int | 更新資料筆數 ```javascript { "httpCode": 200, "result": { "data": 1 } } ``` ## 企業部門清單 ```url POST /company/department/list ``` - 該企業下之部門列表 ### Request ### Response 欄位 | 型態 | 說明 ---|---|--- department | string | 部門別 ```javascript { "httpCode": 200, "result": { "data": [ { "department": "工業部" }, { "department": "茶水部" } ] } } ``` ## 編輯在職狀態 ```url POST /company/job-status/update ``` - 更改在職 / 離職狀態 ### Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- id | String | Y | | 企業客戶個案id jobStatus | String | Y | ON | 在職狀態。<br>**ON**=在職,**WEB_EXIT**=WEB離職,**APP_EXIT**=APP離職。 ### Response 欄位 | 型態 | 說明 ---|---|--- data | int | 更新資料筆數 ```javascript { "httpCode": 200, "result": { "data": 1 } } ``` ## 匯出年度健檢分析未檢人數 ```url POST /company/checkup/export-unchecked ``` ### Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- areaCode | string | Y | | 企業客戶id (tenantId) year | string | Y | | 年度, 格式:yyyy ```javascript { "areaCode": "5efcfd67-334e-45b3-bf49-7e52f5172891", "year": "2021" } ``` ### Error httpCode | 錯誤碼 | 說明 --- | --- | --- 400 | API_ERROR.RESOURCE_NOT_EXISTS | 資料檔不存在 * httpCode 400 - [errorMsg](https://gitlab.devpack.cc/Wei_Chang/wicc-kmuh/wikis/Type-Definition#service_error) ### Response ``` File name: 年度未檢人數報表_2021.xlsx ``` ## 健檢醫院及年度清單 ```url GET /company/exam/hospital-list ``` ### Request ### Response 欄位 | 型態 | 說明 --- | --- |--- year | array of year string | 檢驗年度, format: yyyy hospital | array of hospital json | 健檢醫院 json array #### Response-hospital json 欄位 | 型態 | 說明 --- | --- |--- code | string | 醫院代碼, FEMH: 亞東醫院, TAH: 台安醫院, CGMH: 長庚醫院, DELIN: 德霖管顧 name | string | 醫院名稱 reportType | string | 報告類型, EXAM_DATA: 檢驗檢查資料, RAW_DATA: 健檢報告raw data ```javascript { "httpCode": 200, "result": { "data": { "year": [ "2021", "2020" ], "hospital": [ { "code": "FEMH", "name": "亞東醫院", "reportType": "EXAM_DATA" }, { "code": "DELIN", "name": "德霖管顧", "reportType": "RAW_DATA" }, ... ] } } } ``` ## 檢驗檢查樣版檔下載 ```url POST /company/exam/export-sample ``` ### Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- hospital | string | Y | | 健檢醫院, FEMH: 亞東醫院, TAH: 台安醫院, CGMH: 長庚醫院, DELIN: 德霖管顧 year | string | Y | | 檢驗年度, format: yyyy ### Error httpCode | 錯誤碼 | 說明 --- | --- | --- 422 | SERVICE_ERROR.RESOURCE_NOT_EXISTS | 資源不存在 * httpCode 422 - [errorMsg](https://gitlab.devpack.cc/Wei_Chang/wicc-kmuh/wikis/Type-Definition#service_error) ### Response ``` File name: 檢驗檢查樣版_[hospital]-[year].xlsx ``` ## 匯入健檢資料 ```url POST /company/exam/import-data ``` * reportType為EXAM_DATA的, 請叫用此支API 匯入資料格式: [參見附檔](https://nssi2.atlassian.net/browse/HV-677) ### Request * body format: form-data 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- file | File | Y | | 匯入的excel檔案 hospital | string | Y | | 健檢醫院, FEMH: 亞東醫院, TAH: 台安醫院, CGMH: 長庚醫院, DELIN: 德霖管顧 year | string | Y | | 健檢年度, 格式: yyyy ![](https://i.imgur.com/RnCprd9.png) ### Error httpCode | 錯誤碼 | 說明 --- | --- | --- 400 | API_ERROR.ARGUMENT_ERROR | 未選擇上傳檔案 400 | API_ERROR.IMPORT_FILE_FORMAT_ERROR | 匯入檔案非excel 格式 ### Response 欄位 | 型態 | 說明 --- | --- |--- totalCount | int | 匯入處理筆數 successCount | int | 匯入成功筆數 failCount | int | 匯入失敗筆數 failuresId | string | 匯入失敗檔案下載id ```javascript //匯入成功 { "httpCode": 200, "result": { "data": { "totalCount": 30, "successCount": 30, "failCount": 0, "failuresId": null } } } //匯入失敗 { "httpCode": 200, "result": { "data": { "totalCount": 30, "successCount": 0, "failCount": 30, "failuresId": "18982a76-7062-44cd-a27e-d132da550b52" } } } ``` ## 下載健檢錯誤資料檔 ```url POST /company/exam/export-failures ``` ### Request 欄位 | 型態 | 必填 | 預設 | 說明 ---|---|---|---|--- failuresId | string | | 匯入失敗檔案下載id ```javascript { "failuresId": "18982a76-7062-44cd-a27e-d132da550b52" } ``` ### Error httpCode | 錯誤碼 | 說明 --- | --- | --- 422 | SERVICE_ERROR.RESOURCE_NOT_EXISTS | 資源不存在 * httpCode 400 - [errorMsg](https://gitlab.devpack.cc/Wei_Chang/wicc-kmuh/wikis/Type-Definition#service_error) ### Response ``` File name: 檢驗檢查錯誤資料檔.xlsx ```