Αναφορά MCP / Ασθενείς
Εργαλεία ασθενών
Δεκατέσσερα εργαλεία για τον φάκελο του ασθενή, τις κλινικές σημειώσεις, τις θεραπείες και τους υποπόρους του. Καθένα με τις παραμέτρους του, παράδειγμα κλήσης και το τι επιστρέφει.
Πώς διαβάζεται
Κάθε εργαλείο παρακάτω παραθέτει τις παραμέτρους του ακριβώς όπως τις δηλώνει το σχήμα εισόδου: τον τύπο, αν είναι υποχρεωτική, τις επιτρεπτές τιμές όπου τις ορίζει το σχήμα, και τι σημαίνει η κάθε παράμετρος σύμφωνα με το σχήμα. Τίποτα από αυτά δεν γράφεται εδώ: ένα ποσό σε λεπτά, μια προεπιλογή που ισχύει αν παραλείψετε ένα πεδίο, ποια ενέργεια χρειάζεται ποιο id, όλα έρχονται από το ίδιο το εργαλείο.
Το practiceId δεν είναι ποτέ παράμετρος. Προέρχεται από το token σας, και οι διαδρομές εγγραφής το αφαιρούν αν το στείλει ο client.
Ένα εργαλείο που γράφει δείχνει ένα παράδειγμα για κάθε ενέργεια, γιατί αυτό που χρειάζεται μια ενέργεια δεν είναι ό,τι ορίζει υποχρεωτικό το σχήμα εισόδου: το σχήμα ζητά το action και τα υπόλοιπα τα αφήνει στην ενέργεια. Κάθε παράδειγμα είναι πλήρες αίτημα tools/call, και οι παράμετροί του ελέγχονται, όταν φτιάχνεται αυτή η σελίδα, με το ίδιο αντικείμενο που διαβάζει ο server. Τα σφάλματα επιστρέφονται μέσα σε απόκριση 200 με isError: δείτε την επισκόπηση MCP και τον πλήρη κατάλογο.
Ασθενείς
Ο φάκελος του ασθενή, οι σημειώσεις του, οι θεραπείες του και οι υποπόροι που κρέμονται από αυτόν.
list_patients
Λίστα ασθενών του ιατρείου, με προαιρετική αναζήτηση και φίλτρα κατάστασης και ετικέτας.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| search | string | Προαιρετικό | Matches against name, email and phone. This is the argument — the `search` tool calls the same thing `q`, and sending that name here used to return the first page of every patient instead of a search. Both work now, and the answer echoes what it searched for. |
| q | string | Προαιρετικό | An alias for `search`. Prefer `search`. |
| status | string | Προαιρετικό | One of this practice's pack-defined status ids — read them from get_me (pack.patientStatuses) rather than assuming. |
| tagId | string | Προαιρετικό | Use list_tags to find tag ids. |
| includeInactive | boolean | Προαιρετικό | Also list inactive records (archived, no longer seen), marked isActive=false. The answer always says how many it left out (inactiveCount). |
| limit | integer | Προαιρετικό | How many rows to return. Defaults to 50; at most 200 (a larger value is lowered to it, not rejected). |
| offset | integer | Προαιρετικό | How many rows to skip, for paging through a long list. At most 100000. |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_patients",
"arguments": {}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the requested records" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
get_patient
Ανάγνωση ενός ασθενή με βάση το id.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| patientId | string | Υποχρεωτικό |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_patient",
"arguments": {
"patientId": "b065ac83-b065-4c3a-9e21-7b84c5d10f33"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the requested records" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
list_patient_notes
Λίστα όλων των κλινικών σημειώσεων ενός ασθενή.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| patientId | string | Υποχρεωτικό |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_patient_notes",
"arguments": {
"patientId": "b065ac83-b065-4c3a-9e21-7b84c5d10f33"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the requested records" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
list_patient_files
Λίστα αρχείων ασθενή. Χρησιμοποιήστε το get_file για σύνδεσμο λήψης.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| patientId | string | Υποχρεωτικό |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_patient_files",
"arguments": {
"patientId": "b065ac83-b065-4c3a-9e21-7b84c5d10f33"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the requested records" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
list_patient_billing_entries
Λίστα των χρεώσεων που έχουν καταγραφεί για έναν ασθενή, μαζί με το υπόλοιπο: τι οφείλει τώρα, το ίδιο ποσό με το καθολικό στη σελίδα του ασθενή. Χρησιμοποιήστε αυτό αντί να αθροίζετε εγγραφές. Μια εγγραφή receipt είναι είσπραξη, όχι παραστατικό.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| patientId | string | Υποχρεωτικό | |
| includeVoided | boolean | Προαιρετικό | Also list voided (cancelled) rows, marked voided=true. Only for a question about what was voided: they count for nothing. The answer always says how many it left out (voidedCount). |
| limit | integer | Προαιρετικό | How many entries to return, the newest kept. The answer says when older ones were left out (truncated); totals always cover every entry matched. |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_patient_billing_entries",
"arguments": {
"patientId": "b065ac83-b065-4c3a-9e21-7b84c5d10f33"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the requested records" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
list_patient_invoices
Λίστα των αποδείξεων και τιμολογίων που έχουν εκδοθεί για έναν ασθενή.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| patientId | string | Υποχρεωτικό | |
| includeVoided | boolean | Προαιρετικό | Also list voided (cancelled) rows, marked voided=true. Only for a question about what was voided: they count for nothing. The answer always says how many it left out (voidedCount). |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_patient_invoices",
"arguments": {
"patientId": "b065ac83-b065-4c3a-9e21-7b84c5d10f33"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the requested records" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
get_patient_invoice_preview
Υπολογισμός προσχεδίου απόδειξης ή τιμολογίου για τις μη χρεωμένες εγγραφές, χωρίς έκδοση. Για έκδοση χρησιμοποιήστε write_invoice με action=issue.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| patientId | string | Υποχρεωτικό |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_patient_invoice_preview",
"arguments": {
"patientId": "b065ac83-b065-4c3a-9e21-7b84c5d10f33"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the requested records" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
write_patient
Δημιουργία, ενημέρωση ή διαγραφή ασθενή. action=create απαιτεί firstName και lastName· update και delete απαιτούν patientId. Η διαγραφή είναι μόνιμη. Μια δημιουργία με όνομα που υπάρχει ήδη στο ιατρείο απορρίπτεται με patient_exists. Με differentPerson: true η καταχώριση γίνεται, αφού το ιατρείο πει ότι είναι άλλο πρόσωπο. Ο server δεν μπορεί να ελέγξει ότι το είπε, και το ιστορικό ενεργειών το καταγράφει.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| action | string: create | update | delete | Υποχρεωτικό | |
| patientId | string | Προαιρετικό | The patient to update or delete. |
| firstName | string | Προαιρετικό | Required for action=create. |
| lastName | string | Προαιρετικό | Required for action=create. |
| dob | string | Προαιρετικό | Date of birth, YYYY-MM-DD. Send it ONLY if the caller stated it — never a placeholder, never the earliest date this field accepts, never a guess from anything else on the record. A patient with no date of birth stays that way until somebody tells you theirs. Must be a real past date, and the practice's own records are the only source for it. |
| gender | string | Προαιρετικό | Free text — the practice records whatever the patient told them. |
| string | Προαιρετικό | The patient's email address, only if the caller gave it. A patient with no email stays that way: do not compose one from their name, and do not send an example address. | |
| phoneMobile | string | Προαιρετικό | Mobile number, as the practice records it, and only if the caller gave it. Never a placeholder such as a run of zeros: a patient with no number stays that way. |
| address | string | Προαιρετικό | Street address, free text. |
| postcode | string | Προαιρετικό | Postal code. |
| country | string | Προαιρετικό | Country, free text. |
| socialSecurityNumber | string | Προαιρετικό | The patient's social security number (in Greece, the ΑΜΚΑ). Send an empty string to clear it. |
| taxId | string | Προαιρετικό | The patient's tax id (in Greece, the ΑΦΜ). Only needed for a tax invoice (write_invoice kind=invoice). Send an empty string to clear it. |
| taxOffice | string | Προαιρετικό | The tax office the patient's tax id is registered with (in Greece, the ΔΟΥ). |
| status | string | Προαιρετικό | Must be one of the status ids defined by this practice's vertical pack — the values differ per pack, so read them from get_me (pack.patientStatuses) rather than assuming. Any other value is rejected. |
| notifyByEmail | boolean | Προαιρετικό | Whether the patient consents to email reminders. Defaults to false when a patient is created without it. Booking emails (booked, confirmed, cancelled) are sent regardless. |
| notifyBySms | boolean | Προαιρετικό | Whether the patient consents to SMS reminders. Defaults to false when a patient is created without it. |
| fileUseConsent | boolean | null | Προαιρετικό | Whether the patient consents to their files (x-rays, scans, photos) being used for teaching or promotion. Null means nobody has asked, which is NOT a refusal, and is what a patient created without it holds. Send it only when the practice said what the patient answered: never infer it. |
| differentPerson | boolean | Προαιρετικό | action=create only, and only after a patient_exists refusal and the practice saying this is somebody else with the same name. The server cannot check that the practice said so; the new record's activity log entry names the existing ones. |
Παράδειγμα κλήσης
action=create
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_patient",
"arguments": {
"action": "create",
"firstName": "Anna",
"lastName": "Papadopoulou",
"phoneMobile": "+30 694 000 0000"
}
}
}action=update
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_patient",
"arguments": {
"action": "update",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"email": "anna.papadopoulou@example.com",
"notifyBySms": true
}
}
}action=delete
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_patient",
"arguments": {
"action": "delete",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the written record" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| patient_exists | 500 | action=create με όνομα που έχει ήδη ασθενής του ιατρείου. Η απάντηση ονομάζει αυτόν τον ασθενή. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
| subscription_read_only | 403 | Η συνδρομή έχει λήξει, οπότε το ιατρείο είναι μόνο για ανάγνωση και δεν γράφεται τίποτα. |
write_patient_note
Δημιουργία, ενημέρωση ή διαγραφή σημείωσης ασθενή. action=create απαιτεί body· update και delete απαιτούν noteId.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| action | string: create | update | delete | Υποχρεωτικό | |
| patientId | string | Υποχρεωτικό | The patient the note belongs to. |
| noteId | string | Προαιρετικό | The note to update or delete. |
| title | string | Προαιρετικό | Optional heading for the note. |
| body | string | Προαιρετικό | The note's text. Required for action=create, and must be non-empty. |
Παράδειγμα κλήσης
action=create
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_patient_note",
"arguments": {
"action": "create",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"title": "Check-up",
"body": "Reviewed the upper right quadrant. No new findings."
}
}
}action=update
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_patient_note",
"arguments": {
"action": "update",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"noteId": "1a2b3c4d-7e8f-4a5b-8c9d-0e1f2a3b4c5d",
"body": "Reviewed the upper right quadrant. Recall in six months."
}
}
}action=delete
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_patient_note",
"arguments": {
"action": "delete",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"noteId": "1a2b3c4d-7e8f-4a5b-8c9d-0e1f2a3b4c5d"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the written record" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
| subscription_read_only | 403 | Η συνδρομή έχει λήξει, οπότε το ιατρείο είναι μόνο για ανάγνωση και δεν γράφεται τίποτα. |
toggle_patient_tag
Προσθέτει την ετικέτα αν λείπει, την αφαιρεί αν υπάρχει ήδη.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| patientId | string | Υποχρεωτικό | |
| tagId | string | Υποχρεωτικό | Use list_tags to find tag ids. |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "toggle_patient_tag",
"arguments": {
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"tagId": "70819203-3e4f-4091-8c5d-6e7f8091a2b3"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the written record" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
| subscription_read_only | 403 | Η συνδρομή έχει λήξει, οπότε το ιατρείο είναι μόνο για ανάγνωση και δεν γράφεται τίποτα. |
list_treatment_courses
Οι θεραπείες ενός ασθενή, πρώτα όσες είναι ανοιχτές: κατάσταση, ημερομηνίες και διάρκεια, διάγνωση και σχέδιο, οι τύποι διάγνωσης και θεραπείας τους, το επόμενο βήμα και οι επισκέψεις.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| patientId | string | Υποχρεωτικό | The patient whose record this is. |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_treatment_courses",
"arguments": {
"patientId": "b065ac83-b065-4c3a-9e21-7b84c5d10f33"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the requested records" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
list_treatment_picklists
Οι τύποι διάγνωσης και οι τύποι θεραπείας του ιατρείου, οι λέξεις με τις οποίες χαρακτηρίζεται μια θεραπεία. Τα αρχειοθετημένα μόνο αν ζητηθούν.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| kind | string: diagnosis | treatment | Προαιρετικό | Only this list: diagnosis or treatment. Omit for both. |
| includeArchived | boolean | Προαιρετικό | Also list archived types, marked archived=true. |
Παράδειγμα κλήσης
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_treatment_picklists",
"arguments": {}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the requested records" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
write_treatment_course
Έναρξη, αλλαγή ή αφαίρεση μιας θεραπείας. Το action=create απαιτεί title· τα update και void απαιτούν courseId και expectedUpdatedAt. Μια θεραπεία που αφαιρείται κρατά τη γραμμή και τις επισκέψεις της, εκτός λίστας.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| action | string: create | update | void | Υποχρεωτικό | |
| patientId | string | Υποχρεωτικό | The patient whose record this is. |
| courseId | string | Προαιρετικό | The course to change or remove, from list_treatment_courses. |
| title | string | Προαιρετικό | What the course is, in a few words («Orthodontic treatment», «Physiotherapy, left knee»). Required for action=create. |
| status | string: planned | in_progress | completed | discontinued | Προαιρετικό | Where the course stands. action=create defaults to planned. completed and discontinued end it. |
| diagnosis | string | null | Προαιρετικό | What was found, as the user said it. Send null to clear it. |
| plan | string | null | Προαιρετικό | The treatment plan, as the user said it. Send null to clear it. |
| diagnosisTypeIds | array<string> | Προαιρετικό | Ids of the practice's diagnosis types (list_treatment_picklists kind=diagnosis), in the order shown. Replaces the whole list; [] clears it. An id that is not this practice's, is of the other list, or is archived (unless the course already has it) is refused (400, unknown_picklist_item). Only types the user named. |
| treatmentTypeIds | array<string> | Προαιρετικό | Ids of the practice's treatment types (list_treatment_picklists kind=treatment), in the order shown. Replaces the whole list; [] clears it. An id that is not this practice's, is of the other list, or is archived (unless the course already has it) is refused (400, unknown_picklist_item). Only types the user named. |
| startDate | string | null | Προαιρετικό | When treatment started. YYYY-MM-DD; send null to clear it. |
| plannedEndDate | string | null | Προαιρετικό | When treatment is planned to end; not before startDate. YYYY-MM-DD; send null to clear it. |
| nextStepDate | string | null | Προαιρετικό | When the next step is due. YYYY-MM-DD; send null to clear it. |
| nextStepNote | string | null | Προαιρετικό | What to do next, as the user said it. Send null to clear it. |
| expectedUpdatedAt | string | Προαιρετικό | The course's updatedAt exactly as list_treatment_courses gave it. If it has changed since, nothing is written and the call fails with 409 (details[0].code: stale_version, or course_voided when it was removed): read again and retry. Never make one up. |
| reason | string: entered_in_error | duplicate | other | Προαιρετικό | Why it is removed. Optional; a closed list, no free text is stored. |
Παράδειγμα κλήσης
action=create
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_treatment_course",
"arguments": {
"action": "create",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"title": "Orthodontic treatment",
"startDate": "2026-11-02"
}
}
}action=update
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_treatment_course",
"arguments": {
"action": "update",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"courseId": "7a8b9cad-d8e9-4a2b-e6f7-08192a3b4c5d",
"expectedUpdatedAt": "2026-11-02T08:30:00.000Z",
"nextStepDate": "2026-12-01",
"nextStepNote": "Adjust the archwire"
}
}
}action=void
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_treatment_course",
"arguments": {
"action": "void",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"courseId": "7a8b9cad-d8e9-4a2b-e6f7-08192a3b4c5d",
"expectedUpdatedAt": "2026-11-02T08:30:00.000Z",
"reason": "entered_in_error"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the written record" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| conflict | 409 | Η εγγραφή άλλαξε από τότε που τη διαβάσατε (details[0].code: stale_version), ή έχει ακυρωθεί. Διαβάστε την ξανά και ξαναδοκιμάστε. Μην επινοείτε ποτέ expectedUpdatedAt. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
| subscription_read_only | 403 | Η συνδρομή έχει λήξει, οπότε το ιατρείο είναι μόνο για ανάγνωση και δεν γράφεται τίποτα. |
write_treatment_visit
Καταγραφή, αλλαγή ή αφαίρεση μιας επίσκεψης σε θεραπεία. Το action=create απαιτεί body και μπορεί να συνδέσει το ραντεβού του ασθενή από το οποίο καταγράφηκε· τα update και void απαιτούν visitId και expectedUpdatedAt.
Παράμετροι
| Εργαλείο | Τύπος | Υποχρεωτικό; | Τι σημαίνει |
|---|---|---|---|
| action | string: create | update | void | Υποχρεωτικό | |
| patientId | string | Υποχρεωτικό | The patient whose record this is. |
| courseId | string | Υποχρεωτικό | The course, from list_treatment_courses. |
| visitId | string | Προαιρετικό | The visit to change or remove, from list_treatment_courses. |
| visitDate | string | Προαιρετικό | The day of the visit, YYYY-MM-DD. action=create defaults to the practice's today. |
| body | string | Προαιρετικό | What was done at the visit, as the user said it. Required for action=create. |
| appointmentId | string | Προαιρετικό | action=create only: the patient's appointment this visit is logged from, from a read of their bookings. It must be one of this patient's (400 appointment_not_patients). |
| expectedUpdatedAt | string | Προαιρετικό | The visit's updatedAt exactly as list_treatment_courses gave it. If it has changed since, nothing is written (409, stale_version or visit_voided): read again and retry. |
| reason | string: entered_in_error | duplicate | other | Προαιρετικό | Why it is removed. Optional; a closed list, no free text is stored. |
Παράδειγμα κλήσης
action=create
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_treatment_visit",
"arguments": {
"action": "create",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"courseId": "7a8b9cad-d8e9-4a2b-e6f7-08192a3b4c5d",
"visitDate": "2026-11-02",
"body": "Fitted the brackets on the upper arch."
}
}
}action=update
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_treatment_visit",
"arguments": {
"action": "update",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"courseId": "7a8b9cad-d8e9-4a2b-e6f7-08192a3b4c5d",
"visitId": "8b9cadbe-e9fa-4b3c-f708-192a3b4c5d6e",
"expectedUpdatedAt": "2026-11-02T08:30:00.000Z",
"body": "Fitted the brackets on the upper arch. Patient tolerated it well."
}
}
}action=void
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "write_treatment_visit",
"arguments": {
"action": "void",
"patientId": "0f1c7a2e-5b6d-4c3a-9e21-7b84c5d10f33",
"courseId": "7a8b9cad-d8e9-4a2b-e6f7-08192a3b4c5d",
"visitId": "8b9cadbe-e9fa-4b3c-f708-192a3b4c5d6e",
"expectedUpdatedAt": "2026-11-02T08:30:00.000Z",
"reason": "duplicate"
}
}
}Αποτέλεσμα
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"structuredContent": { "...": "the written record" },
"content": [{ "type": "text", "text": "<the same JSON>" }]
}
}Σφάλματα
| Κωδικός | Κατάσταση | Πότε |
|---|---|---|
| validation_failed | 400 | Λείπει παράμετρος, έχει λάθος τύπο, ή είναι εκτός των επιτρεπτών τιμών. |
| not_found | 404 | Το id δεν υπάρχει στο ιατρείο σας. Ένα κακοσχηματισμένο id φαίνεται ίδιο. |
| conflict | 409 | Η εγγραφή άλλαξε από τότε που τη διαβάσατε (details[0].code: stale_version), ή έχει ακυρωθεί. Διαβάστε την ξανά και ξαναδοκιμάστε. Μην επινοείτε ποτέ expectedUpdatedAt. |
| plan_feature_required | 403 | Το πακέτο του ιατρείου δεν το περιλαμβάνει. Το MCP χρειάζεται Complete. |
| subscription_read_only | 403 | Η συνδρομή έχει λήξει, οπότε το ιατρείο είναι μόνο για ανάγνωση και δεν γράφεται τίποτα. |
Συχνές ερωτήσεις
Οι καρτέλες ασθενών κρυπτογραφούνται, και εκεί που φυλάσσονται και καθώς έρχονται στην οθόνη σας. Τα αρχεία είναι ιδιωτικά, και ο σύνδεσμος προς ένα αρχείο σταματά να δουλεύει μετά από λίγο. Οι αλλαγές στις καρτέλες των ασθενών καταγράφονται, με το ποιος τις έκανε και πότε. Δεν υπάρχει κοινός κωδικός ιατρείου: ο καθένας έχει τον δικό του λογαριασμό. Στο πακέτο Complete, ο ιδιοκτήτης του ιατρείου μπορεί επίσης να απαιτεί σύνδεση σε δύο βήματα για όλη την ομάδα.
Ναι. Ο ιδιοκτήτης του ιατρείου μπορεί να εξάγει τον κατάλογο ασθενών, τις αναφορές και το ιστορικό ενεργειών σε αρχείο υπολογιστικού φύλλου (CSV) μέσα από την εφαρμογή, και οποιοσδήποτε στο ιατρείο μπορεί να κατεβάσει τα αρχεία του οποιαδήποτε στιγμή. Τα δεδομένα του ιατρείου σας ανήκουν σε εσάς, χωρίς χρέωση ή καθυστέρηση εξαγωγής. Αυτό ισχύει και στα δύο πακέτα, στη δοκιμή, αλλά και μετά την ακύρωση.
Το HyperCRM είναι λογισμικό επί πληρωμή. Κάθε ιατρείο ξεκινά με δωρεάν δοκιμή 30 ημερών στο πακέτο Complete, χωρίς κάρτα. Στη συνέχεια τα πακέτα ξεκινούν από 19 € και 34 € τον μήνα, με ΦΠΑ. Η τιμή εξαρτάται από το πόσους επαγγελματίες υγείας απασχολείτε. Κάθε τιμή βρίσκεται στη σελίδα τιμών, οπότε δεν χρειάζεται να μιλήσετε με πωλητή.