환자 목록 조회 API
⚠️ 더 이상 사용되지 않음 (Deprecated)
이 API는 더 이상 사용되지 않습니다.
새로운 TypeScript 기반 API를 사용해 주세요: 앱 사용자 관리 API
참고: 이 문서에 설명된 모든 API는
dta-wir-medi-api애플리케이션에 구현되어 있습니다. (Go)
개요
환자 목록 조회 API는 특정 사이트의 환자 목록을 검색하고 조회하는 기능을 제공합니다.
주요 기능
- 환자 목록 조회: 페이징, 정렬, 필터링을 지원하는 환자 목록 조회
[GET] /v1/users - 환자 목록 조회
환자 목록 조회
특정 사이트의 환자 목록을 조회합니다. 검색, 정렬, 필터링 기능을 지원합니다.
- HTTP Method:
GET - 인증: 액세스 토큰 (
accessToken) 필요
[클라이언트 수정 필요]
asis:/v1/patients
tobe:/v1/users
Headers
| Header | Type | Description | Required |
|---|---|---|---|
| Authorization | Bearer {accessToken} | 사용자 인증을 통해 발급받은 액세스 토큰 입니다. | ✔ |
Query Parameters
| 필드 | 타입 | 설명 | Required | Default |
|---|---|---|---|---|
| siteId | number | 사이트 ID | ✔ | - |
| limit | number | 한 페이지당 항목 수 | ✗ | 10 |
| page | number | 페이지 번호 (1부터 시작) | ✗ | 1 |
| status | number | 환자 상태 (0: 전체) | ✗ | - |
| accountId | number | 담당 의료진 계정 ID | ✗ | - |
| searchKey | string | 검색 키워드 (환자 이름, 이메일 등) | ✗ | - |
| sortBy | string | 정렬 기준 필드 | ✗ | createdAt |
| sortOrder | string | 정렬 순서 (asc: 오름차순, desc: 내림차순) | ✗ | desc |
Request 예시
GET /v1/users?siteId=1&limit=20&page=1&status=1&sortBy=createdAt&sortOrder=desc
Responses
| Http Status Code | 설명 | Error Code(s) |
|---|---|---|
200 OK | 조회 성공 | - |
400 Bad Request | 잘못된 요청 | BAD_REQUEST (40000) |
401 Unauthorized | 인증 실패 | UNAUTHORIZED (40100) |
500 Internal Server Error | 서버 내부 오류 | INTERNAL_SERVER_ERROR (50000) |
200 OK - 성공
{
"totalCount": 50,
"count": 20,
"showGroup": true,
"data": [
{
"userCycleId": 123,
"userId": 456,
"name": "홍길동",
"accesscode": "ABC123",
"accesscodeCreatedAt": "2024-01-15T10:30:00Z",
"accountId": 10,
"accountName": "김의사",
"day": 15,
"status": 1,
"lastLogin": "2024-01-20T14:30:00Z",
"startedAt": "2024-01-10T09:00:00Z",
"medicalRegistrationNumber": "MRN-001",
"groupId": 5
}
]
}
| 필드 | 타입 | 설명 |
|---|---|---|
| totalCount | number | 전체 항목 수 |
| count | number | 현재 페이지 항목 수 |
| showGroup | boolean | 그룹 표시 여부 |
| data | array | 환자 목록 |
data 배열의 각 항목:
| 필드 | 타입 | 설명 |
|---|---|---|
| userCycleId | number | 사용자 사이클 ID |
| userId | number | 사용자 ID |
| name | string | 환자 이름 |
| accesscode | string | 액세스 코드 (Deprecated) |
| accesscodeCreatedAt | string | 액세스 코드 생성일 (Deprecated) |
| accountId | number | 담당 의료진 계정 ID |
| accountName | string | 담당 의료진 이름 |
| day | number | 치료 일차 |
| status | number | 환자 상태 |
| lastLogin | string | 마지막 로그인 일시 |
| startedAt | string | 치료 시작 일시 |
| medicalRegistrationNumber | string | 의무 등록 번호 |
| groupId | number | 그룹 ID |
showGroup 규칙:
- Welt 사이트 (siteId = 1) 소속 계정인 경우 true
- 그 외 사이트는 false
400 Bad Request - 잘못된 요청
{
"status": 400,
"code": 40000,
"message": "요청한 정보가 유효하지 않습니다."
}
발생 가능한 에러 메시지:
"요청한 정보가 유효하지 않습니다."- siteId가 제공되지 않음"잘못된 접근입니다."- 사용자가 해당 사이트에 대한 권한이 없음
401 Unauthorized - 인증 실패
{
"status": 401,
"code": 40100,
"message": "UNAUTHORIZED"
}
액세스 토큰이 유효하지 않거나 만료된 경우 발생합니다.
500 Internal Server Error - 서버 내부 오류
{
"status": 500,
"code": 50000,
"message": "INTERNAL_SERVER_ERROR"
}
권한 체크 로직
- 일반 사용자 계정 (AccountTypeUser):
- 자신이 소속된 사이트의 환자 목록만 조회 가능
- 다른 사이트의 환자 목록 조회 시
잘못된 접근입니다.오류 반환
- 관리자 계정:
- 모든 사이트의 환자 목록 조회 가능