본문으로 건너뛰기
버전: 개발 버전 (최신)

환자 목록 조회 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

HeaderTypeDescriptionRequired
AuthorizationBearer {accessToken}사용자 인증을 통해 발급받은 액세스 토큰 입니다.

Query Parameters

필드타입설명RequiredDefault
siteIdnumber사이트 ID-
limitnumber한 페이지당 항목 수10
pagenumber페이지 번호 (1부터 시작)1
statusnumber환자 상태 (0: 전체)-
accountIdnumber담당 의료진 계정 ID-
searchKeystring검색 키워드 (환자 이름, 이메일 등)-
sortBystring정렬 기준 필드createdAt
sortOrderstring정렬 순서 (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
}
]
}
필드타입설명
totalCountnumber전체 항목 수
countnumber현재 페이지 항목 수
showGroupboolean그룹 표시 여부
dataarray환자 목록

data 배열의 각 항목:

필드타입설명
userCycleIdnumber사용자 사이클 ID
userIdnumber사용자 ID
namestring환자 이름
accesscodestring액세스 코드 (Deprecated)
accesscodeCreatedAtstring액세스 코드 생성일 (Deprecated)
accountIdnumber담당 의료진 계정 ID
accountNamestring담당 의료진 이름
daynumber치료 일차
statusnumber환자 상태
lastLoginstring마지막 로그인 일시
startedAtstring치료 시작 일시
medicalRegistrationNumberstring의무 등록 번호
groupIdnumber그룹 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):
    • 자신이 소속된 사이트의 환자 목록만 조회 가능
    • 다른 사이트의 환자 목록 조회 시 잘못된 접근입니다. 오류 반환
  • 관리자 계정:
    • 모든 사이트의 환자 목록 조회 가능