본문으로 건너뛰기

내원객의 시술 내역 조회

POST 

/schedule/open/v1/queries/get-schedules-summarized-by-tasks

내원객이 병원에서 받은 시술 내역을 조회합니다.

  • visitorId로 특정 내원객의 시술 내역을 조회합니다.
  • paymentRequired를 설정하면 수납 필요 여부로 필터링할 수 있습니다.
  • deletedtrue로 설정하면 삭제된 스케줄의 시술도 포함하여 조회합니다.

Request

### Content-Type별 요청의 JSON Schema

{
"application/json": {
"schema": {
"required": [
"visitorId"
],
"type": "object",
"properties": {
"visitorId": {
"type": "string",
"description": "조회할 내원객 ID"
},
"paymentRequired": {
"type": "boolean",
"description": "수납 필요 여부로 필터링 (미설정 시 전체 조회)"
},
"deleted": {
"type": "boolean",
"description": "삭제된 스케줄 포함 여부 (기본값: false)"
}
},
"title": "protos.schedule.schedule.GetSchedulesSummarizedByTaskQuery"
}
}
}

Responses

OK

### Status Code별 응답의 JSON Schema

{
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"required": [
"scheduleId",
"startDateTimeUtc",
"endDateTimeUtc",
"tasks"
],
"type": "object",
"properties": {
"scheduleId": {
"type": "string",
"description": "스케줄 ID"
},
"startDateTimeUtc": {
"type": "string",
"description": "예약 시작 시각 (UTC ISO 8601)"
},
"endDateTimeUtc": {
"type": "string",
"description": "예약 종료 시각 (UTC ISO 8601)"
},
"tasks": {
"type": "array",
"items": {
"required": [
"type",
"sequence",
"title",
"status",
"paymentRequired",
"assignees",
"doctors",
"calledDoctors",
"anesthesiaType"
],
"type": "object",
"properties": {
"type": {
"enum": [
"FLOW_TASK_TYPE_UNSPECIFIED",
"PROCEDURE",
"ETCETERA"
],
"type": "string",
"description": "태스크 유형",
"format": "enum"
},
"sequence": {
"type": "integer",
"description": "순서",
"format": "int32"
},
"title": {
"type": "string",
"description": "태스크 이름"
},
"status": {
"enum": [
"FLOW_TASK_STATUS_UNSPECIFIED",
"WAITING",
"READY",
"DONE",
"NOT_STARTED",
"CANCELED"
],
"type": "string",
"description": "태스크 상태",
"format": "enum"
},
"paymentRequired": {
"type": "boolean",
"description": "수납 필요 여부"
},
"assignees": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"role": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"roleTags": {
"type": "array",
"items": {
"enum": [
"ROLE_TAG_UNSPECIFIED",
"ADMIN",
"DOCTOR",
"COUNSELOR",
"NURSE",
"SKINCARE",
"CALL_COUNSELOR",
"COORDINATOR"
],
"type": "string",
"format": "enum"
}
}
},
"title": "protos.account.AccountRoleV2Contract"
}
},
"title": "protos.schedule.flow.FlowTaskAssignee"
},
"description": "담당자 목록"
},
"doctors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskDoctor"
},
"description": "의사 목록"
},
"room": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"zoneId": {
"type": "string"
},
"title": {
"type": "string"
},
"order": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.schedule.RoomContract"
}
],
"description": "배정된 방"
},
"assigneeMemo": {
"type": "string",
"description": "담당자 메모"
},
"doctorMemo": {
"type": "string",
"description": "의사 메모"
},
"completedDateTimeUtc": {
"type": "string",
"description": "완료 시각 (UTC ISO 8601)"
},
"readyDateTimeUtc": {
"type": "string",
"description": "준비 시각 (UTC ISO 8601)"
},
"doctorCallDateTime": {
"type": "string",
"description": "의사 호출 시각"
},
"procedureConfiguration": {
"allOf": [
{
"type": "object",
"properties": {
"productOptionConfiguration": {
"required": [
"optionId",
"optionTitle",
"medicineAndMachines",
"procedure"
],
"type": "object",
"properties": {
"optionId": {
"type": "string",
"description": "상품 옵션 ID"
},
"optionTitle": {
"type": "string",
"description": "상품 옵션 이름"
},
"medicineAndMachines": {
"type": "array",
"items": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "기기/약물 ID"
},
"name": {
"type": "string",
"description": "기기/약물 이름"
}
},
"title": "protos.procedure.MedicineAndMachine"
},
"description": "기기 및 약물 목록"
},
"procedure": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"commonProcedureConfiguration": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.procedure.CommonProcedureConfiguration"
},
"deleted": {
"type": "boolean"
},
"createDate": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "클라이언트 및 백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.Procedure"
}
],
"description": "시술 정보"
},
"unit": {
"allOf": [
{
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
}
],
"description": "단위"
}
},
"title": "protos.schedule.flow.FlowTaskProcedureConfiguration_ProductOptionConfiguration"
},
"ticketConfiguration": {
"type": "object",
"properties": {
"ticketId": {
"type": "string"
},
"round": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int32"
},
"current": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.schedule.flow.ProcedureRound"
}
},
"title": "protos.schedule.flow.FlowTaskProcedureConfiguration_TicketConfiguration"
},
"medicalServiceConfiguration": {
"required": [
"id",
"code",
"title",
"translsMap"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "진료 항목 ID"
},
"code": {
"type": "string",
"description": "진료 항목 코드"
},
"title": {
"type": "string",
"description": "진료 항목 이름"
},
"translsMap": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"translation": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"title": "protos.Transls"
},
"description": "# 다국어 지원대상 필드n - title"
},
"unit": {
"allOf": [
{
"type": "object",
"properties": {
"type": {
"enum": [
"UnitType_UNKNOWN",
"UNIT",
"CC",
"VIAL",
"PEN",
"STRING",
"SHOT",
"PAD",
"MINUTE",
"KJ",
"QUANTITY",
"DOT",
"J",
"MG",
"G",
"PULSE",
"BOTTLE",
"SYRINGE",
"PASS",
"IU",
"KHZ",
"MHZ"
],
"type": "string",
"format": "enum"
},
"value": {
"type": "integer",
"format": "int32"
}
},
"title": "protos.procedure.Unit"
}
],
"description": "단위"
},
"machines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMachine"
},
"description": "기기 목록"
},
"medicines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"searchPhoneticName": {
"type": "string",
"description": "백엔드 내부에서 검색을 위해 존재하는 필드"
}
},
"title": "protos.procedure.medical_service.MedicalServiceMedicine"
},
"description": "약물 목록"
}
},
"title": "protos.schedule.flow.FlowTaskProcedureConfiguration_MedicalServiceConfiguration"
}
},
"title": "protos.schedule.flow.FlowTaskProcedureConfiguration"
}
],
"description": "시술 구성 정보 (type == PROCEDURE 일 때만 사용)"
},
"etceteraConfiguration": {
"allOf": [
{
"type": "object",
"properties": {
"etceteraTaskId": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskEtceteraConfiguration"
}
],
"description": "기타 시술 정보 (type == ETCETERA 일 때만 사용)"
},
"purchaseId": {
"type": "string",
"description": "수납 ID"
},
"calledDoctors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskCalledDoctor"
},
"description": "호출된 의사 목록"
},
"anesthesiaType": {
"enum": [
"ANESTHESIA_TYPE_UNSPECIFIED",
"SEDATION",
"SPRAY",
"CREAM",
"DENTAL",
"GAS",
"ICE",
"CREAM_DENTAL"
],
"type": "string",
"description": "마취 유형",
"format": "enum"
},
"memo": {
"type": "string",
"description": "메모"
},
"roomAssignedDateTimeUtc": {
"type": "string",
"description": "방 배정 시각 (UTC ISO 8601)"
},
"doctorAssignedDateTimeUtc": {
"type": "string",
"description": "의사 배정 시각 (UTC ISO 8601)"
},
"responsibleDoctor": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"realName": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskResponsibleDoctor"
}
],
"description": "책임 의사"
},
"signed": {
"type": "boolean",
"description": "서명 여부"
},
"signedDateTimeUtc": {
"type": "string",
"description": "서명 시각 (UTC ISO 8601)"
},
"order": {
"type": "integer",
"description": "정렬 순서",
"format": "int32"
},
"doctorsCalledZone": {
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
}
},
"title": "protos.schedule.flow.FlowTaskZone"
}
],
"description": "의사 호출 구역"
}
},
"title": "protos.schedule.flow.FlowTask"
},
"description": "시술 태스크 목록"
}
},
"title": "protos.schedule.schedule.ScheduleSummarizedByTask"
}
}
},
"title": "protos.schedule.schedule.GetSchedulesSummarizedByTaskQueryResponse"
}
}
}
}
}