Apricot Public API (1.0.3)

Download OpenAPI specification:

All responses are wrapped in a common envelope: { "status": "SUCCESS" | "FAIL", "errorCode": string|null, "message": string|null, "data": ... }.

adr

Adverse drug reaction management

Get the adverse drug reaction record for a patient

Authorizations:
bearerAuth
path Parameters
patientId
required
string

The unique identifier of the patient.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Replace the adverse drug reaction record for a patient

Replaces the patient's entire ADR record with a list of ingredient-based adverse drug reactions.

Authorizations:
bearerAuth
path Parameters
patientId
required
string

The unique identifier of the patient.

Request Body schema: application/json
required
Array of objects (AdrIngredient)

Ingredient-based adverse drug reactions recorded for this patient.

Responses

Request samples

Content type
application/json
{
  • "ingredients": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

allergy

Allergy record management

Get the allergy record for a patient

Authorizations:
bearerAuth
path Parameters
patientId
required
string

The unique identifier of the patient.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Replace the allergy record for a patient

Replaces the patient's entire allergy record with a list of ingredient-based allergens.

Authorizations:
bearerAuth
path Parameters
patientId
required
string

The unique identifier of the patient.

Request Body schema: application/json
required
isNkda
boolean
Default: false

No Known Drug Allergy flag.

Array of objects (AllergenIngredient)

Ingredient-based allergens recorded for this patient.

Responses

Request samples

Content type
application/json
{
  • "isNkda": false,
  • "ingredients": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

auth

Login and token lifecycle

Log in with email and password

Request Body schema: application/json
required
email
required
string <email>
password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "pa$$word"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Exchange a refresh token for a new access token

Request Body schema: application/json
required
refreshToken
required
string

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

clinic

Clinic profile management

Create a new clinic profile

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

phone
string
fax
string
email
string
website
string
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    },
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "website": "string",
  • "address": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all clinic profiles (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create clinic profiles

Create up to 1000 clinic profiles in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Clinic) [ 1 .. 1000 ] items

List of clinic profiles to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a clinic by ID

Authorizations:
bearerAuth
path Parameters
clinicId
required
string

The unique identifier of the clinic.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing clinic profile

Authorizations:
bearerAuth
path Parameters
clinicId
required
string

The unique identifier of the clinic.

Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

phone
string
fax
string
email
string
website
string
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    },
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "website": "string",
  • "address": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a clinic profile

Authorizations:
bearerAuth
path Parameters
clinicId
required
string

The unique identifier of the clinic.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

drug

Drug catalogue management

Create a new drug

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string

External system identifier for this drug.

code
required
string

Unique drug code within the clinic system.

name
required
string
hkRegisterNo
string

Registered drug number.

hkRegisterName
string

Registered drug name.

ingredients
Array of strings

Drug ingredient codes or names from the drug office registration.

legalClassification
string

Legal classification of the drug.

manufacturer
string

Manufacturer of the drug.

certHolder
string

Certificate holder of the drug.

doseForm
string

Dosage form of the drug.

doseFormExtraInfo
string

Extra information about the dosage form.

strength
string

Strength of the drug.

strengthExtraInfo
string

Extra information about the strength.

allergenGroups
Array of strings

Allergen groups associated with this drug.

tradeName
string

Trade or brand name of the drug.

drugLabel
string

Label display text for the drug.

clinicIds
Array of strings

IDs of the clinics where this drug is available (references Clinic).

practitionerIds
Array of strings

IDs of the practitioners authorized to use this drug (references Practitioner).

isSyrup
boolean
Default: false
isDangerous
boolean
Default: false
isInjection
boolean
Default: false
isVaccine
boolean
Default: false
Array of objects (DrugUnitSetting)

Unit conversion and usage configurations for this drug.

Array of objects (DrugVendor)

Vendor and purchasing configurations for this drug.

remarks
string
conflictDrugIds
Array of strings

IDs of drugs known to have interactions with this drug (references Drug).

supportDrugIds
Array of strings

IDs of support drugs associated with this drug (references Drug).

alternativeDrugIds
Array of strings

IDs of alternative drugs for this drug (references Drug).

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": "string",
  • "hkRegisterNo": "string",
  • "hkRegisterName": "string",
  • "ingredients": [
    ],
  • "legalClassification": "string",
  • "manufacturer": "string",
  • "certHolder": "string",
  • "doseForm": "string",
  • "doseFormExtraInfo": "string",
  • "strength": "string",
  • "strengthExtraInfo": "string",
  • "allergenGroups": [
    ],
  • "tradeName": "string",
  • "drugLabel": "string",
  • "clinicIds": [
    ],
  • "practitionerIds": [
    ],
  • "isSyrup": false,
  • "isDangerous": false,
  • "isInjection": false,
  • "isVaccine": false,
  • "unitSettings": [
    ],
  • "vendors": [
    ],
  • "remarks": "string",
  • "conflictDrugIds": [
    ],
  • "supportDrugIds": [
    ],
  • "alternativeDrugIds": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all drugs (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create drugs

Create up to 1000 drug records in a single request. Each item is processed independently; the response reports per-item success or failure.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Drug) [ 1 .. 1000 ] items

List of drug records to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a drug by ID

Authorizations:
bearerAuth
path Parameters
drugId
required
string

The unique identifier of the drug record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing drug

Authorizations:
bearerAuth
path Parameters
drugId
required
string

The unique identifier of the drug record.

Request Body schema: application/json
required
externalId
string

External system identifier for this drug.

code
required
string

Unique drug code within the clinic system.

name
required
string
hkRegisterNo
string

Registered drug number.

hkRegisterName
string

Registered drug name.

ingredients
Array of strings

Drug ingredient codes or names from the drug office registration.

legalClassification
string

Legal classification of the drug.

manufacturer
string

Manufacturer of the drug.

certHolder
string

Certificate holder of the drug.

doseForm
string

Dosage form of the drug.

doseFormExtraInfo
string

Extra information about the dosage form.

strength
string

Strength of the drug.

strengthExtraInfo
string

Extra information about the strength.

allergenGroups
Array of strings

Allergen groups associated with this drug.

tradeName
string

Trade or brand name of the drug.

drugLabel
string

Label display text for the drug.

clinicIds
Array of strings

IDs of the clinics where this drug is available (references Clinic).

practitionerIds
Array of strings

IDs of the practitioners authorized to use this drug (references Practitioner).

isSyrup
boolean
Default: false
isDangerous
boolean
Default: false
isInjection
boolean
Default: false
isVaccine
boolean
Default: false
Array of objects (DrugUnitSetting)

Unit conversion and usage configurations for this drug.

Array of objects (DrugVendor)

Vendor and purchasing configurations for this drug.

remarks
string
conflictDrugIds
Array of strings

IDs of drugs known to have interactions with this drug (references Drug).

supportDrugIds
Array of strings

IDs of support drugs associated with this drug (references Drug).

alternativeDrugIds
Array of strings

IDs of alternative drugs for this drug (references Drug).

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": "string",
  • "hkRegisterNo": "string",
  • "hkRegisterName": "string",
  • "ingredients": [
    ],
  • "legalClassification": "string",
  • "manufacturer": "string",
  • "certHolder": "string",
  • "doseForm": "string",
  • "doseFormExtraInfo": "string",
  • "strength": "string",
  • "strengthExtraInfo": "string",
  • "allergenGroups": [
    ],
  • "tradeName": "string",
  • "drugLabel": "string",
  • "clinicIds": [
    ],
  • "practitionerIds": [
    ],
  • "isSyrup": false,
  • "isDangerous": false,
  • "isInjection": false,
  • "isVaccine": false,
  • "unitSettings": [
    ],
  • "vendors": [
    ],
  • "remarks": "string",
  • "conflictDrugIds": [
    ],
  • "supportDrugIds": [
    ],
  • "alternativeDrugIds": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a drug

Authorizations:
bearerAuth
path Parameters
drugId
required
string

The unique identifier of the drug record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

drug-caution

Drug caution management

Create a new drug caution

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all drug cautions (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create drug cautions

Create up to 1000 drug cautions in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (DrugCaution) [ 1 .. 1000 ] items

List of drug cautions to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a drug caution by ID

Authorizations:
bearerAuth
path Parameters
drugCautionId
required
string

The unique identifier of the drug caution.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing drug caution

Authorizations:
bearerAuth
path Parameters
drugCautionId
required
string

The unique identifier of the drug caution.

Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a drug caution

Authorizations:
bearerAuth
path Parameters
drugCautionId
required
string

The unique identifier of the drug caution.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

drug-dosage

Drug dosage management

Create a new drug dosage

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

quantity
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    },
  • "quantity": 0.1
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all drug dosages (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create drug dosages

Create up to 1000 drug dosages in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (DrugDosage) [ 1 .. 1000 ] items

List of drug dosages to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a drug dosage by ID

Authorizations:
bearerAuth
path Parameters
drugDosageId
required
string

The unique identifier of the drug dosage.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing drug dosage

Authorizations:
bearerAuth
path Parameters
drugDosageId
required
string

The unique identifier of the drug dosage.

Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

quantity
required
number <double>

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    },
  • "quantity": 0.1
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a drug dosage

Authorizations:
bearerAuth
path Parameters
drugDosageId
required
string

The unique identifier of the drug dosage.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

drug-frequency

Drug frequency management

Create a new drug frequency

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

frequency
required
integer

Number of times per day the drug is administered.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    },
  • "frequency": 0
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all drug frequencies (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create drug frequencies

Create up to 1000 drug frequencies in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (DrugFrequency) [ 1 .. 1000 ] items

List of drug frequencies to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a drug frequency by ID

Authorizations:
bearerAuth
path Parameters
drugFrequencyId
required
string

The unique identifier of the drug frequency.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing drug frequency

Authorizations:
bearerAuth
path Parameters
drugFrequencyId
required
string

The unique identifier of the drug frequency.

Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

frequency
required
integer

Number of times per day the drug is administered.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    },
  • "frequency": 0
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a drug frequency

Authorizations:
bearerAuth
path Parameters
drugFrequencyId
required
string

The unique identifier of the drug frequency.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

drug-instruction

Drug instruction management

Create a new drug instruction

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all drug instructions (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create drug instructions

Create up to 1000 drug instructions in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (DrugInstruction) [ 1 .. 1000 ] items

List of drug instructions to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a drug instruction by ID

Authorizations:
bearerAuth
path Parameters
drugInstructionId
required
string

The unique identifier of the drug instruction.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing drug instruction

Authorizations:
bearerAuth
path Parameters
drugInstructionId
required
string

The unique identifier of the drug instruction.

Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a drug instruction

Authorizations:
bearerAuth
path Parameters
drugInstructionId
required
string

The unique identifier of the drug instruction.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

drug-unit

Drug unit management

Create a new drug unit

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all drug units (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create drug units

Create up to 1000 drug units in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (DrugUnit) [ 1 .. 1000 ] items

List of drug units to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a drug unit by ID

Authorizations:
bearerAuth
path Parameters
drugUnitId
required
string

The unique identifier of the drug unit.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing drug unit

Authorizations:
bearerAuth
path Parameters
drugUnitId
required
string

The unique identifier of the drug unit.

Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a drug unit

Authorizations:
bearerAuth
path Parameters
drugUnitId
required
string

The unique identifier of the drug unit.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

encounter

Encounter (clinical visit) management — eHealth encounter record is generated nightly from each synced encounter

Create a encounter record

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
patientId
required
string

Clinic patient code identifying the patient.

clinicId
required
string

ID of the clinic where the visit takes place (references Clinic).

practitionerId
required
string

ID of the attending practitioner (references Practitioner). Used by the eHealth service to determine encounter eligibility.

bookingTime
required
string <date-time>

Encounter start time.

bookingEndTime
required
string <date-time>

Encounter end time.

checkInTime
string <date-time>
status
string
Enum: "booked" "arrived" "in_consultation" "dispensary" "checkout" "completed" "no_show" "rescheduled" "cancelled"
visitReasonIds
required
Array of strings

IDs of the visit reasons (references VisitReason).

remarks
string

Doctor's remarks for the visit.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "patientId": "string",
  • "clinicId": "string",
  • "practitionerId": "string",
  • "bookingTime": "2000-01-01T00:00:00Z",
  • "bookingEndTime": "2019-08-24T14:15:22Z",
  • "checkInTime": "2019-08-24T14:15:22Z",
  • "status": "booked",
  • "visitReasonIds": [
    ],
  • "remarks": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all encounter records (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk sync encounter records

Sync up to 1000 encounter records in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Encounter) [ 1 .. 1000 ] items

List of encounter records to sync. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a encounter by ID

Authorizations:
bearerAuth
path Parameters
encounterId
required
string

The unique identifier of the encounter record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update a encounter record

Authorizations:
bearerAuth
path Parameters
encounterId
required
string

The unique identifier of the encounter record.

Request Body schema: application/json
required
externalId
string
patientId
required
string

Clinic patient code identifying the patient.

clinicId
required
string

ID of the clinic where the visit takes place (references Clinic).

practitionerId
required
string

ID of the attending practitioner (references Practitioner). Used by the eHealth service to determine encounter eligibility.

bookingTime
required
string <date-time>

Encounter start time.

bookingEndTime
required
string <date-time>

Encounter end time.

checkInTime
string <date-time>
status
string
Enum: "booked" "arrived" "in_consultation" "dispensary" "checkout" "completed" "no_show" "rescheduled" "cancelled"
visitReasonIds
required
Array of strings

IDs of the visit reasons (references VisitReason).

remarks
string

Doctor's remarks for the visit.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "patientId": "string",
  • "clinicId": "string",
  • "practitionerId": "string",
  • "bookingTime": "2000-01-01T00:00:00Z",
  • "bookingEndTime": "2019-08-24T14:15:22Z",
  • "checkInTime": "2019-08-24T14:15:22Z",
  • "status": "booked",
  • "visitReasonIds": [
    ],
  • "remarks": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a encounter record

Authorizations:
bearerAuth
path Parameters
encounterId
required
string

The unique identifier of the encounter record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

patient

Patient record management

Create a new patient record

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
required
string
englishName
required
string
chineseName
string
documentType
string
Enum: "HK_IDCARD" "BIRTH_CERT" "CH_2-WAY_PERMIT" "CH_PASS" "OVERSEA_PASS" "OTH" "MO_IDCARD"

Document types supported by eHealth joining consent. HK_IDCARD=HKID, BIRTH_CERT=HK Birth Certificate, CH_2-WAY_PERMIT=Two-way Permit, CH_PASS=China Passport (Other PRC Travel Doc), OVERSEA_PASS=Overseas Passport (Other Travel Doc), OTH=Other (Other Travel Doc), MO_IDCARD=Macau ID

documentNo
required
string
gender
required
string
Enum: "MALE" "FEMALE" "OTHER"
dateOfBirth
required
string <date>
phone
string
email
string
residentialAddress
string
residentialDistrict
string
residentialArea
string
businessAddress
string
businessDistrict
string
businessArea
string
emergencyContact
string
emergencyPhone
string
emergencyRelation
string
Enum: "PARENTS" "CHILDREN" "SIBLINGS" "SPOUSE" "COUSINS" "GRANDPARENTS" "GRANDCHILDREN" "OTHERS"
Array of objects (FamilyMember)
Array of objects (Insurance)
Array of objects (Alert)
otherAlert
string
medicalHistory
string
object (Practitioner)
group
string
referral
string
smokingHabit
string
Enum: "never" "chronic" "social" "ex"
drinkingHabit
string
Enum: "never" "chronic" "social" "ex"
bloodType
string
occupation
string
ehrNo
string
remarks
string

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "englishName": "string",
  • "chineseName": "string",
  • "documentType": "HK_IDCARD",
  • "documentNo": "string",
  • "gender": "MALE",
  • "dateOfBirth": "2000-01-01",
  • "phone": "string",
  • "email": "string",
  • "residentialAddress": "string",
  • "residentialDistrict": "string",
  • "residentialArea": "string",
  • "businessAddress": "string",
  • "businessDistrict": "string",
  • "businessArea": "string",
  • "emergencyContact": "string",
  • "emergencyPhone": "string",
  • "emergencyRelation": "PARENTS",
  • "families": [
    ],
  • "insurances": [
    ],
  • "alert": [
    ],
  • "otherAlert": "string",
  • "medicalHistory": "string",
  • "inCharge": {
    },
  • "group": "string",
  • "referral": "string",
  • "smokingHabit": "never",
  • "drinkingHabit": "never",
  • "bloodType": "string",
  • "occupation": "string",
  • "ehrNo": "string",
  • "remarks": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all patient records (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create patient records

Create up to 1000 patient records in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Patient) [ 1 .. 1000 ] items

List of patient records to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a patient by ID

Authorizations:
bearerAuth
path Parameters
patientId
required
string

The unique identifier of the patient.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing patient record

Authorizations:
bearerAuth
path Parameters
patientId
required
string

The unique identifier of the patient.

Request Body schema: application/json
required
externalId
string
code
required
string
englishName
required
string
chineseName
string
documentType
string
Enum: "HK_IDCARD" "BIRTH_CERT" "CH_2-WAY_PERMIT" "CH_PASS" "OVERSEA_PASS" "OTH" "MO_IDCARD"

Document types supported by eHealth joining consent. HK_IDCARD=HKID, BIRTH_CERT=HK Birth Certificate, CH_2-WAY_PERMIT=Two-way Permit, CH_PASS=China Passport (Other PRC Travel Doc), OVERSEA_PASS=Overseas Passport (Other Travel Doc), OTH=Other (Other Travel Doc), MO_IDCARD=Macau ID

documentNo
required
string
gender
required
string
Enum: "MALE" "FEMALE" "OTHER"
dateOfBirth
required
string <date>
phone
string
email
string
residentialAddress
string
residentialDistrict
string
residentialArea
string
businessAddress
string
businessDistrict
string
businessArea
string
emergencyContact
string
emergencyPhone
string
emergencyRelation
string
Enum: "PARENTS" "CHILDREN" "SIBLINGS" "SPOUSE" "COUSINS" "GRANDPARENTS" "GRANDCHILDREN" "OTHERS"
Array of objects (FamilyMember)
Array of objects (Insurance)
Array of objects (Alert)
otherAlert
string
medicalHistory
string
object (Practitioner)
group
string
referral
string
smokingHabit
string
Enum: "never" "chronic" "social" "ex"
drinkingHabit
string
Enum: "never" "chronic" "social" "ex"
bloodType
string
occupation
string
ehrNo
string
remarks
string

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "englishName": "string",
  • "chineseName": "string",
  • "documentType": "HK_IDCARD",
  • "documentNo": "string",
  • "gender": "MALE",
  • "dateOfBirth": "2000-01-01",
  • "phone": "string",
  • "email": "string",
  • "residentialAddress": "string",
  • "residentialDistrict": "string",
  • "residentialArea": "string",
  • "businessAddress": "string",
  • "businessDistrict": "string",
  • "businessArea": "string",
  • "emergencyContact": "string",
  • "emergencyPhone": "string",
  • "emergencyRelation": "PARENTS",
  • "families": [
    ],
  • "insurances": [
    ],
  • "alert": [
    ],
  • "otherAlert": "string",
  • "medicalHistory": "string",
  • "inCharge": {
    },
  • "group": "string",
  • "referral": "string",
  • "smokingHabit": "never",
  • "drinkingHabit": "never",
  • "bloodType": "string",
  • "occupation": "string",
  • "ehrNo": "string",
  • "remarks": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a patient record

Authorizations:
bearerAuth
path Parameters
patientId
required
string

The unique identifier of the patient.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

practitioner

Practitioner profile management

Create a new practitioner profile

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
registerNo
string
object (LocalizedText)

A localized text value

object (LocalizedText)

A localized text value

object (LocalizedText)

A localized text value

object (LocalizedText)

A localized text value

displayName
required
string
phone
string
fax
string
email
string
object (LocalizedText)

A localized text value

qualifications
string
specialty
string
isReferable
boolean

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "registerNo": "string",
  • "prefix": {
    },
  • "lastName": {
    },
  • "firstName": {
    },
  • "suffix": {
    },
  • "displayName": "string",
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "address": {
    },
  • "qualifications": "string",
  • "specialty": "string",
  • "isReferable": true
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all practitioner profiles (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create practitioner profiles

Create up to 1000 practitioner profiles in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Practitioner) [ 1 .. 1000 ] items

List of practitioner profiles to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a practitioner by ID

Authorizations:
bearerAuth
path Parameters
practitionerId
required
string

The unique identifier of the practitioner.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing practitioner profile

Authorizations:
bearerAuth
path Parameters
practitionerId
required
string

The unique identifier of the practitioner.

Request Body schema: application/json
required
externalId
string
code
string
registerNo
string
object (LocalizedText)

A localized text value

object (LocalizedText)

A localized text value

object (LocalizedText)

A localized text value

object (LocalizedText)

A localized text value

displayName
required
string
phone
string
fax
string
email
string
object (LocalizedText)

A localized text value

qualifications
string
specialty
string
isReferable
boolean

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "registerNo": "string",
  • "prefix": {
    },
  • "lastName": {
    },
  • "firstName": {
    },
  • "suffix": {
    },
  • "displayName": "string",
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "address": {
    },
  • "qualifications": "string",
  • "specialty": "string",
  • "isReferable": true
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a practitioner profile

Authorizations:
bearerAuth
path Parameters
practitionerId
required
string

The unique identifier of the practitioner.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

route-site

Drug administration route and site management

Create a new route/site

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
required
string

Unique code for this route/site. Used as routeSiteId in Prescription.

required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all route/sites (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create route/sites

Create up to 1000 route/site records in a single request. Each item is processed independently; the response reports per-item success or failure.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (RouteSite) [ 1 .. 1000 ] items

List of route/site records to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a route/site by ID

Authorizations:
bearerAuth
path Parameters
routeSiteId
required
string

The unique identifier of the route/site record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing route/site

Authorizations:
bearerAuth
path Parameters
routeSiteId
required
string

The unique identifier of the route/site record.

Request Body schema: application/json
required
externalId
string
code
required
string

Unique code for this route/site. Used as routeSiteId in Prescription.

required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a route/site

Authorizations:
bearerAuth
path Parameters
routeSiteId
required
string

The unique identifier of the route/site record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

visit-reason

Visit reason management

Create a new visit reason

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all visit reasons (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create visit reasons

Create up to 1000 visit reasons in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (VisitReason) [ 1 .. 1000 ] items

List of visit reasons to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a visit reason by ID

Authorizations:
bearerAuth
path Parameters
visitReasonId
required
string

The unique identifier of the visit reason.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing visit reason

Authorizations:
bearerAuth
path Parameters
visitReasonId
required
string

The unique identifier of the visit reason.

Request Body schema: application/json
required
externalId
string
code
string
required
object (LocalizedText)

A localized text value

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    }
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a visit reason

Authorizations:
bearerAuth
path Parameters
visitReasonId
required
string

The unique identifier of the visit reason.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

bill

Bill management

Create a new bill

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string

Bill number/code. Auto-generated if omitted.

billTime
required
string <date-time>

Date and time the bill was created.

patientId
required
string

ID of the clinic patient being billed (references Patient).

clinicId
required
string

ID of the clinic where the bill was issued (references Clinic).

practitionerId
string

ID of the attending practitioner responsible for the bill (references Practitioner).

grossAmount
number

Total amount before discounts.

netAmount
required
number

Total amount after discounts.

paidAmount
number

Total amount already paid. Derived from associated payments.

outstandingAmount
number

Outstanding balance (totalAmount - paidAmount).

totalDiscount
number

Total discount applied.

diagnosis
string

Diagnosis recorded for this bill.

remarks
string

General remarks for the bill.

isVoid
boolean
Default: false

Whether the payment has been voided.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "billTime": "2000-01-01T00:00:00Z",
  • "patientId": "string",
  • "clinicId": "string",
  • "practitionerId": "string",
  • "grossAmount": 0,
  • "netAmount": 0,
  • "paidAmount": 0,
  • "outstandingAmount": 0,
  • "totalDiscount": 0,
  • "diagnosis": "string",
  • "remarks": "string",
  • "isVoid": false
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all bills (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create bills

Create up to 1000 bills in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Bill) [ 1 .. 1000 ] items

List of bills to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a bill by ID

Authorizations:
bearerAuth
path Parameters
billId
required
string

The unique identifier of the bill record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing bill

Authorizations:
bearerAuth
path Parameters
billId
required
string

The unique identifier of the bill record.

Request Body schema: application/json
required
externalId
string
code
string

Bill number/code. Auto-generated if omitted.

billTime
required
string <date-time>

Date and time the bill was created.

patientId
required
string

ID of the clinic patient being billed (references Patient).

clinicId
required
string

ID of the clinic where the bill was issued (references Clinic).

practitionerId
string

ID of the attending practitioner responsible for the bill (references Practitioner).

grossAmount
number

Total amount before discounts.

netAmount
required
number

Total amount after discounts.

paidAmount
number

Total amount already paid. Derived from associated payments.

outstandingAmount
number

Outstanding balance (totalAmount - paidAmount).

totalDiscount
number

Total discount applied.

diagnosis
string

Diagnosis recorded for this bill.

remarks
string

General remarks for the bill.

isVoid
boolean
Default: false

Whether the payment has been voided.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "billTime": "2000-01-01T00:00:00Z",
  • "patientId": "string",
  • "clinicId": "string",
  • "practitionerId": "string",
  • "grossAmount": 0,
  • "netAmount": 0,
  • "paidAmount": 0,
  • "outstandingAmount": 0,
  • "totalDiscount": 0,
  • "diagnosis": "string",
  • "remarks": "string",
  • "isVoid": false
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a bill

Authorizations:
bearerAuth
path Parameters
billId
required
string

The unique identifier of the bill record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

payment

Payment management

Create a new payment

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string

Payment code/number. Auto-generated if omitted.

paymentTime
required
string <date-time>

Date and time the payment was made.

billId
required
string

ID of the billing (references Bill).

clinicId
required
string

ID of the clinic where the payment was made (references Clinic).

amount
required
number

Total payment amount.

isVoid
boolean
Default: false

Whether the payment has been voided.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "paymentTime": "2000-01-01T00:00:00Z",
  • "billId": "string",
  • "clinicId": "string",
  • "amount": 0,
  • "isVoid": false
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all payments (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create payments

Create up to 1000 payments in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Payment) [ 1 .. 1000 ] items

List of payments to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a payment by ID

Authorizations:
bearerAuth
path Parameters
paymentId
required
string

The unique identifier of the payment record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing payment

Authorizations:
bearerAuth
path Parameters
paymentId
required
string

The unique identifier of the payment record.

Request Body schema: application/json
required
externalId
string
code
string

Payment code/number. Auto-generated if omitted.

paymentTime
required
string <date-time>

Date and time the payment was made.

billId
required
string

ID of the billing (references Bill).

clinicId
required
string

ID of the clinic where the payment was made (references Clinic).

amount
required
number

Total payment amount.

isVoid
boolean
Default: false

Whether the payment has been voided.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "paymentTime": "2000-01-01T00:00:00Z",
  • "billId": "string",
  • "clinicId": "string",
  • "amount": 0,
  • "isVoid": false
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a payment

Authorizations:
bearerAuth
path Parameters
paymentId
required
string

The unique identifier of the payment record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

drug-usage

Drug default usage management

Create a new drug usage record

Creates a default prescribing setting for a drug with clinic and practitioner scope.

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
drugId
required
string

ID of the drug this setting applies to (references Drug).

name
string

A label or name for this setting configuration.

practitionerSelectType
string
Default: "ALL"
Enum: "ALL" "INCLUDE" "EXCLUDE"

Whether this setting applies to all practitioners, only those included, or all except those excluded.

includePractitionerIds
Array of strings

IDs of practitioners (references Practitioner) this setting applies to when practitionerSelectType is INCLUDE.

excludePractitionerIds
Array of strings

IDs of practitioners (references Practitioner) this setting excludes when practitionerSelectType is EXCLUDE.

clinicSelectType
string
Default: "ALL"
Enum: "ALL" "INCLUDE" "EXCLUDE"

Whether this setting applies to all clinics, only those included, or all except those excluded.

includeClinicIds
Array of strings

IDs of clinics (references Clinic) this setting applies to when clinicSelectType is INCLUDE.

excludeClinicIds
Array of strings

IDs of clinics (references Clinic) this setting excludes when clinicSelectType is EXCLUDE.

defaultFrequencyId
string

ID of the default drug frequency (references DrugFrequency).

defaultDosageId
string

ID of the default dosage (references DrugDosage).

isFreeDosageInput
boolean
Default: false

Whether the dosage amount is entered as free text.

defaultDosage
number

Default dosage amount.

defaultDurationUse
string

Default usage duration.

defaultDurationUnit
string

Unit for the default duration (e.g. day, week).

defaultInstructionIds
Array of strings

IDs of default drug instructions (references DrugInstruction).

defaultCautionIds
Array of strings

IDs of default drug cautions (references DrugCaution).

defaultRouteSiteId
string

ID of the default administration route/site (references RouteSite).

isDefaultPRN
boolean
Default: false

Whether the default prescription is PRN (as needed).

defaultTotalDosage
number

Default total dosage quantity.

defaultSalesUnitId
string

ID of the default sales unit (references DrugUnit).

remarks
string

Prescription remarks for this setting.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "drugId": "string",
  • "name": "string",
  • "practitionerSelectType": "ALL",
  • "includePractitionerIds": [
    ],
  • "excludePractitionerIds": [
    ],
  • "clinicSelectType": "ALL",
  • "includeClinicIds": [
    ],
  • "excludeClinicIds": [
    ],
  • "defaultFrequencyId": "string",
  • "defaultDosageId": "string",
  • "isFreeDosageInput": false,
  • "defaultDosage": 0,
  • "defaultDurationUse": "string",
  • "defaultDurationUnit": "string",
  • "defaultInstructionIds": [
    ],
  • "defaultCautionIds": [
    ],
  • "defaultRouteSiteId": "string",
  • "isDefaultPRN": false,
  • "defaultTotalDosage": 0,
  • "defaultSalesUnitId": "string",
  • "remarks": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create drug usage records

Create up to 1000 drug usage records in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (DrugUsage) [ 1 .. 1000 ] items

List of drug usage records to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a drug usage record by ID

Authorizations:
bearerAuth
path Parameters
drugId
required
string

The unique identifier of the drug record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing drug usage record

Authorizations:
bearerAuth
path Parameters
drugId
required
string

The unique identifier of the drug record.

Request Body schema: application/json
required
externalId
string
drugId
required
string

ID of the drug this setting applies to (references Drug).

name
string

A label or name for this setting configuration.

practitionerSelectType
string
Default: "ALL"
Enum: "ALL" "INCLUDE" "EXCLUDE"

Whether this setting applies to all practitioners, only those included, or all except those excluded.

includePractitionerIds
Array of strings

IDs of practitioners (references Practitioner) this setting applies to when practitionerSelectType is INCLUDE.

excludePractitionerIds
Array of strings

IDs of practitioners (references Practitioner) this setting excludes when practitionerSelectType is EXCLUDE.

clinicSelectType
string
Default: "ALL"
Enum: "ALL" "INCLUDE" "EXCLUDE"

Whether this setting applies to all clinics, only those included, or all except those excluded.

includeClinicIds
Array of strings

IDs of clinics (references Clinic) this setting applies to when clinicSelectType is INCLUDE.

excludeClinicIds
Array of strings

IDs of clinics (references Clinic) this setting excludes when clinicSelectType is EXCLUDE.

defaultFrequencyId
string

ID of the default drug frequency (references DrugFrequency).

defaultDosageId
string

ID of the default dosage (references DrugDosage).

isFreeDosageInput
boolean
Default: false

Whether the dosage amount is entered as free text.

defaultDosage
number

Default dosage amount.

defaultDurationUse
string

Default usage duration.

defaultDurationUnit
string

Unit for the default duration (e.g. day, week).

defaultInstructionIds
Array of strings

IDs of default drug instructions (references DrugInstruction).

defaultCautionIds
Array of strings

IDs of default drug cautions (references DrugCaution).

defaultRouteSiteId
string

ID of the default administration route/site (references RouteSite).

isDefaultPRN
boolean
Default: false

Whether the default prescription is PRN (as needed).

defaultTotalDosage
number

Default total dosage quantity.

defaultSalesUnitId
string

ID of the default sales unit (references DrugUnit).

remarks
string

Prescription remarks for this setting.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "drugId": "string",
  • "name": "string",
  • "practitionerSelectType": "ALL",
  • "includePractitionerIds": [
    ],
  • "excludePractitionerIds": [
    ],
  • "clinicSelectType": "ALL",
  • "includeClinicIds": [
    ],
  • "excludeClinicIds": [
    ],
  • "defaultFrequencyId": "string",
  • "defaultDosageId": "string",
  • "isFreeDosageInput": false,
  • "defaultDosage": 0,
  • "defaultDurationUse": "string",
  • "defaultDurationUnit": "string",
  • "defaultInstructionIds": [
    ],
  • "defaultCautionIds": [
    ],
  • "defaultRouteSiteId": "string",
  • "isDefaultPRN": false,
  • "defaultTotalDosage": 0,
  • "defaultSalesUnitId": "string",
  • "remarks": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a drug usage record

Authorizations:
bearerAuth
path Parameters
drugId
required
string

The unique identifier of the drug record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

drug-stock

Stock management

Create a new stock record

Creates a stock record for a drug item at a specific location.

Authorizations:
bearerAuth
path Parameters
clinicId
required
string

The unique identifier of the clinic.

drugId
required
string

The unique identifier of the drug record.

Request Body schema: application/json
required
clinicId
required
string

ID of the clinic where the stock is held (references Clinic).

drugId
required
string

ID of the drug (references Drug).

quantity
number

Current stock quantity.

totalCost
number

Total stock cost (quantity * averageCost).

averageCost
number

Average cost per unit.

alertQuantity
number

Low-stock alert threshold. Triggers notification when quantity falls below this value.

status
string
Enum: "active" "inactive_in_rx" "inactive_in_stock"
Array of objects (StockBatch)

Batch/lot records for this stock.

Array of objects (StockUnitPrice)

Unit price settings for this stock.

Responses

Request samples

Content type
application/json
{
  • "clinicId": "string",
  • "drugId": "string",
  • "quantity": 0,
  • "totalCost": 0,
  • "averageCost": 0,
  • "alertQuantity": 0,
  • "status": "active",
  • "batches": [
    ],
  • "unitPrices": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a drug stock record by ID

Authorizations:
bearerAuth
path Parameters
clinicId
required
string

The unique identifier of the clinic.

drugId
required
string

The unique identifier of the drug record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing stock record

Authorizations:
bearerAuth
path Parameters
clinicId
required
string

The unique identifier of the clinic.

drugId
required
string

The unique identifier of the drug record.

Request Body schema: application/json
required
clinicId
required
string

ID of the clinic where the stock is held (references Clinic).

drugId
required
string

ID of the drug (references Drug).

quantity
number

Current stock quantity.

totalCost
number

Total stock cost (quantity * averageCost).

averageCost
number

Average cost per unit.

alertQuantity
number

Low-stock alert threshold. Triggers notification when quantity falls below this value.

status
string
Enum: "active" "inactive_in_rx" "inactive_in_stock"
Array of objects (StockBatch)

Batch/lot records for this stock.

Array of objects (StockUnitPrice)

Unit price settings for this stock.

Responses

Request samples

Content type
application/json
{
  • "clinicId": "string",
  • "drugId": "string",
  • "quantity": 0,
  • "totalCost": 0,
  • "averageCost": 0,
  • "alertQuantity": 0,
  • "status": "active",
  • "batches": [
    ],
  • "unitPrices": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a stock record

Authorizations:
bearerAuth
path Parameters
clinicId
required
string

The unique identifier of the clinic.

drugId
required
string

The unique identifier of the drug record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

Bulk create stock records

Create up to 1000 stock records in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
path Parameters
clinicId
required
string

The unique identifier of the clinic.

Request Body schema: application/json
required
required
Array of objects (DrugStock) [ 1 .. 1000 ] items

List of stock records to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

consultation

Consultation clinical notes

Create a new consultation record

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
patientId
required
string

ID of the clinic patient (references Patient).

clinicId
required
string

ID of the clinic where the consultation took place (references Clinic).

practitionerId
required
string

ID of the attending practitioner (references Practitioner).

consultationTime
required
string <date-time>

Date and time of the consultation.

encounterId
string

ID of the associated encounter record (references Encounter).

complaints
string

The patient's chief complaints.

findings
string

Clinical findings recorded by the practitioner.

diagnosis
string

Diagnosis given to the patient.

actions
string

Actions, treatments, or procedures planned or performed.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "patientId": "string",
  • "clinicId": "string",
  • "practitionerId": "string",
  • "consultationTime": "2000-01-01T00:00:00Z",
  • "encounterId": "string",
  • "complaints": "string",
  • "findings": "string",
  • "diagnosis": "string",
  • "actions": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all consultation records (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create consultation records

Create up to 1000 consultation records in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Consultation) [ 1 .. 1000 ] items

List of consultation records to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a consultation by ID

Authorizations:
bearerAuth
path Parameters
consultationId
required
string

The unique identifier of the consultation record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update a consultation record

Authorizations:
bearerAuth
path Parameters
consultationId
required
string

The unique identifier of the consultation record.

Request Body schema: application/json
required
externalId
string
patientId
required
string

ID of the clinic patient (references Patient).

clinicId
required
string

ID of the clinic where the consultation took place (references Clinic).

practitionerId
required
string

ID of the attending practitioner (references Practitioner).

consultationTime
required
string <date-time>

Date and time of the consultation.

encounterId
string

ID of the associated encounter record (references Encounter).

complaints
string

The patient's chief complaints.

findings
string

Clinical findings recorded by the practitioner.

diagnosis
string

Diagnosis given to the patient.

actions
string

Actions, treatments, or procedures planned or performed.

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "patientId": "string",
  • "clinicId": "string",
  • "practitionerId": "string",
  • "consultationTime": "2000-01-01T00:00:00Z",
  • "encounterId": "string",
  • "complaints": "string",
  • "findings": "string",
  • "diagnosis": "string",
  • "actions": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a consultation record

Authorizations:
bearerAuth
path Parameters
consultationId
required
string

The unique identifier of the consultation record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

prescription

Prescription and dispense management

Create a new prescription record

Authorizations:
bearerAuth
Request Body schema: application/json
required
consultationId
required
string

ID of the consultation (references Consultation).

drugId
required
string

ID of the prescribed drug (references Drug).

remarks
string

General remarks for this prescription.

drugCautionIds
Array of strings

IDs of applicable drug cautions (references DrugCaution).

drugInstructionIds
Array of strings

IDs of applicable drug instructions (references DrugInstruction).

unitCost
number

Unit cost of the prescribed drug.

totalAmount
number

Total billed amount for this prescription.

totalCost
number

Total calculated cost for this prescription.

duration
number

Duration for which the drug is prescribed.

drugFrequencyId
string

ID of the drug frequency (references DrugFrequency).

drugDosageId
string

ID of the drug dosage (references DrugDosage).

quantity
number

Total prescribed quantity to be dispensed.

isPrn
boolean
Default: false

Indicates if the medication is to be taken as needed (Pro re nata).

dosageUnitId
string

ID of the unit used for the dosage (references DrugUnit).

salesUnitId
string

ID of the unit used for dispensing/billing (references DrugUnit).

unitPrice
number

Selling price per sales unit.

routeSiteId
string

ID of the administration route and site (references RouteSite).

Array of objects (DispenseLot)

Information about the specific inventory batches dispensed.

Responses

Request samples

Content type
application/json
{
  • "consultationId": "string",
  • "drugId": "string",
  • "remarks": "string",
  • "drugCautionIds": [
    ],
  • "drugInstructionIds": [
    ],
  • "unitCost": 0,
  • "totalAmount": 0,
  • "totalCost": 0,
  • "duration": 0,
  • "drugFrequencyId": "string",
  • "drugDosageId": "string",
  • "quantity": 0,
  • "isPrn": false,
  • "dosageUnitId": "string",
  • "salesUnitId": "string",
  • "unitPrice": 0,
  • "routeSiteId": "string",
  • "dispenseLots": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create prescription records

Create up to 1000 prescription records in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Prescription) [ 1 .. 1000 ] items

List of prescription records to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all prescriptions for a consultation

Authorizations:
bearerAuth
path Parameters
consultationId
required
string

The unique identifier of the consultation record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": [
    ]
}

Get a prescription by ID

Authorizations:
bearerAuth
path Parameters
consultationId
required
string

The unique identifier of the consultation record.

prescriptionId
required
string

The unique identifier of the prescription record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update a prescription

Authorizations:
bearerAuth
path Parameters
consultationId
required
string

The unique identifier of the consultation record.

prescriptionId
required
string

The unique identifier of the prescription record.

Request Body schema: application/json
required
consultationId
required
string

ID of the consultation (references Consultation).

drugId
required
string

ID of the prescribed drug (references Drug).

remarks
string

General remarks for this prescription.

drugCautionIds
Array of strings

IDs of applicable drug cautions (references DrugCaution).

drugInstructionIds
Array of strings

IDs of applicable drug instructions (references DrugInstruction).

unitCost
number

Unit cost of the prescribed drug.

totalAmount
number

Total billed amount for this prescription.

totalCost
number

Total calculated cost for this prescription.

duration
number

Duration for which the drug is prescribed.

drugFrequencyId
string

ID of the drug frequency (references DrugFrequency).

drugDosageId
string

ID of the drug dosage (references DrugDosage).

quantity
number

Total prescribed quantity to be dispensed.

isPrn
boolean
Default: false

Indicates if the medication is to be taken as needed (Pro re nata).

dosageUnitId
string

ID of the unit used for the dosage (references DrugUnit).

salesUnitId
string

ID of the unit used for dispensing/billing (references DrugUnit).

unitPrice
number

Selling price per sales unit.

routeSiteId
string

ID of the administration route and site (references RouteSite).

Array of objects (DispenseLot)

Information about the specific inventory batches dispensed.

Responses

Request samples

Content type
application/json
{
  • "consultationId": "string",
  • "drugId": "string",
  • "remarks": "string",
  • "drugCautionIds": [
    ],
  • "drugInstructionIds": [
    ],
  • "unitCost": 0,
  • "totalAmount": 0,
  • "totalCost": 0,
  • "duration": 0,
  • "drugFrequencyId": "string",
  • "drugDosageId": "string",
  • "quantity": 0,
  • "isPrn": false,
  • "dosageUnitId": "string",
  • "salesUnitId": "string",
  • "unitPrice": 0,
  • "routeSiteId": "string",
  • "dispenseLots": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a prescription

Authorizations:
bearerAuth
path Parameters
consultationId
required
string

The unique identifier of the consultation record.

prescriptionId
required
string

The unique identifier of the prescription record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

service-item

Service item management

Create a new service item

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
name
required
string
fee
number <double>
status
string
Enum: "active" "inactive"

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": "string",
  • "fee": 0.1,
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all service items (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create service items

Create up to 1000 service items in a single request.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (ServiceItem) [ 1 .. 1000 ] items

List of service items to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a service item by ID

Authorizations:
bearerAuth
path Parameters
serviceItemId
required
string

The unique identifier of the service item.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing service item

Authorizations:
bearerAuth
path Parameters
serviceItemId
required
string

The unique identifier of the service item.

Request Body schema: application/json
required
externalId
string
code
string
name
required
string
fee
number <double>
status
string
Enum: "active" "inactive"

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": "string",
  • "fee": 0.1,
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a service item

Authorizations:
bearerAuth
path Parameters
serviceItemId
required
string

The unique identifier of the service item.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

payment-method

Payment method management

Create a new payment method

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string
code
string
name
required
string
isAccReceivable
boolean
status
string
Enum: "active" "inactive"

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": "string",
  • "isAccReceivable": true,
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all payment methods (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create payment methods

Create up to 1000 payment methods in a single request.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (PaymentMethod) [ 1 .. 1000 ] items

List of payment methods to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a payment method by ID

Authorizations:
bearerAuth
path Parameters
paymentMethodId
required
string

The unique identifier of the payment method.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing payment method

Authorizations:
bearerAuth
path Parameters
paymentMethodId
required
string

The unique identifier of the payment method.

Request Body schema: application/json
required
externalId
string
code
string
name
required
string
isAccReceivable
boolean
status
string
Enum: "active" "inactive"

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": "string",
  • "isAccReceivable": true,
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a payment method

Authorizations:
bearerAuth
path Parameters
paymentMethodId
required
string

The unique identifier of the payment method.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

bill-item

Bill line item management

Create a new bill line item

Creates a single bill item. The associated billId must be provided in the request body.

Authorizations:
bearerAuth
Request Body schema: application/json
required
billId
required
string

ID of the billing (references Bill).

serviceItemId
required
string

ID of the fee item being billed (references ServiceItem).

unitPrice
required
number

Price per unit.

quantity
required
number

Quantity of the item.

discountPercent
number

Discount percentage applied to this line item. Either percentage or amount is accepted.

discountAmount
number

Discount amount applied to this line item. Either percentage or amount is accepted.

totalAmount
required
number

Line item total after discount.

Responses

Request samples

Content type
application/json
{
  • "billId": "string",
  • "serviceItemId": "string",
  • "unitPrice": 0,
  • "quantity": 0,
  • "discountPercent": 0,
  • "discountAmount": 0,
  • "totalAmount": 0
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create bill line items

Create up to 1000 bill items across any number of bills in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (BillItem) [ 1 .. 1000 ] items

List of bill line items to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all line items for a bill

Authorizations:
bearerAuth
path Parameters
billId
required
string

The unique identifier of the bill record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": [
    ]
}

Get a bill item by ID

Authorizations:
bearerAuth
path Parameters
billId
required
string

The unique identifier of the bill record.

billItemId
required
string

The unique identifier of the bill item.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update a bill item

Authorizations:
bearerAuth
path Parameters
billId
required
string

The unique identifier of the bill record.

billItemId
required
string

The unique identifier of the bill item.

Request Body schema: application/json
required
billId
required
string

ID of the billing (references Bill).

serviceItemId
required
string

ID of the fee item being billed (references ServiceItem).

unitPrice
required
number

Price per unit.

quantity
required
number

Quantity of the item.

discountPercent
number

Discount percentage applied to this line item. Either percentage or amount is accepted.

discountAmount
number

Discount amount applied to this line item. Either percentage or amount is accepted.

totalAmount
required
number

Line item total after discount.

Responses

Request samples

Content type
application/json
{
  • "billId": "string",
  • "serviceItemId": "string",
  • "unitPrice": 0,
  • "quantity": 0,
  • "discountPercent": 0,
  • "discountAmount": 0,
  • "totalAmount": 0
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a bill item

Authorizations:
bearerAuth
path Parameters
billId
required
string

The unique identifier of the bill record.

billItemId
required
string

The unique identifier of the bill item.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

payment-item

Payment method allocation management

Create a new payment method allocation

Creates a single payment item. The associated paymentId must be provided in the request body.

Authorizations:
bearerAuth
Request Body schema: application/json
required
paymentId
required
string

ID of the payment (references Payment).

paymentMethodId
required
string

ID of the payment method (references PaymentMethod).

amount
required
number

Amount paid via this payment method.

remarks
string

Remarks for this allocation.

voucherNo
string

Voucher or reference number for this payment method allocation.

Responses

Request samples

Content type
application/json
{
  • "paymentId": "string",
  • "paymentMethodId": "string",
  • "amount": 0,
  • "remarks": "string",
  • "voucherNo": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create payment method allocations

Create up to 1000 payment items across any number of payments in a single request. Each item is processed independently; the response reports per-item success or failure so partial success is possible.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (PaymentItem) [ 1 .. 1000 ] items

List of payment method allocations to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all payment method allocations for a payment

Authorizations:
bearerAuth
path Parameters
paymentId
required
string

The unique identifier of the payment record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": [
    ]
}

Get a payment item by ID

Authorizations:
bearerAuth
path Parameters
paymentId
required
string

The unique identifier of the payment record.

paymentItemId
required
string

The unique identifier of the payment item.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update a payment item

Authorizations:
bearerAuth
path Parameters
paymentId
required
string

The unique identifier of the payment record.

paymentItemId
required
string

The unique identifier of the payment item.

Request Body schema: application/json
required
paymentId
required
string

ID of the payment (references Payment).

paymentMethodId
required
string

ID of the payment method (references PaymentMethod).

amount
required
number

Amount paid via this payment method.

remarks
string

Remarks for this allocation.

voucherNo
string

Voucher or reference number for this payment method allocation.

Responses

Request samples

Content type
application/json
{
  • "paymentId": "string",
  • "paymentMethodId": "string",
  • "amount": 0,
  • "remarks": "string",
  • "voucherNo": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a payment item

Authorizations:
bearerAuth
path Parameters
paymentId
required
string

The unique identifier of the payment record.

paymentItemId
required
string

The unique identifier of the payment item.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}

vendor

Vendor record management

Create a new vendor

Authorizations:
bearerAuth
Request Body schema: application/json
required
externalId
string

External system identifier for this vendor.

code
required
string

Unique vendor code.

required
object (LocalizedText)

A localized text value

contactPerson
string

Name of the primary contact person.

phone
string
fax
string
email
string
object (LocalizedText)

A localized text value

status
string
Default: "active"
Enum: "active" "inactive"
remarks
string

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    },
  • "contactPerson": "string",
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "address": {
    },
  • "status": "active",
  • "remarks": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

List all vendors (Paginated)

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
Default: 1

The page number to retrieve (1-based index).

limit
integer [ 1 .. 100 ]
Default: 20

The number of items to return per page.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Bulk create vendors

Create up to 1000 vendor records in a single request. Each item is processed independently; the response reports per-item success or failure.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (Vendor) [ 1 .. 1000 ] items

List of vendor records to create. Maximum 1000 items per request.

Responses

Request samples

Content type
application/json
{
  • "items": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Get a vendor by ID

Authorizations:
bearerAuth
path Parameters
vendorId
required
string

The unique identifier of the vendor record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Update an existing vendor

Authorizations:
bearerAuth
path Parameters
vendorId
required
string

The unique identifier of the vendor record.

Request Body schema: application/json
required
externalId
string

External system identifier for this vendor.

code
required
string

Unique vendor code.

required
object (LocalizedText)

A localized text value

contactPerson
string

Name of the primary contact person.

phone
string
fax
string
email
string
object (LocalizedText)

A localized text value

status
string
Default: "active"
Enum: "active" "inactive"
remarks
string

Responses

Request samples

Content type
application/json
{
  • "externalId": "string",
  • "code": "string",
  • "name": {
    },
  • "contactPerson": "string",
  • "phone": "string",
  • "fax": "string",
  • "email": "string",
  • "address": {
    },
  • "status": "active",
  • "remarks": "string"
}

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": {
    }
}

Delete a vendor

Authorizations:
bearerAuth
path Parameters
vendorId
required
string

The unique identifier of the vendor record.

Responses

Response samples

Content type
application/json
{
  • "status": "SUCCESS",
  • "errorCode": "string",
  • "message": "string",
  • "data": null
}