HỆ THỐNG ĐẶT LỊCH HẸN
Chủ động thời gian, không còn chờ đợi
  • TẢI ỨNG DỤNG
  • HƯỚNG DẪN
  • TIN TỨC
  • TÀI KHOẢN
    • ĐĂNG KÝ
    • ĐĂNG NHẬP

Website này đang dùng cho mục đích kiểm thử nội bộ. Vui lòng vào trang https://iqms.vnpt.vn cho mục đích sử dụng chính thức

HƯỚNG DẪN TÍCH HỢP API/SDK

1.              Danh sách Endpoint tích hợp Đặt lịch hẹn iQMS

STT

Endpoint

Giá trị

Mô tả

1

<domain>

iqms.vnpt.vn

Hệ thống staging (thử nghiệm)

2

<domain>

iqms.vnpt.vn

Hệ thống production

2.              Xác thực người dùng

Các API của VNPT iQMS đều cần apiToken để truy cập. Do đó cần phải xác thực người dùng/SDK để lấy apiToken cho các API

2.1.         Xác thực SSO tài khoản người dùng

Việc xác thực này sử dụng cơ chế OAuth 2.0. API Token tương ứng với quyền của người dùng sẽ được trả về khi người dùng đăng nhập SSO của VNPT iQMS.

2.1.1.     Client/3rd Application gọi giao diện xác thực để người dùng đăng nhập

Client/3rd app cần xác thực người dùng mở url gọi qua hệ thống iQMS kèm theo domain và type SSO

- URL: http://<domain>/Home/Login?type=SSO&domain=http%3A%2F%2Fbenhviendakhoabuudien.vnptweb.vn

- Method: GET

- Header:

           

- Query Param:

  • type: Phương thức xác thực (giá trị là SSO)
  • domain: Domain trả về khi xác thực thành công
  • Output: Website iQMS xác thực thông tin tài khoản người dùng và trả về ticket xác nhận cho domain của client.

http://benhviendakhoabuudien.vnptweb.vn?ticket=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE1MTYyMzkwMjJ9.VtpK7PfW-VWPZK7buUtX7n6YXlos54v-xTURtXQp8rw

2.1.2.     Client/3rd Application lấy thông tin người dùng và token

Client sử dung ticket xác thực với backend của iQMS để lấy access token truy cập hệ thống qua API.

- URL: http://<domain>/kong/booking/user/validateTicket

- Method: POST

- Header:

 

- Request Body:

  • ticket: ticket sau khi xác thực với người dùng được trả về ở 2.1.1
  • domain: Domain đã sử dụng để đăng nhập và được trả về ở 2.1.1.

 

Ví dụ:

{

    "ticket": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE1MTYyMzkwMjJ9.VtpK7PfW-VWPZK7buUtX7n6YXlos54v-xTURtXQp8rw,

    "domain": "http://benhviendakhoabuudien.vnptweb.vn"

}

 

 

 Output:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "apiToken": "eyJhbGciOiJIUzq1NiJ9.eyJleHAiOjE2MTc3MzcwMD
EsInVzZXJuYW1lIjoiNWVhNzk0NWRjMGY3NTkwMDA5YmQ2YTkxIn0.uSx8JdLgyjV_SALUQ-2JJae6WcdM0hSWVvsrsLAyWEU",

        "refreshToken": null,

        "user": {

            "rowStatus": 1,

            "rowStatusTst": 1588040869,

            "createdAt": 1588040797,

            "tags": [

                "Thai ",

                "0946360211",

                "phthai111"

            ],

            "id": "5ea7945dc0f7590009bd6a91",

            "accountType": "IQMS",

            "thirdAccountId": null,

            "email": "phthai111@gmail.com",

            "phone": "+84946360211",

            "firstName": "Pham Hong Thai ",

            "lastName": null,

            "secondaryEmail": null,

            "secondaryPhone": null,

            "birthday": "1990-01-01",

            "gender": "M",

            "address": "Phường 7, Thành phố Bạc Liêu, Bạc Liêu",

            "secondaryAddress": null,

            "avatarUrl": null,

            "description": null,

            "identityCard": null,

            "addressInfo": null,

            

        },

    }

}

Trong đó:

Key

Type

Mô tả

Trường hợp thành côngs

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

apiToken

string

Access Token trả về

user

string json

Thông tin người dùng

rowStatus

integer

Trạng thái kích hoạt của tài khoản. Ví dụ: Kích hoạt : 1, chưa kích hoạt : 2

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

id

string

Mã người dùng

accountType

string

Loại tài khoản

email

string

Địa chỉ email

roles

list

List các role của user

roles.name

string

Tên role

roles.code

string

Code của role. Ví dụ: ADMIN, USER, …

roles.level

integer

Cấp bậc của role. Ví dụ: level 1, 2, 3.

firstName

string

Tên người dùng

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 8 : mã lỗi sai tên tài khoản hoặc mật khẩu

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API

 

2.2.         Lấy SDK Token cho 3rd APP

SDK Token được cấp cho mỗi đơn vị một bộ SDK Token riêng. Sau khi đơn vị được khởi tạo, đơn vị có thể tạo và lấy thông tin SDK Token ở Menu chức năng [Quản lý đơn vị - SDK 3rd]

SDK Token gồm có:

  • apiToken: Access Token dành cho SDK
  • tokenKey: Token key của đơn vị
  • secretKey: Secret key xác thực cho đơn vị

Sử dụng SDK Token bằng cách truyền vào header khi gọi API


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Lưu ý:

  • Phạm vi sử dụng SDK token chỉ áp dụng cho nội bộ đơn vị.
  • Giới hạn gọi API mặc định là 5000 requests/giờ, 50000 requests/ngày. Đơn vị hạn chế để lộ SDK token cho nhiều hệ thống khác. Trường hợp muốn nâng số lượng request cần liên hệ nhà cung cấp dịch vụ

3.              Quản lý thông tin đơn vị

Các API này cần sử dụng SDK Token

3.1.         Quản lý dịch vụ

3.1.1.     API lấy danh sách dịch vụ của đơn vị

Input:

  • URL: <domain-name>/kong/booking/unit/unitService
  • HTTPs method: GET
  • Header:

Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

Output: json

Trường hợp tìm có dữ liệu:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 10,

        "numOfElements": 1,

        "totalElements": 1,

        "totalPages": 1,

        "content": [

            {

                "id": "5ebb9b19379b59000941b8e0",

                "rowStatus": 1,

                "rowStatusTst": 1596592672,

                "createdAt": 1589353241,

                "unitId": "5eba6116584cbf0009bfd017",

                "service": {

                    "id": "5daff3b2685c313b202aa24a",

                    "rowStatus": 1,

                    "rowStatusTst": 1596236625,

                    "createdAt": 1571300063,

                    "name": "Khoa Nội Tim Mạch",

                    "description": "Khoa Nội Tim Mạch",

                    "area": {

                        "id": "5e732d436c04442f309d7090",

                        "name": "Y tế",

                        "areaStatus": 1

                    }

                },

                "allowTakingTicket": 1,

                "initSeq": 5301,

                "maxSeq": 5400,

                "unitServiceGroupId": "5f0d6330a93525000922e199",

                 "limitQuantity": 4,

                 "serviceTypes": [1,2,3]

            }

        ]

    }

} 


 Trường hợp tìm không có dữ liệu:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 10,

        "numOfElements": 0,

        "totalElements": 0,

        "totalPages": 0,

        "content": []

    }

}


Trong đó:

Key

Type

Mô tả

Trường hợp tìm có dữ liệu

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

page

integer

Trang hiện tại. Bắt đầu từ 0

size

integer

Số lượng phần tử tối đa của một trang

numOfElements

integer

Số lượng phần tử đang hiển thị của trang

totalElements

integer

Tổng số phần tử

totalPages

integer

Tổng số trang

content

list

List dữ liệu phần tử trả về

id

string

Mã dịch vụ của đơn vị

rowStatus

integer

Trạng thái hoạt động của dịch vụ của đơn vị

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

unitId

string

Mã đơn vị

service

string json

Dịch vụ

service.id

string

Mã dịch vụ

service.name

string

Tên dịch vụ

service.description

string

Mô tả dịch vụ

service.area

string json

Lĩnh vực của dịch vụ

service.area.id

string

Mã lĩnh vực

service.area.name

string

Tên lĩnh vực

service.area. areaStatus

integer

Trạng thái của lĩnh vực

allowTakingTicket

integer

Cho phép lấy vé

initSeq

integer

Số thứ tự khởi tạo

maxSeq

integer

Số thứ tự tối đa được phép cấp

unitServiceGroupId

string

Mã nhóm dịch vụ

limitQuantity

integer

Số lượng giới hạn đặt lịch cho mỗi khung giờ

serviceTypes

integer array

Loại dịch vụ (1: đến lấy vé, 2: họp trực tuyến, 3: tư vấn từ xa)

Trường hợp tìm không có dữ liệu

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

page

integer

Trang hiện tại. Bắt đầu từ 0

size

integer

Số lượng phần tử tối đa của một trang

numOfElements

integer

Số lượng phần tử đang hiển thị của trang

totalElements

integer

Tổng số phần tử

totalPages

integer

Tổng số trang

content

list

List dữ liệu phần tử trả về. Không có dữ liệu thì trả về rỗng.


3.1.2.     API lấy chi tiết dịch vụ của đơn vị

Input:

  • URL: <domain-name>/kong/booking/unit/unitService/{id}
  • HTTPs method: GET
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

Output: json

Trường hợp thành công:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

           

                "id": "5ebb9b19379b59000941b8e0",

                "rowStatus": 1,

                "rowStatusTst": 1596592672,

                "createdAt": 1589353241,

                "unitId": "5eba6116584cbf0009bfd017",

                "service": {

                    "id": "5daff3b2685c313b202aa24a",

                    "rowStatus": 1,

                    "rowStatusTst": 1596236625,

                    "createdAt": 1571300063,

                    "name": "Khoa Nội Tim Mạch",

                    "description": "Khoa Nội Tim Mạch",

                    "area": {

                        "id": "5e732d436c04442f309d7090",

                        "name": "Y tế",

                        "areaStatus": 1

                    }

                },

                "allowTakingTicket": 1,

                "initSeq": 5301,

                "maxSeq": 5400,

                "unitServiceGroupId": "5f0d6330a93525000922e199",

                "limitQuantity": 4,

                "serviceTypes": [1,2,3]

    }

} 


 Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}


Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã dịch vụ của đơn vị

rowStatus

integer

Trạng thái hoạt động của dịch vụ của đơn vị

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

unitId

string

Mã đơn vị

service

string json

Dịch vụ

service.id

string

Mã dịch vụ

service.name

string

Tên dịch vụ

service.description

string

Mô tả dịch vụ

service.area

string json

Lĩnh vực của dịch vụ

service.area.id

string

Mã lĩnh vực

service.area.name

string

Tên lĩnh vực

service.area. areaStatus

integer

Trạng thái của lĩnh vực

allowTakingTicket

integer

Cho phép lấy vé

initSeq

integer

Số thứ tự khởi tạo

maxSeq

integer

Số thứ tự tối đa được phép cấp

unitServiceGroupId

string

Mã nhóm dịch vụ

limitQuantity

integer

Số lượng giới hạn đặt lịch cho mỗi khung giờ

serviceTypes

integer array

Loại dịch vụ (1: đến lấy vé, 2: họp trực tuyến, 3: tư vấn từ xa)

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


3.1.3.     API cập nhật dịch vụ của đơn vị

Input:

  • URL: <domain-name>/kong/booking/unit/unitService/{id}
  • HTTPs method: PUT
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

  "initSeq": "6000",

  "maxSeq": "6999",

  "limitQuantity": "4",

  "serviceTypes": [

    1,

    2,

    3

  ],

  "unitServiceGroupId": "5f7bd99af0be200009e99aa5"

}  

 Trong đó:

Key

Type

Mô tả

initSeq

integer

Số thứ tự khởi tạo

maxSeq

integer

Số thứ tự tối đa được phép cấp

limitQuantity

integer

Số lượng giới hạn đặt lịch cho mỗi khung giờ

serviceTypes

integer array

Loại dịch vụ (1: đến lấy vé, 2: họp trực tuyến, 3: tư vấn từ xa)

unitServiceGroupId

string

Mã nhóm dịch vụ


Output: json

Trường hợp thành công:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

           

                "id": "5ebb9b19379b59000941b8e0",

                "rowStatus": 1,

                "rowStatusTst": 1596592672,

                "createdAt": 1589353241,

                "unitId": "5eba6116584cbf0009bfd017",

                "service": {

                    "id": "5daff3b2685c313b202aa24a",

                    "rowStatus": 1,

                    "rowStatusTst": 1596236625,

                    "createdAt": 1571300063,

                    "name": "Khoa Nội Tim Mạch",

                    "description": "Khoa Nội Tim Mạch",

                    "area": {

                        "id": "5e732d436c04442f309d7090",

                        "name": "Y tế",

                        "areaStatus": 1

                    }

                },

                "allowTakingTicket": 1,

                "initSeq": 5301,

                "maxSeq": 5400,

                "unitServiceGroupId": "5f0d6330a93525000922e199",

                "limitQuantity": 4,

                "serviceTypes": [1,2,3]

    }

}


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}


  

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 300,

        "numOfElements": 6,

        "totalElements": 6,

        "totalPages": 1,

        "content": [

            {

                "id": "5e8fee0b0ab251000912a363",

                "unitId": "5e8fedb50ab251000912a35e",

                "optionCode": "ALLOW_BOOKING",

                "optionValue": "true", /// CHO PHÉP

                "optionValueType": "Bool"

            },

            {

                "id": "5e8fee0b0ab251000912a364",

                "unitId": "5e8fedb50ab251000912a35e",

                "optionCode": "BOOK_SERVICE",

                "optionValue": "true", /// CHO PHÉP

                "optionValueType": "Bool"

            },

            {

                "id": "5e8fee0c0ab251000912a365",

                "unitId": "5e8fedb50ab251000912a35e",

                "optionCode": "BOOK_STAFF",

                "optionValue": "false", /// KHÔNG CHO PHÉP

                "optionValueType": "Bool"

            },

            …

        ]

    }

}

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã dịch vụ của đơn vị

rowStatus

integer

Trạng thái hoạt động của dịch vụ của đơn vị

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

unitId

string

Mã đơn vị

service

string json

Dịch vụ

service.id

string

Mã dịch vụ

service.name

string

Tên dịch vụ

service.description

string

Mô tả dịch vụ

service.area

string json

Lĩnh vực của dịch vụ

service.area.id

string

Mã lĩnh vực

service.area.name

string

Tên lĩnh vực

service.area. areaStatus

integer

Trạng thái của lĩnh vực

allowTakingTicket

integer

Cho phép lấy vé

initSeq

integer

Số thứ tự khởi tạo

maxSeq

integer

Số thứ tự tối đa được phép cấp

unitServiceGroupId

string

Mã nhóm dịch vụ

limitQuantity

integer

Số lượng giới hạn đặt lịch cho mỗi khung giờ

serviceTypes

integer array

Loại dịch vụ (1: đến lấy vé, 2: họp trực tuyến, 3: tư vấn từ xa)

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


3.2.         Quản lý quầy phòng

3.2.1.     API lấy danh sách quầy phòng

Input:

  • URL: <domain-name>/kong/booking/unit/clinic
  • HTTPs method: GET
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

Output: json

Trường hợp tìm có dữ liệu:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 1,

        "numOfElements": 1,

        "totalElements": 6,

        "totalPages": 6,

        "content": [

            {

                "id": "5f30ef69588d16000916f467",

                "rowStatus": 1,

                "rowStatusTst": 1597042537,

                "createdAt": 1597042537,

                "type": "COUNTER",

                "code": "01",

                "name": "Quầy tiếp nhận số 1",

                "description": "Quầy 01",

                "unitId": "5f30ecafb0f81d0009dd5f1d",

                "services": [

                    {

                        "id": "5daff3b2685c313b202aa240",

                        "rowStatus": 1,

                        "rowStatusTst": 1602169458,

                        "createdAt": 1571300063,

                        "name": "Khoa Nội Thần Kinh",

                        "description": "Khoa Nội Thần Kinh",

                        "area": {

                            "id": "5e732d436c04442f309d7090",

                            "name": "Y tế",

                            "areaStatus": 1

                        }

                    }

                ],

                "callStatus": 2,

                "updateStatusTst": 1603436515,

                "callNumber": 4300,

                "departmentId": “5e732d436c04442f309d7156”

            }

        ]

    }

} 


Trường hợp tìm không có dữ liệu:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 10,

        "numOfElements": 0,

        "totalElements": 0,

        "totalPages": 0,

        "content": []

    }

}


Trong đó:

Key

Type

Mô tả

Trường hợp tìm có dữ liệu

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

page

integer

Trang hiện tại. Bắt đầu từ 0

size

integer

Số lượng phần tử tối đa của một trang

numOfElements

integer

Số lượng phần tử đang hiển thị của trang

totalElements

integer

Tổng số phần tử

totalPages

integer

Tổng số trang

content

list

List dữ liệu phần tử trả về

id

string

Mã quầy/phòng

rowStatus

integer

Trạng thái tạo, cập nhật quầy/phòng

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

type

string

Loại quầy/phòng. Ví dụ: COUNTER: quầy, CLINIC: phòng

code

string

Mã code quầy/phòng

name

string

Tên quầy/phòng

description

string

Mô tả quầy/phòng

unitId

string

Mã đơn vị

services.id

string

Mã dịch vụ

services.rowStatus

integer

Trạng thái của dịch vụ

services.rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

services.createdAt

long

Thời điểm tạo (định dạng timestamp)

services.name

string

Tên dịch vụ

services.description

string

Mô tả dịch vụ

services.area.id

string

Mã lĩnh vực

services.area.name

string

Tên lĩnh vực

services.area.areaStatus

string

Trạng thái lĩnh vực

callStatus

integer

Trạng thái hoạt động gọi số

updateStatusTst

long

Thời điểm cập nhật trạng thái gọi số (định dạng timestamp)

callNumber

integer

Số vé được gọi vào phòng

departmentId

string

Mã phòng ban

Trường hợp tìm không có dữ liệu

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

page

integer

Trang hiện tại. Bắt đầu từ 0

size

integer

Số lượng phần tử tối đa của một trang

numOfElements

integer

Số lượng phần tử đang hiển thị của trang

totalElements

integer

Tổng số phần tử

totalPages

integer

Tổng số trang

content

list

List dữ liệu phần tử trả về. Không có dữ liệu thì trả về rỗng.

3.2.2.     API lấy chi tiết quầy phòng

Input:

  • URL: <domain-name>/kong/booking/unit/clinic/{id}
  • HTTPs method: GET
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

Output: json

Trường hợp tìm có dữ liệu:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

                "id": "5f30ef69588d16000916f467",

                "rowStatus": 1,

                "rowStatusTst": 1597042537,

                "createdAt": 1597042537,

                "type": "COUNTER",

                "code": "01",

                "name": "Quầy tiếp nhận số 1",

                "description": "Quầy 01",

                "unitId": "5f30ecafb0f81d0009dd5f1d",

                "services": [

                    {

                        "id": "5daff3b2685c313b202aa240",

                        "rowStatus": 1,

                        "rowStatusTst": 1602169458,

                        "createdAt": 1571300063,

                        "name": "Khoa Nội Thần Kinh",

                        "description": "Khoa Nội Thần Kinh",

                        "area": {

                            "id": "5e732d436c04442f309d7090",

                            "name": "Y tế",

                            "areaStatus": 1

                        }

                    }

                ],

                "callStatus": 2,

                "updateStatusTst": 1603436515,

                "callNumber": 4300,

                "departmentId": “5e732d436c04442f309d7156”

    }

} 


Trường hợp lỗi:


{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}


Trong đó:

Key

Type

Mô tả

Trường hợp tìm có dữ liệu

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã quầy/phòng

rowStatus

integer

Trạng thái tạo, cập nhật quầy/phòng

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

type

string

Loại quầy/phòng. Ví dụ: COUNTER: quầy, CLINIC: phòng

code

string

Mã code quầy/phòng

name

string

Tên quầy/phòng

description

string

Mô tả quầy/phòng

unitId

string

Mã đơn vị

services.id

string

Mã dịch vụ

services.rowStatus

integer

Trạng thái của dịch vụ

services.rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

services.createdAt

long

Thời điểm tạo (định dạng timestamp)

services.name

string

Tên dịch vụ

services.description

string

Mô tả dịch vụ

services.area.id

string

Mã lĩnh vực

services.area.name

string

Tên lĩnh vực

services.area.areaStatus

string

Trạng thái lĩnh vực

callStatus

integer

Trạng thái hoạt động gọi số

updateStatusTst

long

Thời điểm cập nhật trạng thái gọi số (định dạng timestamp)

callNumber

integer

Số vé được gọi vào phòng

departmentId

string

Mã phòng ban

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


3.2.3.     API lấy cập nhật quầy phòng

Input:

  • URL: <domain-name>/kong/booking/unit/clinic/{id}
  • HTTPs method: PUT
  • Header:

Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

  "code": "4834",

  "name": "Quầy tiếp đón khu PK Chợ Rẫy 12",

  "description": "Quầy tiếp đón khu PK Chợ Rẫy",

  "departmentId": "6077aa5358ce802454abd78e"

  "unitId": "5f7bd0c7f0be200009e99a84",

  "services": [

    {

      "id": "5ed75d329a11790009183bbc"

    }

  ]

}  


Trong đó:

Key

Type

Mô tả

code

string

Mã code quầy/phòng

name

string

Tên quầy/phòng

description

string

Mô tả quầy/phòng

departmentId

string

Mã phòng ban

unitId

string

Mã đơn vị

services

list string json

Danh sách dịch vụ

services.id

string

Mã dịch vụ


Output: json

Trường hợp tìm có dữ liệu:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

                "id": "5f30ef69588d16000916f467",

                "rowStatus": 1,

                "rowStatusTst": 1597042537,

                "createdAt": 1597042537,

                "type": "COUNTER",

                "code": "01",

                "name": "Quầy tiếp nhận số 1",

                "description": "Quầy 01",

                "unitId": "5f30ecafb0f81d0009dd5f1d",

                "services": [

                    {

                        "id": "5daff3b2685c313b202aa240",

                        "rowStatus": 1,

                        "rowStatusTst": 1602169458,

                        "createdAt": 1571300063,

                        "name": "Khoa Nội Thần Kinh",

                        "description": "Khoa Nội Thần Kinh",

                        "area": {

                            "id": "5e732d436c04442f309d7090",

                            "name": "Y tế",

                            "areaStatus": 1

                        }

                    }

                ],

                "callStatus": 2,

                "updateStatusTst": 1603436515,

                "callNumber": 4300,

                "departmentId": “5e732d436c04442f309d7156”

    }

} 


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}


Trong đó:

Key

Type

Mô tả

Trường hợp tìm có dữ liệu

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã quầy/phòng

rowStatus

integer

Trạng thái tạo, cập nhật quầy/phòng

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

type

string

Loại quầy/phòng. Ví dụ: COUNTER: quầy, CLINIC: phòng

code

string

Mã code quầy/phòng

name

string

Tên quầy/phòng

description

string

Mô tả quầy/phòng

unitId

string

Mã đơn vị

services.id

string

Mã dịch vụ

services.rowStatus

integer

Trạng thái của dịch vụ

services.rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

services.createdAt

long

Thời điểm tạo (định dạng timestamp)

services.name

string

Tên dịch vụ

services.description

string

Mô tả dịch vụ

services.area.id

string

Mã lĩnh vực

services.area.name

string

Tên lĩnh vực

services.area.areaStatus

string

Trạng thái lĩnh vực

callStatus

integer

Trạng thái hoạt động gọi số

updateStatusTst

long

Thời điểm cập nhật trạng thái gọi số (định dạng timestamp)

callNumber

integer

Số vé được gọi vào phòng

departmentId

string

Mã phòng ban

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API

4.              Luồng nghiệp vụ đặt lịch hẹn trên App hoặc Web của khách hàng

Quy trình các bước đặt lịch tổng thể:


4.1.         API lấy danh sách đơn vị

- URL: http://<domain>/api/booking/unit/unit/?rowStatus=1&size=300

- Method: GET

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập hoặc SDK Token
  • tokenKey: TokenKey của đơn vị ( nếu dùng SDK Token)
  • secretKey: Secret key xác thực cho đơn vị ( nếu dùng SDK Token)

- Query Param:

  • rowStatus: Trạng thái đơn vị (Xét là 1)
  • size: Số lượng phần tử cần lấy (Xét là 300)
  • Output:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 1,

        "numOfElements": 1,

        "totalElements": 10,

        "totalPages": 10,

        "content": [

            {

                "id": "5e8fedb50ab251000912a35e",

                "rowStatus": 1,

                "rowStatusTst": 1586490805,

                "createdAt": 1586490805,

                "code": "VNPT_IT_KV2",

                "name": "VNPT IT KV2",

                "description": null,

                "latitude": "10.790141055662",

                "longitude": "106.692344060327",

                "address": "42 Phạm Ngọc Thạch, Phường 06, Quận 3, Hồ Chí Minh",

                "phone": "+84901710312",

                "fax": "+84479276181",

                ……

            }

        ]

    }

}


Giao diện tham khảo:


 

4.2.         API lấy cấu hình đặt lịch của đơn vị

iQMS cho phép cơ quan/doanh nghiệp cấu hình có cho người dân chọn dịch vụ hoặc nhân viên khi đặt lịch khám hoặc không chọn. Mỗi đơn vị sẽ có thông tin cấu hình các bước đặt lịch riêng. Các thông tin cần xác định bao gồm:

  • ALLOW_BOOKING. Đơn vị có hỗ trợ đặt lịch trên ứng dụng hay không. Mức ảnh hưởng cao nhất. Nếu ALLOW_ BOOKING là FALSE thì không thể đặt hẹn
  • BOOK_SERVICE. Đơn vị yêu cầu bước chọn dịch vụ khi đặt lịch. Nếu BOOK_SERVICE là FALSE thì bỏ qua việc chọn dịch vụ, chuyển sang bước tiếp theo.
  • BOOK_STAFF. Đơn vị yêu cầu bước chọn Người thực hiện khi đặt lịch. Nếu BOOK_STAFF là FALSE thì bỏ qua việc chọn người thực hiện, chuyển sang bước tiếp theo.


- URL: http://<domain>/api/booking/unit/unitOption/?size=300&unitId=<UNIT_ID>

- Method: GET

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Query Param:

unitId: Mã đơn vị được chọn từ danh sách đơn vị ở 4.1

  • Output:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 300,

        "numOfElements": 6,

        "totalElements": 6,

        "totalPages": 1,

        "content": [

            {

                "id": "5e8fee0b0ab251000912a363",

                "unitId": "5e8fedb50ab251000912a35e",

                "optionCode": "ALLOW_BOOKING",

                "optionValue": "true", /// CHO PHÉP

                "optionValueType": "Bool"

            },

            {

                "id": "5e8fee0b0ab251000912a364",

                "unitId": "5e8fedb50ab251000912a35e",

                "optionCode": "BOOK_SERVICE",

                "optionValue": "true", /// CHO PHÉP

                "optionValueType": "Bool"

            },

            {

                "id": "5e8fee0c0ab251000912a365",

                "unitId": "5e8fedb50ab251000912a35e",

                "optionCode": "BOOK_STAFF",

                "optionValue": "false", /// KHÔNG CHO PHÉP

                "optionValueType": "Bool"

            },

            …

        ]

    }

}


4.3.         API  lấy danh sách dịch vụ của đơn vị

Đây là bước được sử dụng khi đơn vị cho phép đặt lịch với BOOK_SERVICE là TRUE

Chú ý: Nếu BOOK_SERVICE là FALSE thì bỏ qua việc chọn dịch vụ, chuyển sang bước tiếp theo.


- URL: http://<domain>/api/booking/unit/unitService/?size=300&rowStatus=1&unitId=<UNIT_ID>

- Method: GET                                                   

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Query Param:

  • size: Số lượng phần tử cần lấy (Giá trị là 300)
  • rowStatus: Trạng thái dịch vị (Giá trị là 1)
  • unitId: Mã đơn vị được chọn từ danh sách đơn vị ở 4.1
  • Output:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 300,

        "numOfElements": 2,

        "totalElements": 2,

        "totalPages": 1,

        "content": [

            {

                …

            },

            

        ]

    }

}



Giao diện tham khảo:

 

4.4.         API  lấy danh sách Người thực hiện

Đây là bước được sử dụng khi đơn vị cho phép đặt lịch với BOOK_STAFF là TRUE


- URL: http://<domain>/api/booking/unit/employee/?size=300&unitId=<UNIT_ID>&serviceId=<SERVICE_ID>

- Method: GET

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Query Param:

  • size: Số lượng phần tử cần lấy (Thiết lập là 300)
  • unitId: Mã đơn vị được chọn từ danh sách đơn vị ở 4.1
  • serviceId: Mã dịch vụ được chon từ danh sách ở 4.3

Note: Đối với đơn vị có thông tin cấu hình BOOK_SERVICE là TRUE thì thông tin Request_param sẽ có thêm cụm &serviceId=<SERVICE_ID>. Ngược lại truyền rỗng.
Nhân viên được phép đặt lịch có Allow_Booking là 1, giá trị khác không cho đặt lịch
Chú ý: cần lọc dữ liệu với thông tin Allow_Booking là 1 hoặc cần hiển thị phù hợp

  • Output:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 300,

        "numOfElements": 1,

        "totalElements": 1,

        "totalPages": 1,

        "content": [

            {

                "id": "5ef01bb6db565e0009911cb1",

                "firstName": "Nguyễn Văn Dũng",

                "lastName": null,

                "email": null,

                "phone": "+84888998767",

                "address": null,

                "gender": "M",

                "birthday": "1990-01-01",

                "brief": null,

                "allowBooking": 1 /// CHO PHÉP ĐẶT LỊCH VỚI ĐỐI TƯỢNG NÀY

            }

        ]

    }

}



Giao diện tham khảo:

4.5.         API  lấy danh sách Ngày thực hiện

Đây là bước bắt buộc phải sử dụng


- URL: http://<domain>/api/booking/appointment/beforeBook/getDatesCanBook

- Method: POST

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Request Body:

  • unitId: Mã đơn vị được chọn từ danh sách đơn vị ở 4.1
  • serviceId: Mã dịch vụ được chon từ danh sách ở 4.3. Trường hợp không có giá trị để chọn thì truyền null
  • employeeId: Thông tin mã Người thực hiện, chọn ở 4.4. Trường hợp không có giá trị để chọn thì truyền null

 

Output:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": [

        {

            "date": "2020-07-02",

            "status": 1

        },

        {

            "date": "2020-07-03",

            "status": 1

        },

        {

            "date": "2020-07-04",

            "status": 1

        }, …

    ]

}



Giao diện tham khảo:

4.6.         API  lấy danh sách Giờ thực hiện

Đây là bước bắt buộc phải sử dụng


- URL: http://<domain>/api/booking/appointment/beforeBook/getTimeFramesCanBook/

- Method: POST

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Request Body:

  • unitId: Mã đơn vị được chọn từ danh sách đơn vị ở 4.1
  • serviceId: Mã dịch vụ được chon từ danh sách ở 4.3. Trường hợp không có giá trị để chọn thì truyền null
  • employeeId: Thông tin mã Người thực hiện, chọn ở 4.4. Trường hợp không có giá trị để chọn thì truyền null
  • date: Thông tin ngày thực hiện, chọn ở 4.5

Output:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": [

        {

            "time": "13:00:00",

            "limitQuantity": 5,

            "usedQuantity": 0

        },

        {

            "time": "13:30:00",

            "limitQuantity": 5,

            "usedQuantity": 1

        },..

    ]

}



Giao diện tham khảo:

 

4.7.         API  Đặt hẹn

- URL: http://<domain>/api/booking/appointment/appointment/

- Method: POST

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Request Body:

  • unit: Object mô tả thông tin đơn vị đã chọn
    • unitId: Mã đơn vị, ở 4.1
  • service: Object mô tả thông tin dịch vụ đã chọn
    • serviceId: Mã Dịch vụ, ở 4.3.
  • employee: Object mô tả thông tin dịch vụ đã chọn
    • employeeId: Mã Người thực hiện ở 4.4.
  • arrivalDate: Ngày thực hiện, ở 4.5
  • arrivalTime: Giờ thực hiện,  ở 4.6
  • userId: Thông tin mã người dùng, lấy thông tin từ Bước đăng nhập
  • customer: Object mô tả thông tin Người đặt hẹn (Lấy thông tin người dùng đăng nhập,cho phép sửa)
    • firstName: Họ tên
    • phone: Số điện thoại
    • email: Địa chỉ email
    • gender: Giới tính
    • birthday: Ngày sinh
    • address: Địa chỉ
  •  
  • comment: Yêu cầu thực hiện (Không bắt buộc)

Ví dụ:

{

    "userId": "5e8feda976d6aa00098322b0",

    "unit": {

        "id": "5eeb4bcdeabbf0000ad9708e"

    },

    "service": {

        "id": "5ed75d329a11790009183bbc"

    },

    "employee": {

        "id": "5ef01bb6db565e0009911cb1"

    },

    "customer": {

        "firstName": "Trần Tiến Đạt",

        "phone": "+84904101993",

        "email": null,

        "birthday": "2020-04-21",

        "gender": "F",

        "address": null

    },

    "arrivalDate": "2020-07-09",

    "arrivalTime": "07:30:00",

    "comment": null

}

 

 

 Output:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "id": "5efd51fd48ba88000916631c",

        "rowStatus": 0,

        "rowStatusTst": 1593659901,

        "createdAt": 1593659901,

        "userId": "5e8feda976d6aa00098322b0",

        "customer": {

            "id": "5efb429bdcd6170009b2f317",

            "firstName": "Trần Tiến Đạt",

            "lastName": null,

            "email": null,

            "phone": "+849041",

            "address": null,

            "gender": "F",

            "birthday": "2020-04-21",

            "code": null,

            "identityCard": null,

            "healthInsurance": null,

            "socialInsurance": null

        },

        "unit": {

            "id": "5eeb4bcdeabbf0000ad9708e",

            "name": "BHXH Huyện Bến Lức Tỉnh Long An",

            "code": "6ab",

            "address": "Số 20 Đường Lê Văn Vịnh, Thị trấn Bến Lức, Huyện Bến Lức, Long An",

            "phone": "+84901710"

        },

        "service": {

            "id": "5ed75d329a11790009183bbc",

            "name": "Tiếp nhận hồ sơ"

        },

        "employee": {

            "id": "5ef01bb6db565e0009911cb1",

            "firstName": "Nguyễn Văn Dũng",

            "lastName": null,

            "email": null,

            "phone": "+84888998767",

            "address": null,

            "gender": "M",

            "birthday": "1990-01-01",

            "brief": null,

            "yearsOfExperience": null

        },

        "arrivalDate": "2020-07-09",

        "arrivalTime": "07:30:00",

        "approver": {

            "autoApprove": "true",

            "user": null

        },

        "statusLogs": [

            {

                "status": 0,

                "statusTst": 1593659901,

                "userId": null,

                "userName": null

            }

        ]

    }

}



Giao diện tham khảo:


4.8.         API  lấy danh sách Lịch hẹn đã đặt của người dùng

- URL: http://<domain>/api/booking/appointment/ /appointment/?size=300&rowStatusList=0,10,20,21,22,23,24,30,40,41,42,43&sort=desc&userId=<USER_ID>

- Method: GET

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Query Param:

  • userId: Thông tin mã người dùng, lấy thông tin ở bước đăng nhập

Output:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 300,

        "numOfElements": 5,

        "totalElements": 5,

        "totalPages": 1,

        "content": [

            {

                "id": "5efc77a748ba880009166316",

                "rowStatus": 10,

                "rowStatusTst": 1593604007,

                "createdAt": 1593604007,

                "userId": "5e8feda976d6aa00098322b0",

                "customer": {

                    "id": "5efb429bdcd6170009b2f317",

                    "firstName": "Trần Tiến Đạt",

                    "lastName": null,

                    "email": null,

                    "phone": "+84904101993",

                    "address": null,

                    "gender": "F",

                    "birthday": "2020-04-21",

                    "code": null,

                    "identityCard": null,

                    "healthInsurance": null,

                    "socialInsurance": null

                },

                "unit": {

                    "id": "5eeb4bcdeabbf0000ad9708e",

                    "name": "BHXH Huyện Bến Lức Tỉnh Long An",

                    "code": "6ab",

                    "address": "Số 20 Đường Lê Văn Vịnh, Thị trấn Bến Lức, Huyện Bến Lức, Long An",

                    "phone": "+84901710312"

                },

                "service": {

                    "id": "5ed75d329a11790009183bbc",

                    "name": "Tiếp nhận hồ sơ"

                },

                "arrivalDate": "2020-07-30",

                "arrivalTime": "07:30:00",

                "comment": "Không có yêu cầu",

            }, …

        ]

    }

}


danh sách lịch hẹn của đơn

4.9.         API  lấy thông tin chi tiết lịch hẹn

- URL: http://<domain>/api/booking/appointment/appointment/<APPOINTMENT_ID>

- Method: GET

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Path:

  • <APPOINTMENT_ID>: Thông tin mã lịch hẹn, chọn ở Bước 3.9

Output:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "id": "5efc77a748ba880009166316",

        "rowStatus": 10,

        "rowStatusTst": 1593604007,

        "createdAt": 1593604007,

        "userId": "5e8feda976d6aa00098322b0",

        "customer": {

            "id": "5efb429bdcd6170009b2f317",

            "firstName": "Trần Tiến Đạt",

            "lastName": null,

            "email": null,

            "phone": "+84904101993",

            "address": null,

            "gender": "F",

            "birthday": "2020-04-21",

            "code": null,

            "identityCard": null,

            "healthInsurance": null,

            "socialInsurance": null

        },

        "unit": {

            "id": "5eeb4bcdeabbf0000ad9708e",

            "name": "BHXH Huyện Bến Lức Tỉnh Long An",

            "code": "6ab",

            "address": "Số 20 Đường Lê Văn Vịnh, Thị trấn Bến Lức, Huyện Bến Lức, Long An",

            "phone": "+84901710312"

        },

        "service": {

            "id": "5ed75d329a11790009183bbc",

            "name": "Tiếp nhận hồ sơ"

        },

        "arrivalDate": "2020-07-30",

        "arrivalTime": "07:30:00",

        "comment": "Không có yêu cầu",

    }

}



5.              Quản lý lịch hẹn

5.1.         API lấy danh sách lịch hẹn của đơn vị

Input:

  • URL: <domain-name>/kong/booking/appointment/appointment
  • HTTPs method: GET
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}

 

Body:

Output: json

Trường hợp tìm có dữ liệu:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 1,

        "numOfElements": 1,

        "totalElements": 3,

        "totalPages": 3,

        "content": [

            {

                "id": "5f851583aa097e00092df0ea",

                "rowStatus": 20,

                "rowStatusTst": 1602557428,

                "createdAt": 1602557315,

                "userId": "5f7be484275364000993619a",

                "customer": {

                    "id": "5f1e752b444b420009ed7273",

                    "firstName": "Thái",

                    "phone": "+84329944542",

                    "address": "Huyện Chơn Thành, Bình Phước",

                    "gender": "M",

                    "birthday": "2020-10-01"

                },

                "unit": {

                    "id": "5f30ecafb0f81d0009dd5f1d",

                    "name": "BỆNH VIỆN DEMO",

                    "code": "hhb",

                    "address": "Phường 06, Quận 3, Hồ Chí Minh",

                    "phone": "+84915420212"

                },

                "service": {

                    "id": "5daff3b2685c313b202aa240",

                    "name": "Khoa Nội Thần Kinh"

                },

                "employee": {

                    "id": "5f30f44ab0f81d0009dd5f31",

                    "firstName": "Tuấn Vỹ",

                    "email": "tuanvy.ma88@gmail.com",

                    "phone": "+84773791094",

                    "address": "15 An Bình",

                    "gender": "M",

                    "birthday": "1990-01-01",

                    "brief": "Đã có hơn 8 năm kinh nghiệm.",

                    "yearsOfExperience": 5,

                    "userId": "5f20eaf25e0bf30009a95106"

                },

                "arrivalDate": "2020-10-13",

                "arrivalTime": "10:00:00",

                "comment": "test",

                "ticketNumber": 1,

                "approver": {

                    "autoApprove": "true",

                    "user": {

                        "id": "5f7be484275364000993619a",

                        "firstName": "Thai",

                        "email": "phthai222@gmail.com",

                        "address": "Huyện Bàu Bàng, Bình Dương",

                        "gender": "M",

                        "birthday": "2020-10-01"

                    }

                },

                "statusLogs": [

                    {

                        "status": 0,

                        "statusTst": 1602557315

                    },

                    {

                        "status": 10,

                        "statusTst": 1602557315

                    },

                    {

                        "status": 20,

                        "statusTst": 1602557428,

                        "userId": "5f7be484275364000993619a",

                        "userName": "Thai"

                    }

                ]

            }

        ]

    }

}


Trường hợp tìm không có dữ liệu:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 10,

        "numOfElements": 0,

        "totalElements": 0,

        "totalPages": 0,

        "content": []

    }

}


Trong đó:

Key

Type

Mô tả

Trường hợp tìm có dữ liệu

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

page

integer

Trang hiện tại. Bắt đầu từ 0

size

integer

Số lượng phần tử tối đa của một trang

numOfElements

integer

Số lượng phần tử đang hiển thị của trang

totalElements

integer

Tổng số phần tử

totalPages

integer

Tổng số trang

content

list

List dữ liệu phần tử trả về

id

string

Mã lịch hẹn

rowStatus

integer

Trạng thái của lịch hẹn

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

userId

string

Mã người dùng đặt lịch

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.phone

string

Số điện thoại khách hàng

customer.address

string

Địa chỉ khách hàng

customer.gender

string

Giới tính

customer.birthday

string

Ngày sinh của khách hàng

unit.id

string

Mã đơn vị

unit.name

string

Tên đơn vị

unit.code

string

Mã code đơn vị

unit.address

string

Địa chỉ của đơn vị

unit.phone

string

Số điện thoại của đơn vị (bắt đầu bằng ký tự +84)

service.id

string

Mã dịch vụ

service.name

string

Tên dịch vụ

employee.id

string

Mã nhân viên

employee.firstName

string

Tên nhân viên

employee.email

string

Email nhân viên

employee.phone

string

Số điện thoại nhân viên (bắt đầu bằng ký tự +84)

employee.address

string

Địa chỉ nhân viên

employee.gender

string

Giới tính

employee.birthday

string

Ngày sinh

employee.brief

string

Mô tả nhân viên

employee.yearsOfExperience

integer

Số năm kinh nghiệm

employee.userId

string

Mã người dùng liên kết nhân viên

arrivalDate

string

Ngày hẹn

arrivalTime

string

Giờ hẹn

comment

string

Chú thích lịch hẹn

ticketNumber

integer

Số thứ tự phiếu

approver.autoApprove

boolean

Duyệt tự động hay không

approver.user.id

string

Mã người duyệt

approver.user.firstName

string

Tên người duyệt

approver.user.email

string

Email người duyệt

approver.user.address

string

Địa chỉ người duyệt

approver.user.gender

string

Giới tính người duyệt

approver.user.birthday

string

Ngày sinh

statusLogs.status

integer

Trạng thái

statusLogs.statusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

Trường hợp tìm không có dữ liệu

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

page

integer

Trang hiện tại. Bắt đầu từ 0

size

integer

Số lượng phần tử tối đa của một trang

numOfElements

integer

Số lượng phần tử đang hiển thị của trang

totalElements

integer

Tổng số phần tử

totalPages

integer

Tổng số trang

content

list

List dữ liệu phần tử trả về. Không có dữ liệu thì trả về rỗng.


5.2.         API tạo lịch hẹn

Input:


  • URL:<domain-name>/kong/booking/appointment/appointment?isBookOtherPerson=true
  • HTTPs method: POST
  • Header: 


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}

Body:


{
    "arrivalDateFrom": "2021-07-04",
    "arrivalTimeFrom": "10:00:00",
    "serviceType": "1",
    "customer": {
        "firstName": "Trần Đại Hiệp",
        "birthday": "2021-07-01",
        "gender": "M",
        "phone": "+84946360211"
    },
    "unit": {
        "id": "60c97810ed10730016fe6f87"
    },
    "employee": {
        "id": "60de88dfa4299c0016a3c300"
    },
    "service": {
        "id": "60e11995acc9ab00163f4bc9"
    }
}



Trong đó:

Key

Type

Mô tả

arrivalDateFrom

string

Ngày bắt đầu đặt lịch

arrivalTimeFrom

string

Giờ bắt đầu đặt lịch

serviceType

string

Hình thức lịch hẹn:

1: Đến nơi tiếp nhận

customer.firstName

string

Tên người đặt hẹn

customer.birthday string Ngày sinh
customer.gender string Giới tính. F: Nam, M: Nữ
customer.phone string

Số điện thoại theo dạng quốc tế

(ví dụ: +84987654321)

unit.id string Mã đơn vị đặt lịch
employee.id  string Mã người thực hiện/bác sĩ

service.id

string

Mã dịch vụ


Output: json

Trường hợp thành công:




Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}




Trong đó:

Key

Type

Mô tả


errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0


errorMsg

string

Thông báo lỗi


data

string json

Thông tin kết quả của API


id

string

Mã vé tiếp nhận


rowStatus

integer

Trạng thái vé tiếp nhận


arrivalDate

string

Ngày hẹn (yyyy-MM-dd)


arrivalTime

string

Giờ hẹn (hh:mm:ss)


comment

string

Chú thích lịch hẹn


ticketNumber

Number

Số của vé tiếp nhận


rowStatusTst

integer

Thời gian cập nhật


createdAt

integer

Thời gian tạo


customer

string

Khách hàng


customer.id

string

Mã khách hàng


customer.firstName

string

Tên khách hàng


customer.gender

string

Giới tính (M: nam, F: nữ)


customer.phone

string

Số điện thoại (bắt đầu bằng ký tự +84)


customer.birthday

string

Ngày sinh (yyyy-MM-dd)


unit

string json

Đơn vị


unit.id

string

Mã đơn vị


service

string json

Dịch vụ


service.id

string

Mã dịch vụ


service.name

string

Tên dịch vụ


employee

string json

Nhân viên


employee.id

string

Mã nhân viên


appointmentId

string

Mã lịch hẹn


type

string

Loại phiếu (0: lấy tại chỗ, 1: đặt lịch trước)


printedAt

integer

Thời điểm in vé


ticketCheckedInStatusLogs

list string json

Nhật ký trạng thái của vé


ticketCheckedInStatusLogs.status

integer

Trạng thái vé


ticketCheckedInStatusLogs. statusTst

integer

Thời điểm cập nhật trạng thái vé


plevel

Number

Độ ưu tiên của vé

+ 1: Ưu tiên, VIP

+ 2: Đặt lịch

+ 3: Vé thường


remainTicket

string

Số vé còn lại để tiếp nhận


estimatedTime

string

Thời gian dự kiến tiếp nhận (hh:mm)


averageProcessTime

string

Thời gian xử lý trung bình


averageWaitTime

string

Thời gian chờ trung bình


Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin


errorMsg

string

Thông báo lỗi


data

string

Thông tin kết quả của API



5.3.         API lấy chi tiết lịch hẹn

Input:

  • URL: <domain-name>/kong/booking/appointment/appointment/{id}
  • HTTPs method: GET
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

     Output: json

Trường hợp tìm có dữ liệu:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

           

                "id": "5f851583aa097e00092df0ea",

                "rowStatus": 20,

                "rowStatusTst": 1602557428,

                "createdAt": 1602557315,

                "userId": "5f7be484275364000993619a",

                "customer": {

                    "id": "5f1e752b444b420009ed7273",

                    "firstName": "Thái",

                    "phone": "+84329944542",

                    "address": "123, Xã Minh Thành, Huyện Chơn Thành",

                    "gender": "M",

                    "birthday": "2020-10-01"

                },

                "unit": {

                    "id": "5f30ecafb0f81d0009dd5f1d",

                    "name": "BỆNH VIỆN DEMO",

                    "code": "hhb",

                    "address": "Phường 06, Quận 3, Hồ Chí Minh",

                    "phone": "+84915420212"

                },

                "service": {

                    "id": "5daff3b2685c313b202aa240",

                    "name": "Khoa Nội Thần Kinh"

                },

                "employee": {

                    "id": "5f30f44ab0f81d0009dd5f31",

                    "firstName": "Tuấn Vỹ",

                    "email": "tuanvy.ma88@gmail.com",

                    "phone": "+84773791094",

                    "address": "15 An Bình",

                    "gender": "M",

                    "birthday": "1990-01-01",

                    "brief": "Đã có hơn 8 năm kinh nghiệm.”

                    "yearsOfExperience": 5,

                    "userId": "5f20eaf25e0bf30009a95106"

                },

                "arrivalDate": "2020-10-13",

                "arrivalTime": "10:00:00",

                "comment": "test",

                "ticketNumber": 1,

                "approver": {

                    "autoApprove": "true",

                    "user": {

                        "id": "5f7be484275364000993619a",

                        "firstName": "Thai",

                        "email": "phthai222@gmail.com",

                        "address": "Huyện Bàu Bàng, Bình Dương",

                        "gender": "M",

                        "birthday": "2020-10-01"

                    }

                },

                "statusLogs": [

                    {

                        "status": 0,

                        "statusTst": 1602557315

                    },

                    {

                        "status": 10,

                        "statusTst": 1602557315

                    },

                    {

                        "status": 20,

                        "statusTst": 1602557428,

                        "userId": "5f7be484275364000993619a",

                        "userName": "Thai"

                    }

                ]

     }

}


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}


Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã lịch hẹn

rowStatus

integer

Trạng thái của lịch hẹn

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

userId

string

Mã người dùng đặt lịch

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.phone

string

Số điện thoại khách hàng

customer.address

string

Địa chỉ khách hàng

customer.gender

string

Giới tính

customer.birthday

string

Ngày sinh của khách hàng

unit.id

string

Mã đơn vị

unit.name

string

Tên đơn vị

unit.code

string

Mã code đơn vị

unit.address

string

Địa chỉ của đơn vị

unit.phone

string

Số điện thoại của đơn vị (bắt đầu bằng ký tự +84)

service.id

string

Mã dịch vụ

service.name

string

Tên dịch vụ

employee.id

string

Mã nhân viên

employee.firstName

string

Tên nhân viên

employee.email

string

Email nhân viên

employee.phone

string

Số điện thoại nhân viên (bắt đầu bằng ký tự +84)

employee.address

string

Địa chỉ nhân viên

employee.gender

string

Giới tính

employee.birthday

string

Ngày sinh

employee.brief

string

Mô tả nhân viên

employee.yearsOfExperience

integer

Số năm kinh nghiệm

employee.userId

string

Mã người dùng liên kết nhân viên

arrivalDate

string

Ngày hẹn

arrivalTime

string

Giờ hẹn

comment

string

Chú thích lịch hẹn

ticketNumber

integer

Số thứ tự phiếu

approver.autoApprove

boolean

Duyệt tự động hay không

approver.user.id

string

Mã người duyệt

approver.user.firstName

string

Tên người duyệt

approver.user.email

string

Email người duyệt

approver.user.address

string

Địa chỉ người duyệt

approver.user.gender

string

Giới tính người duyệt

approver.user.birthday

string

Ngày sinh

statusLogs.status

integer

Trạng thái

statusLogs.statusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


5.4.         API lấy vé tiếp nhận từ lịch hẹn

Input:


  • URL: <domain-name>/kong/booking/queue/ticketCheckedIn
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}

Body:

{

  "appointmentId": "60a61290a6764d001d916ff8",

  "unit": {

    "id": "5f7bd0c7f0be200009e99a84"

  },

  "service": {

    "id": "5ebb9380379b59000941b8d9",

    "name": "Khai bổ sung hồ sơ khai thuế"

  },

  "customer": {

    "birthday": "2021-05-01",

    "firstName": "thai",

    "gender": "M",

    "phone": "+84329944542"

  }

} 



Trong đó:

Key

Type

Mô tả

appointmentId

string

Mã lịch hẹn

unit

string json

Đơn vị

unit.id

string

Mã đơn vị

service

string json

Dịch vụ

service.id

string

Mã dịch vụ

service.name

string

Tên dịch vụ

customer

string

Khách hàng

customer.birthday

string

Ngày sinh (yyyy-MM-dd)

customer.firstName

string

Tên khách hàng

customer.gender

string

Giới tính (M: nam, F: nữ)

customer.phone

string

Số điện thoại (bắt đầu bằng ký tự +84)


Output: json

Trường hợp thành công:

{

  "errorCode": 0,

  "errorMsg": "Success",

  "data": {

    "id": "60a614ee9c568e0015407061",

    "tags": [

      "2000"

    ],

    "rowStatus": 20,

    "arrivalDate": "2021-05-20",

    "arrivalTime": "15:00:00",

    "comment": "dfsdf",

    "ticketNumber": 2000,

    "rowStatusTst": 1621497070,

    "createdAt": 1621497070,

    "customer": {

      "id": "5f1e752b444b420009ed7273",

      "firstName": "thai",

      "phone": "+84329944542",

      "gender": "M",

      "birthday": "2021-05-01"

    },

    "unit": {

      "id": "5f7bd0c7f0be200009e99a84"

    },

    "service": {

      "id": "5ebb9380379b59000941b8d9",

      "name": "Khai bổ sung hồ sơ khai thuế"

    },

    "employee": {

      "id": "6077aaaf58ce802454abd8df"

    },

    "appointmentId": "60a61290a6764d001d916ff8",

    "type": 1,

    "printedAt": 1621497070,

    "ticketCheckedInStatusLogs": [

      {

        "status": 20,

        "statusTst": 1621497070

      }

    ],

    "plevel": 2,

    "remainTicket": "0",

    "estimatedTime": "14:51",

    "averageProcessTime": "78",

    "averageWaitTime": "36"

  }

} 



Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}




Trong đó:

Key

Type

Mô tả


errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0


errorMsg

string

Thông báo lỗi


data

string json

Thông tin kết quả của API


id

string

Mã vé tiếp nhận


rowStatus

integer

Trạng thái vé tiếp nhận


arrivalDate

string

Ngày hẹn (yyyy-MM-dd)


arrivalTime

string

Giờ hẹn (hh:mm:ss)


comment

string

Chú thích lịch hẹn


ticketNumber

Number

Số của vé tiếp nhận


rowStatusTst

integer

Thời gian cập nhật


createdAt

integer

Thời gian tạo


customer

string

Khách hàng


customer.id

string

Mã khách hàng


customer.firstName

string

Tên khách hàng


customer.gender

string

Giới tính (M: nam, F: nữ)


customer.phone

string

Số điện thoại (bắt đầu bằng ký tự +84)


customer.birthday

string

Ngày sinh (yyyy-MM-dd)


unit

string json

Đơn vị


unit.id

string

Mã đơn vị


service

string json

Dịch vụ


service.id

string

Mã dịch vụ


service.name

string

Tên dịch vụ


employee

string json

Nhân viên


employee.id

string

Mã nhân viên


appointmentId

string

Mã lịch hẹn


type

string

Loại phiếu (0: lấy tại chỗ, 1: đặt lịch trước)


printedAt

integer

Thời điểm in vé


ticketCheckedInStatusLogs

list string json

Nhật ký trạng thái của vé


ticketCheckedInStatusLogs.status

integer

Trạng thái vé


ticketCheckedInStatusLogs. statusTst

integer

Thời điểm cập nhật trạng thái vé


plevel

Number

Độ ưu tiên của vé

+ 1: Ưu tiên, VIP

+ 2: Đặt lịch

+ 3: Vé hẹn

+ 9: Vé thường


remainTicket

string

Số vé còn lại để tiếp nhận


estimatedTime

string

Thời gian dự kiến tiếp nhận (hh:mm)


averageProcessTime

string

Thời gian xử lý trung bình


averageWaitTime

string

Thời gian chờ trung bình


Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin


errorMsg

string

Thông báo lỗi


data

string

Thông tin kết quả của API



6.              Lấy vé tiếp nhận dịch vụ

Vé tiếp nhận dịch vụ được thiết kế cho các nghiệp vụ có thời gian ngắn. Phòng hoặc quầy tiếp nhận có thể cùng lúc tiếp nhận nhiều dịch vụ khác nhau, đồng thời một dịch vụ cũng có thể được tiếp nhận ở nhiều quầy. Hệ thống sẽ tự phân tích vé tiếp nhận để đẩy vào quầy phù hợp sao cho đáp ứng thứ tự trước sau, vé đăt lịch và ưu tiên.

Lưu ý: Mỗi dịch vụ sẽ có một khoảng số khác nhau. Có thể nhảy số giữa mỗi dịch vụ để phục vụ đăt lịch, ưu tiên..

6.1.         API tạo vé tiếp nhận

Input:


  • URL: <domain-name>/kong/booking/queue/ticketCheckedIn
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}

Body:

{

    "ticketCheckedInId": "5daff3b2685c313b202aa24l",

    "service": {

        "id": "5daff3b2685c313b202aa24a",

        "name": "Khoa Nội Tim Mạch"

    },

    "customer": {

        "firstName": "Phạm Hồng Thái",

        "gender": "M",

        "email": "phamhongthai@vnpt.vn",

        "phone": "+84946360211",

        "healthInsuranceObj": {

            "code": "TA4727935146795|4e677579e1bb856
205669e1bb8774204e68c3a26e|12/11/2011|1|e1baa
570204368e1bba32c2058c3a3205472756e6720416e2c20487579e1bb876e2043
e1bba7204368692c205468c3a06e68207068e1bb912048e1bb9320
4368c3ad204d696e685f544e43413033|79 - 040|01/01/2019|
-|29/10/2019|72007935146795|-|4| 01/01/2023|b7be1cb
7220ebc9-7102|$",

            "insuranceObject": "TA",

            "insuranceNumber": "TA47209099945423",

            "primaryHealthcareUnitId": "79-040",

            "primaryHealthcareUnitName": "Bệnh viện Đa Khoa Bưu Điện",

            "validDateFrom": "2019-01-01",

            "validDateTo": "2023-01-01"

        }

    }

 }





Trong đó:

Key

Type

Mô tả

ticketCheckedInId

string

Mã vé tiếp nhận trước đó.

Chú ý: Trường hợp vé mới ticketCheckedInId = null

appointmentId

string

Mã lịch hẹn ( nếu đã đặt hẹn)

Chú ý: Trường hợp vé vãng lai appointmentId = null

service

string json

Dịch vụ

service.id

string

Mã dịch vụ

service.name

string

Tên dịch vụ

customer

string

Khách hàng

customer.firstName

string

Tên khách hàng

customer.gender

string

Giới tính (M: nam, F: nữ)

customer.email

string

Địa chỉ email

customer.phone

string

Số điện thoại (bắt đầu bằng ký tự +84)

healthInsuranceObj.code

string

Mã QR được đọc từ bảo hiểm y tế

healthInsuranceObj. insuranceObject

string

Đối tượng bảo hiểm y tế

healthInsuranceObj. insuranceNumber

String

Mã bảo hiểm y tế

healthInsuranceObj. primaryHealthcareUnitId

string

Mã đơn vị đăng ký khám chữa bệnh

healthInsuranceObj. primaryHealthcareUnitName

string

Tên đơn vị đăng ký khám chữa bệnh

healthInsuranceObj. validDateFrom

string

Ngày bắt đầu hiệu lực của thẻ BHYT

healthInsuranceObj. validDateTo

string

Ngày hết bạn của thẻ BHYT


Output: json

Trường hợp thành công:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "id": "606d630901efc40009f62263",

        "remainTicket": 10,

        "estimatedTime": 30,

        "ticketNumber": 5201,

        "customer": {

            "id": "606d6308b1f8400009085b55",

            "firstName": "Phạm Hồng Thái",

            "gender": "M",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "birthday": null,

            "identityCard": null,

        },

        "service": {

            "id": "5daff3b2685c313b202aa231",

            "name": "Thu tiền viện phí"


        },

        "plevel": 3,

    }

}


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}




Trong đó:

Key

Type

Mô tả

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

remainTicket

Number

Số vé còn lại để tiếp nhận

estimatedTime

Number

Thời gian chờ còn lại (phút)

ticketNumber

Number

Số của vé tiếp nhận

service

string json

Dịch vụ

service.id

string

Mã dịch vụ

service.name

string

Tên dịch vụ

customer

string

Khách hàng

customer.firstName

string

Tên khách hàng

customer.gender

string

Giới tính (M: nam, F: nữ)

customer.email

string

Địa chỉ email

customer.phone

string

Số điện thoại (bắt đầu bằng ký tự +84)

plevel

Number

Độ ưu tiên của vé

+ 1: Ưu tiên, VIP

+ 2: Đặt lịch

+ 3: Vé thường

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API



Mẫu vé tiếp nhận vào quầy:

 

Tên dịch vụ:service.name

Còn chờ: remainTicket

Thời gian chờ dự kiến: now()+estimatedTime

Số vé: ticketNumber

Loại vé: plevel

Số điện thoại: customer.phone

Thông tin trên QR Code: printTicket::<id>

6.2.         API gọi số tiếp nhận

  • Gọi số tiếp theo (không truyền trường ticketNumber vào request body)
  • Gọi lại số đã được gọi trước đó. (truyền số đã gọi vào trường ticketNumber vào request body)

Input:

  • URL: <domain-name>/kong/booking/queue/queueCheckedIn/v2/call
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

    "unitId": "5eba6116584cbf0009bfd017",

    "counterId": "5eba6815584cbf0009bfd026",

    "ticketNumber": 5001

} 


Trong đó:

Key

Type

Mô tả

unitId

string

Mã đơn vị

counterId

string

Mã quầy

ticketNumber

integer

Số cần gọi lại.

Nếu ticketNumber = null, API sẽ tự động trả về số tiếp theo.


Output: json

Trường hợp thành công:

{

    "code": 0,

    "msg": "Thành công",

    "data": {

        "id": "5f97df481ddde5000955cb63",

        "rowStatus": 21,

        "arrivalDate": "2020-10-27",

        "arrivalTime": "15:30:00",

        "ticketNumber": 2000,

        "rowStatusTst": 1603788616,

        "createdAt": 1603788616,

        "customer": {

            "id": "5f97ba8ec3077000096971ea",

            "firstName": "Phạm Hồng Thái",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "gender": "M"

        },

        "unit": {

            "id": "5eba6116584cbf0009bfd017",

            "name": "Bệnh viện Đa Khoa Bưu Điện",

            "code": "BVDKBD",

            "address": "Lô B9 Thành Thái, Phường 15, Quận 10, Hồ Chí Minh",

            "phone": "+842838649834"

        },

        "service": {

            "id": "5daff3b2685c313b202aa24a",

            "name": "Khoa Nội Tim Mạch",

            "description": "Khoa Nội Tim Mạch"

        },

        "employee": {

            "id": "5ebba699379b59000941b8e7",

            "firstName": "Bs. Nguyễn Thị Hậu",

            "phone": "+84945454545",

            "gender": "M",

            "birthday": "1990-01-01"

        },

        "counter": {

            "id": "5eba6815584cbf0009bfd026"

        },

        "appointmentId": "5f97ca53c3077000096971ee",

        "type": 1,

        "printedAt": 1603790425,

        "ticketCheckedInStatusLogs": [

            {

                "status": 20,

                "statusTst": 1603788616

            }

        ],

        "plevel": 2

    }

}


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã vé tiếp nhận

rowStatus

integer

Trạng thái của vé tiếp nhận. Ví dụ: 20 : Duyệt

arrivalDate

string

Ngày hẹn (yyyy-MM-dd)

arrivalTime

string

Giờ hẹn (HH:mm:ss)

ticketNumber

integer

Số thứ tự của vé tiếp nhận

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.email

string

Địa chỉ email của khách hàng

customer.phone

string

Số điện thoại cua khách hàng (bắt đầu bằng ký tự +84)

customer.gender

string

Giới tính (M: nam, F: nữ)

unit

string json

Đơn vị

unit.id

string

Mã đơn vị

unit.name

string

Tên đơn vị

unit.code

string

Mã code đơn vị

unit.address

string

Địa chỉ đơn vị

unit.phone

string

Số điện thoại đơn vị (bắt đầu bằng ký tự +84)

service

string json

Dịch vụ

service.id

string

Mã dịch vụ

service.name

string

Tên dịch vụ

service.description

string

Mô tả dịch vụ

employee

string json

Nhân viên

employee.id

string

Mã nhân viên

employee.firstName

string

Tên nhân viên

employee.phone

string

Số điện thoại nhân viên (bắt đầu bằng ký tự +84)

employee.gender

string

Giới tính (M: nam, F: nữ)

employee.birthday

string

Ngày sinh (yyyy-MM-dd)

counter

string json

Thông tin quầy

counter.id

string

Mã quầy

appointmentId

string

Mã lịch hẹn

type

string

Loại vé (0: lấy tại chỗ, 1: đặt trước)

printedAt

long

Thời điểm in vé tiếp nhận (định dạng timestamp)

ticketCheckedInStatusLogs

list

Nhật ký trạng thái của vé tiếp nhận

ticketCheckedInStatusLogs.status

integer

Trạng thái vé tiếp nhận

ticketCheckedInStatusLogs.statusTst

long

Thời điểm thay đổi trạng thái (định dạng timestamp)

plevel

integer

Độ ưu tiên của vé

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


6.3.         API gọi số tiếp nhận (HIS L2)

  • Gọi số tiếp theo (không truyền trường ticketNumber vào request body)
  • Gọi lại số đã được gọi trước đó. (truyền số đã gọi vào trường ticketNumber vào request body)

Input:

  • URL: <domain-name>/kong/booking/queue/queueCheckedIn/hisl2/call
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

    "hospitalId": "79023",

    " counterHisL2Id": "12345",

    "ticketNumber": "5001"

} 


Trong đó:

Key

Type

Mô tả

hospitalId

string

Mã bệnh viện theo Quyết định 384/QĐ-BYT. Ví dụ: 79023

counterHisL2Id

string

ID quầy/ phòng trên HIS L2

ticketNumber

string

Số cần gọi lại.

Nếu ticketNumber = null, API sẽ tự động trả về số tiếp theo.


Output: json

Trường hợp thành công:

{

    "errorCode": 0,

    "errorMsg": "Thành công",

    "data": {

        "id": "5f97df481ddde5000955cb63",

        "ticketNumber": 2000,

        "customer": {

            "id": "5f97ba8ec3077000096971ea",

            "idHIS ": "BN123456",

            "firstName": "Phạm Hồng Thái",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "genderNumber": 1,

            "birthday": "01/02/1998",

            "socialInsurance": {

               "insuranceNumber": "TA4727935146598",

               "primaryHealthcareUnitId": "79 - 040",

               "primaryHealthcareUnitName": "Bệnh viện đa khoa bưu điện",

               "validDateFrom": "2019-01-01",

               "validDateTo": "2023-01-01",

               "data":

“TA4727935146795|4e677579e1bb856e205669e1bb8774204
e68c3a26e|12/11/2011|1|e1baa570204368e1bba32c2058c3a3205472756e6720416e2
c20487579e1bb876e2043e1bba7204368692c205468c3a06e68207068e1bb
912048e1bb93204368c3ad204d696e685f544e43413033|79 - 040|01/01/2019|-|29/10/2019|72007
935146795|-|4| 01/01/2023|b7be1cb7220ebc9-7102|$”,


            },

            "addressInfo": {

                "province": {

                    "provinceId": "89",

                    "name": "An Giang",

                    "idHisL2": "805"

                }

            },

            "ethnicInfo": {

                "fullCode": "25",

                "name": "Kinh",

                "idHisL2": "25"

            },

            "countriesInfo": {

                "fullCode": "0",

                "name": "Việt Nam",

                "idHisL2": "0"

            },

            "personalCards": [

                {

                    "type": "CMND",

                    "url": "https://iqms.vnpt.vn/kong/common/fileNew/download?path=5e9e6f29ef9a6800094a9cbe/image_cropper_1618473594945.jpg",

                    "isFront": true

                },

                {

                    "type": "CMND",

                    "url": "https://iqms.vnpt.vn/kong/common/fileNew/download?path=5e9e6f29ef9a6800094a9cbe/image_cropper_1618473616463.jpg",

                    "isFront": false

                }

            ]

        },

        "plevel": 2

    }

}



Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã vé tiếp nhận



ticketNumber

integer

Số thứ tự của vé tiếp nhận

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

HIS L2 lấy tên này để check BHYT khi có field customer.socialInsurance

customer.email

string

Địa chỉ email của khách hàng

customer.phone

string

Số điện thoại của khách hàng (bắt đầu bằng ký tự +84)

customer.genderNumber

string

Giới tính (1: Nam, 2: Nữ)

customer.birthday

string

Ngày sinh (dd/MM/yyyy)

HIS L2 lấy tên này để check BHYT khi có field customer.socialInsurance

customer.socialInsurance

string json

Thông tin bảo hiểm xã hội

customer.socialInsurance.data

string

Mã QR code quét từ thẻ bảo hiểm

Có thể không có khi không quét được, hoặc đặt lịch trên app

customer.socialInsurance.insuranceObject

string

Đối tượng bảo hiểm

customer.socialInsurance.insuranceNumber

string

Số bảo hiểm

HIS L2 lấy tên này để check BHYT

customer.socialInsurance.primaryHealthcareUnitId

string

Mã đơn vị KCB

customer.socialInsurance.primaryHealthcareUnitName

string

Tên đơn vị KCB

customer.socialInsurance.validDateFrom

string

Ngày bắt đầu có hiệu lực

customer.socialInsurance.validDateTo

string

Ngày kết thúc hiệu lực

customer.addressInfo

string json

Thông tin địa chỉ

customer.addressInfo.province

string json

Thông tin tỉnh

customer.addressInfo.province.provinceId

string

Mã tỉnh

customer.addressInfo.province.name

string

Tên tỉnh

customer.addressInfo.province.idHisL2

string

Mã tỉnh His L2 (DIAPHUONGID)

customer.ethnicInfo

string json

Thông tin dân tộc

customer.ethnicInfo.fullCode

string

Mã dân tộc

customer.ethnicInfo.name

string

Tên dân tộc

customer.ethnicInfo.idHisL2

string

Mã dân tộc His L2 (DANTOCID)

customer.countriesInfo

string

Thông tin quốc tịch

customer.countriesInfo.fullCode

string

Mã quốc tịch

customer.countriesInfo.name

string

Tên quốc tịch

customer.countriesInfo.idHisL2

string

Mã quốc tịch His L2 (DIAPHUONGID)

customer.personalCards

list string json

Danh sách ảnh đính kèm

customer.personalCards.type

string

Loại ảnh (CMND, BHYT, …)

customer.personalCards.url

string

Đường dẫn ảnh

customer.personalCards.isFront

boolean

true: Mặt trước, false: Mặt sau

plevel

integer

Độ ưu tiên của vé

+ 1: Ưu tiên, VIP

+ 2: Đặt lịch

+ 3: Vé hẹn

+ 9: Vé thường

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API




6.4.         API bắt đầu tiếp nhận

Xác nhận bắt đầu tiếp nhận


Input:

  • URL: <domain-name>/kong/booking/queue/ticketCheckedIn/start
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

    "id": "5f97df481ddde5000955cb63",

    "hospitalId": "79023",

    "customer": {

          "id": "5f97ba8ec3077000096971ea",

          "idHIS": "BN123456"

     }

}


Trong đó:

Key

Type

Mô tả

id

string

Mã vé tiếp nhận

customer.id

string

Mã khách hàng

customer.idHIS

string

Mã khách hàng/Bệnh nhân. Dùng để lấy lại thông tin nếu đã có trong hệ thống HIS L2

hospitalId

string

Mã bệnh viện theo Quyết định 384/QĐ-BYT. Ví dụ: 79023


Output: json

Trường hợp thành công:

{

    "errorCode": 0,

    "errorMsg": "Thành công",

    "data": {

        "id": "5f97df481ddde5000955cb63",

        "ticketNumber": 2000,

        "customer": {

            "id": "5f97ba8ec3077000096971ea",

            "idHIS ": "BN123456",

            "firstName": "Phạm Hồng Thái",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "genderNumber": 1,

            "birthday": "1998-02-01",

            "socialInsurance": {

               "insuranceNumber": "TA4727935146598",

               "primaryHealthcareUnitId": "79 - 040",

               "primaryHealthcareUnitName": "Bệnh viện đa khoa bưu điện",

               "validDateFrom": "2019-01-01",

               "validDateTo": "2023-01-01",

               "data":

“TA4727935146795|4e677579e1bb856e205669e1bb8774204e68c
3a26e|12/11/2011|1|e1baa570204368e1bba32c2058c3a3205472756e672
0416e2c20487579e1bb876e2043e1bba7204368692c205468c3a06e682070
68e1bb912048e1bb93204368c3ad204d696e685f544e43413033|79 - 040|01/01/2019|-|29/10/2019|7200793514
6795|-|4| 01/01/2023|b7be1cb7220ebc9-7102|$”,


            },

            "addressInfo": {

                "province": {

                    "provinceId": "89",

                    "name": "An Giang",

                    "idHisL2": "805"

                }

            },

            "ethnicInfo": {

                "fullCode": "25",

                "name": "Kinh",

                "idHisL2": "25"

            },

            "countriesInfo": {

                "fullCode": "0",

                "name": "Việt Nam",

                "idHisL2": "0"

            },

            "personalCards": [

                {

                    "type": "CMND",

                    "url": "https://iqms.vnpt.vn/kong/common/fileNew/download?path=5e9e6f29ef9a6800094a9cbe/image_cropper_1618473594945.jpg",

                    "isFront": true

                },

                {

                    "type": "CMND",

                    "url": "https://iqms.vnpt.vn/kong/common/fileNew/download?path=5e9e6f29ef9a6800094a9cbe/image_cropper_1618473616463.jpg",

                    "isFront": false

                }

            ]

        },

        "plevel": 2

    }

}


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã vé tiếp nhận



ticketNumber

integer

Số thứ tự của vé tiếp nhận

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.email

string

Địa chỉ email của khách hàng

customer.phone

string

Số điện thoại của khách hàng (bắt đầu bằng ký tự +84)

customer.genderNumber

string

Giới tính (1: Nam, 2: Nữ)

customer.birthday

string

Ngày sinh (dd/MM/yyyy)

customer.socialInsurance

string json

Thông tin bảo hiểm xã hội

customer.socialInsurance.data

string

Mã QR code quét từ thẻ bảo hiểm

Có thể không có khi không quét được, hoặc đặt lịch trên app

customer.socialInsurance.insuranceObject

string

Đối tượng bảo hiểm

customer.socialInsurance.insuranceNumber

string

Số bảo hiểm

HIS L2 lấy tên này để check BHYT

customer.socialInsurance.primaryHealthcareUnitId

string

Mã đơn vị KCB

customer.socialInsurance.primaryHealthcareUnitName

string

Tên đơn vị KCB

customer.socialInsurance.validDateFrom

string

Ngày bắt đầu có hiệu lực

customer.socialInsurance.validDateTo

string

Ngày kết thúc hiệu lực

customer.addressInfo

string json

Thông tin địa chỉ

customer.addressInfo.province

string json

Thông tin tỉnh

customer.addressInfo.province.provinceId

string

Mã tỉnh

customer.addressInfo.province.name

string

Tên tỉnh

customer.addressInfo.province.idHisL2

string

Mã tỉnh His L2 (DIAPHUONGID)

customer.ethnicInfo

string json

Thông tin dân tộc

customer.ethnicInfo.fullCode

string

Mã dân tộc

customer.ethnicInfo.name

string

Tên dân tộc

customer.ethnicInfo.idHisL2

string

Mã dân tộc His L2 (DANTOCID)

customer.countriesInfo

string

Thông tin quốc tịch

customer.countriesInfo.fullCode

string

Mã quốc tịch

customer.countriesInfo.name

string

Tên quốc tịch

customer.countriesInfo.idHisL2

string

Mã quốc tịch His L2 (DIAPHUONGID)

customer.personalCards

list string json

Danh sách ảnh đính kèm

customer.personalCards.type

string

Loại ảnh (CMND, BHYT, …)

customer.personalCards.url

string

Đường dẫn ảnh

customer.personalCards.isFront

boolean

true: Mặt trước, false: Mặt sau

plevel

integer

Độ ưu tiên của vé

+ 1: Ưu tiên, VIP

+ 2: Đặt lịch

+ 3: Vé hẹn

+ 9: Vé thường

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


6.5.         API hoàn thành tiếp nhận

Xác nhận đã hoàn thành vé tiếp nhận


Input:

  • URL: <domain-name>/kong/booking/queue/ticketCheckedIn/complete
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

    "id": "5f97df481ddde5000955cb63",

    "hospitalId": "79023",

    "customer": {

          "id": "5f97ba8ec3077000096971ea",

            "idHIS ": "BN123456",

            "firstName": "Phạm Hồng Thái",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "genderNumber": 1,

            "birthday": "1998-02-01",

            "socialInsurance": {

               "insuranceNumber": "TA4727935146598",

               "primaryHealthcareUnitId": "79 - 040",

               "primaryHealthcareUnitName": "Bệnh viện đa khoa bưu điện",

               "validDateFrom": "2019-01-01",

               "validDateTo": "2023-01-01",

               "data":

“TA4727935146795|4e677579e1bb856e205669e1bb87742
04e68c3a26e|12/11/2011|1|e1baa570204368e1bba32c2058c3a32
05472756e6720416e2c20487579e1bb876e2043e1bba7204368692
c205468c3a06e68207068e1bb912048e1bb93204368c3a
d204d696e685f544e43413033|79 - 040|01/01/2019|-|29/10/2019|720079
35146795|-|4| 01/01/2023|b7be1cb7220ebc9-7102|$”

            },

            "addressInfo": {

                "province": {

                    "provinceId": "89",

                    "name": "An Giang",

                    "idHisL2": "805"

                }

            },

            "ethnicInfo": {

                "fullCode": "25",

                "name": "Kinh",

                "idHisL2": "25"

            },

            "countriesInfo": {

                "fullCode": "0",

                "name": "Việt Nam",

                "idHisL2": "0"

            },

            "personalCards": [

                {

                    "type": "CMND",

                    "url": "https://iqms.vnpt.vn/kong/common/fileNew/download?path=5e9e6f29ef9a6800094a9cbe/image_cropper_1618473594945.jpg",

                    "isFront": true

                },

                {

                    "type": "CMND",

                    "url": "https://iqms.vnpt.vn/kong/common/fileNew/download?path=5e9e6f29ef9a6800094a9cbe/image_cropper_1618473616463.jpg",

                    "isFront": false

                }

            ]

     }

}


Trong đó:

Key

Type

Mô tả

id

string

Mã vé tiếp nhận

hospitalId

string

Mã bệnh viện theo Quyết định 384/QĐ-BYT. Ví dụ: 79023

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.email

string

Địa chỉ email của khách hàng

customer.phone

string

Số điện thoại của khách hàng (bắt đầu bằng ký tự +84)

customer.genderNumber

string

Giới tính (1: Nam, 2: Nữ)

customer.birthday

string

Ngày sinh (yyyy-MM-dd)

customer.socialInsurance

string json

Thông tin bảo hiểm xã hội

customer.socialInsurance.data

string

Mã QR code quét từ thẻ bảo hiểm

customer.socialInsurance.insuranceObject

string

Đối tượng bảo hiểm

customer.socialInsurance.insuranceNumber

string

Số bảo hiểm

customer.socialInsurance.primaryHealthcareUnitId

string

Mã đơn vị KCB

customer.socialInsurance.primaryHealthcareUnitName

string

Tên đơn vị KCB

customer.socialInsurance.validDateFrom

string

Ngày bắt đầu có hiệu lực

customer.socialInsurance.validDateTo

string

Ngày kết thúc hiệu lực

customer.addressInfo

string json

Thông tin địa chỉ

customer.addressInfo.province

string json

Thông tin tỉnh

customer.addressInfo.province.provinceId

string

Mã tỉnh

customer.addressInfo.province.name

string

Tên tỉnh

customer.addressInfo.province.idHisL2

string

Mã tỉnh His L2 (DIAPHUONGID)

customer.ethnicInfo

string json

Thông tin dân tộc

customer.ethnicInfo.fullCode

string

Mã dân tộc

customer.ethnicInfo.name

string

Tên dân tộc

customer.ethnicInfo.idHisL2

string

Mã dân tộc His L2 (DANTOCID)

customer.countriesInfo

string

Thông tin quốc tịch

customer.countriesInfo.fullCode

string

Mã quốc tịch

customer.countriesInfo.name

string

Tên quốc tịch

customer.countriesInfo.idHisL2

string

Mã quốc tịch His L2 (DIAPHUONGID)

customer.personalCards

list string json

Danh sách ảnh đính kèm

customer.personalCards.type

string

Loại ảnh (CMND, BHYT, …)

customer.personalCards.url

string

Đường dẫn ảnh

customer.personalCards.isFront

boolean

true: Mặt trước, false: Mặt sau


Output: json

Trường hợp thành công:

{

    "errorCode": 0,

    "errorMsg": "Thành công",

    "data": {

        "id": "5f97df481ddde5000955cb63",

        "ticketNumber": 2000,

        "customer": {

            "id": "5f97ba8ec3077000096971ea",

            "idHIS ": "BN123456",

            "firstName": "Phạm Hồng Thái",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "genderNumber": 1,

            "birthday": "1998-02-01",

            "socialInsurance": {

               "insuranceNumber": "TA4727935146598",

               "primaryHealthcareUnitId": "79 - 040",

               "primaryHealthcareUnitName": "Bệnh viện đa khoa bưu điện",

               "validDateFrom": "2019-01-01",

               "validDateTo": "2023-01-01",

               "data":

“TA4727935146795|4e677579e1bb856e205669e1bb8774204e68
c3a26e|12/11/2011|1|e1baa570204368e1bba32c2058c3a32
05472756e6720416e2c20487579e1bb876e2043e1bba
7204368692c205468c3a06e6820706
8e1bb912048e1bb93204368c3ad204d696e685f544e43413033|79 - 040|01/01/2019|-|29/10/2019|7200793
5146795|-|4| 01/01/2023|b7be1cb7220ebc9-7102|$”,


            },

            "addressInfo": {

                "province": {

                    "provinceId": "89",

                    "name": "An Giang",

                    "idHisL2": "805"

                }

            },

            "ethnicInfo": {

                "fullCode": "25",

                "name": "Kinh",

                "idHisL2": "25"

            },

            "countriesInfo": {

                "fullCode": "0",

                "name": "Việt Nam",

                "idHisL2": "0"

            },

            "personalCards": [

                {

                    "type": "CMND",

                    "url": "https://iqms.vnpt.vn/kong/common/fileNew/download?path=5e9e6f29ef9a6800094a9cbe/image_cropper_1618473594945.jpg",

                    "isFront": true

                },

                {

                    "type": "CMND",

                    "url": "https://iqms.vnpt.vn/kong/common/fileNew/download?path=5e9e6f29ef9a6800094a9cbe/image_cropper_1618473616463.jpg",

                    "isFront": false

                }

            ]

        },

        "plevel": 2

    }

}


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã vé tiếp nhận



ticketNumber

integer

Số thứ tự của vé tiếp nhận

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.email

string

Địa chỉ email của khách hàng

customer.phone

string

Số điện thoại của khách hàng (bắt đầu bằng ký tự +84)

customer.genderNumber

string

Giới tính (1: Nam, 2: Nữ)

customer.birthday

string

Ngày sinh (dd/MM/yyyy)

customer.socialInsurance

string json

Thông tin bảo hiểm xã hội

customer.socialInsurance.data

string

Mã QR code quét từ thẻ bảo hiểm

Có thể không có khi không quét được, hoặc đặt lịch trên app

customer.socialInsurance.insuranceObject

string

Đối tượng bảo hiểm

customer.socialInsurance.insuranceNumber

string

Số bảo hiểm

HIS L2 lấy tên này để check BHYT

customer.socialInsurance.primaryHealthcareUnitId

string

Mã đơn vị KCB

customer.socialInsurance.primaryHealthcareUnitName

string

Tên đơn vị KCB

customer.socialInsurance.validDateFrom

string

Ngày bắt đầu có hiệu lực

customer.socialInsurance.validDateTo

string

Ngày kết thúc hiệu lực

customer.addressInfo

string json

Thông tin địa chỉ

customer.addressInfo.province

string json

Thông tin tỉnh

customer.addressInfo.province.provinceId

string

Mã tỉnh

customer.addressInfo.province.name

string

Tên tỉnh

customer.addressInfo.province.idHisL2

string

Mã tỉnh His L2 (DIAPHUONGID)

customer.ethnicInfo

string json

Thông tin dân tộc

customer.ethnicInfo.fullCode

string

Mã dân tộc

customer.ethnicInfo.name

string

Tên dân tộc

customer.ethnicInfo.idHisL2

string

Mã dân tộc His L2 (DANTOCID)

customer.countriesInfo

string

Thông tin quốc tịch

customer.countriesInfo.fullCode

string

Mã quốc tịch

customer.countriesInfo.name

string

Tên quốc tịch

customer.countriesInfo.idHisL2

string

Mã quốc tịch His L2 (DIAPHUONGID)

customer.personalCards

list string json

Danh sách ảnh đính kèm

customer.personalCards.type

string

Loại ảnh (CMND, BHYT, …)

customer.personalCards.url

string

Đường dẫn ảnh

customer.personalCards.isFront

boolean

true: Mặt trước, false: Mặt sau

plevel

integer

Độ ưu tiên của vé

+ 1: Ưu tiên, VIP

+ 2: Đặt lịch

+ 3: Vé hẹn

+ 9: Vé thường

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API

7.              Lấy vé thực hiện tại phòng

Vé thực hiện tại phòng được thiết kế cho các nghiệp vụ có thời gian dài. Vé thực hiện này chỉ đáp ứng thứ tự trước sau (FIFO) để khách hàng/bệnh nhân càm thấy được công bằng khi chờ thực hiện lâu.

Lưu ý: Vé mới hơn có số thứ tự lớn hơn. Một người có thể có nhiều vé thực hiện và các vé này sẽ thông tin đến ứng dụng của người dùng vé gần tới lượt.


7.1.         API lấy danh sách phòng tiếp nhận và nhân sự

Input:

  • URL: <domain-name>/kong/booking/unit/clinic/getAllWithEmpInfo? type=CLINIC&unitId=5f179eb55bddd900094e8ac3
  • HTTPs method: GET
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

Output: json

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 10,

        "numOfElements": 1,

        "totalElements": 1,

        "totalPages": 1,

        "content": [

            {

                "id": "5f28e0671f3c2d000aa0ac0b",

                "rowStatus": 1,

                "rowStatusTst": 1596514407,

                "createdAt": 1596514407,

                "type": "CLINIC",

                "code": "002",

                "name": "Phòng thực hiện",

                "description": "Phòng thực hiện",

                "unitId": "5f179eb55bddd900094e8ac3",

                "services": [

                    {

                        "id": "5ed75d329a11790009183bbc",

                        "rowStatus": 1,

                        "rowStatusTst": 1603181284,

                        "createdAt": 1591172402,

                        "name": "Tiếp nhận hồ sơ",

                        "description": "Ủy ban Nhân dân",

                        "area": {

                            "id": "5e7329e36c0444431c1aaeaa",

                            "name": "Hành chính",

                            "areaStatus": 1

                        }

                    }

                ],

               "employees": [

                    {

                        "id": "5f558ac09bae4d000ab6b1d1",

                        "firstName": "Lưu Hữu Phước",

                        "phone": "+84912341233",

                        "address": "109 Cong Hoa, Tân Bình, HCMC",

                        "gender": "M",

                        "birthday": "1990-01-01"

                    }

                ]

            }

        ]

    }

}


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

page

integer

Trang hiện tại. Bắt đầu từ 0

size

integer

Số lượng phần tử tối đa của một trang

numOfElements

integer

Số lượng phần tử đang hiển thị của trang

totalElements

integer

Tổng số phần tử

totalPages

integer

Tổng số trang

content

list

List dữ liệu phần tử trả về

id

string

Mã phòng

rowStatus

integer

Trạng thái của phòng

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

type

string

Loại phòng (COUNTER: Quầy, CLINIC: phòng)

code

string

Mã code phòng

name

string

Tên phòng

description

string

Mô tả phòng

unitId

string

Mã đơn vị

services

string json

Danh sách dịch vụ

services.id

string

Mã dịch vụ

services.rowStatus

integer

Trạng thái phòng

services.rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

services.createdAt

long

Thời điểm tạo (định dạng timestamp)

services.name

string

Tên dịch vụ

services.description

string

Mô tả dịch vụ

services.area.id

string

Mã lĩnh vực

services.area.name

string

Tên lĩnh vực

services.area.areaStatus

integer

Trạng thái lĩnh vực

employees

string json

Danh sách nhân viên

employees.id

string

Mã nhân viên

employees.firstName

string

Tên nhân viên

employees.phone

string

Số điện thoại nhân viên

employees.address

string

Địa chỉ nhân viên

employees.gender

string

Giới tính nhân viên

employees.birthday

string

Ngày sinh nhân viên

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API



7.2.         API tạo vé vào phòng

Input:

  • URL: <domain-name>/kong/booking/queue/ticket
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

    "ticketCheckInId": "606d503101efc40009f6225c",

    "unitId": "5eba6116584cbf0009bfd017",

    "customer": {

          "id": "5f97ba8ec3077000096971ea",

          "idHIS": "BN123456"

    },

    "employeeId": "5f27b92d1f3c2d000aa0abfc",

    "clinicId": "5f505af96ae1aa00096bc750"

}

   

Trong đó:

Key

Type

Mô tả

ticketCheckInId

string

Mã vé tiếp nhận

unitId

string

Mã đơn vị

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.idHIS

string

Mã id HIS

employeeId

string

Mã nhân viên

clinicId

string

Mã phòng


Output: json

Trường hợp thành công:

{

    "code": 0,

    "msg": "Thành công",

    "data": {

        "id": "5f98cbf71ddde5000955cb69",

        "rowStatus": 40,

        "arrivalDate": "2020-10-28",

        "ticketNumber": 1,

        "rowStatusTst": 1603849207,

        "createdAt": 1603849207,

        "customer": {

            "id": "5f97ba8ec3077000096971ea",

            "firstName": "Phạm Hồng Thái",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "gender": "M"

        },

        "unitId": "5eba6116584cbf0009bfd017",

        "serviceId": "5daff3b2685c313b202aa24a",

        "employeeId": "5ec20b6df46c830009abe503",

        "clinicId": "5eba682b584cbf0009bfd027",

        "appointmentId": "5f98cb72c3077000096971f7",

        "ticketCheckInId": "5f98cb8c1ddde5000955cb66",

        "ticketStatusLogs": [

            {

                "status": 40,

                "statusTst": 1603849207

            }

        ]

    }

}


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã vé thứ tự

rowStatus

integer

Trạng thái của vé thứ tự. Ví dụ: Chờ thực hiện : 40

arrivalDate

string

Ngày hẹn (yyyy-MM-dd)

ticketNumber

integer

Số thứ tự của vé thứ tự

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.email

string

Địa chỉ email của khách hàng

customer.phone

string

Số điện thoại cua khách hàng (bắt đầu bằng ký tự +84)

customer.gender

string

Giới tính (M: nam, F: nữ)

unitId

string

Mã đơn vị

serviceId

string

Mã dịch vụ

employeeId

string

Mã nhân viên

clinicId

string

Mã phòng

appointmentId

string

Mã lịch hẹn

ticketCheckInId

string

Mã vé tiếp nhận

ticketStatusLogs

list

Nhật ký trạng thái của vé thứ tự

ticketStatusLogs.status

integer

Trạng thái vé thứ tự

ticketStatusLogs.statusTst

long

Thời điểm thay đổi trạng thái (định dạng timestamp)

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


7.3.         API lấy danh sách vé thực hiện của khách hàng

Input:

  • URL: <domain-name>/kong/booking/queue/ticket?arrivalDate=2021-03-08&unitId=5f7bd0c7f0be200009e99a84&customerId=5f72f6c99fe7410009d0b4a
  • HTTPs method: GET
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

Output: json

Trường hợp thành công:

{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "page": 0,

        "size": 10,

        "numOfElements": 10,

        "totalElements": 23467,

        "totalPages": 2347,

        "content": [

            {

                "id": "6045960bc8ff73000992c55e",

                "rowStatus": 70,

                "arrivalDate": "2021-03-08",

                "ticketNumber": 1,

                "rowStatusTst": 1615173796,

                "createdAt": 1615173131,

                "customer": {

                    "id": "5f72f6c99fe7410009d0b4ca",

                    "firstName": "Nguyen Hien"

                    "phone": "+84921293400",

                    "gender": "M",

                    "birthday": "2021-02-28"

                },

                "unitId": "5f7bd0c7f0be200009e99a84",

                "serviceId": "5ebb9380379b59000941b8d9",

                "employeeId": "5f7bdeb0f0be200009e99aa9",

                "clinicId": "5f7eb83835239d000a5157ec",

                "appointmentId": "60457db20c769200091c9ccc",

                "ticketCheckInId": "60457dedc8ff73000992c559",

                "ticketStatusLogs": [

                    {

                        "status": 40,

                        "statusTst": 1615173131

                    },

                    {

                        "status": 41,

                        "statusTst": 1615173750

                    },

                    {

                        "status": 43,

                        "statusTst": 1615173768

                    },

                    {

                        "status": 70,

                        "statusTst": 1615173796

                    }

                ],

                "queueTime": 619,

                "processTime": 28

            }

        ]

    }

}


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp tìm có dữ liệu

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

page

integer

Trang hiện tại. Bắt đầu từ 0

size

integer

Số lượng phần tử tối đa của một trang

numOfElements

integer

Số lượng phần tử đang hiển thị của trang

totalElements

integer

Tổng số phần tử

totalPages

integer

Tổng số trang

content

list

List dữ liệu phần tử trả về

id

string

Mã vé thứ tự

rowStatus

integer

Trạng thái của vé thứ tự

arrivalDate

string

Ngày hẹn

ticketNumber

integer

Số vé

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.phone

string

Số điện thoại khách hàng

customer.gender

string

Giới tính

customer.birthday

string

Ngày sinh của khách hàng

unitId

string

Mã đơn vị

serviceId

string

Mã dịch vụ

employeeId

string

Mã nhân viên

clinicId

string

Mã phòng

appointmentId

string

Mã lịch hẹn

ticketCheckInId

string

Mã vé tiếp nhận

ticketStatusLogs.status

integer

Trạng thái vé

ticketStatusLogs.statusTst

integer

Thời điểm trạng thái vé (định dạng timestamp)

queueTime

integer

Thời gian xếp hàng

processTime

integer

Thời gian thực hiện

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


7.4.         API gọi vé thực hiện tại phòng

Input:

  • URL: <domain-name>/kong/booking/queue/queue/v2/call
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

    "unitId": "5eba6116584cbf0009bfd017",

    "clinicId": "5eba682b584cbf0009bfd027",

    "ticketNumber": 1

} 


Trong đó:

Key

Type

Mô tả

unitId

string

Mã đơn vị

clinicId

string

Mã phòng

ticketNumber

integer

Số cần gọi lại.

Nếu ticketNumber = null, API sẽ tự động trả về số tiếp theo.


Output: json

Trường hợp thành công:

{

    "code": 0,

    "msg": "Thành công",

    "data": {

        "id": "5f98cbf71ddde5000955cb69",

        "rowStatus": 41,

        "arrivalDate": "2020-10-28",

        "ticketNumber": 1,

        "rowStatusTst": 1603849207,

        "createdAt": 1603849207,

        "customer": {

            "id": "5f97ba8ec3077000096971ea",

            "firstName": "Phạm Hồng Thái",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "gender": "M"

        },

        "unitId": "5eba6116584cbf0009bfd017",

        "serviceId": "5daff3b2685c313b202aa24a",

        "employeeId": "5ec20b6df46c830009abe503",

        "clinicId": "5eba682b584cbf0009bfd027",

        "appointmentId": "5f98cb72c3077000096971f7",

        "ticketCheckInId": "5f98cb8c1ddde5000955cb66",

        "ticketStatusLogs": [

            {

                "status": 40,

                "statusTst": 1603849207

            }

        ]

    }

} 


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã vé thứ tự

rowStatus

integer

Trạng thái của vé thứ tự. Ví dụ: Gọi số thực hiện : 41

arrivalDate

string

Ngày hẹn (yyyy-MM-dd)

ticketNumber

integer

Số thứ tự của vé thứ tự

rowStatusTst

long

Thời điểm cập nhật trạng thái (định dạng timestamp)

createdAt

long

Thời điểm tạo (định dạng timestamp)

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.email

string

Địa chỉ email của khách hàng

customer.phone

string

Số điện thoại cua khách hàng (bắt đầu bằng ký tự +84)

customer.gender

string

Giới tính (M: nam, F: nữ)

unitId

string

Mã đơn vị

serviceId

string

Mã dịch vụ

employeeId

string

Mã nhân viên

clinicId

string

Mã phòng

appointmentId

string

Mã lịch hẹn

ticketCheckInId

string

Mã vé tiếp nhận

ticketStatusLogs

list

Nhật ký trạng thái của vé thứ tự

ticketStatusLogs.status

integer

Trạng thái vé thứ tự

ticketStatusLogs.statusTst

long

Thời điểm thay đổi trạng thái (định dạng timestamp)

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API



7.5.         API xác nhận thực hiện tại phòng

Xác nhận đã bắt đầu thực hiện


Input:

  • URL: <domain-name>/kong/booking/queue/ticket/start
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

        "id":"5f98cbf71ddde5000955cb69"

}


Trong đó:

Key

Type

Mô tả

id

string

Mã vé thứ tự


Output: json

Trường hợp thành công:

{

    "code": 0,

    "msg": "Thành công",

    "data": {

        "id": "5f98cbf71ddde5000955cb69",

        "ticketNumber": 1,

        "customer": {

            "id": "5f97ba8ec3077000096971ea",

            "firstName": "Phạm Hồng Thái",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "gender": "M"

        }

    }

} 


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã vé thứ tự

ticketNumber

integer

Số thứ tự của vé thứ tự

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.email

string

Địa chỉ email của khách hàng

customer.phone

string

Số điện thoại cua khách hàng (bắt đầu bằng ký tự +84)

customer.gender

string

Giới tính (M: nam, F: nữ)

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API



7.6.         API hoàn thành thực hiện tại phòng

Xác nhận đã hoàn thành thực hiện


Input:

  • URL: <domain-name>/kong/booking/queue/ticket/complete
  • HTTPs method: POST
  • Header:


Content-Type

application/json

apiToken

${apiToken}

tokenKey

${tokenKey}

secretKey

${secretKey}


Body:

{

        "id":"5f98cbf71ddde5000955cb69"

}


Trong đó:

Key

Type

Mô tả

id

string

Mã vé thứ tự


Output: json

Trường hợp thành công:

{

    "code": 0,

    "msg": "Thành công",

    "data": {

        "id": "5f98cbf71ddde5000955cb69",

        "ticketNumber": 1,

        "customer": {

            "id": "5f97ba8ec3077000096971ea",

            "firstName": "Phạm Hồng Thái",

            "email": "phamhongthai@vnpt.vn",

            "phone": "+84946360211",

            "gender": "M"

        }

    }

} 


Trường hợp lỗi:

{

    "errorCode": integer,

    "errorMsg": string,

    "data": null

}

  

Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi. Ví dụ: Thành công : 0

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã vé thứ tự

ticketNumber

integer

Số thứ tự của vé thứ tự

customer

string json

Khách hàng

customer.id

string

Mã khách hàng

customer.firstName

string

Tên khách hàng

customer.email

string

Địa chỉ email của khách hàng

customer.phone

string

Số điện thoại cua khách hàng (bắt đầu bằng ký tự +84)

customer.gender

string

Giới tính (M: nam, F: nữ)

Trường hợp không thành công

errorCode

integer

Mã lỗi. Ví dụ: 4 : mã lỗi không tìm thấy thông tin

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API



8.              Các API danh mục HIS cung cấp

8.1.         API lấy danh sách khoa

- URL: HIS L2  cung cấp

- Method: GET

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Query Param:

  • hopitalId: Mã bệnh viện

Output: json

Trường hợp thành công:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "content": [

            {

                "code": " B9_DVGTNTQ",

                "codeBYT": "K19",

                "name": "Đơn vị giảm tải Ngoại tổng quát",

                "type": 19,              

            },

            {

                "code": "K0004",

                "name": "Khoa khám bệnh",

                "description": " Khoa khám bệnh",

                

            }

        ]

    }

}



Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

code

string

Mã code khoa

codeBYT

string

Mã code khoa (BYT)

name

string

Tên khoa

type

string

Loại khoa

Trường hợp không thành công

errorCode

integer

Mã lỗi. ( Tham khảo mục 8)

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


Ví dụ giao diện thông tin


8.2.         API lấy danh sách quầy phòng

API lấy quầy phòng của khoa

- URL: HIS L2  cung cấp

- Method: GET

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Query Param:

  • hopitalId: Mã bệnh viện
  • departmentId: Mã khoa

Output: json

Trường hợp thành công:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "content": [

            {

                "id": " B9NT",

                "code": " B9VPNT",

                "name": "(B9) NHÀ THUỐC",

                "type": 1

                "typeName": "Khám bệnh",

                "departmentId": " B9_DVGTNTQ",


            },

            {

                "id": " B9NT",

                "code": " B9VPNT",

                "name": "(B9) NHÀ THUỐC",

                "type": 1

                "typeName": "Khám bệnh",

                "departmentId": " B9_DVGTNTQ",


            },

        ]

    }

}



Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

data

string json

Thông tin kết quả của API

id

string

Mã phòng

code

string

Số phòng

name

string

Tên phòng

type

string

Loại phòng

typeName

string

Tên loại phòng

departmentId

string

Mã khoa

Trường hợp không thành công

errorCode

integer

Mã lỗi. ( Tham khảo mục 8)

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


Nội dung lấy như giao diện


8.3.         API lấy danh sách bác sĩ

- URL: HIS L2  cung cấp

- Method: GET

- Header:

  • apiToken: Thông tin apiToken lấy từ bước đăng nhập

- Query Param:

  • hopitalId: Mã bệnh viện
  • departmentId: Mã khoa

Output: json

Trường hợp thành công:


{

    "errorCode": 0,

    "errorMsg": "Success",

    "data": {

        "content": [

            {

                "id": "BVBDHCM.BANGTRUNGLAP",

                "code": "0005734/AG-CCHN",

                "name": "BS. Bằng Trung Lập",

                "departmentId": " B9_DVGTNTQ",

                "roomId": " B9VPNT",

                "type": 1

                "typeName": "Bác sĩ",

                "position": "Giám đốc",

                "diplomas": "CKI",

            },

            {

                "id": "BVBDHCM.BANGTRUNGLAP",

                "code": "0005734/AG-CCHN",

                "name": "BS. Bằng Trung Lập",

                "departmentId": " B9_DVGTNTQ",

                "roomId": " B9VPNT",

                "type": 1

                "typeName": "Bác sĩ",

                "position": "Giám đốc",

                "diplomas": "CKI",

            }

        ]

    }

}



Trong đó:

Key

Type

Mô tả

Trường hợp thành công

errorCode

integer

Mã lỗi

errorMsg

string

Thông báo lỗi

id

string json

Mã nhân viên

code

string

Mã bác sĩ

name

string

Tên nhân viên

departmentId

string

Mã khoa

roomId

string

Mã phòng

type

string

Loại nhân viên

typeName

string

Tên loại nhân viên

Trường hợp không thành công

errorCode

integer

Mã lỗi. ( Tham khảo mục 8)

errorMsg

string

Thông báo lỗi

data

string

Thông tin kết quả của API


Ví dụ giao diện thông tin





9.              Thông tin trạng thái và mã lỗi

Mã ErrorCode được sử dụng trên hệ thống:

Mã Lỗi

Mô tả

0

Thành công

1

ApiToken hết hiệu lực

2

Đã tồn tại dữ liệu

3

Quyền truy cập bị  từ chối

4

Không tìm thấy dữ liệu

5

Hết hạn

6

Thông tin Input không hợp lệ, không đúng định dạng

7

Mã OTP không hợp lệ

8

Thông tin username hoặc mật khẩu không đúng

10

Lỗi hệ thống





Mã Trạng thái lịch hẹn trên hệ thống:

Mã trạng thái

Mô tả

0

Mới

10

Đã Duyệt

20

Chờ Tiếp Nhận

21

Đang Gọi số khâu Tiếp nhận

22

Nhỡ Tiếp nhận

23

Đang Tiếp nhận

24

Đã Tiếp nhận

29

Hủy Tiếp nhận

30


40

Chờ Phục vụ

41

Đang Gọi số khâu Phục vụ

42

Nhỡ Phục vụ

43

Đang Phục vụ

44

Hủy Phục vụ

70

Hoàn thành

80

Hệ thống Hủy lịch hẹn

90

Người dùng Hủy lịch hẹn

  • 1. Danh sách Endpoint tích hợp Đặt lịch hẹn iQMS
  • 2. Xác thực người dùng
  • 3. Quản lý thông tin đơn vị
  • 4. Luồng nghiệp vụ đặt lịch hẹn trên App hoặc Web của khách hàng
  • 5. Quản lý lịch hẹn
  • 6. Lấy vé tiếp nhận dịch vụ
  • 7. Lấy vé thực hiện tại phòng
  • 8. Các API danh mục HIS cung cấp
  • 9. Thông tin trạng thái và mã lỗi

Ứng dụng VNPT IQMS

Đặt lịch trực tuyến, thông báo, gọi số "tận tay" và hơn thế nữa...

HỆ THỐNG ĐẶT LỊCH HẸN
Chủ động thời gian, không còn chờ đợi

CÔNG TY CÔNG NGHỆ THÔNG TIN VNPT

Trụ sở 57 Huỳnh Thúc Kháng - Đống Đa - Hà Nội
Hỗ trợ 18001260
Email cskh@vnpt.vn

HỖ TRỢ

  • Hướng dẫn sử dụng
  • Điều khoản sử dụng
  • Chính sách bảo mật
Bản quyền © 2019 CÔNG TY CÔNG NGHỆ THÔNG TIN VNPT- Mọi quyền được bảo lưu. - v3.0.18
Loading...