1197 lines
30 KiB
YAML
1197 lines
30 KiB
YAML
basePath: /api/v1
|
|
definitions:
|
|
response.Response:
|
|
properties:
|
|
data: {}
|
|
error: {}
|
|
message:
|
|
type: string
|
|
meta: {}
|
|
status:
|
|
type: string
|
|
type: object
|
|
service_internal_auth.LoginRequest:
|
|
properties:
|
|
email:
|
|
type: string
|
|
password:
|
|
type: string
|
|
required:
|
|
- email
|
|
- password
|
|
type: object
|
|
service_internal_auth.RefreshTokenRequest:
|
|
properties:
|
|
provider:
|
|
description: |-
|
|
Provider membantu membedakan antara "jwt" dan "keycloak".
|
|
Ini membuat endpoint menjadi fleksibel.
|
|
enum:
|
|
- jwt
|
|
- keycloak
|
|
type: string
|
|
refresh_token:
|
|
type: string
|
|
required:
|
|
- provider
|
|
- refresh_token
|
|
type: object
|
|
service_internal_auth.RegisterRequest:
|
|
properties:
|
|
email:
|
|
type: string
|
|
name:
|
|
type: string
|
|
password:
|
|
minLength: 6
|
|
type: string
|
|
role_id:
|
|
type: integer
|
|
required:
|
|
- email
|
|
- name
|
|
- password
|
|
- role_id
|
|
type: object
|
|
service_internal_master_role_master.RoleMasterRequest:
|
|
properties:
|
|
active:
|
|
type: boolean
|
|
created_at:
|
|
type: string
|
|
name:
|
|
type: string
|
|
select: {}
|
|
updated_at:
|
|
type: string
|
|
type: object
|
|
service_internal_master_role_pages.RolPagesRequest:
|
|
properties:
|
|
active:
|
|
type: boolean
|
|
icon:
|
|
maxLength: 100
|
|
type: string
|
|
level:
|
|
minimum: 0
|
|
type: integer
|
|
name:
|
|
maxLength: 20
|
|
type: string
|
|
parent:
|
|
type: integer
|
|
sort:
|
|
minimum: 0
|
|
type: integer
|
|
url:
|
|
type: string
|
|
required:
|
|
- level
|
|
- name
|
|
- sort
|
|
- url
|
|
type: object
|
|
service_internal_master_role_permission.RolPermissionRequest:
|
|
properties:
|
|
active:
|
|
type: boolean
|
|
create:
|
|
type: boolean
|
|
delete:
|
|
type: boolean
|
|
disable:
|
|
type: boolean
|
|
fk_rol_pages_id:
|
|
type: integer
|
|
group_keycloak:
|
|
type: string
|
|
read:
|
|
type: boolean
|
|
role_keycloak:
|
|
type: string
|
|
update:
|
|
type: boolean
|
|
type: object
|
|
service_internal_satusehat_reference_patient.CreatePatientRequest:
|
|
properties:
|
|
address:
|
|
description: Opsional
|
|
type: string
|
|
birth_date:
|
|
description: 'Format: YYYY-MM-DD'
|
|
type: string
|
|
gender:
|
|
description: male, female, other, unknown
|
|
type: string
|
|
name:
|
|
type: string
|
|
nik:
|
|
type: string
|
|
phone:
|
|
description: Opsional
|
|
type: string
|
|
required:
|
|
- birth_date
|
|
- gender
|
|
- name
|
|
- nik
|
|
type: object
|
|
info:
|
|
contact:
|
|
email: [email protected]
|
|
name: API Support
|
|
description: REST API for Service General including Multi-DB, BPJS, and SatuSehat
|
|
integrations.
|
|
license:
|
|
name: Apache 2.0
|
|
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
|
termsOfService: http://swagger.io/terms/
|
|
title: GoPrint Service General API
|
|
version: 1.0.0
|
|
paths:
|
|
/auth/info:
|
|
get:
|
|
description: Retrieve information about the currently active token/user
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get Token Info
|
|
tags:
|
|
- auth
|
|
/auth/login:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Authenticate user and return JWT & Refresh tokens
|
|
parameters:
|
|
- description: Login credentials
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_auth.LoginRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
summary: Login user
|
|
tags:
|
|
- auth
|
|
/auth/logout:
|
|
post:
|
|
description: Logout current user and blacklist the token
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Logout user
|
|
tags:
|
|
- auth
|
|
/auth/refresh:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Refresh expired access token using refresh token
|
|
parameters:
|
|
- description: Refresh token payload
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_auth.RefreshTokenRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
summary: Refresh Token
|
|
tags:
|
|
- auth
|
|
/auth/register:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Register a new user
|
|
parameters:
|
|
- description: Registration details
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_auth.RegisterRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
summary: Register user
|
|
tags:
|
|
- auth
|
|
/roles/master:
|
|
get:
|
|
description: Retrieve a paginated list of RoleMaster
|
|
parameters:
|
|
- default: 10
|
|
description: Number of items per page
|
|
in: query
|
|
name: limit
|
|
type: integer
|
|
- default: 0
|
|
description: Offset for pagination
|
|
in: query
|
|
name: offset
|
|
type: integer
|
|
- description: Sort fields (e.g. +name,-created_at)
|
|
in: query
|
|
name: sort
|
|
type: string
|
|
- description: Filter by active status
|
|
in: query
|
|
name: active
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get list of Role
|
|
tags:
|
|
- roles
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new RoleMaster record
|
|
parameters:
|
|
- description: Payload
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_master_role_master.RoleMasterRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Create new RoleMaster
|
|
tags:
|
|
- roles
|
|
/roles/master/{id}:
|
|
delete:
|
|
description: Delete a RoleMaster record by ID (soft delete)
|
|
parameters:
|
|
- description: RoleMaster ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Delete a RoleMaster
|
|
tags:
|
|
- roles
|
|
get:
|
|
description: Retrieve detailed information about a specific RoleMaster
|
|
parameters:
|
|
- description: RoleMaster ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get RoleMaster detail
|
|
tags:
|
|
- roles
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update details of an existing RoleMaster record by ID
|
|
parameters:
|
|
- description: RoleMaster ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Payload
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_master_role_master.RoleMasterRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Update an existing RoleMaster
|
|
tags:
|
|
- roles
|
|
/roles/master/search:
|
|
get:
|
|
description: Search RoleMaster records using dynamic filters
|
|
parameters:
|
|
- default: 10
|
|
description: Limit per page
|
|
in: query
|
|
name: limit
|
|
type: integer
|
|
- default: 0
|
|
description: Offset for pagination
|
|
in: query
|
|
name: offset
|
|
type: integer
|
|
- description: Sort fields (e.g. +name,-created_at)
|
|
in: query
|
|
name: sort
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Search Role
|
|
tags:
|
|
- roles
|
|
/roles/pages:
|
|
get:
|
|
description: Retrieve a paginated list of Role Pages
|
|
parameters:
|
|
- default: 10
|
|
description: Number of items per page
|
|
in: query
|
|
name: limit
|
|
type: integer
|
|
- default: 0
|
|
description: Offset for pagination
|
|
in: query
|
|
name: offset
|
|
type: integer
|
|
- description: Sort fields (e.g. +name,-created_at)
|
|
in: query
|
|
name: sort
|
|
type: string
|
|
- description: Filter by active status
|
|
in: query
|
|
name: active
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get list of Role Pages
|
|
tags:
|
|
- roles-pages
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new Role Pages record
|
|
parameters:
|
|
- description: Payload
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_master_role_pages.RolPagesRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Create new Role Pages
|
|
tags:
|
|
- roles-pages
|
|
/roles/pages/{id}:
|
|
delete:
|
|
description: Delete a Role Pages record by ID
|
|
parameters:
|
|
- description: Role Pages ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Delete a Role Pages
|
|
tags:
|
|
- roles-pages
|
|
get:
|
|
description: Retrieve detailed information about a specific Role Pages
|
|
parameters:
|
|
- description: Role Pages ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get Role Pages detail
|
|
tags:
|
|
- roles-pages
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update details of an existing Role Pages record by ID
|
|
parameters:
|
|
- description: Role Pages ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Payload
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_master_role_pages.RolPagesRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Update an existing Role Pages
|
|
tags:
|
|
- roles-pages
|
|
/roles/pages/search:
|
|
get:
|
|
description: Search Role Pages records using dynamic filters
|
|
parameters:
|
|
- default: 10
|
|
description: Limit per page
|
|
in: query
|
|
name: limit
|
|
type: integer
|
|
- default: 0
|
|
description: Offset for pagination
|
|
in: query
|
|
name: offset
|
|
type: integer
|
|
- description: Sort fields
|
|
in: query
|
|
name: sort
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Search Role Pages
|
|
tags:
|
|
- roles-pages
|
|
/roles/pages/tree:
|
|
get:
|
|
description: Retrieve a hierarchical tree of Role Pages
|
|
parameters:
|
|
- description: Filter by active status
|
|
in: query
|
|
name: active
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get tree of Role Pages
|
|
tags:
|
|
- roles-pages
|
|
/roles/pages/tree/level/{level}:
|
|
get:
|
|
description: Retrieve a hierarchical tree of Role Pages up to a specific level
|
|
parameters:
|
|
- description: Hierarchy Level
|
|
in: path
|
|
name: level
|
|
required: true
|
|
type: integer
|
|
- description: Filter by active status
|
|
in: query
|
|
name: active
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get tree of Role Pages by level
|
|
tags:
|
|
- roles-pages
|
|
/roles/permissions:
|
|
get:
|
|
description: Retrieve a paginated list of Role Permissions
|
|
parameters:
|
|
- default: 10
|
|
description: Number of items per page
|
|
in: query
|
|
name: limit
|
|
type: integer
|
|
- default: 0
|
|
description: Offset for pagination
|
|
in: query
|
|
name: offset
|
|
type: integer
|
|
- description: Sort fields (e.g. +name,-created_at)
|
|
in: query
|
|
name: sort
|
|
type: string
|
|
- description: Filter by active status
|
|
in: query
|
|
name: active
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get list of Role Permissions
|
|
tags:
|
|
- roles-permissions
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Create a new Role Permission record
|
|
parameters:
|
|
- description: Payload
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_master_role_permission.RolPermissionRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Create new Role Permission
|
|
tags:
|
|
- roles-permissions
|
|
/roles/permissions/{id}:
|
|
delete:
|
|
description: Delete a Role Permission record by ID
|
|
parameters:
|
|
- description: Role Permission ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Delete a Role Permission
|
|
tags:
|
|
- roles-permissions
|
|
get:
|
|
description: Retrieve detailed information about a specific Role Permission
|
|
parameters:
|
|
- description: Role Permission ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get Role Permission detail
|
|
tags:
|
|
- roles-permissions
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: Update details of an existing Role Permission record by ID
|
|
parameters:
|
|
- description: Role Permission ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: integer
|
|
- description: Payload
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_master_role_permission.RolPermissionRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Update an existing Role Permission
|
|
tags:
|
|
- roles-permissions
|
|
/roles/permissions/role/{role}:
|
|
get:
|
|
description: Retrieve a permission tree by Keycloak role
|
|
parameters:
|
|
- description: Role Keycloak
|
|
in: path
|
|
name: role
|
|
required: true
|
|
type: string
|
|
- description: Filter by active status
|
|
in: query
|
|
name: active
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get Permission Tree by Role
|
|
tags:
|
|
- roles-permissions
|
|
/roles/permissions/search:
|
|
get:
|
|
description: Search Role Permissions records using dynamic filters
|
|
parameters:
|
|
- default: 10
|
|
description: Limit per page
|
|
in: query
|
|
name: limit
|
|
type: integer
|
|
- default: 0
|
|
description: Offset for pagination
|
|
in: query
|
|
name: offset
|
|
type: integer
|
|
- description: Sort fields
|
|
in: query
|
|
name: sort
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Search Role Permissions
|
|
tags:
|
|
- roles-permissions
|
|
/roles/permissions/tree/{role}:
|
|
get:
|
|
description: Retrieve a permission tree
|
|
parameters:
|
|
- description: Role Keycloak
|
|
in: path
|
|
name: role
|
|
required: true
|
|
type: string
|
|
- description: Comma-separated groups
|
|
in: query
|
|
name: groups
|
|
type: string
|
|
- description: Filter by active status
|
|
in: query
|
|
name: active
|
|
type: boolean
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get Permission Tree
|
|
tags:
|
|
- roles-permissions
|
|
/satusehat/reference/auth/token:
|
|
get:
|
|
description: Mendapatkan token aktif untuk API Satu Sehat Kemenkes (menggunakan
|
|
cache internal)
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Get SatuSehat Access Token
|
|
tags:
|
|
- Satu Sehat - Auth
|
|
/satusehat/reference/auth/token/refresh:
|
|
post:
|
|
description: Memaksa request token baru dari API Satu Sehat Kemenkes (bypass
|
|
cache)
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
"500":
|
|
description: Internal Server Error
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Refresh SatuSehat Access Token
|
|
tags:
|
|
- Satu Sehat - Auth
|
|
/satusehat/reference/kfa/products:
|
|
get:
|
|
description: Mengambil daftar produk KFA dengan kapabilitas paginasi
|
|
parameters:
|
|
- description: 'Nomor Halaman (default: 1)'
|
|
in: query
|
|
name: page
|
|
type: integer
|
|
- description: 'Jumlah Data (default: 10)'
|
|
in: query
|
|
name: size
|
|
type: integer
|
|
- description: Tipe Produk (farmasi/alkes)
|
|
in: query
|
|
name: product_type
|
|
type: string
|
|
- description: Kata Kunci Pencarian
|
|
in: query
|
|
name: keyword
|
|
type: string
|
|
- description: Parameter waktu (from_)
|
|
in: query
|
|
name: from_
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Daftar Produk KFA
|
|
tags:
|
|
- Satu Sehat - KFA
|
|
/satusehat/reference/kfa/products/{code}:
|
|
get:
|
|
description: Mencari detail produk farmasi/alkes dari API Kamus Farmasi dan
|
|
Alat Kesehatan (KFA) Satu Sehat
|
|
parameters:
|
|
- description: 'Kode KFA (contoh: 93000469)'
|
|
in: path
|
|
name: code
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Cari Produk KFA berdasarkan Kode
|
|
tags:
|
|
- Satu Sehat - KFA
|
|
/satusehat/reference/location:
|
|
get:
|
|
description: Mencari data Location berdasarkan parameter
|
|
parameters:
|
|
- description: Nama Lokasi
|
|
in: query
|
|
name: name
|
|
type: string
|
|
- description: ID Organisasi Pemilik
|
|
in: query
|
|
name: organization
|
|
type: string
|
|
- description: Identifier Lokasi
|
|
in: query
|
|
name: identifier
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Pencarian Lokasi (Satu Sehat)
|
|
tags:
|
|
- Satu Sehat - Location
|
|
/satusehat/reference/location/{id}:
|
|
get:
|
|
description: Mencari data Location FHIR Satu Sehat berdasarkan ID
|
|
parameters:
|
|
- description: Location ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Cari Lokasi (Satu Sehat) berdasarkan ID
|
|
tags:
|
|
- Satu Sehat - Location
|
|
/satusehat/reference/organization:
|
|
get:
|
|
description: Mencari data Organization berdasarkan Name atau PartOf
|
|
parameters:
|
|
- description: Nama Organisasi
|
|
in: query
|
|
name: name
|
|
type: string
|
|
- description: ID Organisasi Induk
|
|
in: query
|
|
name: partof
|
|
type: string
|
|
- description: Identifier Organisasi
|
|
in: query
|
|
name: identifier
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Pencarian Organisasi (Satu Sehat)
|
|
tags:
|
|
- Satu Sehat - Organization
|
|
/satusehat/reference/organization/{id}:
|
|
get:
|
|
description: Mencari data Organization FHIR Satu Sehat berdasarkan ID
|
|
parameters:
|
|
- description: Organization ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Cari Organisasi (Satu Sehat) berdasarkan ID
|
|
tags:
|
|
- Satu Sehat - Organization
|
|
/satusehat/reference/patient:
|
|
get:
|
|
description: Mencari data pasien FHIR Satu Sehat berdasarkan kombinasi parameter
|
|
(Nama, NIK, NIK Ibu, Tanggal Lahir, Gender)
|
|
parameters:
|
|
- description: Nomor Induk Kependudukan
|
|
in: query
|
|
name: nik
|
|
type: string
|
|
- description: Nomor Induk Kependudukan Ibu (Untuk bayi)
|
|
in: query
|
|
name: nik_ibu
|
|
type: string
|
|
- description: Nama Pasien
|
|
in: query
|
|
name: name
|
|
type: string
|
|
- description: Tanggal Lahir (YYYY-MM-DD)
|
|
in: query
|
|
name: birthdate
|
|
type: string
|
|
- description: Jenis Kelamin (male/female)
|
|
in: query
|
|
name: gender
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Pencarian Pasien (Satu Sehat) Multi-Parameter
|
|
tags:
|
|
- Satu Sehat - Patient
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Mendaftarkan data pasien baru ke API Satu Sehat dan mengembalikan
|
|
IHS Number
|
|
parameters:
|
|
- description: Data Pasien Baru
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/service_internal_satusehat_reference_patient.CreatePatientRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Daftar Pasien Baru (Satu Sehat)
|
|
tags:
|
|
- Satu Sehat - Patient
|
|
/satusehat/reference/patient/{id}:
|
|
get:
|
|
description: Mencari data pasien FHIR Satu Sehat berdasarkan IHS Number / ID
|
|
parameters:
|
|
- description: IHS Number / Patient ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Cari Pasien (Satu Sehat) berdasarkan ID
|
|
tags:
|
|
- Satu Sehat - Patient
|
|
/satusehat/reference/patient/nik/{nik}:
|
|
get:
|
|
description: Mencari data pasien FHIR Satu Sehat berdasarkan Nomor Induk Kependudukan
|
|
(NIK)
|
|
parameters:
|
|
- description: Nomor Induk Kependudukan
|
|
in: path
|
|
name: nik
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Cari Pasien (Satu Sehat) berdasarkan NIK
|
|
tags:
|
|
- Satu Sehat - Patient
|
|
/satusehat/reference/practitioner:
|
|
get:
|
|
description: Mencari data Practitioner FHIR Satu Sehat berdasarkan parameter
|
|
parameters:
|
|
- description: Nomor Induk Kependudukan
|
|
in: query
|
|
name: nik
|
|
type: string
|
|
- description: Nama Tenaga Medis
|
|
in: query
|
|
name: name
|
|
type: string
|
|
- description: Jenis Kelamin (male/female)
|
|
in: query
|
|
name: gender
|
|
type: string
|
|
- description: Tanggal Lahir (YYYY-MM-DD)
|
|
in: query
|
|
name: birthdate
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Pencarian Tenaga Medis (Satu Sehat) Multi-Parameter
|
|
tags:
|
|
- Satu Sehat - Practitioner
|
|
/satusehat/reference/practitioner/{id}:
|
|
get:
|
|
description: Mencari data Practitioner FHIR Satu Sehat berdasarkan IHS Number
|
|
/ ID
|
|
parameters:
|
|
- description: IHS Number / Practitioner ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Cari Tenaga Medis (Satu Sehat) berdasarkan ID
|
|
tags:
|
|
- Satu Sehat - Practitioner
|
|
/satusehat/reference/practitioner/nik/{nik}:
|
|
get:
|
|
description: Mencari data Practitioner FHIR Satu Sehat berdasarkan NIK
|
|
parameters:
|
|
- description: Nomor Induk Kependudukan
|
|
in: path
|
|
name: nik
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/response.Response'
|
|
security:
|
|
- BearerAuth: []
|
|
summary: Cari Tenaga Medis (Satu Sehat) berdasarkan NIK
|
|
tags:
|
|
- Satu Sehat - Practitioner
|
|
securityDefinitions:
|
|
BearerAuth:
|
|
description: Type "Bearer" followed by a space and JWT token.
|
|
in: header
|
|
name: Authorization
|
|
type: apiKey
|
|
swagger: "2.0"
|