Files
api-antrian-operasi/docs/swagger.yaml
renaldybrada 7185a9381f add sort
2026-03-04 10:00:44 +07:00

1210 lines
28 KiB
YAML

basePath: /api
definitions:
access.AccessPage:
properties:
id:
type: string
is_active:
type: boolean
page:
type: string
parent_id:
type: string
sort:
type: integer
required:
- id
- is_active
type: object
access.DetailRolePageResponse:
properties:
access_page:
items:
$ref: '#/definitions/access.AccessPage'
type: array
id:
type: string
name:
type: string
status:
type: boolean
required:
- id
type: object
access.ListRolePermissionPaginateResponse:
properties:
data:
items:
$ref: '#/definitions/access.RolePermissionModel'
type: array
paging:
$ref: '#/definitions/shared.PaginationInfo'
type: object
access.RolePermissionModel:
properties:
id:
type: string
is_active:
type: boolean
name:
type: string
type: object
access.SyncKeycloakRoleRequest:
properties:
client_role:
items:
type: string
type: array
email:
type: string
keycloak_id:
type: string
name:
type: string
required:
- email
- keycloak_id
- name
type: object
access.UpdateRolePageRequest:
properties:
access_page:
items:
$ref: '#/definitions/access.AccessPage'
type: array
id:
type: string
name:
type: string
status:
type: boolean
required:
- id
type: object
access.UserRoleResponse:
properties:
email:
type: string
hak_akses:
items:
type: string
type: array
id:
type: string
name:
type: string
type: object
antrianoperasi.CreatePasienOperasiRequest:
properties:
diagnosisItems:
items:
$ref: '#/definitions/antrianoperasi.DiagnosisItemRequest'
minItems: 1
type: array
dokterPelaksanaItems:
items:
$ref: '#/definitions/antrianoperasi.DokterPelaksanaItemRequest'
type: array
formData:
$ref: '#/definitions/antrianoperasi.FormDataRequest'
rencanaOperasiData:
$ref: '#/definitions/antrianoperasi.RencanaOperasiRequest'
statusPasienData:
$ref: '#/definitions/antrianoperasi.StatusPasienRequest'
tindakanItems:
items:
$ref: '#/definitions/antrianoperasi.TindakanItemRequest'
minItems: 1
type: array
required:
- diagnosisItems
- tindakanItems
type: object
antrianoperasi.DetailPasienOperasiResponse:
properties:
diagnosisItems:
items:
$ref: '#/definitions/antrianoperasi.DiagnosisItemRequest'
minItems: 1
type: array
dokterPelaksanaItems:
items:
$ref: '#/definitions/antrianoperasi.DokterPelaksanaItemRequest'
type: array
formData:
$ref: '#/definitions/antrianoperasi.FormDataRequest'
rencanaOperasiData:
$ref: '#/definitions/antrianoperasi.RencanaOperasiRequest'
statusPasienData:
$ref: '#/definitions/antrianoperasi.StatusPasienRequest'
tindakanItems:
items:
$ref: '#/definitions/antrianoperasi.TindakanItemRequest'
minItems: 1
type: array
required:
- diagnosisItems
- tindakanItems
type: object
antrianoperasi.DiagnosisItemRequest:
properties:
diagnosa:
type: string
jenisDiagnosa:
type: string
kodeDiagnosa:
type: string
required:
- diagnosa
- jenisDiagnosa
- kodeDiagnosa
type: object
antrianoperasi.DokterPelaksanaItemRequest:
properties:
id:
type: string
nama:
type: string
nip:
type: string
satuan_kerja:
type: string
type: object
antrianoperasi.FormDataRequest:
properties:
alamat:
type: string
jenisKelamin:
enum:
- L
- P
type: string
namaPasien:
type: string
noKtp:
type: string
noRekamMedis:
type: string
nomorTelepon:
items:
type: string
type: array
tanggalLahir:
type: string
umur:
type: string
required:
- jenisKelamin
- namaPasien
- noKtp
- noRekamMedis
type: object
antrianoperasi.PasienOperasi:
properties:
diagnosa:
items:
type: string
type: array
id:
type: string
jenisKelamin:
type: string
kategori:
type: string
namaPasien:
type: string
noKtp:
type: string
noRekamMedis:
type: string
noUrutKategori:
type: integer
noUrutSpesialis:
type: integer
noUrutSubSpesialis:
type: integer
spesialis:
type: string
statusOperasi:
type: string
subSpesialis:
type: string
tglDaftar:
type: string
tindakan:
type: string
type: object
antrianoperasi.RencanaOperasiRequest:
properties:
kategoriName:
type: string
kategoriOperasi:
type: integer
keterangan:
type: string
rencanaOperasi:
type: string
spesialis:
type: integer
spesialisName:
type: string
subSpesialis:
type: integer
subSpesialisName:
type: string
tanggalDaftar:
type: string
required:
- spesialis
- subSpesialis
type: object
antrianoperasi.StatusPasienRequest:
properties:
keteranganStatus:
type: string
statusOperasi:
enum:
- "1"
- "2"
- "3"
- "4"
type: string
tanggalSelesai:
type: string
required:
- statusOperasi
type: object
antrianoperasi.TindakanItemRequest:
properties:
kodeTindakan:
type: string
tindakan:
type: string
tindakanTambahan:
type: string
required:
- kodeTindakan
- tindakan
- tindakanTambahan
type: object
dashboard.AntrianPerHari:
properties:
batal:
type: integer
belum:
type: integer
selesai:
type: integer
tanggalDaftar:
type: string
tunda:
type: integer
type: object
dashboard.AntrianPerKategori:
properties:
id_kategori:
type: integer
jumlah_antrean:
type: integer
kategori:
type: string
type: object
dashboard.AntrianPerSpesialisResponse:
properties:
idSpesialis:
type: integer
jmlAntrian:
type: integer
spesialis:
type: string
subSpesialis:
items:
$ref: '#/definitions/dashboard.AntrianPerSubSpesialisResponse'
type: array
type: object
dashboard.AntrianPerSubSpesialisResponse:
properties:
idSubSpesialis:
type: integer
jmlAntrian:
type: integer
subSpesialis:
type: string
type: object
dashboard.PerbandinganKategoriAntrean:
properties:
id_kategori:
type: integer
jumlah:
type: integer
kategori:
type: string
type: object
dashboard.PerbandinganStatusAntreanResponse:
properties:
id:
type: integer
jumlah:
type: integer
statust:
type: string
type: object
dashboard.TableAntreanPerSpesialis:
properties:
batal:
type: integer
belum:
type: integer
selesai:
type: integer
spesialis:
type: string
total:
type: integer
tunda:
type: integer
type: object
dashboard.TableAntreanPerSubSpesialis:
properties:
batal:
type: integer
belum:
type: integer
selesai:
type: integer
spesialis:
type: string
subSpesialis:
type: string
total:
type: integer
tunda:
type: integer
type: object
diagnosa.DiagnosaResponse:
properties:
keterangan:
type: string
kodeicd:
type: string
select:
type: string
type: object
dokter.DokterResponse:
properties:
hfis_code:
type: string
id:
type: string
nama_ksm:
type: string
nama_lengkap:
type: string
nip:
type: string
type: object
kategori.KategoriOperasiModel:
properties:
date_created:
type: string
date_updated:
type: string
id:
type: integer
kategori:
type: string
status:
enum:
- draft
- published
type: string
type: object
keycloak.RefreshTokenRequest:
properties:
refresh_token:
type: string
required:
- refresh_token
type: object
pasien.PasienResponse:
properties:
alamat:
type: string
alamatktp:
type: string
dataumur:
$ref: '#/definitions/pasien.dataUmurResponse'
id:
type: string
jeniskelamin:
type: string
nama:
type: string
nik:
type: string
nomr:
type: string
select:
type: string
tgllahir:
type: string
umur:
type: integer
type: object
pasien.dataUmurResponse:
properties:
bulan:
type: integer
hari:
type: integer
label:
type: string
tahun:
type: integer
type: object
shared.BaseErrorResponse:
properties:
code:
type: integer
errors:
items:
type: string
type: array
message:
type: string
success:
type: boolean
type: object
shared.BaseResponse:
properties:
code:
type: integer
data:
type: object
message:
type: string
success:
type: boolean
type: object
shared.PaginationInfo:
properties:
currentPage:
type: integer
hasNext:
type: boolean
hasPrev:
type: boolean
limit:
type: integer
offset:
type: integer
total:
type: integer
totalPages:
type: integer
type: object
spesialis.SpesialisModel:
properties:
id:
type: integer
kode:
type: string
spesialis:
type: string
type: object
spesialis.SubSpesialisModel:
properties:
id:
type: integer
id_spesialis:
type: integer
kode:
type: string
kode_spesialis:
type: string
spesialis:
type: string
sub_spesialis:
type: string
type: object
tindakan.TindakanResponse:
properties:
keterangan:
type: string
kode:
type: string
select:
type: string
type: object
host: 10.10.150.184:8080
info:
contact: {}
description: Dokumentasi API Antrian Operasi
title: Antrian Operasi API
version: "1.0"
paths:
/access/eligible-menu:
get:
parameters:
- description: Keycloak ID
in: query
name: keycloak_id
required: true
type: string
responses:
"200":
description: OK
schema:
$ref: '#/definitions/shared.BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get Pages By Keycloak Id
tags:
- Access Role
/access/list-user:
get:
parameters:
- description: Search Keyword
in: query
name: search
type: string
- default: "10"
description: Limit
in: query
name: limit
type: string
- default: "0"
description: Offset
in: query
name: offset
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/access.UserRoleResponse'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List User And Role
tags:
- Access Role
/access/role-permission:
get:
parameters:
- description: Search Keyword
in: query
name: search
type: string
- default: "10"
description: Limit
in: query
name: limit
type: string
- default: "0"
description: Offset
in: query
name: offset
type: string
responses:
"200":
description: OK
schema:
$ref: '#/definitions/access.ListRolePermissionPaginateResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Role Page Settings
tags:
- Access Role
/access/role-permission/{id}:
get:
parameters:
- description: id role
in: path
name: id
required: true
type: string
responses:
"200":
description: OK
schema:
$ref: '#/definitions/access.DetailRolePageResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Detail Role Page Settings
tags:
- Access Role
put:
parameters:
- description: id role
in: path
name: id
required: true
type: string
- description: Body Update Role Page
in: body
name: body
required: true
schema:
$ref: '#/definitions/access.UpdateRolePageRequest'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/shared.BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Update Role Page Settings
tags:
- Access Role
/access/sync-keycloak-role:
post:
parameters:
- description: Sync Keycloak Role
in: body
name: body
required: true
schema:
$ref: '#/definitions/access.SyncKeycloakRoleRequest'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/shared.BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Sync Keycloak Role
tags:
- Access Role
/antrian-operasi/:
get:
parameters:
- description: Search Keyword
in: query
name: search
type: string
- description: 'Type antrian : all, kategori, spesialis, sub-spesialis'
in: query
name: type
type: string
- description: Type id :id kategori, id spesialis, id sub-spesialis
in: query
name: type_id
type: string
- description: 'Status : 1, 2, 3, 4'
in: query
name: status
type: string
- default: "10"
description: Limit
in: query
name: limit
type: string
- default: "0"
description: Offset
in: query
name: offset
type: string
- description: 'Type sort : tanggal_daftar no_urut_kategori no_urut_spesialis'
in: query
name: sort_by
type: string
- description: 'Type sort order : ASC DESC'
in: query
name: sort_order
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/antrianoperasi.PasienOperasi'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Antrian Operasi
tags:
- Antrian Operasi
post:
parameters:
- description: Create Pasien Operasi
in: body
name: body
required: true
schema:
$ref: '#/definitions/antrianoperasi.CreatePasienOperasiRequest'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/shared.BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Create Antrian Operasi
tags:
- Antrian Operasi
/antrian-operasi/{id}:
delete:
parameters:
- description: id antrian
in: path
name: id
required: true
type: string
responses:
"200":
description: OK
schema:
$ref: '#/definitions/shared.BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Delete Antrian Operasi
tags:
- Antrian Operasi
get:
parameters:
- description: id antrian
in: path
name: id
required: true
type: string
responses:
"200":
description: OK
schema:
$ref: '#/definitions/antrianoperasi.DetailPasienOperasiResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Detail List Antrian Operasi
tags:
- Antrian Operasi
put:
parameters:
- description: id antrian
in: path
name: id
required: true
type: string
- description: Update Pasien Operasi
in: body
name: body
required: true
schema:
$ref: '#/definitions/antrianoperasi.CreatePasienOperasiRequest'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/shared.BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Update Antrian Operasi
tags:
- Antrian Operasi
/antrian-operasi/{id}/update-status:
put:
parameters:
- description: id antrian
in: path
name: id
required: true
type: string
- description: Update Status Pasien Operasi
in: body
name: body
required: true
schema:
$ref: '#/definitions/antrianoperasi.StatusPasienRequest'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/shared.BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Update Status Antrian Operasi
tags:
- Antrian Operasi
/dashboard/antrian-per-hari/:
get:
parameters:
- description: tahun dalam int
in: query
name: year
required: true
type: integer
- description: bulan dalam int
in: query
name: month
required: true
type: integer
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dashboard.AntrianPerHari'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get Antrian per Hari
tags:
- Dashboard
/dashboard/antrian-per-kategori/:
get:
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dashboard.AntrianPerKategori'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get Antrian Per Kategori
tags:
- Dashboard
/dashboard/antrian-per-spesialis/:
get:
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dashboard.AntrianPerSpesialisResponse'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get Antrian Per Spesialis
tags:
- Dashboard
/dashboard/perbandingan-kategori-antrian/:
get:
parameters:
- description: tahun dalam int
in: query
name: year
required: true
type: integer
- description: bulan dalam int
in: query
name: month
required: true
type: integer
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dashboard.PerbandinganKategoriAntrean'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get Perbandingan Kategori Antrean
tags:
- Dashboard
/dashboard/perbandingan-status-antrian/:
get:
parameters:
- description: tahun dalam int
in: query
name: year
required: true
type: integer
- description: bulan dalam int
in: query
name: month
required: true
type: integer
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dashboard.PerbandinganStatusAntreanResponse'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get Perbandingan Status Antrean
tags:
- Dashboard
/dashboard/table-antrian-per-spesialis/:
get:
parameters:
- description: tahun dalam int
in: query
name: year
required: true
type: integer
- description: bulan dalam int
in: query
name: month
required: true
type: integer
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dashboard.TableAntreanPerSpesialis'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get Table Antrian per Spesialis
tags:
- Dashboard
/dashboard/table-antrian-per-subspesialis/:
get:
parameters:
- description: tahun dalam int
in: query
name: year
required: true
type: integer
- description: bulan dalam int
in: query
name: month
required: true
type: integer
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dashboard.TableAntreanPerSubSpesialis'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get Table Antrian per Sub Spesialis
tags:
- Dashboard
/keycloak/refresh-token:
post:
parameters:
- description: Valid Refresh Token
in: body
name: body
required: true
schema:
$ref: '#/definitions/keycloak.RefreshTokenRequest'
responses:
"200":
description: OK
schema:
$ref: '#/definitions/shared.BaseResponse'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Requesting new token to keycloak using refresh token
tags:
- Keycloak
/reference/diagnosa/:
get:
parameters:
- description: Search keyword
in: query
name: search
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/diagnosa.DiagnosaResponse'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Diagnosa
tags:
- Reference
/reference/dokter/:
get:
parameters:
- description: Search keyword
in: query
name: search
type: string
- default: "10"
description: Limit
in: query
name: limit
type: string
- default: "0"
description: Offset
in: query
name: offset
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dokter.DokterResponse'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Dokter
tags:
- Reference
/reference/kategori/:
get:
parameters:
- description: Search keyword
in: query
name: search
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/kategori.KategoriOperasiModel'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Kategori Operasi
tags:
- Reference
/reference/pasien/:
get:
parameters:
- description: Search keyword
in: query
name: search
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/pasien.PasienResponse'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Pasien
tags:
- Reference
/reference/spesialis/:
get:
parameters:
- description: Search keyword
in: query
name: search
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/spesialis.SpesialisModel'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Spesialis
tags:
- Reference
/reference/sub-spesialis/:
get:
parameters:
- description: Search keyword
in: query
name: search
type: string
- description: Filter by Id Spesialis
in: query
name: id_spesialis
type: integer
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/spesialis.SubSpesialisModel'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Sub Spesialis
tags:
- Reference
/reference/tindakan/:
get:
parameters:
- description: Search keyword
in: query
name: search
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/tindakan.TindakanResponse'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Tindakan
tags:
- Reference
security:
- BearerAuth: []
securityDefinitions:
BearerAuth:
in: header
name: Authorization
type: apiKey
swagger: "2.0"