환자 API 개요
참고: 이 문서에 설명된 모든 API는
dta-wir-medi-api애플리케이션에 구현되어 있습니다. (Go)
논의 사항
1. Domain 구조 정리
현재 상황:
- 현재 API 문서는
patient도메인으로 분리되어 있습니다. - Patient 관련 API는 여러 하위 기능(액세스 코드, 메모, 의무 등록 번호 등)으로 구성되어 있습니다.
결정 필요 사항:
-
도메인 분류 방식
- 현재의
patient도메인 분류를 유지할 것인가? - API 경로(path) 기준으로 도메인을 재구성할 것인가?
- 현재의
-
문서 세분화 수준
patient관련 API를 단일 문서에 모두 작성할 것인가?patient-memo,patient-accesscode등 하위 경로(path)별로 별도 문서로 분리할 것인가?
2. Error Response 형식 통일
dta-wir-medi-api (Go)와 dta-wide-api (TypeScript)의 에러 응답 형식이 다릅니다.
Go 버전 (dta-wir-medi-api) - 현재 구조
{
"status": 400,
"code": 40000,
"message": "유효하지 않은 전화번호 형식입니다."
}
TypeScript 버전 (dta-wi-medi-api)
{
"status": 401,
"code": 1080,
"message": "UNAUTHORIZED",
"detail": "{\"displayText\":\"No token found in Authorization header\"}"
}
- 두 API 서버의 에러 응답 형식을 통일할 것인가? 통일한다면 기존 클라이언트도 수정할 것인가?
문서 업데이트:
- 위 논의 결과에 따라 각 API 문서의 에러 응답 섹션을 업데이트해야 합니다.
개요
환자 API는 환자 정보 관리, 액세스 코드 발급, 환자 리포트 조회, 의무 등록 번호 관리 등을 담당하는 API 집합입니다.
환자 API 목록
환자 조회 API
| API 엔드포인트 | 메서드 | 설명 | 문서 |
|---|---|---|---|
/v1/patients | GET | 환자 목록 조회 | 상세보기 |
/v1/patients/user-cycles/{userCycleId}/reports | GET | 환자 리포트 조회 | 상세보기 |
/v1/patients/user-cycles/{userCycleId}/reports/external | GET | 외부 토큰으로 환자 리포트 조회 | 상세보기 |
/v1/patients/registrations | GET | 등록 목록 조회 | 상세보기 |
액세스 코드 관리 API
| API 엔드포인트 | 메서드 | 설명 | 문서 |
|---|---|---|---|
/v1/accesscodes | POST | 액세스 코드 생성 | 상세보기 |
/v1/accesscodes/notification | POST | 액세스 코드 생성 및 알림 전송 | 상세보기 |
/v1/patients/accesscodes/{accesscodeId}/status | PATCH | 액세스 코드 상태 업데이트 | 상세보기 |
의무 등록 번호 관리 API
| API 엔드포인트 | 메서드 | 설명 | 문서 |
|---|---|---|---|
/v1/medical-registration-number | POST | 의무 등록 번호 생성 | 상세보기 |
/v1/patients/user-cycles/{userCycleId}/medical-registration-number | PATCH | 환자 의무 등록 번호 업데이트 | 상세보기 |
/v1/patients/medical-registration-number/{medicalRegistrationNumberId}/status | PATCH | 의무 등록 번호 상태 업데이트 | 상세보기 |
환자 메모 관리 API
| API 엔드포인트 | 메서드 | 설명 | 문서 |
|---|---|---|---|
/v1/patients/user-cycles/{userCycleId}/memo | PUT | 환자 메모 업데이트 | 상세보기 |
인증 요구 사항
대부분의 환자 API는 유효한 JWT 액세스 토큰이 필요합니다.
request header
Authorization: Bearer {access_token}
예외:
- 외부 토큰으로 환자 리포트 조회 API (
/v1/patients/user-cycles/{userCycleId}/reports/external)는 별도의 외부 액세스 토큰을 쿼리 파라미터로 전달합니다.