Download OpenAPI specification:
This API of AlfaDocs is documented using the OpenAPI format. In addition to the OpenAPI syntax, we use a few vendor extensions.
The API is located at https://app.alfadocs.com/api/. SSL is used for transport security.
You need to specify the X-Api-Key field in the request header using the API Key.
An API key is related to a certain archive. You create an API Key for your archive inside of AlfaDocs, in Impostazioni -> Studio -> Chiavi.
For more secure integration, follow these OAuth2 authentication steps:
Send GET request to /oauth2/authorize with:
POST to /oauth2/token with:
Content-Type: application/x-www-form-urlencoded
Add to request headers: Authorization: Bearer YOUR_ACCESS_TOKEN
POST to /oauth2/token with:
Content-Type: application/x-www-form-urlencoded
The API currently does not have a usage limit. However, AlfaDocs reserves the right to limit the API usage and also to ask for a fee related to the API usage.
If you discover bugs or you need other API functionalities, just tell us. While doing so, please specify the use case. Generally, feedback is always welcome. Feel free to contact our support.
Get a list of accounts. Accounts are related to the transactions.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 33963,
- "name": "Banca",
- "deleted": false
}
]
}Get a list of anamnesis forms for the specified archive.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
{- "0": {
- "error": "Authentication required",
- "id": 123,
- "name": "General Health Form",
- "daysValid": 365
}, - "error": "Authentication required"
}Get required anamnesis interviews information for a certain patient.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
{- "error": "Authentication required",
- "requiredForms": [
- { }
], - "completedInterviews": [
- { }
]
}Get the information related to all configured appointment booking reasons.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 5,
- "specialtyId": 820,
- "description": "Visita di Controllo",
- "duration": "30",
- "sequenceNumber": "3",
- "createdAt": "2021-02-18 10:30:47",
- "deleted": false,
- "operatorIds": [
- 177,
- 250,
- 370
], - "chairIds": [
- 1,
- 2,
- 3
], - "price": "125.12"
}
]
}Get a list of appointments. The default Date filter is from current date to Sunday +14 days. The maximum datetime range is 30 days.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| dateStart | string <Y-m-d> Start date |
| dateEnd | string <Y-m-d> End date |
| state | string Enum: "absent" "waiting" "in_care" "done" "cancelled" "confirmed" Appointment State |
| patientId | integer Patient ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 33963,
- "date": "2020-01-01 00:00:00",
- "patientId": 69215,
- "emailReminder": false,
- "smsReminder": true,
- "description": "Appointment",
- "allDay": false,
- "type": "telehealth",
- "state": "confirmed",
- "duration": 30,
- "colorId": 85665,
- "chairId": 2285362,
- "operatorId": 965563,
- "createdThroughBooking": true,
- "createdThroughApi": false,
- "firstVisit": "no"
}
]
}Create an appointment
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| error | string Authentication required |
| date required | string <date-time> Appointment's date |
| patientId | integer Patient's ID |
| emailReminder | boolean Email reminder |
| smsReminder | boolean SMS reminder |
| description | string Appointment description |
| allDay | boolean Is it a full day appointment? |
| type | string Enum: "telehealth" "inPractice" Type of appointment |
| duration | integer Duration of the appointment in minutes |
| state | string Appointment State |
| colorId required | integer ID of the color for the appointment in the agenda. |
| chairId | integer Chair ID of the practice |
| operatorId | integer Operator ID |
{- "error": "Authentication required",
- "date": "2020-01-01 00:00:00",
- "patientId": 69215,
- "emailReminder": false,
- "smsReminder": true,
- "description": "Appointment",
- "allDay": false,
- "type": "telehealth",
- "duration": 30,
- "state": "string",
- "colorId": 85665,
- "chairId": 2285362,
- "operatorId": 965563
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 33963,
- "date": "2020-01-01 00:00:00",
- "patientId": 69215,
- "emailReminder": false,
- "smsReminder": true,
- "description": "Appointment",
- "allDay": false,
- "type": "telehealth",
- "state": "confirmed",
- "duration": 30,
- "colorId": 85665,
- "chairId": 2285362,
- "operatorId": 965563,
- "createdThroughBooking": true,
- "createdThroughApi": false,
- "firstVisit": "no"
}
}Get the information related to an appointment.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| appointmentId required | integer Appointment ID |
{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 33963,
- "date": "2020-01-01 00:00:00",
- "patientId": 69215,
- "emailReminder": false,
- "smsReminder": true,
- "description": "Appointment",
- "allDay": false,
- "type": "telehealth",
- "state": "confirmed",
- "duration": 30,
- "colorId": 85665,
- "chairId": 2285362,
- "operatorId": 965563,
- "createdThroughBooking": true,
- "createdThroughApi": false,
- "firstVisit": "no"
}
}Update an existing appointment's one or multiple attributes.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| appointmentId required | integer Appointment id |
| error | string Authentication required |
| date required | string <date-time> Appointment's date |
| patientId | integer Patient's ID |
| emailReminder | boolean Email reminder |
| smsReminder | boolean SMS reminder |
| description | string Appointment description |
| allDay | boolean Is it a full day appointment? |
| type | string Enum: "telehealth" "inPractice" Type of appointment |
| duration | integer Duration of the appointment in minutes |
| state | string Appointment State |
| colorId required | integer ID of the color for the appointment in the agenda. |
| chairId | integer Chair ID of the practice |
| operatorId | integer Operator ID |
{- "error": "Authentication required",
- "date": "2020-01-01 00:00:00",
- "patientId": 69215,
- "emailReminder": false,
- "smsReminder": true,
- "description": "Appointment",
- "allDay": false,
- "type": "telehealth",
- "duration": 30,
- "state": "string",
- "colorId": 85665,
- "chairId": 2285362,
- "operatorId": 965563
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 33963,
- "date": "2020-01-01 00:00:00",
- "patientId": 69215,
- "emailReminder": false,
- "smsReminder": true,
- "description": "Appointment",
- "allDay": false,
- "type": "telehealth",
- "state": "confirmed",
- "duration": 30,
- "colorId": 85665,
- "chairId": 2285362,
- "operatorId": 965563,
- "createdThroughBooking": true,
- "createdThroughApi": false,
- "firstVisit": "no"
}
}Returns the CarePlan Entries related to the given appointment ID.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| appointmentId required | integer Appointment ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "entryId": 132,
- "price": 6000,
- "discountedPrice": 6000,
- "discountPercentage": 0,
- "absoluteDiscount": 0,
- "createdAt": "2024-08-14",
- "useInventory": "?",
- "consumptionPrice": "?",
- "done": "false",
- "dateDone": "2024-08-14",
- "laboratoryPurpose": "?",
- "laboratoryCosts": "?",
- "multiplyLaboratoryCosts": "?",
- "compensationType": "?",
- "compensationValue": "?",
- "deleted": "false",
- "sequenceNumber": 1,
- "numberOfExecutions": 2,
- "calculatedVariableCosts": 0,
- "calculatedContributionMargin": 0,
- "calculateCompensationBasedOnDiscount": "?",
- "calculateCompensationAfterCosts": "?",
- "hasPhases": "false",
- "doneAmount": 0,
- "vatPercentage": 19,
- "udi": "(01)12345678901234(17)210101(10)A12345(21)B67890",
- "label": "Apicectomia mesiale",
- "carePackageId": 100
}
]
}Execute all unexecuted care plan entries associated with an appointment.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| appointmentId required | integer Appointment ID |
{ }Stream AlfaGPT conversation for appointment-related queries.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| question required | string Question to ask AlfaGPT |
{- "error": "Error message"
}Update the current archive settings.
| defaultOutgoingBillNumberPrefixId | integer Default Outgoing Bill Number Prefix ID |
{- "defaultOutgoingBillNumberPrefixId": 0
}{- "error": "Authentication required",
- "defaultOutgoingBillNumberPrefixId": 789
}Get a filtered list of bills. By default, the list of bills is limited to the last 31 calendar days. You can filter bills using a maximum time range of 31 days.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| dateStart | string <date> Example: dateStart=2025-01-22 Start date |
| dateEnd | string <date> Example: dateEnd=2025-01-22 End date |
| type | string Enum: "full" "partial" "credit" "proforma" Bill Type |
| direction | string Enum: "incoming" "outgoing" Bill direction |
| carePlanId | integer Care Plan ID |
| createdByUserId | integer Filter by creator user ID |
| createdByUserEmail | string Filter by creator email |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 33963,
- "carePlanId": 69215,
- "companyId": 69215,
- "operatorId": 69215,
- "type": "full",
- "direction": "incoming",
- "date": "2020-01-01 00:00:00",
- "net": 12.23,
- "stamp": 12.23,
- "numberIncludingPrefix": "123",
- "createdAt": "2021-02-18 10:30:47",
- "counterpartItalianFiscalCode": "RSSMRA85T10A562S",
- "gross": 12.23,
- "taxOfficeNotification": true,
- "createdByUserId": 123,
- "createdByUserEmail": "doctor@example.com"
}
]
}Create a new bill or edit an existing bill.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
{- "error": "Authentication required",
- "status": "success",
- "data": { }
}Get the information related to a Bill.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| billId required | integer Bill ID |
{- "error": "Authentication required",
- "status": "success",
- "data": { }
}Get a list of liabilities for a given bill ID.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| billId required | integer Bill ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 33963,
- "billId": 69215,
- "date": "2020-01-01",
- "amount": "12.23",
- "createdAt": "2021-02-18 10:30:47",
- "relatedToInsurance": false,
- "sistemaTsExpenseType": "tk"
}
]
}Delete a bill liability from the given archive.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| billId required | integer Bill ID |
| liabilityId required | integer Liability id |
{- "error": "Error message"
}Update a bill liability from the given archive.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| billId required | integer Bill ID |
| liabilityId required | integer Liability id |
| X-Api-Key required | string Example: JcqPcPQ0Cg07vfYatzZPvuJO3ueuaec3 API Key Authentication |
{- "error": "Error message"
}Get a specific Care Plan defined by its ID
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| carePlanId required | integer Care Plan ID |
{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 132,
- "patientId": 132,
- "branch": "dentistry",
- "name": "Piano #1",
- "state": "estimate",
- "dateAccepted": "2024-08-14",
- "findingId": 132,
- "priceListId": 132,
- "operatorId": 132,
- "personalAssistantId": 132,
- "carePlanDiscardReasonId": 132,
- "createdAt": "2024-08-14",
- "text": "estimate",
- "background": false,
- "createdThroughAppointment": false,
- "isSigned": false,
- "discountPercentage": 0,
- "carePlanEntriesCount": 1,
- "price": 6000,
- "discountedPrice": 6000,
- "grossPrice": 6000,
- "grossDiscountedPrice": 6000,
- "doneAmount": 0,
- "billedAmount": 0,
- "creditedAmount": 0,
- "billableAmount": 0,
- "fullBillsCount": 0,
- "liabilities": [
- {
- "error": "Authentication required",
- "date": "2019-08-24",
- "amount": 0.1,
- "isDue": true,
- "isDone": true
}
]
}
}Returns if the specified CarePlan is signed
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| carePlanId required | integer Care Plan ID |
{- "error": "Authentication required",
- "status": "success",
- "isSigned": false
}Get a list of care plans for a specific patient.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
[- {
- "id": 0,
- "name": "string",
- "deleted": true,
- "hasUndoneCarePlanEntries": true
}
]Get a list of consent templates for a specific care plan.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| carePlanId required | integer Care Plan ID |
[- {
- "id": 0,
- "name": "string",
- "documentId": 0,
- "signed": true
}
]Get the information related to all configured chairs.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 33963,
- "name": "Poltrona 1",
- "deleted": false
}
]
}Create a new chair.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| name | string Chair name |
{- "name": "Poltrona 1"
}{- "id": 0,
- "name": "string"
}Update an existing chair.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| chairId required | integer Chair ID |
| name | string Chair name |
{- "name": "Poltrona 1"
}{ }Get the information related to all configured colors.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
{- "status": "success",
- "count": 0,
- "data": [
- {
- "id": 33963,
- "backgroundColor": "e91e63",
- "textColor": "ffffff"
}
]
}Get the practice and archive ID that are related to the given API key.
{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "practiceId": 33100,
- "archiveId": 44500,
- "ownerEmail": "owner@example.com",
- "userId": 12345
}
}Get the list of all Custom Object Fields. By default, custom fields of all object types (patient, care_plan, etc.) will be returned. You can filter by Object type if you just need the custom field of a specific Object Type.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| objectType | string Filter by Object Type (f.e. patient or care_plan) |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 8364,
- "objectType": "patient",
- "label": "Person Height",
- "technicalName": "personHeight",
- "type": "dropdown",
- "choices": [
- "string"
], - "sequenceNumber": 1,
- "toBeCompleted": false
}
]
}Create a Custom Object Field.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| error | string Authentication required |
| id | integer Custom Object Field ID |
| objectType | string The object type to which the field is related to (f.e. patient or care_plan). |
| label | string <= 32 characters The label of the field (max 32 characters) |
| technicalName | string <= 32 characters The technical name of the field (max 32 characters) |
| type | string The type of the field (f.e. single_line_text, single_checkbox, dropdown). |
| choices | Array of strings The list of dropdown choices. This is only relevant if type is 'dropdown'. |
| sequenceNumber | integer Default: null The sequence number of the field |
| toBeCompleted | boolean Default: false Whether this field should appear in patient data completion workflow |
{- "error": "Authentication required",
- "id": 8364,
- "objectType": "patient",
- "label": "Person Height",
- "technicalName": "personHeight",
- "type": "dropdown",
- "choices": [
- "string"
], - "sequenceNumber": 1,
- "toBeCompleted": false
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 8364,
- "objectType": "patient",
- "label": "Person Height",
- "technicalName": "personHeight",
- "type": "dropdown",
- "choices": [
- "string"
], - "sequenceNumber": 1,
- "toBeCompleted": false
}
}Update a document's properties.
| id required | integer Document ID |
| name | string Document name |
| type | string Document type |
| clinical | boolean Whether the document is clinical |
{- "name": "string",
- "type": "string",
- "clinical": true
}{- "success": true
}Retrieves a list of documents for a specified patient, including each document's name, type, creation date, and download URL.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 0,
- "name": "document.jpg",
- "folderId": "12345",
- "type": "xray",
- "createdAt": "2020-05-05 14:00:00",
}
]
}Add a new document to the selected patient. You can check the file inside the Patient profile -> Document tab.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient ID |
| error | string Authentication required |
| base64Data required | string base64 encoded file data |
| type required | string Enum: "text" "xray" "image" "identification" "electronic_signature_patient_details" "electronic_signature_patient_details_and_terms_and_conditions" "other" File type |
| name required | string File name |
| folderName required | string Folder name where the document it's going to be |
{- "error": "Authentication required",
- "base64Data": "string",
- "type": "text",
- "name": "string",
- "folderName": "string"
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 0,
- "name": "document.jpg",
- "folderId": "12345",
- "type": "xray",
- "createdAt": "2020-05-05 14:00:00",
}
}Retrieve the information of the selected document. The information includes the name, type, creation date and download URL.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
| documentId required | integer Document ID |
{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 0,
- "name": "document.jpg",
- "folderId": "12345",
- "type": "xray",
- "createdAt": "2020-05-05 14:00:00",
}
}Triggers the download of a specific document's content for a patient, providing direct access to the document's binary file.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
| documentId required | integer Document ID |
{- "error": "Authentication required",
- "status": "success",
- "file": "string"
}Start the document preview generation process.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
| documentId required | integer Document ID |
{- "status": "success"
}Get a list of free slots available for a duration of time starting from the startDate.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| startDate required | string <date-time> Start date |
| endDate | string <date-time> End date |
| duration required | integer Slot duration (in minutes) |
| operatorIds | Array of integers Example: operatorIds=1,2,3,4 Operator's ID |
| chairIds | Array of integers Example: chairIds=1,2,3 Chair's ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "chairId": 2285362,
- "date": "2020-01-01",
- "operatorId": 965563,
- "time": "00:00:00"
}
]
}Updates the UI elements for a practice and a marketplace app after the user finished the integration.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| uiElementName required | string UIElement Name |
{- "error": "invalid_request",
- "error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed."
}Deletes a UI element for a marketplace app and a practice
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| uiElementName required | string UIElement Name |
{- "error": "Authentication required",
- "status": "string"
}Updates the UI elements for a marketplace app after the user finished the integration.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| uiElementName required | string UIElement Name |
| error | string Authentication required |
Array of objects (UIElementRequestBodyItem) |
{- "error": "Authentication required",
- "data": [
- {
- "error": "Authentication required",
- "title": "string",
- "value": "string"
}
]
}{- "error": "Authentication required",
- "status": "string",
- "data": [
- {
- "error": "Authentication required",
- "title": "string",
- "value": "string"
}
]
}Endpoints for OAuth2 authentication, including authorization and token exchange.
Handles token exchange for authorization code and refresh token grant types.
Token request payload for both grant types
| error | string Authentication required |
| grant_type required | string Specifies the OAuth 2.0 grant type: 'authorization_code' for exchanging auth codes for tokens, or 'refresh_token' for obtaining new access tokens without re-authentication. |
| client_id required | string The client ID of the application. |
| client_secret required | string The client secret of the application. |
| code | string or null The authorization code issued by the authorization server. Required for the authorization code flow. |
| redirect_uri | string or null The redirect URI associated with the authorization code. Required for the authorization code flow. |
| refresh_token | string or null The refresh token to obtain a new access token. Required for the refresh token flow. |
| scope | string or null Optional space-separated scopes to request. Should be a subset of the original scopes. |
{- "error": "Authentication required",
- "token_type": "Bearer",
- "expires_in": 3600,
- "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6I...",
- "refresh_token": "def50200d1c8d7iLCJhbGciOiJSUzI1NiIsImp0aSI6I..."
}Get the information related to all configured operators.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| ignoreDeleted | boolean Example: ignoreDeleted=true To ignore deleted operators otherwise deleted operators will be included |
| italianFiscalCode | string filter Operator by italianFiscalCode |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 33963,
- "name": "Mario Rossi",
- "italianFiscalCode": "AAA BBB 99H11 L999X",
- "sequenceNumber": 1,
- "deleted": false,
- "colorId": 1
}
]
}Get the information related to a specific operator.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| operatorId required | integer Operator ID |
{- "error": "Authentication required",
- "id": 33963,
- "name": "Mario Rossi",
- "italianFiscalCode": "AAA BBB 99H11 L999X",
- "sequenceNumber": 1,
- "deleted": false,
- "colorId": 1
}Update an operator's information.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| operatorId required | integer Operator ID |
| businessHours | object |
{- "businessHours": { }
}{- "error": "Authentication required",
- "id": 33963,
- "name": "Mario Rossi",
- "italianFiscalCode": "AAA BBB 99H11 L999X",
- "sequenceNumber": 1,
- "deleted": false,
- "colorId": 1
}Upload an image for an operator.
| operatorId required | integer Operator ID |
| base64ImageData | string Base64 encoded image data |
{- "base64ImageData": "string"
}{- "success": true
}Creates a new call record for a specific patient in the system.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient id |
| error | string Authentication required |
| date required | string <date-time> Call date and time |
| description | string Call description |
| outcome | string Call outcome (no_answer, busy, wrong_number, left_voicemail, connected) |
| purpose | string Call purpose (lead_without_appointment, appointment_missed, care_plan_acceptance, payment, other) |
{- "error": "Authentication required",
- "date": "2023-12-01 14:30:00",
- "description": "Follow-up call regarding treatment",
- "outcome": "connected",
- "purpose": "care_plan_acceptance"
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 1,
- "date": "2023-12-01 14:30:00",
- "description": "Follow-up call regarding treatment",
- "outcome": "connected",
- "purpose": "care_plan_acceptance",
- "createdAt": "2023-12-01 14:30:00"
}
}Updates an existing call record for a specific patient in the system.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient id |
| callId required | integer Call id |
| error | string Authentication required |
| date | string <date-time> Call date and time |
| description | string Call description |
| outcome | string Call outcome (no_answer, busy, wrong_number, left_voicemail, connected) |
| purpose | string Call purpose (lead_without_appointment, appointment_missed, care_plan_acceptance, payment, other) |
{- "error": "Authentication required",
- "date": "2023-12-01 14:30:00",
- "description": "Follow-up call regarding treatment",
- "outcome": "connected",
- "purpose": "care_plan_acceptance"
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 1,
- "date": "2023-12-01 14:30:00",
- "description": "Follow-up call regarding treatment",
- "outcome": "connected",
- "purpose": "care_plan_acceptance",
- "createdAt": "2023-12-01 14:30:00"
}
}Deletes an existing call record for a specific patient from the system.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient id |
| callId required | integer Call id |
{- "status": "success"
}Get call stream data for a patient
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient id |
{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "type": "call",
- "id": 12345,
- "purpose": "Follow-up consultation",
- "purposeCode": "care_plan_acceptance",
- "outcome": "Patient contacted successfully",
- "outcomeCode": "connected",
- "content": "Discussed treatment progress and next steps",
- "date": "2024-01-15T14:30:00Z",
- "createdAt": "2024-01-15T14:35:00Z",
- "timestamp": 1705327800
}
}By passing in the appropriate options, you can search for available patients in the system. Custom fields have an underscore as prefix
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| phoneNumberPrefix | string <0039> Phone number prefix |
| phoneNumber | string <1112233444> Phone number |
| italianFiscalCode | string Example: italianFiscalCode=RSSMRA85T10A562S To filter patients by italianFiscalCode |
| offset | integer Offset to move the result window forward |
| limit | integer Number of results in response |
| firstName | string First Name |
| lastName | string Last Name |
string | |
| dateBirth | string Example: dateBirth=1989-10-11 Date of Birth |
| createdAtFrom | string <date> Example: createdAtFrom=2024-01-01 Filter patients created on or after this date |
| createdAtTo | string <date> Example: createdAtTo=2024-12-31 Filter patients created on or before this date |
{- "error": "Authentication required",
- "links": { },
- "total": 1,
- "offset": 0,
- "limit": 100,
- "results": [
- {
- "error": "Authentication required",
- "id": 1,
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "emailEnabled": true,
- "emailValid": "true",
- "phoneNumbers": [
- {
- "error": "Authentication required",
- "id": "1",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
], - "gender": "m",
- "street": "Via Albertazzi 1",
- "city": "Milano",
- "postcode": "20100",
- "province": "MI",
- "dateOfBirth": "1989-10-11",
- "placeOfBirth": "Milano",
- "italianFiscalCode": "RSSMRA85T10A562S",
- "job": "string",
- "yearlyNumberingYear": "2018",
- "yearlyNumberingNumber": "2018",
- "defaultDiscount": 20,
- "sourceId": 283,
- "priceListId": 283,
- "emailReminderPossible": "true",
- "smsReminderPossible": "true",
- "createdAt": "2018-04-01 00:00:00",
- "documentSignatureEmailPossible": "true",
- "lastModifiedAt": "2022-06-17 00:00:00",
- "_sampleCustomField": "string"
}
]
}Adds a new patient to the system. You can also add the custom patient fields that you defined on Gestione -> Pazienti -> Impostazioni Paziente by just putting the technical name and the value on the body.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| error | string Authentication required |
| firstName required | string Patient first name |
| lastName required | string Patient last name |
string Patient last name | |
| emailEnabled | boolean If the patient has email sending enabled |
| gender | string Enum: "m" "f" Gender of the patient |
| street | string Street address of the patient |
| city | string City of the patient |
| postcode | string Zip code of the patient |
| province | string Province of the patient |
| dateOfBirth | string Date of birth of the patient |
| placeOfBirth | string City of birth |
| italianFiscalCode | string Italian fiscal code |
| job | string Software Engineer |
| yearlyNumberingYear | string Yearly numbering year |
| yearlyNumberingNumber | integer Yearly numbering number |
| defaultDiscount | integer Default percentage of discount |
| sourceId | integer ID of the patient's source. You can customize the sources available in the |
| priceListId | integer Price list ID. You can find the price lists in the |
| emailReminderPossible | boolean Is possible to send emails reminders to the patient? |
| smsReminderPossible | boolean Is possible to send SMS reminders to the patient? |
| createdAt | string <date-time> Creation date |
| documentSignatureEmailPossible | boolean Is possible to send documents requesting signature? |
| lastModifiedAt | string <date-time> Last modified date |
| _sampleCustomField | string <string> The custom field value |
Array of objects (PhoneNumberNewItem) List of phone numbers |
{- "error": "Authentication required",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "emailEnabled": true,
- "gender": "m",
- "street": "Via Albertazzi 1",
- "city": "Milano",
- "postcode": "20100",
- "province": "MI",
- "dateOfBirth": "1989-10-11",
- "placeOfBirth": "Milano",
- "italianFiscalCode": "RSSMRA85T10A562S",
- "job": "string",
- "yearlyNumberingYear": "2018",
- "yearlyNumberingNumber": "2018",
- "defaultDiscount": 20,
- "sourceId": 283,
- "priceListId": 283,
- "emailReminderPossible": "true",
- "smsReminderPossible": "true",
- "createdAt": "2018-04-01 00:00:00",
- "documentSignatureEmailPossible": "true",
- "lastModifiedAt": "2022-06-17 00:00:00",
- "_sampleCustomField": "string",
- "phoneNumbers": [
- {
- "error": "Authentication required",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
]
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 1,
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "emailEnabled": true,
- "emailValid": "true",
- "phoneNumbers": [
- {
- "error": "Authentication required",
- "id": "1",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
], - "gender": "m",
- "street": "Via Albertazzi 1",
- "city": "Milano",
- "postcode": "20100",
- "province": "MI",
- "dateOfBirth": "1989-10-11",
- "placeOfBirth": "Milano",
- "italianFiscalCode": "RSSMRA85T10A562S",
- "job": "string",
- "yearlyNumberingYear": "2018",
- "yearlyNumberingNumber": "2018",
- "defaultDiscount": 20,
- "sourceId": 283,
- "priceListId": 283,
- "emailReminderPossible": "true",
- "smsReminderPossible": "true",
- "createdAt": "2018-04-01 00:00:00",
- "documentSignatureEmailPossible": "true",
- "lastModifiedAt": "2022-06-17 00:00:00",
- "_sampleCustomField": "string"
}
}Get patient info. It also works for deleted patients, but returns only some data. The endpoint will also return the custom patient field values. These custom fields have an underscore as prefix
| patientId required | integer Patient id |
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 1,
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "emailEnabled": true,
- "emailValid": "true",
- "phoneNumbers": [
- {
- "error": "Authentication required",
- "id": "1",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
], - "gender": "m",
- "street": "Via Albertazzi 1",
- "city": "Milano",
- "postcode": "20100",
- "province": "MI",
- "dateOfBirth": "1989-10-11",
- "placeOfBirth": "Milano",
- "italianFiscalCode": "RSSMRA85T10A562S",
- "job": "string",
- "yearlyNumberingYear": "2018",
- "yearlyNumberingNumber": "2018",
- "defaultDiscount": 20,
- "sourceId": 283,
- "priceListId": 283,
- "emailReminderPossible": "true",
- "smsReminderPossible": "true",
- "createdAt": "2018-04-01 00:00:00",
- "documentSignatureEmailPossible": "true",
- "lastModifiedAt": "2022-06-17 00:00:00",
- "_sampleCustomField": "string"
}
}Delete a patient from the given archive.
| practiceId required | integer Practice id |
| patientId required | integer Patient id |
| archiveId required | integer Archive id |
{- "error": "Error message"
}Update an existing patient from the archive. You can also update custom fields that you defined in Gestione -> Pazienti -> Impostazioni Paziente by using the technical name with an underscore as prefix.
| practiceId required | integer Practice id |
| patientId required | integer Patient id |
| archiveId required | integer Archive id |
| error | string Authentication required |
| firstName required | string Patient first name |
| lastName required | string Patient last name |
string Patient last name | |
| emailEnabled | boolean If the patient has email sending enabled |
| gender | string Enum: "m" "f" Gender of the patient |
| street | string Street address of the patient |
| city | string City of the patient |
| postcode | string Zip code of the patient |
| province | string Province of the patient |
| dateOfBirth | string Date of birth of the patient |
| placeOfBirth | string City of birth |
| italianFiscalCode | string Italian fiscal code |
| job | string Software Engineer |
| yearlyNumberingYear | string Yearly numbering year |
| yearlyNumberingNumber | integer Yearly numbering number |
| defaultDiscount | integer Default percentage of discount |
| sourceId | integer ID of the patient's source. You can customize the sources available in the |
| priceListId | integer Price list ID. You can find the price lists in the |
| emailReminderPossible | boolean Is possible to send emails reminders to the patient? |
| smsReminderPossible | boolean Is possible to send SMS reminders to the patient? |
| createdAt | string <date-time> Creation date |
| documentSignatureEmailPossible | boolean Is possible to send documents requesting signature? |
| lastModifiedAt | string <date-time> Last modified date |
| _sampleCustomField | string <string> The custom field value |
Array of objects (PhoneNumberNewItem) List of phone numbers |
{- "error": "Authentication required",
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "emailEnabled": true,
- "gender": "m",
- "street": "Via Albertazzi 1",
- "city": "Milano",
- "postcode": "20100",
- "province": "MI",
- "dateOfBirth": "1989-10-11",
- "placeOfBirth": "Milano",
- "italianFiscalCode": "RSSMRA85T10A562S",
- "job": "string",
- "yearlyNumberingYear": "2018",
- "yearlyNumberingNumber": "2018",
- "defaultDiscount": 20,
- "sourceId": 283,
- "priceListId": 283,
- "emailReminderPossible": "true",
- "smsReminderPossible": "true",
- "createdAt": "2018-04-01 00:00:00",
- "documentSignatureEmailPossible": "true",
- "lastModifiedAt": "2022-06-17 00:00:00",
- "_sampleCustomField": "string",
- "phoneNumbers": [
- {
- "error": "Authentication required",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
]
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 1,
- "firstName": "string",
- "lastName": "string",
- "email": "string",
- "emailEnabled": true,
- "emailValid": "true",
- "phoneNumbers": [
- {
- "error": "Authentication required",
- "id": "1",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
], - "gender": "m",
- "street": "Via Albertazzi 1",
- "city": "Milano",
- "postcode": "20100",
- "province": "MI",
- "dateOfBirth": "1989-10-11",
- "placeOfBirth": "Milano",
- "italianFiscalCode": "RSSMRA85T10A562S",
- "job": "string",
- "yearlyNumberingYear": "2018",
- "yearlyNumberingNumber": "2018",
- "defaultDiscount": 20,
- "sourceId": 283,
- "priceListId": 283,
- "emailReminderPossible": "true",
- "smsReminderPossible": "true",
- "createdAt": "2018-04-01 00:00:00",
- "documentSignatureEmailPossible": "true",
- "lastModifiedAt": "2022-06-17 00:00:00",
- "_sampleCustomField": "string"
}
}Get the timeline stream for a patient including notes, appointments, calls, claims, and care plans.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
[- { }
]Get patient's reminder settings for email and SMS.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
| selectedAppointmentDate | string Selected appointment date |
{ }Find out if a given patient accepted the electronic signature terms and conditions.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
{- "patientAcceptedTermsAndConditions": true
}Get patient's identification document details.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
{- "documentId": 0,
- "expirationDate": "string"
}Save a web camera image for a patient.
| patientId required | integer Patient ID |
| base64ImageData | string Base64 encoded image data |
{- "base64ImageData": "string"
}{- "success": true
}Get required objects information for a certain patient.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
{- "numberOfRequiredObjects": 0,
- "numberOfCompletedRequiredObjects": 0
}Provide patient's images to show in the image viewer.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
{- "status": "success",
- "data": [
- { }
]
}Update an existing patient custom field from the archive. You can also update custom fields that you defined in Gestione -> Pazienti -> Impostazioni Paziente by using the technical name with an underscore as prefix.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient id |
| error | string Authentication required |
Array of objects (PatientCustomFieldItem) |
{- "error": "Authentication required",
- "data": [
- {
- "error": "Authentication required",
- "technicalName": "string",
- "value": "string"
}
]
}{- "error": "Authentication required",
- "status": "string"
}Get all the related phone numbers of an specific patient.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient id |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": "1",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
]
}Add a new phone number to an existing patient
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient id |
| error | string Authentication required |
| prefix required | string Country prefix |
| number required | string Number without country prefix |
| label | string Label |
| smsEnabled | boolean Is this number available for SMS? |
{- "error": "Authentication required",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": "1",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
}Get an specific phone number of a patient.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient id |
| phoneNumberId required | integer Phone number id |
{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": "1",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
}Delete a specific phone number from a patient.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| patientId required | integer Patient ID |
| phoneNumberId required | integer Phone number ID |
{- "error": "Error message"
}Modify an specific phone number from a patient
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| patientId required | integer Patient id |
| phoneNumberId required | integer Phone number id |
| error | string Authentication required |
| prefix required | string Country prefix |
| number required | string Number without country prefix |
| label | string Label |
| smsEnabled | boolean Is this number available for SMS? |
{- "error": "Authentication required",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": "1",
- "prefix": "+39",
- "number": "3471234567",
- "label": "Cellulare",
- "smsEnabled": true
}
}Receives payment status updates from external payment apps
| practiceId required | integer Example: 123 Practice ID |
| archiveId required | integer Example: 456 Archive ID |
| error | string Authentication required |
| paymentRequestId required | integer Payment request ID |
| paymentStatus required | string Enum: "paid" "failed" Payment status |
{- "error": "Authentication required",
- "paymentRequestId": 123,
- "paymentStatus": "paid"
}{- "error": "Authentication required",
- "status": "success",
- "message": "Payment data updated successfully"
}Get the information related to all payment types.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 33963,
- "name": "Contante",
- "deleted": false
}
]
}Update multiple payment types at once.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| id | integer Payment type ID |
| fatturazioneElettronicaClassification | string Electronic invoicing classification |
[- {
- "id": 0,
- "fatturazioneElettronicaClassification": "string"
}
]{- "error": "Error message"
}Update practice settings and information.
| practiceId required | integer Practice ID |
| businessHours | object Business hours by day |
| alfadocsToPracticeBillingCompanyName | string Billing company name |
| alfadocsToPracticeBillingSubject | string Billing subject |
| alfadocsToPracticeBillingStreet | string Billing street |
| alfadocsToPracticeBillingCity | string Billing city |
| alfadocsToPracticeBillingPostcode | string Billing postcode |
| alfadocsToPracticeBillingItalianVatNumber | string Italian VAT number |
| alfadocsToPracticeBillingItalianFiscalCode | string Italian fiscal code |
| alfadocsToPracticeBillingPaymentMethod | string Payment method |
| alfadocsToPracticeBillingIban | string IBAN |
| alfadocsToPracticeBillingAccountOwnerName | string Account owner name |
| alfadocsToPracticeBillingAccountOwnerAddress | string Account owner address |
| alfadocsToPracticeBillingPecAddress | string PEC address |
| alfadocsToPracticeBillingProvinceCode | string Province code |
| useOutgoingBillNumberPrefix | boolean Use outgoing bill number prefix |
| phoneNumber | string Phone number |
{- "businessHours": { },
- "alfadocsToPracticeBillingCompanyName": "string",
- "alfadocsToPracticeBillingSubject": "string",
- "alfadocsToPracticeBillingStreet": "string",
- "alfadocsToPracticeBillingCity": "string",
- "alfadocsToPracticeBillingPostcode": "string",
- "alfadocsToPracticeBillingItalianVatNumber": "string",
- "alfadocsToPracticeBillingItalianFiscalCode": "string",
- "alfadocsToPracticeBillingPaymentMethod": "string",
- "alfadocsToPracticeBillingIban": "string",
- "alfadocsToPracticeBillingAccountOwnerName": "string",
- "alfadocsToPracticeBillingAccountOwnerAddress": "string",
- "alfadocsToPracticeBillingPecAddress": "string",
- "alfadocsToPracticeBillingProvinceCode": "string",
- "useOutgoingBillNumberPrefix": true,
- "phoneNumber": "string"
}{- "error": "Authentication required",
- "status": "success",
- "data": { }
}Get the information related to all configured specialties.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 5,
- "name": "Prevenzione",
- "sequenceNumber": "3",
- "createdAt": "2021-02-18 10:30:47",
- "deleted": false,
- "operatorIds": [
- 177,
- 250,
- 370
]
}
]
}Get a filtered list of undeleted transactions. By default, the list of transaction is limited to the last 31 calendar days. You can filter transactions using a maximum time range of 31 days.
| practiceId required | integer Practice ID |
| archiveId required | integer Archive ID |
| dateStart | string <date-time> Start date |
| dateEnd | string <date-time> End date |
| direction | string Enum: "incoming" "outgoing" Transaction direction |
| billId | integer Bill ID |
| createdByUserId | integer Filter by creator user ID |
| createdByUserEmail | string Filter by creator email |
{- "error": "Authentication required",
- "status": "success",
- "count": 0,
- "data": [
- {
- "error": "Authentication required",
- "id": 33963,
- "direction": "incoming",
- "amount": 12.12,
- "date": "2020-01-01",
- "billId": 69215,
- "accountId": 69215,
- "paymentTypeId": 69215,
- "createdAt": "2021-02-18 10:30:47",
- "deleted": false,
- "verified": true,
- "relatedToInsurance": false,
- "sistemaTsExpenseType": "tk",
- "createdByUserId": 123,
- "createdByUserEmail": "doctor@example.com"
}
]
}Create an transaction. If the transaction is related to a bill, the billId parameter is required. If you are dealing with a bill liability, please remember to delete the bill liability after the transaction is created.
| practiceId required | integer Practice id |
| archiveId required | integer Archive id |
| error | string Authentication required |
| amount required | number Amount of transaction |
| date required | string <date> Transaction's date |
| direction required | string <string> Enum: "incoming" "outgoing" Transaction's direction |
| billId | integer Bill's ID |
| accountId required | integer Account ID. |
| paymentTypeId required | integer Payment type ID |
| relatedToInsurance | boolean Trasaction related to a insurance |
| sistemaTsExpenseType required | string Enum: "tk" "tk2" "fc" "fv" "sp" "ad" "as" "sr" "sr2" "ct" "pi" "ic" "aa" "nn" Sistema TS type |
{- "error": "Authentication required",
- "amount": 23.12,
- "date": "2020-01-01",
- "direction": "incoming",
- "billId": 69215,
- "accountId": 85665,
- "paymentTypeId": 2285362,
- "relatedToInsurance": false,
- "sistemaTsExpenseType": "tk"
}{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "id": 33963,
- "direction": "incoming",
- "amount": 12.12,
- "date": "2020-01-01",
- "billId": 69215,
- "accountId": 69215,
- "paymentTypeId": 69215,
- "createdAt": "2021-02-18 10:30:47",
- "deleted": false,
- "verified": true,
- "relatedToInsurance": false,
- "sistemaTsExpenseType": "tk",
- "createdByUserId": 123,
- "createdByUserEmail": "doctor@example.com"
}
}Get a list of care plan entries for a specific care plan.
| practiceId required | integer Practice ID |
| carePlanId required | integer Care Plan ID |
| sortMode required | string Sort mode (default, creation_asc, creation_desc, manual) |
| excludeDone | boolean Exclude done entries |
| extended | boolean Include extended data |
[- {
- "error": "Authentication required",
- "entryId": 132,
- "price": 6000,
- "discountedPrice": 6000,
- "discountPercentage": 0,
- "absoluteDiscount": 0,
- "createdAt": "2024-08-14",
- "useInventory": "?",
- "consumptionPrice": "?",
- "done": "false",
- "dateDone": "2024-08-14",
- "laboratoryPurpose": "?",
- "laboratoryCosts": "?",
- "multiplyLaboratoryCosts": "?",
- "compensationType": "?",
- "compensationValue": "?",
- "deleted": "false",
- "sequenceNumber": 1,
- "numberOfExecutions": 2,
- "calculatedVariableCosts": 0,
- "calculatedContributionMargin": 0,
- "calculateCompensationBasedOnDiscount": "?",
- "calculateCompensationAfterCosts": "?",
- "hasPhases": "false",
- "doneAmount": 0,
- "vatPercentage": 19,
- "udi": "(01)12345678901234(17)210101(10)A12345(21)B67890",
- "label": "Apicectomia mesiale",
- "carePackageId": 100
}
]Get a care plan entry
| practiceId required | integer |
| archiveId required | integer |
| carePlanId required | integer |
| carePlanEntryId required | integer |
{- "error": "Authentication required",
- "status": "success",
- "data": {
- "error": "Authentication required",
- "entryId": 132,
- "price": 6000,
- "discountedPrice": 6000,
- "discountPercentage": 0,
- "absoluteDiscount": 0,
- "createdAt": "2024-08-14",
- "useInventory": "?",
- "consumptionPrice": "?",
- "done": "false",
- "dateDone": "2024-08-14",
- "laboratoryPurpose": "?",
- "laboratoryCosts": "?",
- "multiplyLaboratoryCosts": "?",
- "compensationType": "?",
- "compensationValue": "?",
- "deleted": "false",
- "sequenceNumber": 1,
- "numberOfExecutions": 2,
- "calculatedVariableCosts": 0,
- "calculatedContributionMargin": 0,
- "calculateCompensationBasedOnDiscount": "?",
- "calculateCompensationAfterCosts": "?",
- "hasPhases": "false",
- "doneAmount": 0,
- "vatPercentage": 19,
- "udi": "(01)12345678901234(17)210101(10)A12345(21)B67890",
- "label": "Apicectomia mesiale",
- "carePackageId": 100
}
}Update a care plan entry.
| practiceId required | integer Practice ID |
| carePlanId required | integer Care Plan ID |
| carePlanEntryId required | integer Care Plan Entry ID |
| isExecuted | boolean Is executed |
| executionDate | string <date> Execution date |
| elements | Array of strings Elements |
| udi | string UDI |
| label | string Label |
{- "isExecuted": true,
- "executionDate": "2019-08-24",
- "elements": [
- "string"
], - "udi": "string",
- "label": "string"
}{- "success": true
}Delete a care plan entry.
| practiceId required | integer Practice ID |
| carePlanId required | integer Care Plan ID |
| carePlanEntryId required | integer Care Plan Entry ID |
| elements | string Elements to delete (optional) |
{- "status": "success"
}Swap the sequence numbers of two care plan entries.
| practiceId required | integer Practice ID |
| carePlanId required | integer Care Plan ID |
| carePlanEntryId1 required | integer First Care Plan Entry ID |
| carePlanEntryId2 required | integer Second Care Plan Entry ID |
{- "status": "success"
}Duplicate a care plan entry a specified number of times.
| practiceId required | integer Practice ID |
| carePlanId required | integer Care Plan ID |
| carePlanEntryId required | integer Care Plan Entry ID to duplicate |
| count | integer Number of duplicates to create (1-99) |
{- "count": 1
}{- "status": "success",
- "data": [
- {
- "error": "Authentication required",
- "entryId": 132,
- "price": 6000,
- "discountedPrice": 6000,
- "discountPercentage": 0,
- "absoluteDiscount": 0,
- "createdAt": "2024-08-14",
- "useInventory": "?",
- "consumptionPrice": "?",
- "done": "false",
- "dateDone": "2024-08-14",
- "laboratoryPurpose": "?",
- "laboratoryCosts": "?",
- "multiplyLaboratoryCosts": "?",
- "compensationType": "?",
- "compensationValue": "?",
- "deleted": "false",
- "sequenceNumber": 1,
- "numberOfExecutions": 2,
- "calculatedVariableCosts": 0,
- "calculatedContributionMargin": 0,
- "calculateCompensationBasedOnDiscount": "?",
- "calculateCompensationAfterCosts": "?",
- "hasPhases": "false",
- "doneAmount": 0,
- "vatPercentage": 19,
- "udi": "(01)12345678901234(17)210101(10)A12345(21)B67890",
- "label": "Apicectomia mesiale",
- "carePackageId": 100
}
]
}