DaySmart Vet API Terms of Service
Last modified: August 15, 2023
Hi, we’re DaySmart Vet (for simplicity, we’ll refer to ourselves as “DaySmart Vet,” “we,” “us” or “our”). Our mission is to help coordinate and improve the health of the world’s animals. To help achieve our mission, we make an API and associated documentation (together, the “API”) available to third parties to develop and offer their own applications to our customers (each, an “Application”).
1. Authority
By accessing or using our API, you agree to comply with these API Terms of Service (“Terms”). If you are using our API on behalf of an entity, you represent and warrant that you have legal authority to bind that entity to the Terms and by accepting the Terms, you are doing so on behalf of that entity (and all references to "you" in the Terms refer to that entity).
2. Using the API
2.1 License
Provided that you comply with these Terms, we grant you a non-exclusive, non-assignable, non-transferable license to use our API to develop, test, market, offer to sell, sell and support your Application.
2.2 Access
You will only access our API by the means described in the API documentation. You must use the developer credentials that we assign to you. All activities that occur using your developer credentials are your responsibility, so keep them secret. Developer credentials may not be embedded in open source projects. When using our API, you will not misrepresent or mask your identity. You will be required to provide certain identifying information when you register to use our API, and in order to continue to use our API. Any registration information you give us will be current and accurate, and you'll inform us promptly of any change.
2.3 Use Limitations
We set and enforce limits on your use of our API (e.g. limiting the number of API requests that you may make) in our sole discretion. You agree to, and will not attempt to circumvent, such limitations. If you would like to use our API beyond these limits, you must obtain our express written consent (and we may decline your request or condition acceptance on your agreement to additional terms and/or charges for that use). You may only use our API to support your Application, and you may not share any data retrieved using the API to power any third-party application.
2.4 Security; Privacy
You will use commercially reasonable efforts to protect user information collected by your Application, including personally identifiable information, from unauthorized access or use, and will promptly report to us and to your users any unauthorized access or use of such information. In the event of any such unauthorized access or use, you will make no public statement without our prior written consent. You will comply with all applicable law, regulation, and third party rights (including without limitation laws regarding the import or export of data or software, privacy, and local laws) when using our API. You will provide and adhere to a privacy policy for your Application that clearly and accurately describes what information you collect and how you use and share that information.
2.5 Monitoring
You agree that we may monitor use of our API to ensure quality, improve our products and services and verify your compliance with these Terms. You will not interfere with this monitoring, and you will provide us with reasonable assistance at no cost, if we ask for it. We may suspend your access to our API without notice, if we reasonably believe that you are in violation of these Terms.
2.6 Non-Exclusivity
The Terms are non-exclusive. You acknowledge that we may develop products or services that compete with your Application or other products or services.
2.7 Fees; Reporting
Any fees applicable to your use of our API will be outlined in a separate agreement between us, the terms of which are hereby expressly incorporated into these Terms. Within three business days after we request it, you will provide us with such data as we may reasonably require to calculate any fees due to us.
2.8 Feedback
If you provide feedback or suggestions about our API, then we may freely use that information without obligation to you.
3. Prohibitions; HIPAA; Confidentiality
3.1 Prohibitions
When using our API, you may not (or allow those acting on your behalf to):
(a) Sublicense our API for use by a third party; (b) Create an Application that functions substantially the same as our API and offer it for use by third parties; (c) Use our API to provide content to any third-party application (i.e., any application that you do not develop, test, market, offer to sell, sell or support yourself); (d) Perform an action with the intent of introducing any virus, worm, defect, Trojan horse, malware, or any item of a destructive nature to any of our products or services; (e) Interfere with, or disrupt, our API or the servers or networks providing our API; (f) Try to exceed or circumvent limitations on use, including creating multiple Applications for identical (or substantially similar) use; (g) Promote or facilitate unlawful activities; or (h) Reverse engineer our API, except to the extent that this restriction is expressly prohibited by applicable law.
3.2 Confidentiality
You will keep your developer credentials confidential and use reasonable efforts to prevent and discourage other Applications from using your credentials. Our communications to you and our API may contain our confidential information. Our confidential information includes any materials, communications, and information that are marked confidential or that would normally be considered confidential under the circumstances. If you receive any such information, then you will not disclose it to any third party without our prior written consent. Our confidential information does not include information that you independently developed, that was rightfully given to you by a third party without confidentiality obligation, or that becomes public through no fault of your own. You may disclose our confidential information when compelled to do so by law only after you provide us with reasonable prior notice, unless a court orders that we not receive notice.
3.3 HIPAA
Unless otherwise specified in writing by us, we do not intend use of our API to create obligations under the Health Insurance Portability and Accountability Act, as amended ("HIPAA"), and we make no representations that our API satisfies HIPAA requirements. If you are (or become) a "covered entity" or "business associate" as defined in HIPAA, you will not use our API for any purpose or in any manner involving transmitting protected health information to us unless you have received our prior written consent.
4. Content
4.1 Content Accessible Through our API
As between you and us, we own all rights, title and interest, including all intellectual property rights, in and to, the content that is accessed through our API. Each of our customers must give you express permission to access its content through your Application. If any customer revokes such permission (including, without limitation, by deactivating the applicable add-on in its account of our software), you must immediately stop accessing that customer’s content. This content is the sole responsibility of the person that makes it available. Your access to content provided by our API may be restricted, limited, or filtered in accordance with applicable law, regulation, and policy.
4.2 Submission of Content
Our API allows the submission of content. We do not acquire any ownership of any intellectual property rights in the content that you submit to our API through your Application, except as expressly provided in these Terms. For the sole purpose of enabling us to provide, secure, and improve our API and our products and services, and only in accordance with our privacy policy, you give us a perpetual, irrevocable, worldwide, sublicensable, royalty-free, fully paid-up and non-exclusive license to use, host, store, modify, communicate, and publish content submitted, posted, or displayed to, or from, our API through your Application. Before you submit content to our API through your Application, you will ensure that you have the necessary rights (including the necessary rights from your users) to grant us the license.
4.3 Prohibitions on Content
Unless you have a written agreement with us that explicitly provides otherwise, or expressly permitted by applicable law, you will not, and will not permit your users or others acting on your behalf to, do the following with content accessed through our API:
(a) Scrape, build databases, or otherwise create permanent copies of such content, or keep cached copies longer than permitted by the cache header; (b) Copy, translate, modify, create a derivative work of, sell, lease, lend, convey, distribute, publicly display, or sublicense the content to any third party; (c) Misrepresent the source or ownership; (d) Remove, obscure, or alter any copyright, trademark, or other proprietary rights notices; (e) Falsify or delete any author attributions, legal notices, or other labels of the origin or source of material; or (f) Continue to access the content after the applicable content owner has revoked its permission for you to do so.
5. Brand and Attribution
5.1 Brand
"Brand " is defined as the trade names, trademarks, service marks, logos, domain names, and other distinctive brand features of each party. Except where expressly stated, these Terms do not grant either party any right, title, or interest in or to the other party's Brand. All use by you of our Brand (including any goodwill associated therewith) will inure to our benefit.
5.2 Attribution
You agree to display any required attribution as described in the these Terms. We hereby grants to you a nontransferable, nonsublicenseable, nonexclusive license while these Terms are in effect to display our Brand for the purpose of promoting or advertising your Application. You must only use our Brand in accordance with these Terms and for the purpose of fulfilling your obligations under this Section. In using our Brand, you must not: (a) display our Brand in any way that is misleading, defamatory, infringing, libelous, disparaging, obscene or otherwise objectionable to us in our sole discretion; or (b) remove any legal, copyright, trademark, watermark or other proprietary right notices contained in any content or materials you receive from us or from our API. You understand and agree that we have sole discretion to determine whether your attribution and use of our Brand is in accordance with the above requirements.
5.3 Publicity
You will not make any statement regarding your use of our API that suggests partnership with, sponsorship by, or endorsement by us without our prior written approval.
5.4 Promotional Use
We may publicly refer to you as a licensee of our API, and publish your name and logo on our website, in press releases and in promotional materials without additional consent.
6. Ownership
6.1 Our Property
As between you and us, we own all rights, title, and interest, including all intellectual property rights, in and to: (1) our API and documentation; (2) content accessible through our API; (3) our Brand; and (4) our confidential information (together, the “DaySmart Vet Property”). Except for the express licenses granted in these Terms, we do not grant you any right, title, or interest in any of the DaySmart Vet Property. You agree to take such actions as we may reasonably request to perfect our rights in the DaySmart Vet Property.
6.2 Your Property
Except to the extent your Application contains DaySmart Vet Property, we do not acquire ownership in your Application. During the term of these Terms you grant us a paid-up, royalty-free, non-exclusive, worldwide, irrevocable right and license, under all of your intellectual property rights, to use, perform, and display your Application and its content for purposes of marketing, demonstrating, and making your Application available to our customers.
7. Term and Termination
7.1 Term
The term of these Terms commences on the date that you agree to these Terms, and continues until terminated as set forth below.
7.2 Termination
You may stop using our API at any time. If you want to terminate the Terms, you must provide us with prior written notice and upon termination, cease your use of our API. We reserve the right to terminate the Terms with you, or discontinue providing our API or any portion or feature or your access thereto, for any reason and at any time without liability or other obligation to you.
7.3 Effect of Termination
Upon termination of the Terms, you will immediately stop using our API, cease all use of our Brand, and delete any stored content and any DaySmart Vet Property in your possession or control. In addition, all rights and licenses granted to you will terminate immediately. We may independently communicate with any account owner whose account is associated with your Application to provide notice of the termination of your right to use our API.
7.4 Surviving Provisions
When the Terms terminate, those terms that by their nature are intended to continue indefinitely will continue to apply, including, but not limited to, pre-existing payment obligations and Sections 2.8, 6, 7.3, 7.4, 8 - 11.
8. WARRANTIES; DISCLAIMER
EXCEPT AS EXPRESSLY SET OUT IN THE TERMS, WE DO NOT MAKE ANY SPECIFIC PROMISES ABOUT OUR API, INCLUDING ANY COMMITMENT ABOUT THE CONTENT ACCESSED THROUGH OUR API, THE SPECIFIC FUNCTIONS OF OUR API, OR ITS RELIABILITY, AVAILABILITY OR ABILITY TO MEET YOUR NEEDS. WE PROVIDE OUR API "AS IS". SOME JURISDICTIONS PROVIDE FOR CERTAIN WARRANTIES, LIKE THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. EXCEPT AS EXPRESSLY PROVIDED FOR IN THE TERMS, TO THE EXTENT PERMITTED BY LAW, WE EXCLUDE ALL WARRANTIES, GUARANTEES, CONDITIONS, REPRESENTATIONS AND UNDERTAKINGS.
9. LIMITATION OF LIABILITY
WHEN PERMITTED BY LAW, WE WILL NOT BE RESPONSIBLE FOR LOST PROFITS, REVENUES, DATA FINANCIAL LOSSES, OR INDIRECT, SPECIAL, CONSEQUENTIAL, EXEMPLARY OR PUNITIVE DAMAGES. TO THE EXTENT PERMITTED BY LAW, OUR TOTAL LIABILITY FOR ANY CLAIM UNDER THE TERMS, INCLUDING FOR ANY IMPLIED WARRANTIES, IS LIMITED TO THE AMOUNT YOU PAID US TO USE OUR API DURING THE SIX MONTHS PRIOR TO THE EVENT GIVING RISE TO THE LIABILITY. IN ALL CASES, WE WILL NOT BE LIABLE FOR ANY EXPENSE, LOSS, OR DAMAGE THAT IS NOT REASONABLY FORESEEABLE.
10. Indemnification
You will defend, hold harmless and indemnify us (and our employees, shareholders and directors) from any claim or action brought by a third party (including any of our customers) against us, including all damages, liabilities, costs and expenses (including reasonably attorneys’ fees), to the extent resulting from, alleged to have resulted from, or are in connection with: (a) your breach of your obligations under these Terms; or (2) the violation of any intellectual property right of such third party by your Application or Brand.
11. General Provisions
We may modify these Terms at any time, so you should review them regularly. Changes will be effective immediately and they will apply retroactively. If you do not agree to the modified Terms, you must stop using our API. These Terms govern our relationship with you - they do not create any third party beneficiary rights. Our failure to enforce any right does not mean that we are giving up any of our rights. Neither of us will be liable for a failure to perform our obligations (excluding obligations to pay fees) as a result of a condition that is outside of our reasonable control (such as a natural disaster, war or Internet disturbance). We each agree to contract in the English language. These Terms (and any agreement or additional terms referenced in these Terms) make up the entire agreement between us relating to our API and your use of our API. If a court decides that a portion of these terms is not enforceable, the rest of these terms will not be affected. These Terms are governed by the laws of the State of California, excluding its conflict of laws rules. If there is a dispute between us, both of us agree to work together in good faith to try to resolve that dispute before resorting to taking any legal action. Nothing in these Terms will limit either party's ability to seek injunctive relief. All disputes relating to these Terms or our API be litigated exclusively in the federal or state courts of San Mateo County, California, and we both consent to personal jurisdiction in those courts. We may send you certain communications in connection with your use of our API.
Authentication
You will need to authenticate yourself when using our API. Authentication to our API is performed via oAuth2. You will need to include your secret API key, bearer token and clinic ID in the request header. Requests made without authentication will also fail. All requests must be made over HTTPS. Be sure to keep your credentials secret! Do not share them with any third party.
Sandbox Domain: https://ulimfxq67h.execute-api.us-west-2.amazonaws.com/sandbox
Production Domain: https://ulimfxq67h.execute-api.us-west-2.amazonaws.com/api
Method: POST
URL: https://{{domain}}/oauth/access_token
Content Type: application/x-www-form-urlencoded
Parameters:
Key | Description | Type |
---|---|---|
client_id | Obtained from DaySmart Vet | |
client_secret | Obtained from DaySmart Vet | |
grant_type | StringAlways "client_credentials" |
Example Request:curl -X POST -H "Cache-Control: no-cache" -H "x-api-key: {clientSecret}" -H "Content-Type: application/x-www-form-urlencoded" -d 'grant_type=client_credentials&client_id={clientId}&client_secret={clientSecret}&scope=APIService&=' "https://{{domain}}/oauth/access_token"
Example Response:{ "access_token": "cri5ncXt5SMaaCh9cXiFdR7FwQE0AXqUOLsaoDb7", "token_type": "Bearer", "expires_in": 3600 }
Appointment
List of Appointment
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/appointments
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
category | To get the Medical/Personal Appointment | Integer (default 0, max 2) 0 - Medical Appointment 1 - Personal Appointment 2 - Both |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/appointments?category=2&page=2&perPage=200
Display a listing of the appointments.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/appointments" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/appointments",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "c7fea4e8-375e-41",
"reason": "Exam",
"start": "2017-09-06T14:00:00+00:00",
"end": "2017-09-06T14:10:00+00:00",
"appointmentType": {
"id": "11eaf7ff-ae26-11",
"label": "Default"
},
"note": "",
"category": {
"id": 0,
"label": "Medical"
},
"status": "Checked in",
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"client": {
"id": "11ea66aa-ae3f-11",
"firstName": "Alex",
"lastName": "Ellwood"
},
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"createAt": "2017-04-19T02:02:51+00:00",
"updateAt": "2017-05-26T08:48:38+00:00",
"location": "In clinic",
"referral": {
"type": "Contact person",
"id": "2589120c-ae31-11",
"firstName": "Bernice",
"lastName": "Mitchell"
}
},
{
"id": "d6fc8e1d-a591-49",
"reason": "Exam",
"start": "2017-03-31T07:15:00+00:00",
"end": "2017-03-31T07:30:00+00:00",
"appointmentType": {
"id": "11eaf7ff-ae26-11",
"label": "Default"
},
"note": "",
"category": {
"id": 0,
"label": "Medical"
},
"status": "Checked in",
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"client": {
"id": "11efefd0-ae52-11",
"firstName": "Latoya",
"lastName": "Wardle"
},
"patient": {
"id": "11f587a5-ae33-11",
"name": "Small",
"weight": "20 Lbs"
},
"createAt": "2017-03-31T05:58:05+00:00",
"updateAt": "2017-03-31T05:59:54+00:00",
"location": "In clinic",
"referral": []
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/appointments
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
appointmentType.id | Appointment type | appointmentType.id (lookup from appointment type list) |
appointmentType.label | Appointment type's label | String |
client.firstName | Client first name for appointment | String |
client.id | Client for appointment | client.id (lookup from client list) |
client.lastName | Client last name for appointment | String |
createAt | Appointment created date | Date (ISO8601 format) |
end | Appointment end date | Date (ISO8601 format) |
id | Appointment Id | uuid |
location | Location for appointment | String, accepted values:• “In clinic”• “At client” |
note | Appointment Note | String |
patient.id | Patient for appointment | patient.id (lookup from patient list) |
patient.name | Patient name for appointment | String |
provider.id | Provider for appointment | staff.id (lookup from staff list) |
provider.firstName | Provider first name for appointment | String |
provider.lastName | Provider last name for appointment | String |
reason | Appointment reason | String |
referral.id | Referral id for appointment | contactPerson.id (lookup from contact persons list) company.id (lookup from compa- nies list) |
referral.type | Referral type | String, accepted values:• “Contact person” • “Company” |
start | Appointment start date | Date (ISO8601 format) |
updateAt | Appointment updated date | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/appointments?where=reason,=,Check mouth
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/appointments?where=['start,>=,2017-05-26T07:23:46-07:00','end,<=,2017-05-26T07:23:46-07:00']
Ordering:
Key | Description | Type |
---|---|---|
appointmentType.id | Appointment type | appointmentType.id (lookup from appointment type list) |
appointmentType.label | Appointment type's label | String |
client.firstName | Client first name for appointment | String |
client.id | Client for appointment | client.id (lookup from client list) |
client.lastName | Client last name for appointment | String |
createAt | Appointment created date | Date (ISO8601 format) |
end | Appointment end date | Date (ISO8601 format) |
id | Appointment Id | uuid |
location | Location for appointment | String, accepted values:• “In clinic”• “At client” |
note | Appointment Note | String |
patient.id | Patient for appointment | patient.id (lookup from patient list) |
patient.name | Patient name for appointment | String |
provider.id | Provider for appointment | staff.id (lookup from staff list) |
provider.firstName | Provider first name for appointment | String |
provider.lastName | Provider last name for appointment | String |
reason | Appointment reason | String |
referral.firstName | Referral first name | String |
referral.id | Referral id for appointment | contactPerson.id (lookup from contact persons list) company.id (lookup from compa- nies list) |
referral.name | Referral company name | String |
referral.lastName | Referral last name | String |
referral.type | Referral type | String, accepted values:• “Contact person” • “Company” |
start | Appointment start date | Date (ISO8601 format) |
updateAt | Appointment updated date | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/appointments?orderBy=start,desc
Store a newly created appointment in storage.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/appointments
Content Type : application/json
Response Status:
- 200 - Success
- 400 - Error saving record
- 401 - Invalid API key or invalid bearer token
Parameters: See parameters for “Update Appointment”.
Example Request: See Example request for "Update Appointments" but use POST method.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/appointments" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/appointments",
method: "POST",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/1.0.0/{apiKey}/appointments
Display the specified appointment.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/appointments/{appointmentId}
Response Status:
- 200 - Success
- 400 - Error saving record
- 404 - Record not found
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/appointments/{appointmentId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/appointments/{appointmentId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "c7fea4e8-375e-41",
"reason": "Test API",
"start": "2017-09-06T14:00:00+00:00",
"end": "2017-09-06T14:10:00+00:00",
"appointmentType": {
"id": "11eaf7ff-ae26-11",
"label": "Default"
},
"note": "",
"category": {
"id": 0,
"label": "Medical"
},
"status": "Checked in",
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"client": {
"id": "11ea66aa-ae3f-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"createAt": "2017-04-19T02:02:51+00:00",
"updateAt": "2017-05-26T08:48:38+00:00",
"location": "In clinic",
"referral": {
"type": "Contact person",
"id": "2589120c-ae31-11",
"firstName": "Bernice",
"lastName": "Mitchell"
}
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/appointments/{appointmentId}
Update the specified appointment in storage.
Method: PUT
URL: https://{{domain}}/api/1.0.0/{apiKey}/appointments/{appointmentId}
Content Type: application/json
Response Status:
- 200 - Success
- 400 - Error saving record
- 401 - Invalid API key or invalid bearer token
- 404 - Record not found
Parameters:
Name | Description | Type | Validation | |
---|---|---|---|---|
reason | Appointment reason | String | Required | |
start | Appointment start time | Date | Required; Must be in ISO8601 format “2016- 08-19T06:15:47-0700” | |
end | Appointment end time | Date | Required; Must be in ISO8601 format “2016- 08-19T06:15:47-0700”; Must be greater than start | |
appointmentType{id} | Appointment type | appointmentType.id, JSON | Required (lookup from appointment types list) | |
note | Note | String | Optional | |
provider{id} | Provider for appointment | staff.id, JSON | Required (lookup from staff list) | |
client{id} | Client | client.id, JSON | Optional (lookup from client list) | |
patient{id} | Patient | patient.id, JSON | Optional(lookup from patient list) | |
location | Location | String | Required Accepted values:• “In clinic”• “At client” | |
referral{type} | Referral type | String, JSON | Optional Accepted values:• “Contact person” • “Company” | |
referral{id} | Referral idSometimes an appointment was referred to the clinic by others either person or company. | contactPerson.id / company.id, JSON | Required if referral{type} existsIf referral{type} is “Contact person”, then lookup from contact persons listIf referral{type} is “Company”, then lookup from compa- nies list |
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/appointments/{appointmentId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/appointments/{appointmentId}",
method: "PUT",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/1.0.0/{apiKey}/appointments/{appointments}
Appointment Status
List of appointments
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/census
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
start | To get the start of the day of the appointment start date | Date (ISO8601 format) |
end | To get the end of the day of the appointment end date | Date (ISO8601 format) |
updateAt | To get the end of the day of the appointment end date | Date (ISO8601 format) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/census?page=2&perPage=200
Remarks:
- If only start date passed, the results will render all appointments from the start of the day of "start" until end of the day of current date.
- If only end date passed, the results will render all appointments starting from beginning until end of the day of "end" date.
- If start and end date passed, the results will render all appointments from the start of the day of "start" until end of the day of "end" date.
- If no start and end date passed, the results will render all appointments for current date.
Display a listing of the available appointment in census.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/census" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/census",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 3,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 3,
"timezone": "Asia/Kuala_Lumpur"
},
"header": {
"header_date": "Friday, Apr 7, 2017",
"prev_timestamp": "2017-04-06T07:00:00+00:00",
"next_timestamp": "2017-04-08T07:00:00+00:00"
},
"resources": [
{
"id": "dfd29fd0-d9d7-44",
"reason": "Exam 2",
"start": "2017-04-06T15:45:00+00:00",
"end": "2017-04-06T16:00:00+00:00",
"appointmentType": {
"id": "11eaf7ff-ae26-11",
"label": "Default"
},
"note": "",
"category": {
"id": 0,
"label": "Medical"
},
"status": "Visit complete",
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"client": {
"id": "11efefd0-ae52-11",
"firstName": "Latoya",
"lastName": "Wardle"
},
"patient": {
"id": "11f587a5-ae33-11",
"name": "Small",
"weight": "20 Lbs"
},
"createAt": "2017-04-06T08:58:32+00:00",
"updateAt": "2017-04-06T09:32:19+00:00",
"location": "In clinic",
"referral": []
},
{
"id": "4fc0c242-1777-41",
"reason": "Test",
"start": "2017-04-07T15:45:00+00:00",
"end": "2017-04-07T16:00:00+00:00",
"appointmentType": {
"id": "11eaf7ff-ae26-11",
"label": "Default"
},
"note": "",
"category": {
"id": 0,
"label": "Medical"
},
"status": "Cancelled",
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"client": {
"id": "11f9193b-ae52-11",
"firstName": "Natalie",
"lastName": "Tan"
},
"patient": {
"id": "11f92496-ae26-11",
"name": "Pat",
"weight": ""
},
"createAt": "2017-04-07T08:58:32+00:00",
"updateAt": "2017-04-07T09:32:19+00:00",
"location": "In clinic",
"referral": []
},
{
"id": "0cccc30f-114b-4f",
"reason": "Exam 1",
"start": "2017-04-07T09:00:00+00:00",
"end": "2017-04-07T09:15:00+00:00",
"appointmentType": {
"id": "11eaf7ff-ae26-11",
"label": "Default"
},
"note": "",
"category": {
"id": 0,
"label": "Medical"
},
"status": "Checked in",
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"client": {
"id": "11f9193b-ae52-11",
"firstName": "Natalie",
"lastName": "Tan"
},
"patient": {
"id": "11f92496-ae26-11",
"name": "Pat",
"weight": ""
},
"createAt": "2017-04-07T03:30:24+00:00",
"updateAt": "2017-04-07T03:30:24+00:00",
"location": "In clinic",
"referral": []
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/census
Passing parameter in query
Operators : '='
Where clauses:
Key | Description | Type |
---|---|---|
end | Appointment start date | Date (ISO8601 format) |
start | Appointment start date | Date (ISO8601 format) |
timezone | Timezone for date | Valid timezone (eg: America/Los_Angeles) |
updateAt | Client updated date | Date (ISO8601 format) |
- By default current day appointment will be rendered.
- The default timezone is America/Los_Angeles timezone.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/census?start=2017-06-22T0:00:00-07:00&timezone=Asia/Kuala_Lumpur&end=2017-06-23T0:00:00-07:00&updateAt=2017-06-23T0:00:00-07:00
Update the specified appointment status.
Parameters:
Name | Description | Type | Validation |
---|---|---|---|
status | The appointment status | Integer | Required (Lookup from status) |
date | Appointment confirmation date | Date (ISO8601 format) | Required if status is 2 (Confirmed) |
reason | Appointment cancellation reason | Integer | Required if status is 3 (Cancelled)1 - Cancelled by Client2 - Cancelled by Clinic3 - Created in Error4 - No Show |
createBy | The staff id | uuid | Optional, required if updateBy is provided (Lookup from staffs), it should be same with updateBy |
updateBy | The staff id | uuid | Optional, required if createBy is provided (Lookup from staffs), it should be same with createBy |
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/census/{appointmentId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/census/{appointmentId}",
method: "PUT",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/1.0.0/{apiKey}/census/{appointmentId}
Appointment Status Type
List of Status Type
Display a listing of available the status.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/status" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/status",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 7,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 7,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 1,
"value": "Not confirmed"
},
{
"id": 2,
"value": "Confirmed"
},
{
"id": 3,
"value": "Cancelled"
},
{
"id": 4,
"value": "Checked in"
},
{
"id": 5,
"value": "In room"
},
{
"id": 6,
"value": "Visit complete"
},
{
"id": 7,
"value": "Checked out"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/status
Appointment Types
List of Appointment Types
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/appointment-types
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/appointment-types?page=2&perPage=200
Display a listing of the the practice’s appointment types.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/appointment-types" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/appointment-types",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 1,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 1,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "11eaf7ff-ae26-11",
"label": "Default",
"duration": 15,
"color": {
"id": 16,
"label": "Light Yellow",
"code": "FFFFE0"
},
"description": "",
"isDefault": true
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/appointment-types
Appointment Type Color
List of Appointment Type Colors
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/colors
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Display a listing of the available colors.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/colors" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/colors",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 60,
"perPage": 20,
"currentPage": 1,
"lastPage": 3,
"from": 1,
"to": 20,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 1,
"code": "CD5C5C",
"label": "Indian Red"
},
{
"id": 2,
"code": "F08080",
"label": "Light Coral"
},
{
"id": 3,
"code": "E9967A",
"label": "Dark Salmon"
},
{
"id": 4,
"code": "FFA07A",
"label": "Light Salmon"
},
{
"id": 5,
"code": "DC143C",
"label": "Crimson"
},
{
"id": 6,
"code": "B22222",
"label": "Fire Brick"
},
{
"id": 7,
"code": "FFB6C1",
"label": "Light Pink"
},
{
"id": 8,
"code": "FF69B4",
"label": "Hot Pink"
},
{
"id": 9,
"code": "DB7093",
"label": "Pale Violet Red"
},
{
"id": 10,
"code": "FF7F50",
"label": "Coral"
},
{
"id": 11,
"code": "FF6347",
"label": "Tomato"
},
{
"id": 12,
"code": "FF4500",
"label": "Orange Red"
},
{
"id": 13,
"code": "FFA500",
"label": "Orange"
},
{
"id": 14,
"code": "FFD700",
"label": "Gold"
},
{
"id": 15,
"code": "FFFF00",
"label": "Yellow"
},
{
"id": 16,
"code": "FFFFE0",
"label": "Light Yellow"
},
{
"id": 17,
"code": "FFFACD",
"label": "Lemon Chiffon"
},
{
"id": 18,
"code": "FAFAD2",
"label": "Light Goldenrod Yellow"
},
{
"id": 19,
"code": "FFEFD5",
"label": "Papaya Whip"
},
{
"id": 20,
"code": "FFE4B5",
"label": "Moccasin"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/colors
Appointment Providers
List of Appointment Providers
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers?page=2&perPage=200
Display a listing of the appointment providers.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 200,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "b54755cd-34uu-48",
"index": 2,
"displayName": "John Doe",
"actorId": "0000000000000002",
"type": 1,
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2020-05-06T01:56:14+00:00",
"updateBy": "0000000000000003",
"updateAt": "2020-05-06T01:56:14+00:00"
},
{
"id": "d084cb8b-q3sw-4f",
"index": 1,
"displayName": "Non staff schedule column",
"actorId": null,
"type": 0,
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2020-05-04T18:27:57+00:00",
"updateBy": "0000000000000003",
"updateAt": "2020-05-04T18:27:57+00:00"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/appointment-providers
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
staff.id | Staff for appointment providers | staff.id (lookup from staff list) |
staff.firstName | Staff first name for appointment providers | String |
staff.lastName | Staff last name for appointment providers | String |
type | Appointment providers type | • 0 - Non-Staff• 1 - Staff |
isActive | Appointment providers active | • 0 - Not Active• 1 - Active |
createAt | Appointment providers created date | Date (ISO8601 format) |
updateAt | Appointment providers updated date | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers?where=type,=,1
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers?where=['type,=,1','createAt,>=,2017-05-26T07:23:46-07:00']
Ordering:
Key | Description | Type |
---|---|---|
createAt | Appointment providers created date | Date (ISO8601 format) |
updateAt | Appointment providers updated date | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers?orderBy=createAt,desc
Display the specified appointment provider.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers/{appointmentProviderId}
Response Status:
- 200 - Success
- 404 - Record not found
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers/{appointmentProviderId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url:
"https://{{domain}}/api/1.0.0/{apiKey}/appointment-providers/{appointmentProviderId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "b54755cd-34uu-48",
"index": 2,
"displayName": "John Doe",
"actorId": "0000000000000002",
"type": 1,
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2020-05-06T01:56:14+00:00",
"updateBy": "0000000000000003",
"updateAt": "2020-05-06T01:56:14+00:00"
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/appointment-providers/{appointmentProviderId}
Campaign
HTTP Request
Campaign
List of Campaigns
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/campaigns
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/campaigns?page=2&perPage=200
Display a listing of the campaigns.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/campaigns" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/campaigns",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 200,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "09cf02cf-93b6-47",
"title": "2021 - 1st Quarter",
"cost": 1000,
"description": "",
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2021-01-05T09:23:39+00:00",
"updateBy": "0000000000000003",
"updateAt": "2021-01-05T09:23:39+00:00"
},
{
"id": "0cb8fd9e-6c14-4e",
"title": "2021 - 2nd Quarter",
"cost": 1000,
"description": "",
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2021-01-07T02:07:34+00:00",
"updateBy": "0000000000000003",
"updateAt": "2021-01-07T02:07:34+00:00"
},
{
"id": "861d0310-ca5b-4a",
"title": "2021 - 3rd Quarter",
"cost": 1500,
"description": "",
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2021-01-07T02:07:05+00:00",
"updateBy": "0000000000000003",
"updateAt": "2021-01-07T02:07:05+00:00"
},
{
"id": "a43d3c8b-4c06-45",
"title": "2021 - 4th Quarter",
"cost": 5000,
"description": "",
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2021-01-07T02:07:22+00:00",
"updateBy": "0000000000000003",
"updateAt": "2021-01-07T02:07:22+00:00"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/campaigns
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>='
Where clauses:
Key | Description | Type |
---|---|---|
createAt | Campaign created date | Date (ISO8601 format) |
updateAt | Campaign updated date | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/campaigns?where=type,=,1
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/campaigns?where=['type,=,1','createAt,>=,2017-05-26T07:23:46-07:00']
Ordering:
Key | Description | Type |
---|---|---|
createAt | Campaign created date | Date (ISO8601 format) |
updateAt | Campaign updated date | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/campaigns?orderBy=createAt,desc
Display the specified campaign.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/campaigns/{campaignId}
Response Status:
- 200 - Success
- 404 - Record not found
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/campaigns/{campaignId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/campaigns/{campaignId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "a43d3c8b-4c06-45",
"title": "2021 - 4th Quarter",
"cost": 5000,
"description": "",
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2021-01-07T02:07:22+00:00",
"updateBy": "0000000000000003",
"updateAt": "2021-01-07T02:07:22+00:00"
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/campaigns/{campaignId}
Client
List of Clients
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/clients
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
showAll | Show all clients including deleted clients | Integer (default 0) 0 - False 1 - True |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/clients?page=2&perPage=200
Display a listing of the clients.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/clients" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/clients",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "11efefd0-ae52-11",
"index": 12,
"firstName": "Latoya",
"lastName": "Wardle",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"home": "",
"work": "",
"mobile": "",
"email": "l.wardle@msn.com.my",
"fax": "",
"createAt": "2017-03-20T08:58:54+00:00",
"updateAt": "2017-07-26T09:55:01+00:00",
"firstVisit": "2017-03-30T14:00:00+00:00",
"lastVisit": "2017-06-13T11:00:00+00:00",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["email"],
"status": "Active",
"isDeleted": false,
"referredBy": {
"isActive": true,
"createBy": "0000000000000005",
"createAt": "2021-01-07T01:50:23+00:00",
"updateBy": "0000000000000005",
"updateAt": "2021-01-07T01:50:23+00:00",
"id": "0cb8fd9e-6c14-4e",
"type": "Campaign"
},
"patients": [
{
"id": "11f587a5-ae33-11",
"index": 21,
"firstVisit": "2017-03-30T14:00:00+00:00",
"lastVisit": "2017-06-13T11:00:00+00:00",
"name": "Small",
"species": {
"id": 1,
"label": "Canine"
},
"color": "",
"sex": {
"id": 3,
"label": "Female (intact)"
},
"breeds": [
{
"id": 26,
"label": "American Staffordshire Terrier"
}
],
"birthdate": "",
"chip": "",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"isPrimary": true,
"isDeleted": false
}
]
},
{
"id": "11f9193b-ae52-11",
"index": 23,
"firstName": "Natalie",
"lastName": "Tan",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"home": "",
"work": "",
"mobile": "",
"email": "natalie@gmail.com",
"fax": "",
"createAt": "2017-04-07T02:45:14+00:00",
"updateAt": "2017-06-21T07:21:47+00:00",
"firstVisit": "2017-04-07T10:30:00+00:00",
"lastVisit": "2017-06-21T02:00:00+00:00",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["email"],
"status": "Active",
"isDeleted": false,
"referredBy": null,
"patients": [
{
"id": "11f92496-ae26-11",
"index": 23,
"firstVisit": "2017-04-07T10:30:00+00:00",
"lastVisit": "2017-06-21T02:00:00+00:00",
"name": "Pat",
"species": {
"id": 1,
"label": "Canine"
},
"color": "",
"sex": {
"id": 3,
"label": "Female (intact)"
},
"breeds": [
{
"id": 26,
"label": "American Staffordshire Terrier"
}
],
"birthdate": "",
"chip": "",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"isPrimary": true,
"isDeleted": false
}
]
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/clients
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like', 'in'
Where clauses:
Key | Description | Type |
---|---|---|
address | Address for client | String |
city | City for client | String |
country | Country for client | String |
createAt | Client created date | Date (ISO8601 format) |
Email for client | String | |
fax | Fax for client | String |
firstName | Client first name | String |
home | Home number for client | String/Integer |
id | Client Id | uuid |
index | Client Index | Integer |
lastName | Client last name | String |
mobile | Mobile number for client | String/Integer |
state | State for client | String |
work | Work number for client | String/Integer |
updateAt | Client updated date | Date (ISO8601 format) |
zipcode | Zipcode for client | Integer |
Ordering:
Key | Description | Type |
---|---|---|
address | Address for client | String |
city | City for client | String |
country | Country for client | String |
createAt | Client created date | Date (ISO8601 format) |
Email for client | String | |
fax | Fax for client | String |
firstName | Client first name | String |
home | Home number for client | String/Integer |
id | Client Id | uuid |
lastName | Client last name | String |
mobile | Mobile number for client | String/Integer |
state | State for client | String |
work | Work number for client | String/Integer |
updateAt | Client updated date | Date (ISO8601 format) |
zipcode | Zipcode for client | Integer |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/clients?where=lastName,=,Tan&orderBy=lastName,desc
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/clients?where=['state,=,California','zipcode,=,9001']&orderBy=lastName
Store a newly created client in storage.
Parameters: See parameters for “Update Client”.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/clients" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/clients",
method: "POST",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/1.0.0/{apiKey}/clients
Display the specified client.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/clients/{clientId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/clients/{clientId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "11efefd0-ae52-11",
"index": 12,
"firstName": "Latoya",
"lastName": "Wardle",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"home": "",
"work": "",
"mobile": "",
"email": "l.wardle@msn.com.my",
"fax": "",
"createAt": "2017-03-20T08:58:54+00:00",
"updateAt": "2017-07-26T09:55:01+00:00",
"firstVisit": "2017-03-30T14:00:00+00:00",
"lastVisit": "2017-06-13T11:00:00+00:00",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["email"],
"status": "Active",
"isDeleted": false,
"referredBy": {
"isActive": true,
"createBy": "0000000000000005",
"createAt": "2021-01-07T01:50:23+00:00",
"updateBy": "0000000000000005",
"updateAt": "2021-01-07T01:50:23+00:00",
"id": "0cb8fd9e-6c14-4e",
"type": "Campaign"
},
"patients": [
{
"id": "11f587a5-ae33-11",
"index": 35,
"firstVisit": "2017-03-30T14:00:00+00:00",
"lastVisit": "2017-06-13T11:00:00+00:00",
"name": "Small",
"species": {
"id": 1,
"label": "Canine"
},
"color": "",
"sex": {
"id": 3,
"label": "Female (intact)"
},
"breeds": [
{
"id": 26,
"label": "American Staffordshire Terrier"
}
],
"birthdate": "",
"chip": "",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"isPrimary": true,
"isDeleted": false
}
]
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/clients/{clientId}
Update the specified client in storage.
Parameters :
Name | Description | Type | Validation |
---|---|---|---|
address | Street address | String | Optional |
city | City | String | Optional |
country | Country | String | Optional |
String | Optional | ||
fax | Fax number | String | Optional |
firstName | Client first name | String | Required |
home | Home phone | String | Optional |
lastName | Client last name | String | Required |
mobile | Mobile phone | String | Optional |
state | State | String | Optional |
work | Work phone | String | Optional |
zipcode | Zipcode | String | Optional |
discount{id} | Discount type | discount.id, JSON | Optional (lookup from inventory discount list) |
reminderOptions | Reminder Option | Array | Optional Accepted values:• “mail” • "email” • "phone" • "sms |
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/clients/{clientId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/clients/{clientId}",
method: "PUT",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/1.0.0/{apiKey}/clients/{clientId}
Clinic
Display the clinic information
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/clinic
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/clinic
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/clinic" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/clinic",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"name": "Lebendauer Enterprise",
"phone": "510910142688",
"phoneCountryCode": 1,
"fax": "510910142688",
"faxCountryCode": 1,
"email": "lebendauer_enterprise@gmali.com",
"twitter": "",
"facebook": "",
"website": "https://www.lebendauer_enterprise.com",
"accountNo": "",
"apiKey": "7acd9bd6-1e70-372c-88bb-a94bd3cd8282",
"addresses": [
{
"name": "Primary",
"address": "123",
"city": "Fremont",
"county": "",
"state": "California",
"country": "United States",
"zipcode": "482712",
"isPrimary": true
},
{
"name": "Shipping",
"address": "ABC Road",
"city": "Flemington",
"county": "",
"state": "Valencian Community",
"country": "United States",
"zipcode": "123456",
"isPrimary": false
}
]
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/clinic
Communication
List of Communication
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/communications
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/communications?page=2&perPage=200
Display a listing of the communications.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/communications" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/communications",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "13e77dca-ae52-11",
"index": 1,
"content": "<p>Test communication 1</p>",
"patientId": "b1d8f09d-0540-40",
"clientId": "77670325-cb21-44",
"contactId": "",
"appointmentId": "70345278-b7c6-41",
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2017-09-06T14:00:00+00:00",
"updateBy": "0000000000000003",
"updateAt": "2017-09-06T14:00:00+00:00",
"date": "2019-12-02T02:27:42+00:00",
"type": 2
},
{
"id": "13e5d88e-ae5a-11",
"index": 2,
"content": "<p>Test communication 2</p>",
"patientId": "b1d8f09d-0540-40",
"clientId": "77670325-cb21-44",
"contactId": "",
"appointmentId": "80559929-4616-44",
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2017-09-05T14:00:00+00:00",
"updateBy": "0000000000000003",
"updateAt": "2019-12-03T01:53:34+00:00",
"date": "2017-09-05T14:00:00+00:00",
"type": 2
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/communications
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
client.firstName | Client first name for communication | String |
client.id | Client for communication | client.id (lookup from client list) |
client.lastName | Client last name for communication | String |
createAt | Communication created date | Date (ISO8601 format) |
type | Communication type | • 1 - Phone• 2 - In Person• 3 - Fax• 4 - Email• 5 - Mail• 6 - SMS (Text) |
isActive | Communication active | • 0 - Not Active• 1 - Active |
patient.id | Patient for communication | patient.id (lookup from patient list) |
patient.name | Patient name for communication | String |
updateAt | Communication updated date | Date (ISO8601 format) |
staff.id | Communication created by | staff.id (lookup from staff list) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/communications?where=type,=,1
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/communications?where=['type,=,1','createAt,>=,2017-05-26T07:23:46-07:00']
Ordering:
Key | Description | Type |
---|---|---|
createAt | Communication created date | Date (ISO8601 format) |
updateAt | Communication updated date | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/communications?orderBy=createAt,desc
Store a newly created communication in storage.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/communications
Content Type : application/json
Response Status:
- 200 - Success
- 400 - Error saving record
- 401 - Invalid API key or invalid bearer token
Parameters: See parameters for “Update Communication".
Example Request: See Example request for "Update Communication" but use POST method.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/communications" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/communications",
method: "POST",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/1.0.0/{apiKey}/communications
Display the specified communication.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/communications/{communicationId}
Response Status:
- 200 - Success
- 400 - Error saving record
- 404 - Record not found
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/communications/{communicationId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/communications/{communicationId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "13e77dca-ae52-11",
"index": 1,
"content": "<p>Test communication 1</p>",
"patientId": "b1d8f09d-0540-40",
"clientId": "77670325-cb21-44",
"contactId": "",
"appointmentId": "70345278-b7c6-41",
"isActive": true,
"createBy": "0000000000000003",
"createAt": "2017-09-06T14:00:00+00:00",
"updateBy": "0000000000000003",
"updateAt": "2017-09-06T14:00:00+00:00",
"date": "2019-12-02T02:27:42+00:00",
"type": 2
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/communications/{communicationId}
Update the specified communication in storage.
Method: PUT
URL: https://{{domain}}/api/1.0.0/{apiKey}/communications/{communicationId}
Content Type: application/json
Response Status:
- 200 - Success
- 400 - Error saving record
- 401 - Invalid API key or invalid bearer token
- 404 - Record not found
Parameters:
Name | Description | Type | Validation | |
---|---|---|---|---|
content | Communication content | String | Required | |
client{id} | Client | client.id, JSON | Required (lookup from client list) | |
patient{id} | Patient | patient.id, JSON | Optional(lookup from patient list) | |
date | Communication date | Date | Required; Must be in ISO8601 format “2016- 08-19T06:15:47-0700”; | |
type | Communication type | Integer | Required;• 1 - Phone• 2 - In Person• 3 - Fax• 4 - Email• 5 - Mail• 6 - SMS (Text) |
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/communications/{communicationId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/communications/{communicationId}",
method: "PUT",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/1.0.0/{apiKey}/communications/{communicationId}
Company
List of Companies
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/companies
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/companies?page=2&perPage=200
Display a listing of the companies from the practice’s contacts list.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/companies" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/companies",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "144fbc9b-ae6a-11",
"name": "Excellent Visions Medical",
"address": "16 Jalan Sungai Ujong",
"city": "George Town",
"state": "Pulau Pinang",
"zipcode": "10100",
"phone": "4567891",
"fax": "",
"email": "",
"website": "www.excellent-medical.com",
"createAt": "2017-04-20T06:16:12+00:00",
"updateAt": "2017-04-20T06:16:12+00:00",
"country": "Malaysia",
"accountNo": ""
},
{
"id": "144fc031-ae35-11",
"name": "DKSH S/B",
"address": "Jalan Subang Perdana",
"city": "Shah Alam",
"state": "Selangor",
"zipcode": "40150",
"phone": "",
"fax": "",
"email": "",
"website": "www.dkshb.com.my",
"createAt": "2017-04-20T06:17:15+00:00",
"updateAt": "2017-04-20T06:17:15+00:00",
"country": "Malaysia",
"accountNo": ""
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/companies
Contact
List of Contacts
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/contact-persons
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/contact-persons?page=2&perPage=200
Display a listing of the contacts from the practice’s contacts list.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/contact-persons" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/contact-persons",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "0000000000065562",
"firstName": "Karen",
"lastName": "S",
"salutation": "",
"title": "Account Manager",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"work": "",
"mobile": "",
"email": "",
"fax": "",
"createAt": "2013-06-25T18:25:21+00:00",
"updateAt": "2013-06-25T18:26:37+00:00"
},
{
"id": "0000000000065564",
"firstName": "Adam",
"lastName": "B",
"salutation": "DVM",
"title": "Dr.",
"address": "11238 Buzzy Drive",
"city": "San Francisco",
"state": "California",
"country": "United States",
"zipcode": "91173",
"work": "510-874-2571",
"mobile": "510-471-2794",
"email": "vetterqa@gmail.com",
"fax": "408-758-6634",
"createAt": "2013-07-03T04:03:04+00:00",
"updateAt": "2015-04-03T04:35:47+00:00"
},
{
"id": "0000000000065565",
"firstName": "Phil",
"lastName": "Z",
"salutation": "",
"title": "Dr.",
"address": "",
"city": "Fogelsville",
"state": "Pennsylvania",
"country": "",
"zipcode": "18051",
"work": "",
"mobile": "",
"email": "",
"fax": "",
"createAt": "2013-07-03T16:46:51+00:00",
"updateAt": "2013-07-04T05:33:20+00:00"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/contact-persons
Credit
List of Credits
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/credits
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/credits?page=2&perPage=200
Display a listing of the available credits.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/credits" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/credits",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 141,
"perPage": 20,
"currentPage": 1,
"lastPage": 8,
"from": 1,
"to": 20,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"name": "Credit #15",
"amount": 0,
"date": "2014-11-24T22:08:31+00:00",
"isactive": false,
"createdAt": "2014-11-24T22:08:31+00:00",
"updatedAt": "2014-11-24T22:08:31+00:00",
"client": null,
"creditType": null,
"invoices": null,
"payment": null
},
{
"name": "Credit #16",
"amount": 0,
"date": "2014-11-24T22:08:40+00:00",
"isactive": false,
"createdAt": "2014-11-24T22:08:40+00:00",
"updatedAt": "2014-11-24T22:08:40+00:00",
"client": null,
"creditType": null,
"invoices": null,
"payment": null
},
{
"name": "Credit #17",
"amount": 0,
"date": "2014-11-25T07:33:36+00:00",
"isactive": false,
"createdAt": "2014-11-25T07:33:36+00:00",
"updatedAt": "2014-11-25T07:33:36+00:00",
"client": null,
"creditType": null,
"invoices": null,
"payment": null
},
{
"name": "Credit #19",
"amount": 0,
"date": "2014-11-27T05:45:50+00:00",
"isactive": false,
"createdAt": "2014-11-27T05:45:50+00:00",
"updatedAt": "2014-11-27T05:45:50+00:00",
"client": null,
"creditType": null,
"invoices": null,
"payment": null
},
{
"name": "Credit #21",
"amount": 0,
"date": "2014-12-08T01:44:02+00:00",
"isactive": false,
"createdAt": "2014-12-08T01:44:02+00:00",
"updatedAt": "2014-12-08T01:44:02+00:00",
"client": null,
"creditType": null,
"invoices": null,
"payment": null
},
{
"name": "Credit #22",
"amount": 0,
"date": "2014-12-08T01:44:09+00:00",
"isactive": false,
"createdAt": "2014-12-08T01:44:09+00:00",
"updatedAt": "2014-12-08T01:44:09+00:00",
"client": null,
"creditType": null,
"invoices": null,
"payment": null
},
{
"name": "Credit #23",
"amount": 0,
"date": "2014-12-08T07:15:09+00:00",
"isactive": false,
"createdAt": "2014-12-08T07:15:09+00:00",
"updatedAt": "2014-12-08T07:15:09+00:00",
"client": null,
"creditType": null,
"invoices": null,
"payment": null
},
{
"name": "Credit #26",
"amount": 0,
"date": "2014-12-22T03:11:17+00:00",
"isactive": false,
"createdAt": "2014-12-22T03:11:17+00:00",
"updatedAt": "2014-12-22T03:11:17+00:00",
"client": null,
"creditType": null,
"invoices": null,
"payment": null
},
{
"name": "Credit #1",
"amount": 10,
"date": "2014-05-27T05:29:46+00:00",
"isactive": false,
"createdAt": "2014-05-27T05:29:46+00:00",
"updatedAt": "2014-07-18T19:19:10+00:00",
"client": {
"id": "0000000000019819",
"firstName": "Sagi",
"lastName": "S"
},
"creditType": {
"id": 1,
"name": "Client Relations"
},
"invoices": [
{
"id": "0000000000134578",
"name": "Invoice #11",
"paymentAmount": 10
}
],
"payment": null
},
{
"name": "Credit #29",
"amount": 20,
"date": "2015-01-23T07:04:22+00:00",
"isactive": false,
"createdAt": "2015-01-23T07:04:22+00:00",
"updatedAt": "2015-02-13T03:09:52+00:00",
"client": {
"id": "0000000000041297",
"firstName": "chuping",
"lastName": "T"
},
"creditType": {
"id": 1,
"name": "Client Relations"
},
"invoices": [
{
"id": "0000000000174508",
"name": "Invoice #176",
"paymentAmount": 20
}
],
"payment": null
},
{
"name": "Credit #81",
"amount": 60.5,
"date": "2015-11-24T08:00:00+00:00",
"isactive": false,
"createdAt": "2015-11-24T15:54:38+00:00",
"updatedAt": "2016-03-22T08:28:54+00:00",
"client": {
"id": "06763b89-ae64-11",
"firstName": "Hunter",
"lastName": "Miska"
},
"creditType": {
"id": 1,
"name": "Client Relations"
},
"invoices": null,
"payment": null
},
{
"name": "Credit #35",
"amount": 10,
"date": "2015-02-07T08:00:00+00:00",
"isactive": false,
"createdAt": "2015-02-07T16:11:41+00:00",
"updatedAt": "2015-02-07T16:11:48+00:00",
"client": {
"id": "0000000000019820",
"firstName": "Jimmy \"Rocket\"",
"lastName": "H"
},
"creditType": {
"id": 1,
"name": "Client Relations"
},
"invoices": null,
"payment": null
},
{
"name": "Credit #104",
"amount": 200,
"date": "2018-01-04T04:10:09+00:00",
"isactive": false,
"createdAt": "2018-01-04T04:10:09+00:00",
"updatedAt": "2018-01-04T07:24:53+00:00",
"client": {
"id": "0000000000019819",
"firstName": "Sagi",
"lastName": "S"
},
"creditType": {
"id": 2,
"name": "Referral"
},
"invoices": null,
"payment": null
},
{
"name": "Credit #34",
"amount": 10,
"date": "2015-02-07T08:00:00+00:00",
"isactive": false,
"createdAt": "2015-02-07T16:05:17+00:00",
"updatedAt": "2015-02-07T16:05:24+00:00",
"client": {
"id": "0000000000019820",
"firstName": "Jimmy \"Rocket\"",
"lastName": "H"
},
"creditType": {
"id": 2,
"name": "Referral"
},
"invoices": null,
"payment": null
},
{
"name": "Credit #2",
"amount": 20,
"date": "2014-07-22T03:54:24+00:00",
"isactive": false,
"createdAt": "2014-07-22T03:54:24+00:00",
"updatedAt": "2014-09-09T06:18:04+00:00",
"client": {
"id": "0000000000019820",
"firstName": "Jimmy \"Rocket\"",
"lastName": "H"
},
"creditType": {
"id": 4,
"name": "Deposit"
},
"invoices": [
{
"id": "0000000000147310",
"name": "Invoice #77",
"paymentAmount": 20
}
],
"payment": null
},
{
"name": "Credit #9",
"amount": 250,
"date": "2014-11-06T05:12:19+00:00",
"isactive": false,
"createdAt": "2014-11-06T05:12:19+00:00",
"updatedAt": "2014-11-06T05:20:31+00:00",
"client": {
"id": "0000000000019820",
"firstName": "Jimmy \"Rocket\"",
"lastName": "H"
},
"creditType": {
"id": 4,
"name": "Deposit"
},
"invoices": [
{
"id": "0000000000157604",
"name": "Invoice #109",
"paymentAmount": 250
}
],
"payment": {
"id": "0000000000029083",
"name": "Payment #34",
"amount": 250
}
},
{
"name": "Credit #31",
"amount": 50,
"date": "2015-01-27T08:00:00+00:00",
"isactive": false,
"createdAt": "2015-01-27T10:29:29+00:00",
"updatedAt": "2015-02-13T03:09:52+00:00",
"client": {
"id": "0000000000041297",
"firstName": "chuping",
"lastName": "T"
},
"creditType": {
"id": 4,
"name": "Deposit"
},
"invoices": null,
"payment": {
"id": "0000000000044027",
"name": "Payment #51",
"amount": 50
}
},
{
"name": "Credit #32",
"amount": 10,
"date": "2015-01-27T08:00:00+00:00",
"isactive": false,
"createdAt": "2015-01-27T11:04:46+00:00",
"updatedAt": "2015-01-27T11:04:58+00:00",
"client": {
"id": "0000000000019820",
"firstName": "Jimmy \"Rocket\"",
"lastName": "H"
},
"creditType": {
"id": 4,
"name": "Deposit"
},
"invoices": null,
"payment": {
"id": "0000000000044041",
"name": "Payment #52",
"amount": 10
}
},
{
"name": "Credit #68",
"amount": 99.8,
"date": "2015-04-01T07:00:00+00:00",
"isactive": false,
"createdAt": "2015-04-24T02:36:55+00:00",
"updatedAt": "2015-04-24T02:38:22+00:00",
"client": {
"id": "f0a363ab-ae25-11",
"firstName": "Chuping",
"lastName": "Tan"
},
"creditType": {
"id": 4,
"name": "Deposit"
},
"invoices": null,
"payment": {
"id": "054d952e-ae40-11",
"name": "Payment #102",
"amount": 99.9
}
},
{
"name": "Credit #78",
"amount": 25,
"date": "2015-06-03T07:00:00+00:00",
"isactive": false,
"createdAt": "2015-06-03T16:08:56+00:00",
"updatedAt": "2016-03-22T08:29:40+00:00",
"client": {
"id": "0590b87d-ae40-11",
"firstName": "client",
"lastName": "#1"
},
"creditType": {
"id": 4,
"name": "Deposit"
},
"invoices": null,
"payment": {
"id": "05de4773-ae76-11",
"name": "Payment #115",
"amount": 25
}
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/credits
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
id | Credit ID | |
isactive | Credit status | 1 - Active, 0 - Inactive |
date | Credit date in datetime | Date (ISO8601 format) |
create_at | Credit created at in datetime | Date (ISO8601 format) |
update_at | Credit updated at in datetime | Date (ISO8601 format) |
client.id | Client for credit | Client ID (lookup from client list) |
credit_type.id | Credit Type ID for credit type | Credit type ID (lookup from credit type list) |
payment.id | Payment for credit | Payment ID (lookup from payment list) |
invoice.id | Invoice for credit | Invoice ID (lookup from invoice list) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/credits?where=invoice.id,=,00209f22-0c33-47
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/credits?where=['update_at,>=,2017-05-26T07:23:46-07:00','update_at,<=,2017-05-26T07:23:46-07:00']
Ordering:
Key | Description | Type |
---|---|---|
date | Credit date in datetime | Date (ISO8601 format) |
create_at | Credit created at in datetime | Date (ISO8601 format) |
update_at | Credit updated at in datetime | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/credits?orderBy=date,desc
Credit Types
List of Credit Types
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/credit-types
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/credit-types?page=2&perPage=200
Display a listing of the available credit types.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/credit-types" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/credit-types",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 7,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 7,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 1,
"name": "Client Relations"
},
{
"id": 2,
"name": "Referral"
},
{
"id": 3,
"name": "Promotion"
},
{
"id": 4,
"name": "Deposit"
},
{
"id": 5,
"name": "Return"
},
{
"id": 6,
"name": "Other"
},
{
"id": 7,
"name": "Deposit (Overpaid)"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/credit-types
Estimate
List of Estimates
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/estimates
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/estimates?page=2&perPage=200
Display a listing of the estimates.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/estimates" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/estimates",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 200,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "America/Los_Angeles"
},
"resources": [
{
"id": "792cc88c-931f-11",
"index": 110,
"expire": "2018-07-04T07:48:28+00:00",
"start": "2018-06-20T07:48:00+00:00",
"status": 0,
"isactive": true,
"create_at": "2018-06-20T07:48:28+00:00",
"update_at": "2018-06-20T07:48:28+00:00",
"client": {
"id": "a19ec978-bb97-11",
"firstname": "Erick",
"lastname": "Thompson"
},
"items": [],
"name": "Estimate #1"
},
{
"id": "ae8fb86c-c5a9-11",
"index": 120,
"expire": "2018-07-31T15:04:18+00:00",
"start": "2018-07-17T15:04:00+00:00",
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:37+00:00",
"client": {
"id": "a172b0fe-bb97-11",
"firstname": "Thomas",
"lastname": "Benedict"
},
"items": [
{
"id": "ae8fcba4-c5a9-11",
"index": 0,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 20,
"price_max": 0,
"unit_price_min": 20,
"unit_price_max": 0,
"tax_min": 2,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:18+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Cameo"
},
"item": {
"id": "a3492e78-c9a8-4c",
"name": "Vaccination 1"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae8ff908-c5a9-11",
"index": 1,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:18+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "0db21e6e-1b09-4e",
"name": "Vaccination 2"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae903198-c5a9-11",
"index": 2,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:18+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "477974ef-0208-45",
"name": "Lab work 1"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae906df2-c5a9-11",
"index": 3,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:18+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "ce401b5a-0a52-4c",
"name": "Medicine 3"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae90a16e-c5a9-11",
"index": 4,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:19+00:00",
"update_at": "2018-07-17T15:04:19+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "d3683365-4ff4-4f",
"name": "Medicine 2"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae90d3d2-c5a9-11",
"index": 5,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:19+00:00",
"update_at": "2018-07-17T15:04:19+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "c9efb7dc-1f30-45",
"name": "Medicine 1"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
}
],
"name": "Estimate #2",
"status": 1
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/estimates
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
estimate.id | Id for estimate | uuid |
client.id | Client for estimate | client.id (lookup from client list) |
status | Estimate status | • 0 - Open• 1 - Approved |
isactive | Estimate active | • 0 - Not Active• 1 - Active |
start | Estimate start date | Date (ISO8601 format) |
expire | Estimate expire date | Date (ISO8601 format) |
patient.id | Patient for estimate | patient.id (lookup from patient list) |
patient.name | Patient name for estimate | String |
create_at | Estimate create_at date | Date (ISO8601 format) |
update_at | Estimate update_at date | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/estimates?where=status,=,1
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/estimates?where=['start,>=,2017-05-26T07:23:46-07:00','status,=,1']
Ordering:
Key | Description | Type |
---|---|---|
start | Estimate start date | Date (ISO8601 format) |
expire | Estimate expire date | Date (ISO8601 format) |
patient.id | Patient for estimate | patient.id (lookup from patient list) |
patient.name | Patient name for estimate | String |
create_at | Estimate create_at date | Date (ISO8601 format) |
update_at | Estimate update_at date | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/estimates?orderBy=update_at,desc
Display the specified estimate.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/estimates/{estimateId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/estimates/{estimateId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resources": {
"id": "ae8fb86c-c5a9-11",
"index": 110,
"expire": "2018-07-31T15:04:18+00:00",
"start": "2018-07-17T15:04:00+00:00",
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:37+00:00",
"client": {
"id": "a172b0fe-bb97-11",
"firstname": "Thomas",
"lastname": "Benedict"
},
"items": [
{
"id": "ae8fcba4-c5a9-11",
"index": 0,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 20,
"price_max": 0,
"unit_price_min": 20,
"unit_price_max": 0,
"tax_min": 2,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:18+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Cameo"
},
"item": {
"id": "a3492e78-c9a8-4c",
"name": "Vaccination 1"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae8ff908-c5a9-11",
"index": 1,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:18+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "0db21e6e-1b09-4e",
"name": "Vaccination 2"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae903198-c5a9-11",
"index": 2,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:18+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "477974ef-0208-45",
"name": "Lab work 1"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae906df2-c5a9-11",
"index": 3,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:18+00:00",
"update_at": "2018-07-17T15:04:18+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "ce401b5a-0a52-4c",
"name": "Medicine 3"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae90a16e-c5a9-11",
"index": 4,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:19+00:00",
"update_at": "2018-07-17T15:04:19+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "d3683365-4ff4-4f",
"name": "Medicine 2"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
},
{
"id": "ae90d3d2-c5a9-11",
"index": 5,
"date": "2018-07-17T15:04:00+00:00",
"quantity_min": 1,
"quantity_max": -1,
"price_min": 50,
"price_max": 0,
"unit_price_min": 50,
"unit_price_max": 0,
"tax_min": 5,
"tax_max": 0,
"fee": 0,
"total_min": 0,
"total_max": 0,
"status": 0,
"isactive": true,
"create_at": "2018-07-17T15:04:19+00:00",
"update_at": "2018-07-17T15:04:19+00:00",
"patient": {
"id": "a1729d62-bb97-11",
"name": "Lassy"
},
"item": {
"id": "c9efb7dc-1f30-45",
"name": "Medicine 1"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
}
}
],
"name": "Estimate #2",
"status": 1
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/estimates/{estimateId}
Inventory
List of Inventory Items
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/inventories
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventories?page=2&perPage=200
Display a listing of the inventory items.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/inventories" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/inventories",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 4,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 4,
"timezone": {
"timezone_type": 3,
"timezone": "America/Los_Angeles"
}
},
"resources": [
{
"id": "0d9962c8-5038-45",
"name": "Imrab 1 Rabies Vaccine",
"displayName": "Imrab 1 Rabies Vaccine",
"createAt": "2017-11-13T06:18:07+00:00",
"updateAt": "2018-02-21T13:49:42+00:00",
"dose": 1,
"price": "35.00",
"minimumPrice": "0.00",
"controlledItem": true,
"status": "Active",
"printOnInvoice": true,
"itemType": {
"id": 10585,
"label": "Prescriptions",
"type": "Pharmacy"
},
"unitOfMeasure": "Unit(s)"
},
{
"id": "151d38b7-ae6a-11",
"name": "Anesthesia",
"displayName": "Anesthesia",
"createAt": "2017-07-16T01:56:31+00:00",
"updateAt": "2017-11-13T03:02:28+00:00",
"dose": 1,
"price": "10.00",
"minimumPrice": "0.00",
"controlledItem": false,
"status": "Active",
"printOnInvoice": true,
"itemType": {
"id": 10595,
"label": "Anesthesia",
"type": "Anesthesia"
},
"unitOfMeasure": "Unit(s)"
},
{
"id": "b5f0c656-b436-40",
"name": "Dispensing Fee",
"displayName": "Dispensing Fee",
"createAt": "2017-11-13T03:03:22+00:00",
"updateAt": "2017-11-13T03:03:22+00:00",
"dose": 1,
"price": "10.00",
"minimumPrice": "0.00",
"controlledItem": false,
"status": "Active",
"printOnInvoice": true,
"itemType": {
"id": 10592,
"label": "Fees",
"type": "Administrative Fees"
},
"unitOfMeasure": "Unit(s)"
},
{
"id": "e525b334-26b8-4b",
"name": "Anesthesia Chamber Lexan",
"displayName": "Anesthesia Chamber Lexan",
"createAt": "2017-11-13T03:03:39+00:00",
"updateAt": "2017-11-13T03:03:39+00:00",
"dose": 1,
"price": "20.00",
"minimumPrice": "0.00",
"controlledItem": false,
"status": "Active",
"printOnInvoice": true,
"itemType": {
"id": 10595,
"label": "Anesthesia",
"type": "Anesthesia"
},
"unitOfMeasure": "Unit(s)"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/inventories
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like', 'in'
Where clauses:
Key | Description | Type |
---|---|---|
id | Item Id | uuid |
name | Item name | String |
price | Item price | String |
active | Item status | 1 - Active, 0 - Inactive |
controlledItem | Controlled item | 1 - True, 0 - False |
createAt | Item create date | Date (ISO8601 format) |
updateAt | Item updated date | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventories?where=name,=,Acarbose
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventories?where=['createAt,>=,2017-05-26T07:23:46-07:00']
Ordering:
Key | Description | Type |
---|---|---|
name | Item name | String |
createAt | Item create date | Date (ISO8601 format) |
updateAt | Item updated date | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventories?orderBy=createAt,desc
Display the specified inventory.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/inventories/{inventoryid}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/inventories/{inventoryid}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "0000000000085901",
"name": "Acepromazine 25mg Tablets",
"displayName": "Acepromazine 25mg Tablets",
"dose": 1,
"price": 3.25,
"minimumPrice": 3.25,
"controlledItem": false,
"status": "Active",
"printOnInvoice": true,
"itemType": {
"id": 1839,
"label": "Prescriptions",
"type": "Pharmacy"
},
"unitOfMeasure": "Unit(s)",
"createAt": "2015-01-05T23:51:46+0000",
"updateAt": "2015-02-12T11:40:43+0000",
"balance": -1818300
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/inventories/{inventoryid}
Inventory Adjustments
List of Inventory Adjustments
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/inventory-adjustments
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-measurements?page=2&perPage=200
Display a listing of the inventory adjustments.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/inventory-adjustments" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/inventory-adjustments",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 3,
"perPage": 200,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 3,
"timezone": {
"timezone_type": 3,
"timezone": "America/Los_Angeles"
}
},
"resources": [
{
"id": "0000000000000008",
"date": "2013-08-13T07:00:00+00:00",
"note": "",
"isactive": true,
"create_by": "0000000000000009",
"create_at": "2013-08-13T21:10:02+00:00",
"update_by": "0000000000000009",
"update_at": "2013-08-13T21:10:02+00:00",
"item": {
"id": "0000000000000384",
"name": "Amoxicillin 500mg Capsules"
},
"adjustment": 618,
"reason": "Other"
},
{
"id": "0000000000000009",
"date": "2013-08-14T07:00:00+00:00",
"note": "",
"isactive": true,
"create_by": "0000000000000009",
"create_at": "2013-08-14T16:36:31+00:00",
"update_by": "0000000000000009",
"update_at": "2013-08-14T16:36:31+00:00",
"item": {
"id": "0000000000000507",
"name": "Viralys Lysine Gel 5oz"
},
"adjustment": 4,
"reason": "Other"
},
{
"id": "0000000000000010",
"date": "2013-08-14T07:00:00+00:00",
"note": "",
"isactive": true,
"create_by": "0000000000000009",
"create_at": "2013-08-14T16:39:18+00:00",
"update_by": "0000000000000009",
"update_at": "2013-08-14T16:39:18+00:00",
"item": {
"id": "0000000000000343",
"name": "Baytril 136mg"
},
"adjustment": 133,
"reason": "Other"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/inventory-adjustments
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like', 'in'
Parameters:
Where clauses:
Key | Description | Type |
---|---|---|
isactive | Adjustment status | • 1 - Active• 0 - Inactive |
item_id | Inventory ID | item_id (lookup from inventory list) |
date | Date of adjustment | Date (ISO8601 format) |
create_at | Adjustment record created at | Date (ISO8601 format) |
update_at | Adjustment record updated at | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-adjustments?where=isactive,=,1
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-adjustments?where=['item_id,=,a6f8e7d8-607f-47,'isactive,=,1']
Ordering:
Key | Description | Type |
---|---|---|
date | Date of adjustment | Date (ISO8601 format) |
create_at | Adjustment date created | Date (ISO8601 format) |
update_at | Adjustment date updated | Date (ISO8601 format) |
adjustment | Adjustment quantity | Integer |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-adjustments?orderBy=date,desc
Display the specified inventory adjustment.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/inventory-adjustments/{adjustmentId}
Response Status:
- 200 - Success
- 400 - Error saving record
- 404 - Record not found
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/inventory-adjustments/{adjustmentId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url:
"https://{{domain}}/api/1.0.0/{apiKey}/inventory-adjustments/{adjustmentId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "0000000000000016",
"date": "2013-08-20T07:00:00+00:00",
"note": "",
"isactive": true,
"create_by": "0000000000000009",
"create_at": "2013-08-21T00:12:09+00:00",
"update_by": "0000000000000009",
"update_at": "2013-08-21T00:12:09+00:00",
"item": {
"id": "0000000000000900",
"name": "Hills A/D Cans 5.5 OZ"
},
"adjustment": 180,
"reason": "Other"
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/inventory-adjustments/{adjustmentId}
Inventory Purchases
List of Inventory Purchases
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases?page=2&perPage=200
Display a listing of the inventory purchases.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 3,
"perPage": 200,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 3,
"timezone": {
"timezone_type": 3,
"timezone": "America/Los_Angeles"
}
},
"resources": [
{
"id": "0000000000000010",
"date": "2013-06-23T07:00:00+00:00",
"expire": "2013-12-31T08:00:00+00:00",
"lot": "06/19/13",
"quantity": 60,
"price": 0.011166666666667,
"total_price": 0.67,
"shipping": 0,
"tax": 0,
"isactive": false,
"create_by": "0000000000000007",
"create_at": "2013-06-24T00:49:58+00:00",
"update_by": "0000000000000007",
"update_at": "2013-06-24T00:49:58+00:00",
"manufacturer": null,
"balance": 0,
"item": {
"id": "0000000000000561",
"name": "Cyclosporine 25mg Chew"
},
"supplier": {
"id": "0000000000000497",
"name": "MWI"
},
"uom": "Unit(s)"
},
{
"id": "0000000000000012",
"date": "2013-07-12T00:00:00+00:00",
"expire": "2015-03-31T00:00:00+00:00",
"lot": "130337",
"quantity": 5,
"price": 1.446,
"total_price": 7.23,
"shipping": 0,
"tax": 0,
"isactive": false,
"create_by": "0000000000000007",
"create_at": "2013-07-12T22:26:51+00:00",
"update_by": "0000000000000007",
"update_at": "2013-07-12T22:26:51+00:00",
"manufacturer": null,
"balance": 0,
"item": {
"id": "0000000000000112",
"name": "Epi Soothe Shampoo 8 fl oz"
},
"supplier": {
"id": "0000000000000497",
"name": "MWI"
},
"uom": "Unit(s)"
},
{
"id": "0000000000000014",
"date": "2013-07-26T07:00:00+00:00",
"expire": "2014-01-24T08:00:00+00:00",
"lot": "",
"quantity": 100,
"price": 0.0185,
"total_price": 1.85,
"shipping": 0,
"tax": 0,
"isactive": false,
"create_by": "0000000000000007",
"create_at": "2013-07-26T21:38:32+00:00",
"update_by": "0000000000000007",
"update_at": "2013-07-26T21:38:32+00:00",
"manufacturer": null,
"balance": 0,
"item": {
"id": "0000000000000561",
"name": "Cyclosporine 25mg Chew"
},
"supplier": {
"id": "0000000000000497",
"name": "MWI"
},
"uom": "Unit(s)"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/inventory-purchases
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like', 'in'
Parameters:
Where clauses:
Key | Description | Type |
---|---|---|
isactive | Purchase status | • 1 - Active• 0 - Inactive |
item_id | Inventory ID | item_id (lookup from inventory list) |
supplier_id | Supplier ID | supplier_id (lookup from company list) |
lot | Purchase lot number | String |
date | Date of purchase | Date (ISO8601 format) |
expire | Inventory lot expiration | Date (ISO8601 format) |
create_at | Purchase record created at | Date (ISO8601 format) |
update_at | Purchase record updated at | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases?where=isactive,=,1
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases?where=['item_id,=,6f9ac3f5-931f-11 ,'isactive,=,1']
Ordering:
Key | Description | Type |
---|---|---|
date | Date of purchase | Date (ISO8601 format) |
expire | Inventory lot expiration | Date (ISO8601 format) |
create_at | Purchase date created | Date (ISO8601 format) |
update_at | Purchase date updated | Date (ISO8601 format) |
quantity | Purchase quantity | Integer |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases?orderBy=date,desc
Display the specified inventory purchase.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases/{purchaseId}
Response Status:
- 200 - Success
- 400 - Error saving record
- 404 - Record not found
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases/{purchaseId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/inventory-purchases/{purchaseId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "0000000000000001",
"date": "2013-06-07T07:00:00+00:00",
"expire": null,
"lot": "a3f",
"quantity": 5,
"price": 0.718,
"total_price": 3.59,
"shipping": 0,
"tax": 0,
"isactive": false,
"create_by": "0000000000000007",
"create_at": "2013-06-07T19:35:58+00:00",
"update_by": "0000000000000007",
"update_at": "2013-06-07T19:35:58+00:00",
"manufacturer": null,
"balance": 0,
"item": {
"id": "0000000000000946",
"name": "Clindamycin 25mg/mL Suspension 20mL"
},
"supplier": {
"id": "0000000000000497",
"name": "MWI"
},
"uom": "Bottle(s)"
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/inventory-purchases/{purchaseId}
Inventory Types
List of Inventory Types
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/inventory-types
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
-
Label is referring to the Category name.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-types?page=2&perPage=200
Display a listing of the inventory types.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/inventory-types" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/inventory-types",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 19,
"perPage": 10,
"currentPage": 1,
"lastPage": 2,
"from": 1,
"to": 10,
"timezone": {
"timezone_type": 3,
"timezone": "America/Los_Angeles"
}
},
"resources": [
{
"id": 9587,
"label": "Diet",
"type": "Dietary Products"
},
{
"id": 9588,
"label": "Hygiene",
"type": "Other Medical"
},
{
"id": 9589,
"label": "Prescriptions",
"type": "Pharmacy"
},
{
"id": 9590,
"label": "Preventative",
"type": "Other Medical"
},
{
"id": 9591,
"label": "Services",
"type": "Outpatient Services"
},
{
"id": 9592,
"label": "Vaccinations",
"type": "Immunizations"
},
{
"id": 9593,
"label": "Labs + Diagnostics",
"type": "Laboratory / Diagnostics"
},
{
"id": 9594,
"label": "Retail",
"type": "Other Non-Medical"
},
{
"id": 9595,
"label": "Supplies",
"type": "Other Non-Medical"
},
{
"id": 9596,
"label": "Fees",
"type": "Administrative Fees"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/inventory-types
Inventory Unit of Measure
List of Inventory Unit of Measure
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/inventory-measurements
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/inventory-measurements?page=2&perPage=200
Display a listing of the inventory measurements.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/inventory-measurements" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/inventory-measurements",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 3,
"perPage": 200,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 3,
"timezone": "America/Los_Angeles"
},
"resources": [
{
"id": 1,
"label": "Unit(s)"
},
{
"id": 2,
"label": "L"
},
{
"id": 3,
"label": "dL"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/inventory-measurements
Invoice
List of Invoices
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/invoices
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
showAllInvoice | Show all invoices included deleted invoices | Integer (default 0) 0 - False 1 - True |
showAllInvoiceItem | Show all invoice line items included deleted ones | Integer (default 0) 0 - False 1 - True |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/invoices?page=2&perPage=200
Display a listing of the invoices.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/invoices" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/invoices",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 5,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 5,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "11ea84a9-ae31-11",
"index": 110,
"date": "2017-03-10T04:17:58+00:00",
"isActive": 1,
"client": {
"id": "11ea66aa-ae3f-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"paymentTerm": {
"id": 1,
"label": "Due upon receipt"
},
"createBy": "4e396107-4561-11",
"createAt": "2017-03-10T04:17:58+00:00",
"updateBy": "a5b315a3-55e1-11",
"updateAt": "2017-03-10T04:19:55+00:00",
"ismobile": false,
"location": "In clinic",
"name": "Invoice #1",
"status": "Paid",
"items": [
{
"id": "11ea8762-ae81-11",
"item_id": "11ea8762-1231-11",
"name": "",
"displayName": "",
"date": "2017-03-10T04:17:58+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 30,
"fee": 3,
"discount": 0,
"tax": 0,
"lineTotal": 33,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"createAt": "2017-03-10T04:17:58+00:00",
"updateAt": "2017-03-10T04:17:58+00:00"
}
]
},
{
"id": "11ed64a4-ae64-11",
"index": 114,
"date": "2017-03-13T07:36:00+00:00",
"isActive": 1,
"client": {
"id": "11ea66aa-ae3f-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"paymentTerm": {
"id": 1,
"label": "Due upon receipt"
},
"createBy": "4e396107-4561-11",
"createAt": "2017-03-13T07:37:02+00:00",
"updateBy": "a5b315a3-55e1-11",
"updateAt": "2017-06-06T03:52:10+00:00",
"ismobile": false,
"location": "In clinic",
"name": "Invoice #9",
"status": "Open",
"items": [
{
"id": "11ed75b1-ae3f-11",
"item_id": "936fff08-4a3f-47",
"name": "Item 1",
"displayName": "Item 1",
"date": "2019-05-15T00:22:37+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 10,
"fee": 0,
"discount": 0,
"discount_details": null,
"tax": 0,
"lineTotal": 10,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "0000000000012888",
"firstName": "Peter",
"lastName": "Chen"
},
"createAt": "2019-05-15T00:20:56+00:00",
"updateAt": "2019-05-15T00:22:37+00:00",
"isActive": 1
},
{
"id": "11f5705d-ae36-11",
"item_id": "936fff08-4a3f-11",
"name": "Item 2",
"displayName": "Item 2",
"date": "2019-05-11T00:20:56+00:00",
"quantity": 2,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 10,
"fee": 0,
"discount": 1,
"discount_details": {
"id": "7b960ab3-8cb7-4f",
"name": "Percentage Discount"
},
"tax": 0,
"lineTotal": 9,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2019-05-11T00:20:56+00:00",
"updateAt": "2019-05-11T00:22:37+00:00",
"isActive": 1
}
]
},
{
"id": "144b939b-ae7f-11",
"index": 118,
"date": "2017-04-17T08:50:00+00:00",
"isActive": 1,
"client": {
"id": "11ea66aa-ae3f-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"paymentTerm": {
"id": 1,
"label": "Due upon receipt"
},
"createBy": "4e396107-4561-11",
"createAt": "2017-04-17T08:50:46+00:00",
"updateBy": "a5b315a3-55e1-11",
"updateAt": "2017-04-17T08:53:54+00:00",
"ismobile": false,
"location": "In clinic",
"name": "Invoice #15",
"status": "Paid",
"items": [
{
"id": "144ba56f-ae65-11",
"item_id": "936fff08-411f-11",
"name": "Anesthesia Mask Canine",
"displayName": "Anesthesia Mask Canine",
"date": "2017-04-17T08:50:46+00:00",
"quantity": 2,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 40,
"fee": 2,
"discount": 0,
"discount_details": null,
"tax": 0,
"lineTotal": 44,
"patient": "",
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-04-17T08:50:46+00:00",
"updateAt": "2017-04-17T08:53:54+00:00",
"isActive": 1
},
{
"id": "144bc097-ae2f-11",
"item_id": "93622f08-411f-11",
"name": "Lab 1",
"displayName": "Lab 1",
"date": "2017-04-17T08:50:46+00:00",
"quantity": 2,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 20,
"fee": 0,
"discount": 0,
"discount_details": null,
"tax": 0,
"lineTotal": 20,
"patient": "",
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-04-17T08:50:46+00:00",
"updateAt": "2017-04-17T08:53:54+00:00",
"isActive": 1
},
{
"id": "144bc320-ae4d-11",
"item_id": "233622f08-411f-11",
"name": "Anal Gland Expression",
"displayName": "Anal Gland Expression",
"date": "2017-04-17T08:50:46+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 17,
"fee": 0,
"discount": 0,
"discount_details": null,
"tax": 0,
"lineTotal": 17.6,
"patient": "",
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-04-17T08:50:46+00:00",
"updateAt": "2017-04-17T08:53:54+00:00",
"isActive": 1
}
]
},
{
"id": "144bd7af-ae59-11",
"index": 121,
"date": "2017-04-17T08:55:00+00:00",
"isActive": 1,
"client": {
"id": "11ea66aa-ae3f-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"paymentTerm": {
"id": 1,
"label": "Due upon receipt"
},
"createBy": "4e396107-4561-11",
"createAt": "2017-04-17T08:55:59+00:00",
"updateBy": "a5b315a3-55e1-11",
"updateAt": "2017-06-06T03:52:10+00:00",
"ismobile": false,
"location": "In clinic",
"name": "Invoice #16",
"status": "Open",
"items": [
{
"id": "144be1e0-ae3d-11",
"item_id": "93612308-411f-11",
"name": "Anesthesia Mask Canine",
"displayName": "Anesthesia Mask Canine",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 21,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 420,
"fee": 30,
"discount": 0,
"discount_details": null,
"tax": 12,
"lineTotal": 462,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-04-17T08:55:59+00:00",
"updateAt": "2017-06-06T03:52:10+00:00",
"isActive": 1
},
{
"id": "144bea90-ae26-11",
"item_id": "93622f08-1232-11",
"name": "Lab 1",
"displayName": "Lab 1",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 2,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 20,
"fee": 0,
"discount": 0,
"discount_details": null,
"tax": 0,
"lineTotal": 20,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-04-17T08:55:59+00:00",
"updateAt": "2017-06-06T03:52:10+00:00",
"isActive": 1
},
{
"id": "144c026a-ae3b-11",
"item_id": "936233308-411f-11",
"name": "Anal Gland Expression",
"displayName": "Anal Gland Expression",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 3,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 52.8,
"fee": 0,
"discount": 0,
"discount_details": null,
"tax": 0,
"lineTotal": 52.8,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-04-17T08:55:59+00:00",
"updateAt": "2017-06-06T03:52:10+00:00",
"isActive": 1
}
]
},
{
"id": "148136bc-ae3c-11",
"index": 123,
"date": "2017-05-26T09:35:00+00:00",
"isActive": 1,
"client": {
"id": "11ea66aa-ae3f-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"paymentTerm": {
"id": 2,
"label": "Net 10"
},
"createBy": "4e396107-4561-11",
"createAt": "2017-05-26T09:35:32+00:00",
"updateBy": "a5b315a3-55e1-11",
"updateAt": "2017-06-20T03:17:25+00:00",
"ismobile": false,
"location": "In clinic",
"name": "Invoice #42",
"status": "Open",
"items": [
{
"id": "148149a8-ae5d-11",
"item_id": "93622f08-1231-11",
"name": "Anesthesia Mask Canine",
"displayName": "Anesthesia Mask Canine",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 1,
"price": 20,
"fee": 0,
"discount": 4,
"discount_details": {
"id": "7b960ab3-8cb7-4f",
"name": "Percentage Discount"
},
"tax": 0,
"lineTotal": 16,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-05-26T09:35:32+00:00",
"updateAt": "2017-06-20T03:17:25+00:00",
"isActive": 1
},
{
"id": "14817254-ae28-11",
"item_id": "93622f08-1231-11",
"name": "Lab 1",
"displayName": "Lab 1",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 10,
"fee": 0,
"discount": 2,
"discount_details": {
"id": "7b960ab3-8cb7-4f",
"name": "Percentage Discount"
},
"tax": 0,
"lineTotal": 8,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-05-26T09:35:32+00:00",
"updateAt": "2017-06-20T03:17:25+00:00",
"isActive": 1
},
{
"id": "1481bfc9-ae4b-11",
"item_id": "93622f08-411f-11",
"name": "Anal Gland Expression",
"displayName": "Anal Gland Expression",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 17.6,
"fee": 0,
"discount": 3.52,
"discount_details": {
"id": "7b960ab3-8cb7-4f",
"name": "Percentage Discount"
},
"tax": 0,
"lineTotal": 14.08,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-05-26T09:35:32+00:00",
"updateAt": "2017-06-20T03:17:25+00:00",
"isActive": 1
},
{
"id": "14d914e1-ae35-11",
"item_id": "93622f08-2211-11",
"name": "Item Action",
"displayName": "Item Action",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 12,
"fee": 0,
"discount": 2.4,
"discount_details": {
"id": "7b960ab3-8cb7-4f",
"name": "Percentage Discount"
},
"tax": 0,
"lineTotal": 9.6,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-05-26T09:35:32+00:00",
"updateAt": "2017-06-20T03:17:25+00:00",
"isActive": 1
}
]
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/invoices
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
appointment.id | Appointment id for invoice | appointment.id (lookup from appointment list) |
client.id | Client for invoice | client.id (lookup from client list) |
client.firstName | Client first name for invoice | String |
client.lastName | Client last name for invoice | String |
createAt | Invoice created time | Date (ISO8601 format) |
id | Invoice Id | uuid |
location | Location for invoice | String, accepted values:• “In clinic”• “At client” |
patient.id | Patient for invoice | patient.id (lookup from patient list) |
patient.name | Patient name for invoice | String |
paymentTerm | Invoice payment term | Integer: • 1 - Due upon receipt• 2 - Net 10 • 3 - Net 15• 4 - Net 30 • 5 - Net 45• 6 - Net 60• 7 - Net 90 |
status | Invoice status | • 1 - Open• 2 - Paid • 3 - Write Off • 4 - Closed • 5 - Locked • 6 - Reopened |
start | Invoice date | Date (ISO8601 format) |
updateAt | Invoice updated time | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/invoices?where=status,=,1
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/invoices?where=['start,>=,2017-05-26T07:23:46-07:00','status,=,1']
Ordering:
Key | Description | Type |
---|---|---|
appointment.id | Appointment id for invoice | appointment.id (lookup from appointment list) |
client.id | Client for invoice | client.id (lookup from client list) |
client.firstName | Client first name for invoice | String |
client.lastName | Client last name for invoice | String |
createAt | Invoice created time | Date (ISO8601 format) |
id | Invoice Id | uuid |
location | Location for invoice | String, accepted values:• “In clinic”• “At client” |
patient.id | Patient for invoice | patient.id (lookup from patient list) |
patient.name | Patient name for invoice | String |
paymentTerm | Invoice payment term | Integer: • 1 - Due upon receipt• 2 - Net 10 • 3 - Net 15• 4 - Net 30 • 5 - Net 45• 6 - Net 60• 7 - Net 90 |
status | Invoice status | • 1 - Open• 2 - Paid • 3 - Write Off |
start | Invoice date | Date (ISO8601 format) |
updateAt | Invoice updated time | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/invoices?orderBy=updateAt,desc
Display the specified invoice.
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Parameters:
Key | Description | Type |
---|---|---|
showAllInvoice | Show all invoices included deleted invoices | Integer (default 0) 0 - False 1 - True |
showAllInvoiceItem | Show all invoice line items included deleted ones | Integer (default 0) 0 - False 1 - True |
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/invoices/{invoiceId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/invoices/{invoiceId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "11ea84a9-ae31-11",
"index": 112,
"date": "2017-03-10T04:17:58+00:00",
"isActive": 1,
"client": {
"id": "11ea66aa-ae3f-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"paymentTerm": {
"id": 1,
"label": "Due upon receipt"
},
"createBy": "4e396107-4561-11",
"createAt": "2017-03-10T04:17:58+00:00",
"updateBy": "4e396107-4561-11",
"updateAt": "2017-03-10T04:19:55+00:00",
"location": "In clinic",
"ismobile": false,
"name": "Invoice #1",
"status": "Paid",
"items": [
{
"id": "11ea8762-ae81-11",
"item_id": "93622f08-1231-11",
"name": "",
"displayName": "",
"date": "2017-03-10T04:17:58+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 30,
"fee": 3,
"discount": 0,
"discount_details": null,
"lineTotal": 33,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"createAt": "2017-03-10T04:17:58+00:00",
"updateAt": "2017-03-10T04:19:55+00:00",
"isActive": 1
}
]
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/invoices/{invoiceId}
Invoice Items
List of Invoice Items
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/invoice-items
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
showAllInvoiceItem | Show all invoice line items included deleted ones | Integer (default 0) 0 - False 1 - True |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/invoice-items?page=2&perPage=200
Display a listing of the invoice items.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/invoice-items" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/invoice-items",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "148149a8-ae5d-11",
"item_id": "93622f08-1231-11",
"name": "Anesthesia Mask Canine",
"displayName": "Anesthesia Mask Canine",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 20,
"fee": 0,
"discount": 4,
"discount_details": {
"id": "7b960ab3-8cb7-4f",
"name": "Percentage Discount"
},
"tax": 0,
"lineTotal": 16,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-05-26T09:35:32+00:00",
"updateAt": "2017-06-20T03:17:25+00:00",
"isActive": 1,
"itemType": {
"id": "0000000000000013",
"label": "Anesthesia Cat",
"type": "Anesthesia"
},
"invoice": {
"id": "148136bc-ae3c-11",
"label": "Invoice #123"
}
},
{
"id": "14817254-ae28-11",
"item_id": "93622f08-1231-11",
"name": "Lab 1",
"displayName": "Lab 1",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 10,
"fee": 0,
"discount": 2,
"discount_details": {
"id": "7b960ab3-8cb7-4f",
"name": "Percentage Discount"
},
"tax": 0,
"lineTotal": 8,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-05-26T09:35:32+00:00",
"updateAt": "2017-06-20T03:17:25+00:00",
"isActive": 1,
"itemType": {
"id": "0000000000000013",
"label": "Anesthesia Cat",
"type": "Anesthesia"
},
"invoice": {
"id": "148136bc-ae3c-11",
"label": "Invoice #123"
}
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/invoice-items
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like', 'in'
Where clauses:
Key | Description | Type |
---|---|---|
createAt | Invoice item created time | Date (ISO8601 format) |
id | Invoice item Id | uuid |
item.id | Item for invoice item | item.id (lookup from inventory list) |
item.name | Item name for invoice item | String |
item.type | Item type for invoice item | String |
patient.id | Patient for invoice item | patient.id (lookup from patient list) |
patient.name | Patient name for invoice item | String |
updateAt | Invoice item updated time | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/invoice-items?where=item.type,like,%Anesthesia%
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/invoice-items?where=['createAt,>=,2017-05-26T07:23:46-07:00','item.type,like,%Anesthesia%']
Ordering:
Key | Description | Type |
---|---|---|
createAt | Invoice item created time | Date (ISO8601 format) |
id | Invoice item Id | uuid |
updateAt | Invoice item updated time | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/invoice-items?orderBy=updateAt,desc
Display the specified invoice item.
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Parameters:
Key | Description | Type |
---|---|---|
showAllInvoiceItem | Show all invoice line items included deleted ones | Integer (default 0) 0 - False 1 - True |
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/invoice-items/{invoiceItemId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/invoice-items/{invoiceItemId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "14817254-ae28-11",
"item_id": "93622f08-1231-11",
"name": "Lab 1",
"displayName": "Lab 1",
"date": "2017-05-26T09:35:32+00:00",
"quantity": 1,
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"price": 10,
"fee": 0,
"discount": 2,
"discount_details": {
"id": "7b960ab3-8cb7-4f",
"name": "Percentage Discount"
},
"tax": 0,
"lineTotal": 8,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"createAt": "2017-05-26T09:35:32+00:00",
"updateAt": "2017-06-20T03:17:25+00:00",
"isActive": 1,
"itemType": {
"id": "0000000000000013",
"label": "Anesthesia Cat",
"type": "Anesthesia"
},
"invoice": {
"id": "148136bc-ae3c-11",
"label": "Invoice #123"
}
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/invoice-items/{invoiceItemId}
Medical Notes
List of Medical Notes
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/medical-notes
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/medical-notes?page=2&perPage=200
Display a listing of the medical notes.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/medical-notes" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/medical-notes",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 3,
"perPage": 50,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 3,
"timezone": "Pacific/Fiji"
},
"resources": [
{
"id": "c8c30a6a-be82-4e",
"date": "2021-07-01T04:03:00+00:00",
"patient": {
"id": "92dc9f8c-0a4b-46",
"name": "Rambo",
"weight": ""
},
"complaint": "Annual Visit (Initial)",
"isActive": 0,
"createBy": "0000000000000003",
"createAt": "2021-09-27T04:03:50+00:00",
"updateBy": "0000000000000003",
"updateAt": "2021-09-28T06:40:54+00:00",
"isLock": 0
},
{
"id": "9a344849-40f3-43",
"date": "2021-01-06T01:15:00+00:00",
"patient": {
"id": "92dc9f8c-0a4b-46",
"name": "Rambo",
"weight": ""
},
"complaint": "Follow-up",
"isActive": 1,
"createBy": "0000000000000003",
"createAt": "2021-01-06T01:15:17+00:00",
"updateBy": "0000000000000003",
"updateAt": "2021-01-06T01:15:17+00:00",
"isLock": 0
},
{
"id": "b62ceddf-39d9-43",
"date": "2021-09-27T04:03:00+00:00",
"patient": {
"id": "92dc9f8c-0a4b-46",
"name": "Rambo",
"weight": ""
},
"complaint": "Annual Visit",
"isActive": 1,
"createBy": "0000000000000003",
"createAt": "2021-09-27T04:03:16+00:00",
"updateBy": "0000000000000003",
"updateAt": "2021-09-27T04:03:19+00:00",
"isLock": 1
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/medical-notes
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
id | Medical note ID | |
patient_id | Patient for medical note | patient.id (lookup from patient list) |
islock | Medical note ID | |
isactive | Medical note ID | |
create_at | Medical note created date | Date (ISO8601 format) |
update_at | Medical note updated date | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/medical-notes?where=islock,=,1
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/medical-notes?where=['create_at,>=,2020-02-06T01:30:00-07:00','islock,=,1']
Ordering:
Key | Description | Type |
---|---|---|
create_at | Medical note created date | Date (ISO8601 format) |
update_at | Medical note updated date | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/medical-notes?orderBy=updateAt,desc
Display the specified medical note.
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/medical-notes/{medicalNoteId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/medical-notes/{medicalNoteId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resources": {
"id": "9a344849-40f3-43",
"date": "2021-01-06T01:15:00+00:00",
"patient": {
"id": "92dc9f8c-0a4b-46",
"name": "Patient 20201231-1",
"weight": ""
},
"complaint": "Campaign",
"isActive": 1,
"createBy": "0000000000000003",
"createAt": "2021-01-06T01:15:17+00:00",
"updateBy": "0000000000000003",
"updateAt": "2021-01-06T01:15:17+00:00",
"isLock": 0,
"content": [
{
"label": "Subjective",
"data": [
{
"label": "Notes",
"value": "",
"comment": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam"
}
]
},
{
"label": "Vital Signs",
"data": [
{
"label": "Heartrate",
"value": "10 bpm",
"comment": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae"
},
{
"label": "Respiration",
"value": "20 rpm",
"comment": "Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugi"
},
{
"label": "Temperature",
"value": "80 F",
"comment": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam"
},
{
"label": "Weight",
"value": "40 lbs",
"comment": "Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugi"
}
]
},
{
"label": "Objective",
"data": [
{
"label": "Notes",
"value": "",
"comment": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae"
}
]
},
{
"label": "Assessment",
"data": [
{
"label": "Notes",
"value": "",
"comment": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam"
}
]
},
{
"label": "Plan",
"data": [
{
"label": "Notes",
"value": "",
"comment": "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae"
}
]
},
{
"label": "Client Communication",
"data": [
{
"label": "Notes",
"value": "",
"comment": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam"
}
]
}
]
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/medical-notes/{medicalNoteId}
Patient
List of Patients
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/patients
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
showAll | Show all patients including deleted patients | Integer (default 0) 0 - False 1 - True |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/patients?page=2&perPage=200
Display a listing of the patients.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/patients" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/patients",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 14,
"perPage": 5,
"currentPage": 1,
"lastPage": 3,
"from": 1,
"to": 5,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "11ea7803-ae5c-11",
"index": 21,
"firstVisit": "2017-03-28T11:30:00+00:00",
"lastVisit": "2017-09-06T14:00:00+00:00",
"name": "Minion",
"species": {
"id": 1,
"label": "Canine"
},
"color": "",
"sex": {
"id": 4,
"label": "Female (spayed)"
},
"breeds": [
{
"id": 6,
"label": "Akbash Dog"
},
{
"id": 26,
"label": "American Staffordshire Terrier"
}
],
"birthdate": "1970-01-01T00:00:00+00:00",
"chip": "",
"createAt": "2017-03-10T04:11:40+00:00",
"updateAt": "2017-05-26T10:25:49+00:00",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"isDeleted": false,
"clients": [
{
"id": "11ea66aa-ae3f-11",
"index": 11,
"firstName": "Rheanna",
"lastName": "Finnegan",
"address": "Address",
"city": "City",
"state": "State",
"country": "Country",
"zipcode": "Zipcode",
"home": "0000-HOME-111",
"work": "0000-WORK-111",
"mobile": "0000-MOBILE-111",
"email": "r.fineggan@yahoo.com",
"fax": "0000-FAX-111",
"createAt": "2017-03-10T04:11:13+00:00",
"updateAt": "2017-06-13T08:41:26+00:00",
"firstVisit": "2017-03-28T11:30:00+00:00",
"lastVisit": "2017-09-06T14:00:00+00:00",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["email"],
"status": "Active",
"isDeleted": false,
"isPrimary": true
},
{
"id": "2589120c-ae31-11",
"index": 15,
"firstName": "Bernice",
"lastName": "Mitchell",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"home": "",
"work": "",
"mobile": "132345",
"email": "karen@yahoo.com",
"fax": "",
"createAt": "2017-03-28T07:22:25+00:00",
"updateAt": "2017-06-20T03:12:55+00:00",
"firstVisit": "",
"lastVisit": "",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["phone"],
"status": "Active",
"isDeleted": false,
"isPrimary": false
}
]
},
{
"id": "11ec71e6-ae63-11",
"index": 24,
"firstVisit": "",
"lastVisit": "",
"name": "Baby",
"species": {
"id": 12,
"label": "Porcine"
},
"color": "",
"sex": {
"id": 3,
"label": "Female (intact)"
},
"breeds": [
{
"id": 1323,
"label": "Beijing Black"
},
{
"id": 1327,
"label": "Berkshire"
}
],
"birthdate": "1970-01-01T00:00:00+00:00",
"chip": "",
"createAt": "2017-03-13T05:40:21+00:00",
"updateAt": "2017-03-28T08:07:51+00:00",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"isDeleted": false,
"clients": []
},
{
"id": "11f56935-ae57-11",
"index": 43,
"firstVisit": "2017-06-13T08:30:00+00:00",
"lastVisit": "2017-06-14T22:00:00+00:00",
"name": "Min",
"species": {
"id": 1,
"label": "Canine"
},
"color": "",
"sex": {
"id": 3,
"label": "Female (intact)"
},
"breeds": [
{
"id": 26,
"label": "American Staffordshire Terrier"
}
],
"birthdate": "1970-01-01T00:00:00+00:00",
"chip": "",
"createAt": "2017-03-30T07:08:11+00:00",
"updateAt": "2017-03-30T07:08:11+00:00",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"isDeleted": false,
"clients": [
{
"id": "11efd914-ae61-11",
"index": 11,
"firstName": "Rheanna",
"lastName": "Finnegan",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"home": "",
"work": "",
"mobile": "",
"email": "r.finnegan@yahoo.com",
"fax": "",
"createAt": "2017-03-20T08:57:15+00:00",
"updateAt": "2017-07-13T06:26:57+00:00",
"firstVisit": "2017-06-13T08:30:00+00:00",
"lastVisit": "2017-06-14T22:00:00+00:00",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["email"],
"status": "Active",
"isDeleted": false,
"isPrimary": true
}
]
},
{
"id": "11f58565-ae6a-11",
"index": 54,
"firstVisit": "2017-03-30T19:45:00+00:00",
"lastVisit": "2017-06-21T01:00:00+00:00",
"name": "Yellow",
"species": {
"id": 1,
"label": "Canine"
},
"color": "",
"sex": {
"id": 3,
"label": "Female (intact)"
},
"breeds": [
{
"id": 26,
"label": "American Staffordshire Terrier"
}
],
"birthdate": "1970-01-01T00:00:00+00:00",
"chip": "",
"createAt": "2017-03-30T09:06:07+00:00",
"updateAt": "2017-03-30T09:06:07+00:00",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"isDeleted": false,
"clients": [
{
"id": "2589ad8c-ae7d-11",
"index": 45,
"firstName": "Elaine",
"lastName": "Tan",
"address": "First Subang",
"city": "City",
"state": "State",
"country": "Country",
"zipcode": "Zipcode",
"home": "0000-HOME-111",
"work": "0000-WORK-111",
"mobile": "0000-MOBILE-111",
"email": "cc_1@email.com",
"fax": "0000-FAX-111",
"createAt": "2017-03-21T07:59:41+00:00",
"updateAt": "2017-07-26T02:13:10+00:00",
"firstVisit": "2017-03-30T19:45:00+00:00",
"lastVisit": "2017-06-21T01:00:00+00:00",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["email"],
"status": "Active",
"isDeleted": false,
"isPrimary": true
}
]
},
{
"id": "11f587a5-ae33-11",
"index": 56,
"firstVisit": "2017-03-30T14:00:00+00:00",
"lastVisit": "2017-06-13T11:00:00+00:00",
"name": "Small",
"species": {
"id": 1,
"label": "Canine"
},
"color": "",
"sex": {
"id": 3,
"label": "Female (intact)"
},
"breeds": [
{
"id": 26,
"label": "American Staffordshire Terrier"
}
],
"birthdate": "1970-01-01T00:00:00+00:00",
"chip": "",
"createAt": "2017-03-31T02:55:31+00:00",
"updateAt": "2017-04-20T06:42:39+00:00",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"isDeleted": false,
"clients": [
{
"id": "11efefd0-ae52-11",
"index": 12,
"firstName": "Latoya",
"lastName": "Wardle",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"home": "",
"work": "",
"mobile": "",
"email": "l.wardle@msn.com.my",
"fax": "",
"createAt": "2017-03-20T08:58:54+00:00",
"updateAt": "2017-07-26T09:55:01+00:00",
"firstVisit": "2017-03-30T14:00:00+00:00",
"lastVisit": "2017-06-13T11:00:00+00:00",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["email"],
"status": "Active",
"isDeleted": false,
"referredBy": {
"isActive": true,
"createBy": "0000000000000005",
"createAt": "2021-01-07T01:50:23+00:00",
"updateBy": "0000000000000005",
"updateAt": "2021-01-07T01:50:23+00:00",
"id": "0cb8fd9e-6c14-4e",
"type": "Campaign"
},
"isPrimary": true
}
]
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/patients
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like', 'in'
Parameters:
Where clauses:
Key | Description | Type |
---|---|---|
birthdate | Birthdate for patient | Date (ISO8601 format) |
breed.id | Breed id for patient | breed.id (lookup from patient breed list) |
chip | Chip for patient | String |
color | Color for patient | String |
createAt | Patient created date | Date (ISO8601 format) |
estimateBirthdate | Estimate birthdate for patient | Date (ISO8601 format) |
id | Patient Id | uuid |
index | Patient Index | Integer |
name | Name for patient | String |
sex.id | Sex id for patient | sex.id (lookup from patient sex list) |
species.id | Species id for patient | species.id (lookup from patient species list) |
status | Patient status | • 1 - Active• 2 - Inactive • 3 - Deceased |
updateAt | Patient updated date | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/patients?where=status,=,1
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/patients?where=['sex.id,=,1,'status,=,1']
Ordering:
Key | Description | Type |
---|---|---|
birthdate | Birthdate for patient | Date (ISO8601 format) |
chip | Chip for patient | String |
color | Color for patient | String |
estimateBirthdate | Estimate birthdate for patient | Date (ISO8601 format) |
id | Patient Id | uuid |
name | Name for patient | String |
sex.id | Sex id for patient | sex.id (lookup from patient sex list) |
species.id | Species id for patient | species.id (lookup from patient species list) |
status | Patient status | • 1 - Active• 2 - Inactive • 3 - Deceased |
createAt | Patient created at in datetime | Date (ISO8601 format) |
updateAt | Patient updated at in datetime | Date (ISO8601 format) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/patients?orderBy=name,desc
Store a newly created patient in storage.
Parameters : See parameters for “Update Patient”.
Example request:
curl --location 'https://{{domain}}/api/1.0.0/{apikey}/patients' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'x-api-key: {client_secret}' \
--header 'Content-Type: application/json' \
--data '{
"name": "API Patient",
"species.id": 2,
"color": "White",
"sex.id": 3,
"birthdate": "2017-09-14T16:00:00+00:00",
"chip": "",
"tag": "",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"breeds": [
{
"id": 534
}
]
}'
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/patients",
method: "POST",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/1.0.0/{apiKey}/patients
Display the specified patient.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/patients/{patientId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/patients/{patientId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "11ea7803-ae5c-11",
"index": 56,
"firstVisit": "2017-03-28T11:30:00+00:00",
"lastVisit": "2017-09-06T14:00:00+00:00",
"name": "Minion",
"species": {
"id": 1,
"label": "Canine"
},
"color": "",
"sex": {
"id": 3,
"label": "Female (intact)"
},
"breeds": [
{
"id": 6,
"label": "Akbash Dog"
},
{
"id": 26,
"label": "American Staffordshire Terrier"
}
],
"birthdate": "",
"chip": "",
"status": "Active",
"deceasedDate": "",
"inactiveDate": "",
"isDeleted": false,
"clients": [
{
"id": "11ea66aa-ae3f-11",
"index": 235,
"firstName": "Rheanna",
"lastName": "Finnegan",
"address": "Address",
"city": "City",
"state": "State",
"country": "Country",
"zipcode": "Zipcode",
"home": "0000-HOME-111",
"work": "0000-WORK-111",
"mobile": "0000-MOBILE-111",
"email": "r.fineggan@yahoo.com",
"fax": "0000-FAX-111",
"createAt": "2017-03-10T04:11:13+00:00",
"updateAt": "2017-06-13T08:41:26+00:00",
"firstVisit": "2017-03-28T11:30:00+00:00",
"lastVisit": "2017-09-06T14:00:00+00:00",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["email"],
"status": "Active",
"isDeleted": false,
"isPrimary": true
}
]
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/patients/{patientId}
Update the specified patient in storage.
Parameters:
Name | Description | Type | Validation |
---|---|---|---|
name | Patient name | String | Required |
species{id} | Patient species | species.id, JSON | Required (lookup from species list) |
color | Patient color | String | Optional |
sex{id} | Patient sex | sex.id, JSON | Required (lookup from sex list) |
breeds[{id},..] | Patient breed(s) | breeds.id, JSON, multiple | Required (lookup from breeds list; must belong to the same group of species |
birthdate | Patient birthdate | Date | Optional; Must be in ISO8601 format “2016-08-19T06:15:47-0700” |
chip | Microchip number | String | Optional |
status | Patient status | String | Required Accepted values: . Active. Inactive . Deceased |
deceasedDate | Deceased date | Date | Required if status=”deceased”; Must be in ISO8601 format “2016-08-19T06:15:47-0700” |
inactiveDate | Inactive date | Date | Required if status=”inactive”; Must be in ISO8601 format “2016-08-19T06:15:47-07 00” |
Example request:
curl --location --request PUT 'https://{{domain}}/api/1.0.0/{apikey}/patients/{patientId}' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'x-api-key: {client_secret}' \
--header 'Content-Type: application/json' \
--data '{
"name":"Updated API Patient",
"species.id": 2,
"color": "White",
"sex.id": 3,
"status": "Active",
"breeds": [
{
"id": 534
}
]
}'
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/patients/{patientId}",
method: "PUT",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/1.0.0/{apiKey}/patients/{patientId}
Patient Breed
List of Patient Breeds
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/breeds
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/breeds?page=2&perPage=200
Display a listing of the available breeds.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/breeds" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/breeds",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 1806,
"perPage": 20,
"currentPage": 1,
"lastPage": 91,
"from": 1,
"to": 20,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 1,
"label": "Affenpinscher",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 2,
"label": "Afghan Hound",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 3,
"label": "Africanis",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 4,
"label": "Aidi",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 5,
"label": "Airedale Terrier",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 6,
"label": "Akbash Dog",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 7,
"label": "Akita Inu",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 8,
"label": "Alangu Mastiff",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 9,
"label": "Alano Espanol",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 10,
"label": "Alapaha Blue Blood Bulldog",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 11,
"label": "Alaskan Klee Kai",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 12,
"label": "Alaskan Malamute",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 13,
"label": "Alaunt",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 14,
"label": "Alopekis",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 15,
"label": "Alpine Dachsbracke",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 16,
"label": "American Akita",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 17,
"label": "American Alsatian",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 18,
"label": "American Bulldog",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 19,
"label": "American Bully",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
},
{
"id": 20,
"label": "American Cocker Spaniel",
"species": {
"id": 1,
"label": "Canine"
},
"antechBreedCode": ""
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/breeds
Patient Sex
List of Patient Sexes
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/sexes
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/sexes?page=2&perPage=200
Display a listing of the available sexes.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/sexes" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/sexes",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 5,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 5,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 1,
"label": "Male (intact)"
},
{
"id": 2,
"label": "Male (neutered)"
},
{
"id": 3,
"label": "Female (intact)"
},
{
"id": 4,
"label": "Female (spayed)"
},
{
"id": 5,
"label": "Unknown"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/sexes
Patient Species
List of Patient Species
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/species
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/species?page=2&perPage=200
Display a listing of the available species.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/species" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/species",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 5,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 5,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 1,
"label": "Canine"
},
{
"id": 2,
"label": "Feline"
},
{
"id": 3,
"label": "Primate"
},
{
"id": 4,
"label": "Small Mammal"
},
{
"id": 5,
"label": "Avian"
},
{
"id": 6,
"label": "Equine"
},
{
"id": 7,
"label": "Reptile"
},
{
"id": 8,
"label": "Other Large Animal"
},
{
"id": 9,
"label": "Fish"
},
{
"id": 10,
"label": "Rabbit"
},
{
"id": 11,
"label": "Bovine"
},
{
"id": 12,
"label": "Porcine"
},
{
"id": 13,
"label": "Caprine"
},
{
"id": 14,
"label": "Sheep"
},
{
"id": 15,
"label": "Exotics"
},
{
"id": 20,
"label": "Amphibian"
},
{
"id": 22,
"label": "Unknown"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/species
Patient's History
List of patient history
Method: GET URL: https://{{domain}}/api/1.0.0/{apiKey}/patient/{{patientId}}/history
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
type | To get the specific type of history | Varchar (Default All history) communication - Communications diagnosis - Diagnoses problem - Problems record - Records vital - Vitals |
show | To show record type result based on status | Integer (default 1) 0 - Inactive 1 - Active 2 - All |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/patient/{{patientId}}/history?page=2&perPage=200&type=record
Display a listing of the resource.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/history" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/history",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "11f9c96d-ae81-11",
"type": "Labs + Diagnostics",
"date": "2017-04-07T08:38:00+00:00",
"patient": {
"id": "11f986b5-ae7d-11",
"name": "Max",
"weight": ""
},
"createAt": "2017-04-07T08:38:54+00:00",
"updateAt": "2017-04-07T08:38:54+00:00",
"prescribedBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa",
"fullName": "Ami Espinosa",
"displayName": "Ami L.",
"initial": "SL"
},
"recordNote": "",
"quantity": 1,
"item": {
"id": "11f9c6ac-ae31-11",
"label": "Lab (blood glucose)"
},
"itemUom": {
"id": 1,
"label": "Unit(s)"
}
},
{
"id": "2587e6d4-ae5a-11",
"type": "Anesthesia",
"date": "2017-04-07T08:33:00+00:00",
"patient": {
"id": "11f986b5-ae7d-11",
"name": "Max",
"weight": ""
},
"createAt": "2017-04-07T08:34:10+00:00",
"updateAt": "2017-04-07T08:34:10+00:00",
"prescribedBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa",
"fullName": "Ami Espinosa",
"displayName": "Ami L.",
"initial": "SL"
},
"recordNote": "",
"quantity": 1,
"item": {
"id": "11aed6b4-ae52-11",
"label": "Anes"
},
"itemUom": {
"id": 1,
"label": "Unit(s)"
}
},
{
"id": "a5408db7-6138-48",
"businessId": "11b7c73d-ae26-11",
"value": "",
"value2": "",
"date": "2017-04-07T08:39:22+00:00",
"note": "",
"isActive": true,
"medicalNoteFlag": {
"id": 1,
"label": "Show in medical note"
},
"createBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa",
"fullName": "Ami Espinosa",
"displayName": "Ami L.",
"initial": "SL",
"status": []
},
"createAt": "2017-04-07T08:39:22+00:00",
"updateBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa",
"fullName": "Ami Espinosa",
"displayName": "Ami L.",
"initial": "SL",
"status": []
},
"updateAt": "2017-04-07T08:39:22+00:00",
"patient": {
"id": "11f986b5-ae7d-11",
"name": "Max"
},
"masterVital": {
"id": 1,
"label": "Heart Rate"
},
"masterUom": {
"id": 67,
"label": "bpm"
},
"masterUom2": [],
"soap": {
"id": "11f9d04d-ae5d-11",
"label": "Medical Note (Apr 07, 2017)",
"locked": 0
},
"appointment": [],
"module": "vital"
},
{
"id": "108dafec-b7f7-11",
"index": 1,
"content": "Send confirmation email",
"patient": {
"id": "14e68c90-ae39-11",
"name": "Bulat Bulat",
"weight": ""
},
"client": {
"id": "14e682b7-ae83-11",
"firstName": "Yen",
"lastName": "Tan",
"fullName": "Yen Tan",
"displayName": "Yen T.",
"initial": "YT",
"status": {
"id": 1,
"name": "Active"
}
},
"contact": [],
"reference": {
"id": ""
},
"referenceType": [],
"businessId": "0000000000000001",
"appointment": [],
"isActive": true,
"createBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa",
"fullName": "Ami Espinosa",
"displayName": "Ami L.",
"initial": "SL",
"status": []
},
"createAt": "2018-01-12T02:30:03+00:00",
"updateBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa",
"fullName": "Ami Espinosa",
"displayName": "Ami L.",
"initial": "SL",
"status": []
},
"updateAt": "2018-01-12T02:30:03+00:00",
"date": "2018-07-04T02:29:00+00:00",
"type": {
"id": 4,
"label": "Email"
},
"withName": "",
"contactType": {
"id": 0,
"label": "Contact"
},
"messageId": "",
"status": "",
"timestamp": "",
"module": "communication"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/patient/{patientId}/history
Patient's Owner
List of Patient's Owner
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/clients
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/clients?page=2&perPage=200
Display a listing of the patient’s owners.
Example request:
curl --location "https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/clients" \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'x-api-key: {client_secret}' \
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/clients",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur",
"patient": {
"id": "11f8ceb3-ae35-11",
"firstVisit": "2017-04-04T23:15:00+00:00",
"lastVisit": "2017-06-13T10:15:00+00:00",
"name": "Fatty",
"species": {
"id": 9,
"label": "Fish"
},
"color": "",
"sex": {
"id": 1,
"label": "Male (intact)"
},
"breeds": [
{
"id": 620,
"label": "Goldfish"
},
{
"id": 622,
"label": "Marine Fish"
}
],
"birthdate": "2016-11-30T08:22:11+00:00",
"chip": "",
"createAt": "2017-04-04T08:40:15+00:00",
"updateAt": "2017-07-13T07:22:11+00:00",
"status": "Active",
"deceasedDate": "",
"inactiveDate": ""
}
},
"resources": [
{
"id": "11f8d88c-ae73-11",
"firstName": "Siti",
"lastName": "S",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"home": "",
"work": "",
"mobile": "",
"email": "siti@yahoo.com",
"fax": "",
"createAt": "2017-04-04T08:40:41+00:00",
"updateAt": "2017-06-13T06:29:32+00:00",
"firstVisit": "2017-06-13T10:15:00+00:00",
"lastVisit": "2017-06-13T10:15:00+00:00",
"paymentTerm": "Due upon receipt",
"discount": "",
"reminderOptions": ["email"],
"isPrimary": true
},
{
"id": "25892ff3-ae58-11",
"firstName": "Ahmad",
"lastName": "AH",
"address": "Subang SS15",
"city": "Subang",
"state": "Selangor",
"country": "Country",
"zipcode": "Zipcode",
"home": "0000-HOME-111",
"work": "0000-WORK-111",
"mobile": "0000-MOBILE-111",
"email": "email@email.com",
"fax": "0000-FAX-111",
"createAt": "2017-03-21T09:27:35+00:00",
"updateAt": "2017-06-14T06:26:43+00:00",
"firstVisit": "2017-04-04T23:15:00+00:00",
"lastVisit": "2017-06-13T09:15:00+00:00",
"paymentTerm": "Net 10",
"discount": {
"id": "14d6ce3f-ae54-11",
"label": "Discount $10"
},
"reminderOptions": ["phone", "email"],
"isPrimary": false
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/patient/{patientId}/clients
Store a newly created patient's owner in storage.
Parameters:
Name | Description | Type |
---|---|---|
id | Client ID | uuid |
isPrimary | To set patient's primary owner | integer (1 - true, 0 - false) |
Example request:
curl --location --request POST 'https://{{domain}}/api/1.0.0/{apikey)/patient/{patientId}/clients' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'x-api-key: {client_secret}' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": "00accb0e-7bb7-40",
"isPrimary": 1
}'
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/clients",
method: "POST",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/1.0.0/{apiKey}/patient/{patientId}/clients
Update the specified patient's owner in storage.
Example request:
curl --location --request PUT 'https://{{domain}}/api/1.0.0/f03d2b9e-2673-3e24-988f-47013b1a4271/patient/0000000000163197/clients/eb72689b-2542-4d' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'x-api-key: {client_secret}' \
--header 'Content-Type: application/json' \
--data '{
"isPrimary":0
}'
var settings = {
async: true,
crossDomain: true,
url:
"https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/clients/{clients}",
method: "PUT",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/1.0.0/{apiKey}/patient/{patientId}/clients/{clients}
Patient's Record
List of patient record
Method: GET URL: https://{{domain}}/api/1.0.0/{apiKey}/patient/{{patientId}}/record
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
show | To show record type result based on status | Integer (default 1) 0 - Inactive 1 - Active 2 - All |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/patient/{{patientId}}/record?show=2
Display a listing of the resource.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/record" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/patient/{patientId}/record",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "2587e6d4-ae5a-11",
"type": "Anesthesia",
"date": "2017-04-07T08:33:00+00:00",
"patient": {
"id": "11f986b5-ae7d-11",
"name": "Max",
"weight": ""
},
"createAt": "2017-04-07T08:34:10+00:00",
"updateAt": "2017-04-07T08:34:10+00:00",
"prescribedBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa",
"fullName": "Ami Espinosa",
"displayName": "Ami L.",
"initial": "SL"
},
"recordNote": "",
"quantity": 1,
"item": {
"id": "11aed6b4-ae52-11",
"label": "Anes"
},
"itemUom": {
"id": 1,
"label": "Unit(s)"
}
},
{
"id": "11f9c96d-ae81-11",
"type": "Labs + Diagnostics",
"date": "2017-04-07T08:38:00+00:00",
"patient": {
"id": "11f986b5-ae7d-11",
"name": "Max",
"weight": ""
},
"createAt": "2017-04-07T08:38:54+00:00",
"updateAt": "2017-04-07T08:38:54+00:00",
"prescribedBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa",
"fullName": "Ami Espinosa",
"displayName": "Ami L.",
"initial": "SL"
},
"recordNote": "",
"quantity": 1,
"item": {
"id": "11f9c6ac-ae31-11",
"label": "Lab (blood glucose)"
},
"itemUom": {
"id": 1,
"label": "Unit(s)"
}
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/patient/{patientId}/record
Payment
List of Payments
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/payments
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/payments?page=2&perPage=200
Display a listing of the available payments.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/payments" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/payments",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 4,
"perPage": 200,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 200,
"timezone": "America/Los_Angeles"
},
"resources": [
{
"id": "6f405946-931f-11",
"amount": 320,
"date": "2018-05-07T06:39:47+00:00",
"isactive": 1,
"createdAt": "2018-05-07T06:39:47+00:00",
"updatedAt": "2018-05-07T06:39:47+00:00",
"client": {
"id": "a1bc90b6-bb97-11",
"firstName": "Peter",
"lastName": "Parker"
},
"paymentType": {
"id": "202afce8-0132-11",
"name": "Cash"
},
"invoices": [
{
"id": "6e581066-931f-11",
"name": "Invoice #1",
"paymentAmount": 270
},
{
"id": "6e8125b4-931f-11",
"name": "Invoice #2",
"paymentAmount": 50
}
],
"credit": []
},
{
"id": "7880a369-931f-11",
"amount": 100,
"date": "2018-01-01T08:17:58+00:00",
"isactive": 1,
"createdAt": "2018-06-06T08:17:38+00:00",
"updatedAt": "2018-06-06T08:17:58+00:00",
"client": {
"id": "a1909fba-bb97-11",
"firstName": "Tom",
"lastName": "Sawyer"
},
"paymentType": {
"id": "202afce8-0132-11",
"name": "Cash"
},
"invoices": [],
"credit": {
"id": "78827b60-931f-11",
"name": "Credit #1",
"amount": 100
}
},
{
"id": "7937f809-931f-11",
"amount": 10,
"date": "2018-06-25T03:23:50+00:00",
"isactive": 1,
"createdAt": "2018-06-25T03:23:50+00:00",
"updatedAt": "2018-06-25T03:23:50+00:00",
"client": {
"id": "a18e49e0-bb97-11",
"firstName": "Herman",
"lastName": "Melville"
},
"paymentType": {
"id": "202afce8-0132-11",
"name": "Cash"
},
"invoices": [
{
"id": "7934418c-931f-11",
"name": "Invoice #42",
"paymentAmount": 10
}
],
"credit": []
},
{
"id": "794920a4-931f-11",
"amount": 10,
"date": "2018-06-25T03:27:20+00:00",
"isactive": 1,
"createdAt": "2018-06-25T03:27:20+00:00",
"updatedAt": "2018-06-25T03:27:20+00:00",
"client": {
"id": "a18e49e0-bb97-11",
"firstName": "Ted",
"lastName": "Baker"
},
"paymentType": {
"id": "202afce8-0132-11",
"name": "Cash"
},
"invoices": [
{
"id": "793dc1f9-931f-11",
"name": "Invoice #43",
"paymentAmount": 10
}
],
"credit": []
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/payments
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
id | Payment ID | |
isactive | Payment status | 1 - Active, 0 - Inactive |
date | Payment date in datetime | Date (ISO8601 format) |
create_at | Payment created at in datetime | Date (ISO8601 format) |
update_at | Payment updated at in datetime | Date (ISO8601 format) |
client.id | Staff ID for payments | client ID (lookup from client list) |
payment_type.id | Payment Type ID for payment type | payment type ID (lookup from payment type list) |
payment_type.name | Payment Type name for payment type | String |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/payments?where=payment_type.name,=,Cash
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/payments?where=['update_at,>=,2017-05-26T07:23:46-07:00','update_at,<=,2017-05-26T07:23:46-07:00']
Ordering:
Key | Description | Type |
---|---|---|
date | Payment date in datetime | Date (ISO8601 format) |
create_at | Payment created at in datetime | Date (ISO8601 format) |
update_at | Payment updated at in datetime | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/payments?orderBy=date,desc
Store a new payment.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/payments
Content Type : application/json
Response Status:
- 200 - Success
- 400 - Error saving record
- 401 - Invalid API key or invalid bearer token
Example request:
curl --location --request POST 'https://{{domain}}/api/1.0.0/{apiKey}/payments' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'x-api-key: {client_secret}' \
--header 'Content-Type: application/json' \
--data-raw '{
"payment_date": "2012-01-20T01:00:00+00:00",
"payment_type_id": "9cf77394-f260-45",
"client.id": "d2b18b18-265f-4a",
"amount": 107.86,
"is_cashback": 0,
"invoice_ids": [
"d81d2577-1ee6-11",
"d8539010-1ee6-11"
]
}'
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/payments",
method: "POST",
headers: {
accept: "application/json",
Authorization: "Bearer {token}",
x-api-key: {apiKey},
Content-Type: "application/json"
},
data: JSON.stringify({
payment_date: "2012-01-20T01:00:00+00:00",
payment_type_id: "9cf77394-f260-45",
"client.id": "d2b18b18-265f-4a",
amount: 107.86,
is_cashback: 0,
invoice_ids: ["d81d2577-1ee6-11", "d8539010-1ee6-11"],
}),
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/1.0.0/{apiKey}/payments
Payment Types
List of Payment Types
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/payment-types
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/payment-types?page=2&perPage=200
Display a listing of the available payment types.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/payment-types" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/payment-types",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 5,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 5,
"timezone": "America/Los_Angeles"
},
"resources": [
{
"id": "202a26f6-0132-11",
"name": "Gift Certificate",
"note": "",
"status": 1,
"createdAt": "2017-03-17T02:37:48+00:00",
"updatedAt": "2017-03-17T02:37:48+00:00"
},
{
"id": "202a3fba-0132-11",
"name": "e-Payment",
"note": "",
"status": 1,
"createdAt": "2017-03-17T02:37:48+00:00",
"updatedAt": "2017-03-17T02:37:48+00:00"
},
{
"id": "202a4faa-0132-11",
"name": "Other",
"note": "",
"status": 1,
"createdAt": "2017-03-17T02:37:48+00:00",
"updatedAt": "2017-03-17T02:37:48+00:00"
},
{
"id": "202a6440-0132-11",
"name": "Coupon",
"note": "",
"status": 1,
"createdAt": "2017-03-17T02:37:48+00:00",
"updatedAt": "2017-03-17T02:37:48+00:00"
},
{
"id": "202a7700-0132-11",
"name": "Charitable Fund",
"note": "",
"status": 1,
"createdAt": "2017-03-17T02:37:48+00:00",
"updatedAt": "2017-03-17T02:37:48+00:00"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/payment-types
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
name | Payment Type name for payment type | String |
status | Payment Type status | 1 - Active, 2 - Inactive, 3 - Suspended |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/payment-types?where=name,=,Cash
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/payment-types?where=['name,=,Cash','isactive,=,1']
Ordering:
Key | Description | Type |
---|---|---|
create_at | Payment created at in datetime | Date (ISO8601 format) |
update_at | Payment updated at in datetime | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/payment-types?orderBy=create_at,desc
Record
List of Records
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/records
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/records?page=2&perPage=200
Display a listing of the records.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/records" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/records",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resource": {
{
"id": "426e83e4-1ea7-11",
"type": {
"id": 3,
"label": "Prescription"
},
"date": "2018-09-05T03:40:00+00:00",
"patient": {
"id": "0000000000054309",
"name": "Patient 1",
"weight": ""
},
"createAt": "2018-09-05T03:40:41+00:00",
"updateAt": "2018-09-05T03:40:47+00:00",
"prescribedBy": {
"fullName": "Ahmad Saifullah",
"displayName": "Ahmad S.",
"initial": "AS",
"status": [],
"id": "0fb67045-ae6c-11",
"firstName": "Ahmad",
"lastName": "Saifullah"
},
"recordNote": "",
"quantity": 2,
"item": {
"id": "2e040d36-b56e-45",
"label": "764 Item 1",
"type": "Prescriptions"
},
"itemUom": {
"id": 20,
"label": "Capsule(s)"
},
"status": "Inactive"
},
{
"id": "4271c364-1ea7-11",
"type": {
"id": 3,
"label": "Prescription"
},
"date": "2018-09-05T03:40:00+00:00",
"patient": {
"id": "0000000000054309",
"name": "Patient 1",
"weight": ""
},
"createAt": "2018-09-05T03:41:00+00:00",
"updateAt": "2018-09-05T03:41:00+00:00",
"prescribedBy": {
"fullName": "Ahmad Saifullah",
"displayName": "Ahmad S.",
"initial": "AS",
"status": [],
"id": "0fb67045-ae6c-11",
"firstName": "Ahmad",
"lastName": "Saifullah"
},
"recordNote": "",
"quantity": 1,
"item": {
"id": "2e040d36-b56e-45",
"label": "764 Item 1",
"type": "Prescriptions"
},
"itemUom": {
"id": 20,
"label": "Capsule(s)"
},
"status": "Active"
},
{
"id": "433ecdfa-1ea7-11",
"type": {
"id": 3,
"label": "Prescription"
},
"date": "2018-09-05T03:51:00+00:00",
"patient": {
"id": "d0dfe29f-5bc7-49",
"name": "Abu",
"weight": ""
},
"createAt": "2018-09-05T03:52:01+00:00",
"updateAt": "2018-09-05T03:52:28+00:00",
"prescribedBy": {
"fullName": "Ahmad Saifullah",
"displayName": "Ahmad S.",
"initial": "AS",
"status": [],
"id": "0fb67045-ae6c-11",
"firstName": "Ahmad",
"lastName": "Saifullah"
},
"recordNote": "",
"quantity": 1,
"item": {
"id": "2e040d36-b56e-45",
"label": "764 Item 1",
"type": "Prescriptions"
},
"itemUom": {
"id": 20,
"label": "Capsule(s)"
},
"status": "Inactive"
},
},
}
}
HTTP Request
GET api/1.0.0/{apiKey}/records
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like', 'in'
Where clauses:
Key | Description | Type |
---|---|---|
id | Record Id | uuid |
patient_id | Patient id for record | patient_id (lookup from patient list) |
create_at | Record created time | Date (ISO8601 format) |
update_at | Record updated time | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/records?where=patient.id,=11f8ceb3-ae35-11
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/records?where=['patient.id,=,11f8ceb3-ae35-11','update_at,=,2017-05-09T02:37:00-07:00']
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/records?where=['create_at,>=,2017-01-01T00:00:00-00:00','create_at,<=,2017-05-31T00:00:00-00:00']
Ordering:
Key | Description | Type |
---|---|---|
create_at | Record created time | Date (ISO8601 format) |
update_at | Record updated time | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/records?orderBy=update_at,desc
Display the specified record.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/records/{recordId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/records/{recordId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
{
"id": "a1928e6a-bb97-11",
"type": {
"id": 3,
"label": "Prescription"
},
"date": "2018-05-30T08:12:00+00:00",
"patient": {
"id": "a199ced2-bb97-11",
"name": "Patient 29052018",
"weight": ""
},
"createAt": "2018-05-30T08:13:16+00:00",
"updateAt": "2018-05-30T08:13:57+00:00",
"prescribedBy": {
"fullName": "Firdaous Yousof",
"displayName": "Firdaous Y.",
"initial": "FY",
"status": [],
"id": "0000000000000003",
"firstName": "Firdaous",
"lastName": "Yousof"
},
"recordNote": "",
"quantity": 1,
"item": {
"id": "d4ff0448-40c3-49",
"label": "001 Item 001",
"type": "Prescriptions"
},
"itemUom": {
"id": 1,
"label": "Unit(s)"
},
"status": "Inactive"
},
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/record/{recordId}
Refund
List of Refunds
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/refunds
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/refunds?page=2&perPage=200
Display a listing of the available refunds.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/refunds" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/refunds",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 105,
"perPage": 200,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 105,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "aa2dc9b0-5bc3-49",
"index": 3,
"amount": 100,
"refundDate": "2023-08-25T03:54:12+00:00",
"return": {
"id": "b6940bf1-2f3a-46",
"label": "Return #119"
},
"businessId": "0000000000000001",
"credit": [],
"payment": {
"id": "c9eaa0a1-f307-4c",
"label": "Payment #291"
},
"isActive": true,
"type": {
"id": "12bda10f-ae5b-11",
"label": "Credit Card On File (CardConnect)"
},
"note": "",
"createAt": "2023-08-25T03:54:12+00:00",
"updateAt": "2023-08-25T03:54:12+00:00",
"client": {
"id": "f32b027d-6869-42",
"firstName": "Tom",
"lastName": "Sawyer"
},
"name": "Refund #3",
"createBy": {
"id": "0000000000012888",
"firstName": "Peter",
"lastName": "Warner"
},
"updateBy": {
"id": "0000000000012888",
"firstName": "Peter",
"lastName": "Warner"
}
},
{
"id": "a5916019-1557-48",
"index": 2,
"amount": 325,
"refundDate": "2023-08-25T03:53:02+00:00",
"return": {
"id": "0e967e10-0444-49",
"label": "Return #118"
},
"businessId": "0000000000000001",
"credit": [],
"payment": {
"id": "db8f7484-7c5b-4c",
"label": "Payment #289"
},
"isActive": true,
"type": {
"id": "12bda10f-ae5b-11",
"label": "Credit Card On File (CardConnect)"
},
"note": "",
"createAt": "2023-08-25T03:53:02+00:00",
"updateAt": "2023-08-25T03:53:02+00:00",
"client": {
"id": "f32b027d-6869-42",
"firstName": "Herman",
"lastName": "Melville"
},
"name": "Refund #2",
"createBy": {
"id": "11ea66aa-ae3f-11",
"firstName": "Natalie",
"lastName": "Tan"
},
"createBy": {
"id": "11ea66aa-ae3f-11",
"firstName": "Natalie",
"lastName": "Tan"
},
},
{
"id": "51e45436-125a-42",
"index": 1,
"amount": 325,
"refundDate": "2023-08-14T00:36:26+00:00",
"return": {
"id": "fb85501c-f61c-4f",
"label": "Return #98"
},
"businessId": "0000000000000001",
"credit": [],
"payment": {
"id": "b22f2d75-2671-4f",
"label": "Payment #265"
},
"isActive": true,
"type": {
"id": "12bda10f-ae5b-11",
"label": "Credit Card On File (CardConnect)"
},
"note": "",
"createAt": "2023-08-14T00:36:26+00:00",
"updateAt": "2023-08-14T00:36:26+00:00",
"client": {
"id": "0000000000038247",
"firstName": "Rheanna",
"lastName": "Finnegan"
},
"name": "Refund #1",
"createBy": {
"id": "11efefd0-ae52-11",
"firstName": "Latoya",
"lastName": "Wardle"
},
"updateBy": {
"id": "11efefd0-ae52-11",
"firstName": "Latoya",
"lastName": "Wardle"
}
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/refunds
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like', 'in'
Where clauses:
Key | Description | Type |
---|---|---|
refundDate | Refund date | Date (ISO8601 format) |
client.id | Client id for refund | client_id (lookup from client list) |
payment.id | Payment id for refund | payment_id (lookup from payment list) |
updateAt | Refund updated time | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/refunds?where=client.id,=11f8ceb3-ae35-11
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/refunds?where=['client.id,=,11f8ceb3-ae35-11','updateAt,=,2017-05-09T02:37:00-07:00']
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/refunds?where=['updateAt,>=,2017-01-01T00:00:00-00:00','updateAt,<=,2017-05-31T00:00:00-00:00']
Ordering:
Key | Description | Type |
---|---|---|
refundDate | Refund date | Date (ISO8601 format) |
updateAt | Refund updated time | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/refunds?orderBy=refundDate,desc
Display the specified record.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/refunds/{refundId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/refunds/{refundId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "aa2dc9b0-5bc3-49",
"index": 3,
"amount": 100,
"refundDate": "2023-08-25T03:54:12+00:00",
"return": {
"id": "b6940bf1-2f3a-46",
"label": "Return #119"
},
"businessId": "0000000000000001",
"credit": [],
"payment": {
"id": "c9eaa0a1-f307-4c",
"label": "Payment #291"
},
"isActive": true,
"status": 1,
"type": {
"id": "12bda10f-ae5b-11",
"label": "Credit Card On File (CardConnect)"
},
"note": "",
"createAt": "2023-08-25T03:54:12+00:00",
"updateAt": "2023-08-25T03:54:12+00:00",
"client": {
"id": "f32b027d-6869-42",
"firstName": "Ras",
"lastName": "2926"
},
"name": "Refund #3",
"createBy": {
"id": "0000000000000003",
"firstName": "Firdaous",
"lastName": "Yousuf"
},
"updateBy": {
"id": "0000000000000003",
"firstName": "Firdaous",
"lastName": "Yousuf"
}
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/refunds/{refundId}
Reminder
List of Reminders
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/reminders
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
isactive | To get the Active/Deleted reminders | Integer (default 2, max 2) 1 - Active 0 - Deleted 2 - Both |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/reminders?page=2&perPage=200
Display a listing of the reminders.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/reminders" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/reminders",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resource": {
"id": "11eff8f2-ae70-11",
"note": "Laboratory / Diagnostics for Lab 1",
"givenDate": "2017-04-20T20:09:00-07:00",
"dueDate": "2017-05-20T20:09:24-07:00",
"reminderSend": 2,
"timePeriod": {
"id": 4,
"label": "Day"
},
"reminderSendOption": {
"id": 1,
"label": "Before Due"
},
"reminderType": {
"id": 1,
"label": "Email"
},
"status": {
"id": 1,
"label": "Completed"
},
"isActive": true,
"patient": {
"id": "11f587a5-ae33-11",
"name": "Small"
},
"item": {
"id": "11f518d9-ae2f-11",
"label": "Lab 1"
},
"recordId": "0000000000880870",
"createAt": "2017-03-20T09:05:57+00:00",
"updateAt": "2017-04-21T03:09:24+00:00",
"clients": [
{
"id": "11efd914-ae61-11",
"firstName": "Rheanna",
"lastName": "L",
"reminderAttributes": {
"sendInterval": 2,
"sendPeriod": {
"id": 4,
"label": "Day"
},
"sendAt": {
"id": 1,
"label": "Before Due"
},
"type": {
"id": 1,
"label": "Email"
}
}
},
{
"id": "11ea66aa-ae3f-11",
"firstName": "Rheanna",
"lastName": "Finnegan",
"reminderAttributes": {
"sendInterval": 2,
"sendPeriod": {
"id": 4,
"label": "Day"
},
"sendAt": {
"id": 1,
"label": "Before Due"
},
"type": {
"id": 1,
"label": "Email"
}
}
},
{
"id": "11f9193b-ae52-11",
"firstName": "Natalie",
"lastName": "Tan",
"reminderAttributes": {
"sendInterval": 2,
"sendPeriod": {
"id": 4,
"label": "Day"
},
"sendAt": {
"id": 1,
"label": "Before Due"
},
"type": {
"id": 1,
"label": "Email"
}
}
},
{
"id": "11efefd0-ae52-11",
"firstName": "Latoya",
"lastName": "Wardle",
"reminderAttributes": {
"sendInterval": 2,
"sendPeriod": {
"id": 4,
"label": "Day"
},
"sendAt": {
"id": 1,
"label": "Before Due"
},
"type": {
"id": 1,
"label": "Email"
}
}
}
]
},
{
"id": "11f55d9a-ae6b-11",
"note": "Appointment for Minion on Mar 28, 2017 at 07:30 AM",
"givenDate": "",
"dueDate": "2017-03-28T04:30:00-07:00",
"reminderSend": 2,
"timePeriod": {
"id": 4,
"label": "Day"
},
"reminderSendOption": {
"id": 1,
"label": "Before Due"
},
"reminderType": {
"id": 1,
"label": "Email"
},
"status": {
"id": 1,
"label": "Completed"
},
"isActive": true,
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"item": [],
"recordId": null,
"createAt": "2017-03-28T08:48:37+00:00",
"updateAt": "2017-03-28T08:48:47+00:00",
"clients": [
{
"id": "11ea66aa-ae3f-11",
"firstName": "Rheanna",
"lastName": "Finnegan",
"reminderAttributes": {
"sendInterval": 2,
"sendPeriod": {
"id": 4,
"label": "Day"
},
"sendAt": {
"id": 1,
"label": "Before Due"
},
"type": {
"id": 1,
"label": "Email"
}
}
}
]
},
}
}
HTTP Request
GET api/1.0.0/{apiKey}/reminders
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
appointment.id | Appointment id for reminder | appointment.id (lookup from appointment list) |
client.firstName | Client first name for client reminder | String |
client.id | Client id for client reminder | client.id (lookup from client list) |
client.lastName | Client last name for client reminder | String |
createAt | Reminder created time | Date (ISO8601 format) |
dueDate | Reminder due date | Date (ISO8601 format) |
id | Reminder Id | uuid |
note | Reminder note | String |
patient.id | Patient id for reminder | patient.id (lookup from patient list) |
patient.name | Patient name for invoice | String |
record.id | Record id for reminder | record.id (lookup from patient record list) |
sendAt | Reminder Send option for client reminder | reminder-send-options.id (lookup from reminder send options list) |
sendInterval | Send Interval for client reminder | Integer |
sendPeriod | Send period id for client reminder | time-period.id (lookup from time period list) |
givenDate | Reminder given date | Date (ISO8601 format) |
type | Reminder type for client reminder | reminders-types.id (lookup from reminder type list) |
updateAt | Reminder updated time | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/reminders?where=patient.id,=11f8ceb3-ae35-11
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/reminders?where=['patient.id,=,11f8ceb3-ae35-11','due,=,2017-05-09T02:37:00-07:00']
Ordering:
Key | Description | Type |
---|---|---|
appointment.id | Appointment id for reminder | appointment.id (lookup from appointment list) |
client.firstName | Client first name for client reminder | String |
client.id | Client id for client reminder | client.id (lookup from client list) |
client.lastName | Client last name for client reminder | String |
createAt | Invoice created time | Date (ISO8601 format) |
dueDate | Reminder due date | Date (ISO8601 format) |
id | Reminder Id | uuid |
note | Reminder note | String |
patient.id | Patient id for reminder | patient.id (lookup from patient list) |
patient.name | Patient name for invoice | String |
record.id | Record id for reminder | record.id (lookup from patient record list) |
sendAt | Reminder Send option for client reminder | reminder-send-options.id (lookup from reminder send options list) |
sendInterval | Send Interval for client reminder | Integer |
sendPeriod | Send period id for client reminder | time-period.id (lookup from time period list) |
givenDate | Reminder given date | Date (ISO8601 format) |
type | Reminder type for client reminder | reminders-types.id (lookup from reminder type list) |
updateAt | Invoice updated time | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/reminders?orderBy=updateAt,desc
Display the specified reminder.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/reminders/{reminderId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/reminders/{reminderId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "11eff8f2-ae70-11",
"note": "Laboratory / Diagnostics for Lab",
"givenDate": "2017-04-20T20:09:00-07:00",
"dueDate": "2017-05-20T20:09:24-07:00",
"reminderSend": 2,
"timePeriod": {
"id": 4,
"label": "Day"
},
"reminderSendOption": {
"id": 1,
"label": "Before Due"
},
"reminderType": {
"id": 1,
"label": "Email"
},
"status": {
"id": 0,
"label": "Not complete"
},
"isActive": true,
"patient": {
"id": "11f587a5-ae33-11",
"name": "Small"
},
"item": {
"id": "11f518d9-ae2f-11",
"label": "Lab 1"
},
"recordId": "0000000000880870",
"createAt": "2017-03-20T09:05:57+00:00",
"updateAt": "2017-04-21T03:09:24+00:00",
"clients": [
{
"id": "",
"firstName": "",
"lastName": "",
"reminderAttributes": {
"sendInterval": 2,
"sendPeriod": {
"id": 4,
"label": "Day"
},
"sendAt": {
"id": 1,
"label": "Before Due"
},
"type": {
"id": 1,
"label": "Email"
}
}
},
{
"id": "",
"firstName": "",
"lastName": "",
"reminderAttributes": {
"sendInterval": 3,
"sendPeriod": {
"id": 7,
"label": "Year"
},
"sendAt": {
"id": 2,
"label": "After Due"
},
"type": {
"id": 1,
"label": "Email"
}
}
},
{
"id": "",
"firstName": "",
"lastName": "",
"reminderAttributes": {
"sendInterval": 2,
"sendPeriod": {
"id": 4,
"label": "Day"
},
"sendAt": {
"id": 1,
"label": "Before Due"
},
"type": {
"id": 1,
"label": "Email"
}
}
},
{
"id": "",
"firstName": "",
"lastName": "",
"reminderAttributes": {
"sendInterval": 2,
"sendPeriod": {
"id": 4,
"label": "Day"
},
"sendAt": {
"id": 1,
"label": "Before Due"
},
"type": {
"id": 1,
"label": "Email"
}
}
}
]
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/reminders/{reminderId}
Reminder Send Option
List of Reminder Send Options
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/reminder-send-options
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/reminder-send-options?page=2&perPage=200
Display a listing of the available reminder send options.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/reminder-send-options" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/reminder-send-options",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 1,
"value": "Before Due"
},
{
"id": 2,
"value": "After Due"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/reminder-send-options
Reminder Type
List of Reminder Types
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/reminder-types
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/reminder-types?page=2&perPage=200
Display a listing of the available reminder types.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/reminder-types" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/reminder-types",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 5,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 5,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 1,
"value": "Email"
},
{
"id": 2,
"value": "Phone"
},
{
"id": 3,
"value": "Mail"
},
{
"id": 4,
"value": "No Reminder"
},
{
"id": 5,
"value": "SMS (Text)"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/reminder-types
Staff
List of Staffs
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/staffs
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/staffs?page=2&perPage=200
Display a listing of the practice’s staff members.
.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/staffs" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/staffs",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 3,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 3,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "06c4bccb-ae30-11",
"firstName": "Rheanna",
"lastName": "Finnegan",
"title": "",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"home": "",
"mobile": "",
"email": "rheanna@vettersoftware.com",
"license": "",
"DEA": "",
"createAt": "2015-07-20T08:19:05+00:00",
"updateAt": "2017-03-20T08:56:36+00:00",
"isProvider": true,
"schedule": {
"label": "Dont Display on schedule"
},
"isActive": 1,
"role": {
"label": "Administrator"
}
},
{
"id": "0000000000012888",
"firstName": "Peter",
"lastName": "Warner",
"title": "",
"address": "",
"city": "Bloomington",
"state": "Illinois",
"country": "United States",
"zipcode": "61701",
"home": "",
"mobile": "",
"email": "pwarner@vettersoftware.com",
"license": "",
"DEA": "",
"createAt": "2010-05-07T00:00:00+00:00",
"updateAt": "2017-05-26T08:55:06+00:00",
"isProvider": false,
"schedule": {
"label": "Display on schedule"
},
"isActive": 1,
"role": {
"label": "Office Manager"
}
},
{
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa",
"title": "",
"address": "",
"city": "",
"state": "",
"country": "",
"zipcode": "",
"home": "",
"mobile": "",
"email": "ami@vettersoftware.com",
"license": "",
"DEA": "",
"createAt": "2015-03-10T01:30:11+00:00",
"updateAt": "2017-07-26T02:32:59+00:00",
"isProvider": false,
"schedule": {
"label": "Display on schedule"
},
"isActive": 1,
"role": {
"label": "Administrator"
}
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/staffs
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like', 'in'
Where clauses:
Key | Description | Type |
---|---|---|
address | Address for staff | String |
city | City for staff | String |
country | Country for staff | String |
createAt | Staff created date | Date (ISO8601 format) |
Email for staff | String | |
fax | Fax for staff | String |
firstName | Staff first name | String |
home | Home number for staff | String/Integer |
id | Staff Id | uuid |
isActive | Staff active | • 0 - Not Active• 1 - Active |
lastName | Staff last name | String |
mobile | Mobile number for staff | String/Integer |
state | State for staff | String |
work | Work number for staff | String/Integer |
updateAt | Staff updated date | Date (ISO8601 format) |
zipcode | Zipcode for staff | Integer |
Ordering:
Key | Description | Type |
---|---|---|
address | Address for staff | String |
city | City for staff | String |
country | Country for staff | String |
createAt | Staff created date | Date (ISO8601 format) |
Email for staff | String | |
fax | Fax for staff | String |
firstName | Staff first name | String |
home | Home number for staff | String/Integer |
id | Staff Id | uuid |
lastName | Staff last name | String |
mobile | Mobile number for staff | String/Integer |
state | State for staff | String |
work | Work number for staff | String/Integer |
updateAt | Staff updated date | Date (ISO8601 format) |
zipcode | Zipcode for staff | Integer |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/staffs?where=lastName,=,Tan&orderBy=lastName,desc
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/staffs?where=['state,=,California','zipcode,=,9001']&orderBy=lastName
Time Period
List of Time Period
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/time-period
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/time-period?page=2&perPage=200
Display a listing of the available time period.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/time-period" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/time-period",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 7,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 7,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 1,
"value": "Second"
},
{
"id": 2,
"value": "Minute"
},
{
"id": 3,
"value": "Hour"
},
{
"id": 4,
"value": "Day"
},
{
"id": 5,
"value": "Week"
},
{
"id": 6,
"value": "Month"
},
{
"id": 7,
"value": "Year"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/time-period
Time Sheet
List of Time Sheet
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/timesheet
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/timesheet?page=2&perPage=200
Display a listing of the available time sheet.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/timesheet" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/timesheet",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 7924,
"perPage": 200,
"currentPage": 1,
"lastPage": 40,
"from": 1,
"to": 200,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": 36,
"clock_in_time": "2015-06-12T04:44:00+00:00",
"clock_out_time": "2015-06-12T15:00:00+00:00",
"round_clock_in_time": "2015-06-12T04:44:00+00:00",
"round_clock_out_time": "2015-06-12T15:00:00+00:00",
"hours": 10,
"minutes": 16,
"isactive": true,
"comments": "",
"note": null,
"staff": {
"id": "0000000000000001",
"firstname": "Firdaous",
"lastname": "Y",
"email": "firdaous.y@vs.com"
}
},
{
"id": 41,
"clock_in_time": "2015-06-12T15:00:00+00:00",
"clock_out_time": "2015-06-13T15:00:00+00:00",
"round_clock_in_time": "2015-06-12T15:00:00+00:00",
"round_clock_out_time": "2015-06-13T15:00:00+00:00",
"hours": 24,
"minutes": 0,
"isactive": true,
"comments": null,
"note": null,
"staff": {
"id": "0000000000000001",
"firstname": "Firdaous",
"lastname": "Y",
"email": "firdaous.y@vs.com"
}
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/timesheet
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
staff.id | Staff ID for timesheet | staff ID (lookup from staff list) |
staff.firstname | Staff first name for timesheet | String |
staff.lastname | Staff last name for timesheet | String |
staff.email | Staff email for timesheet | String |
clock_in_time | Timesheet clock in datetime | Date (ISO8601 format) |
clock_out_time | Timesheet clock out datetime | Date (ISO8601 format) |
round_clock_in_time | Timesheet rounded clock in datetime | Date (ISO8601 format) |
round_clock_out_time | Timesheet rounded clock out datetime | Date (ISO8601 format) |
isactive | Item status | 1 - Active, 0 - Inactive |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/timesheet?where=staff.lastname,=,Yousof
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/timesheet?where=['clock_in_time,>=,2017-05-26T07:23:46-07:00','clock_out_time,<=,2017-05-26T07:23:46-07:00']
Ordering:
Key | Description | Type |
---|---|---|
clock_in_time | Timesheet clock in datetime | Date (ISO8601 format) |
clock_out_time | Timesheet clock out datetime | Date (ISO8601 format) |
round_clock_in_time | Timesheet rounded clock in datetime | Date (ISO8601 format) |
round_clock_out_time | Timesheet rounded clock out datetime | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/timesheet?orderBy=round_clock_in_time,desc
Wellness Plans
List of Wellness Plans
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
-
All the dates are converted to UTC.
-
Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans?page=2&perPage=200
Display a listing of the wellness plans.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 2,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 2,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "2c484653-8938-46",
"patient": {
"id": "11f587a5-ae33-11",
"name": "Small",
"weight": "20 Lbs"
},
"template": {
"id": "0fcc585d-ae40-11",
"name": "Wellness plan template 1"
},
"startDate": "2023-03-28T16:00:00+00:00",
"endDate": "2024-03-28T15:59:59+00:00",
"enrolledBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"notes": "Wellness plan for Small",
"status": "Active",
"isAutoRenew": 1
},
{
"id": "4255e1d4-c8ef-4a",
"patient": {
"id": "11ea7803-ae5c-11",
"name": "Minion",
"weight": "23 Lbs"
},
"template": {
"id": "0fccc7be-ae64-11",
"name": "Wellness plan template 2"
},
"startDate": "2023-03-28T16:00:00+00:00",
"endDate": "2024-03-28T15:59:59+00:00",
"enrolledBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"notes": "Wellness plan for Minion",
"status": "Cancelled",
"isAutoRenew": 1,
"cancelAt": "2023-01-10T07:53:24+00:00"
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/wellness-plans
Passing parameter in query
Operators : '<', '>', '<>', '=', '<=', '>=', 'like'
Where clauses:
Key | Description | Type |
---|---|---|
createAt | Wellness plan created date | Date (ISO8601 format) |
endDate | Wellness plan end date | Date (ISO8601 format) |
id | Wellness plan Id | uuid |
notes | Wellness plan notes | String |
patient.id | Patient for wellness plan | patient.id (lookup from patient list) |
patient.name | Patient name for wellness plan | String |
provider.id | Provider for wellness plan | staff.id (lookup from staff list) |
provider.firstName | Provider first name for wellness plan | String |
provider.lastName | Provider last name for wellness plan | String |
startDate | Wellness plan start date | Date (ISO8601 format) |
updateAt | Wellness plan updated date | Date (ISO8601 format) |
Example Request:
-
Single parameter: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans?where=patient.id,=,11ea7803-ae5c-11
-
Multiple parameter : curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans?where=['startDate,>=,2017-05-26T07:23:46-07:00','endDate,<=,2017-05-26T07:23:46-07:00']
Ordering:
Key | Description | Type |
---|---|---|
createAt | Wellness plan created date | Date (ISO8601 format) |
endDate | Wellness plan end date | Date (ISO8601 format) |
id | Wellness plan Id | uuid |
notes | Wellness plan notes | String |
patient.id | Patient for wellness plan | patient.id (lookup from patient list) |
patient.name | Patient name for wellness plan | String |
provider.id | Provider for wellness plan | staff.id (lookup from staff list) |
provider.firstName | Provider first name for wellness plan | String |
provider.lastName | Provider last name for wellness plan | String |
startDate | Wellness plan start date | Date (ISO8601 format) |
updateAt | Wellness plan updated date | Date (ISO8601 format) |
- By default, the result is rendering in ascending order.
- Pass param 'asc' or 'desc' to change the sorting order.
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans?orderBy=startDate,desc
Store a newly created wellness plan in storage.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans
Content Type : application/json
Response Status:
- 200 - Success
- 400 - Error saving record
- 401 - Invalid API key or invalid bearer token
Parameters:
Name | Description | Type | Validation | |
---|---|---|---|---|
chargeDay | Wellness plan charge day | Integer | Required; if template.paymentTerm is "Monthly" | |
chargeMonth | Wellness plan charge month | Integer | Required; if template.paymentTerm is "Monthly" | |
enrolledBy{id} | Wellness plan enrolled by | staff.id, JSON | Optional (lookup from staff list) | |
isAutoRenew | Wellness plan auto renew | Boolean | Required | |
patient{id} | Patient | patient.id, JSON | Required (lookup from patient list) | |
provider{id} | Provider for wellness plan | staff.id, JSON | Required (lookup from staff list) | |
startDate | Wellness plan start date | Date | Required; Must be in ISO8601 format “2016-08-19T06:15:47-0700” | |
template{id} | Wellness plan template Id | template.id,JSON | Required (lookup from wellness plan template list) |
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans",
method: "POST",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
POST api/1.0.0/{apiKey}/wellness-plans
Display the specified wellness plan.
Method: POST
URL: https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}
Response Status:
- 200 - Success
- 400 - Error saving record
- 404 - Record not found
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"resource": {
"id": "2c484653-8938-46",
"patient": {
"id": "11f587a5-ae33-11",
"name": "Small",
"weight": "20 Lbs"
},
"template": {
"id": "0fcc585d-ae40-11",
"name": "Wellness plan template 1"
},
"startDate": "2023-03-28T16:00:00+00:00",
"endDate": "2024-03-28T15:59:59+00:00",
"enrolledBy": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"provider": {
"id": "fed298bf-ae25-11",
"firstName": "Ami",
"lastName": "Espinosa"
},
"notes": "Wellness plan for Small",
"status": "Active",
"isAutoRenew": 1
}
}
}
HTTP Request
GET api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}
Update the specified wellness plan in storage.
Method: PUT
URL: https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}
Content Type: application/json
Response Status:
- 200 - Success
- 400 - Error saving record
- 401 - Invalid API key or invalid bearer token
- 404 - Record not found
Parameters:
Name | Description | Type | Validation | |
---|---|---|---|---|
isAutoRenew | Wellness plan auto renew | Boolean | Required |
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}",
method: "PUT",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
PUT api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}
Cancel the specified wellness plan in storage.
Method: DELETE
URL: https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}
Content Type: application/json
Response Status:
- 200 - Success
- 400 - Error saving record
- 401 - Invalid API key or invalid bearer token
- 404 - Record not found
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}",
method: "DELETE",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
HTTP Request
DELETE api/1.0.0/{apiKey}/wellness-plans/{wellnessPlanId}
Wellness Plan Templates
List of Wellness Plan Templates
Method: GET
URL: https://{{domain}}/api/1.0.0/{apiKey}/wellness-plan-templates
Response Status:
- 200 - Success
- 401 - Invalid API key or invalid bearer token
Remarks:
- Clinic's timezone is displayed in the response.meta.
Parameters:
Key | Description | Type |
---|---|---|
page | To go to another page | Integer (default 1) |
perPage | To set number of records per page | Integer (default 20, max 200) |
Example Request: curl -X GET -H "Authorization: Bearer {token}" -H "Cache-Control: no-cache" -H "x-api-key: {client_secret}" -H "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plan-templates?page=2&perPage=200
Display a listing of the available wellness plan templates.
Example request:
curl "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plan-templates" \
-H "Accept: application/json"
var settings = {
async: true,
crossDomain: true,
url: "https://{{domain}}/api/1.0.0/{apiKey}/wellness-plan-templates",
method: "GET",
headers: {
accept: "application/json",
},
};
$.ajax(settings).done(function (response) {
console.log(response);
});
Example response:
{
"response": {
"message": {
"code": 200,
"description": "Success"
},
"meta": {
"total": 3,
"perPage": 20,
"currentPage": 1,
"lastPage": 1,
"from": 1,
"to": 3,
"timezone": "Asia/Kuala_Lumpur"
},
"resources": [
{
"id": "0fcc585d-ae40-11",
"name": "Wellness plan template 1",
"description": "Wellness plan template 1 description",
"paymentTerm": {
"value": 1,
"label": "Monthly"
}
},
{
"id": "0fccc7be-ae64-11",
"name": "Wellness plan template 2",
"description": "Wellness plan template 2 description",
"paymentTerm": {
"value": 1,
"label": "Monthly"
}
},
{
"id": "0fcd8549-ae28-11",
"name": "Wellness plan template 3",
"description": "Wellness plan template 3 description",
"paymentTerm": {
"value": 2,
"label": "Annually"
}
}
]
}
}
HTTP Request
GET api/1.0.0/{apiKey}/wellness-plan-templates