# 企業總覽
---
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

### 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
```