Skip to content

Entità e operazioni

Questa è la pagina di riferimento per capire:

  • quali sono le principali entità API;
  • come puoi interagire con ciascuna entità (lettura/scrittura);
  • quale scope OAuth serve per ciascuna risorsa.
  • quale permesso applicativo serve per chiamare ogni singola rotta.

Per la lista completa degli scope, come funzionano e come gestirli, vedi Scope e autenticazione.

Ogni chiamata può richiedere due livelli di autorizzazione: lo scope OAuth (token) e il permesso applicativo dell'utente in GipoNext. In questa pagina trovi entrambi: lo scope principale per risorsa e, sotto ogni risorsa, i permessi richiesti per ciascuna rotta.

Per i dettagli completi (campi obbligatori, enum, tipi) usa sempre lo Swagger UI.

Mappa rapida: risorse, operazioni e scope

RisorsaScope principaleLetturaScrittura
UserInfon/a (contesto utente autenticato)No
Pazientigiponext.patients
Agendegiponext.agendaNo
Appuntamentigiponext.agenda
Disponibilitàgiponext.agendaNo
Prestazionigiponext.treatmentsNo
Listinigiponext.treatmentsNo
Episodigiponext.episodes
Refertigiponext.medicalreports
Fatturegiponext.invoices

401 - Unauthorized

Nel caso in cui l'utente non sia correttamente autenticato l'errore sarà

GET/v2/userinfo
json

403 - Forbidden

L'utente è correttamente autenticato ma non ha privilegi sufficienti

Claim mancante

Nell'autenticazione che precede la chiamata NON è stato specificato un claim necessario per effettuare la chiamata

GET/v2/tenants/:tenantId/agendas
json

Permessi utente non sufficienti

In caso l'utente collegato non possa accedere alla risorsa richiesta, si otterrà un messaggio come questo

GET/v2/tenants/:tenantId/agendas
json

Risorse

UserInfo

  • Prefisso /v2/userinfo
  • Scope contesto utente autenticato
SpecsOperazionePermesso
Swagger - ScalarGET /nessun permesso specifico (utente autenticato)

È il punto di partenza di ogni integrazione: ti restituisce il contesto dell'utente autenticato e i tenant a cui può accedere. In pratica lo usi per capire "chi sta operando" e su quali strutture puoi lavorare.

Da qui ricavi il tenantId da usare nelle chiamate successive sotto /v2/tenants/{tenantId}/....

Tenant

Le API prevedono che un utente possa essere associato a più tenant. In questo momento su GipoNext non è un caso possibile, ma si raccomanda di gestire l'eventualità.

Utente inesistente in GipoNext

L'identity provider (GipoAccount) e GipoNext sono due oggetti distinti. Può quindi capitare che l'autenticazione OAuth vada a buon fine con un utente correttamente attivo in GipoAccount ma non presente in GipoNext.

In questo caso si potrebbe ottenere un 200 con alcune informazioni dell'utente ma nessuna informazione sul tenant. In questo caso l'utente è da considerarsi non valido.

GET/v2/userinfo
json

Pazienti

  • Prefisso /v2/tenants/{tenantId}/patients
  • Scope giponext.patients
SpecsOperazionePermesso
Swagger - ScalarGET /pazienti.visualizza
Swagger - ScalarPOST /pazienti.modifica
Swagger - ScalarGET /{patientId}pazienti.visualizza
Swagger - ScalarPUT /{patientId}pazienti.modifica

Questa risorsa rappresenta l'anagrafica paziente e la relativa gestione operativa. È tipicamente la base per tutte le integrazioni che devono creare, aggiornare o sincronizzare dati anagrafici con sistemi esterni (CRM, portali, middleware amministrativi).

Agende

  • Prefisso /v2/tenants/{tenantId}/agendas
  • Scope giponext.agenda
SpecsOperazionePermesso
Swagger - ScalarGET /agende.visualizza oppure agende-medico-account.visualizza
Swagger - ScalarGET /{agendaId}agende.visualizza oppure agende-medico-account.visualizza

Le agende descrivono i calendari disponibili nel tenant (per medico, risorsa o postazione). In pratica sono il riferimento per capire dove e come pianificare visite e attività.

Appuntamenti

  • Prefisso /v2/tenants/{tenantId}/appointments
  • Scope giponext.agenda
SpecsOperazionePermesso
Swagger - ScalarGET /appuntamenti.visualizza
Swagger - ScalarGET /{appointmentId}appuntamenti.visualizza
Swagger - ScalarPOST /appuntamenti.crea
Swagger - ScalarPUT /{appointmentId}appuntamenti.modifica
Swagger - ScalarPUT /{appointmentId}/statusappuntamenti.modifica
Swagger - ScalarPUT /{appointmentId}/paymentappuntamenti.modifica
Swagger - ScalarDELETE /{appointmentId}/paymentappuntamenti.modifica
Swagger - ScalarDELETE /{appointmentId}appuntamenti.cancella
Swagger - ScalarPOST /{appointmentId}/checkinappuntamenti.modifica

È la risorsa centrale per la gestione del planning: puoi leggere appuntamenti esistenti, crearne di nuovi, aggiornarli e cancellarli. È la base per integrazioni di prenotazione online, front desk, reminder e sincronizzazioni calendario.

Prestazioni

  • Prefisso /v2/tenants/{tenantId}/treatments
  • Scope giponext.treatments
SpecsOperazionePermesso
Swagger - ScalarGET /prestazioni.visualizza
Swagger - ScalarGET /{treatmentId}prestazioni.visualizza

Le prestazioni rappresentano il catalogo delle attività erogabili. In integrazione servono per costruire cataloghi esterni, associare appuntamenti a servizi e calcolare correttamente il contesto economico/operativo delle prenotazioni.

Listini

  • Prefisso /v2/tenants/{tenantId}/pricelists
  • Scope giponext.treatments
SpecsOperazionePermesso
Swagger - ScalarGET /listini.visualizza
Swagger - ScalarGET /{priceListId}listini.visualizza
Swagger - ScalarGET /{priceListCode}listini.visualizza

I listini definiscono regole prezzo e validità economiche. Sono utili quando devi mostrare prezzi, fare verifiche preliminari o mantenere allineata la parte economica tra GipoNext e applicazioni esterne.

Episodi

  • Prefisso /v2/tenants/{tenantId}/episodes
  • Scope giponext.episodes
SpecsOperazionePermesso
Swagger - ScalarGET /assegnazione.visualizza
Swagger - ScalarGET /{id}assegnazione.visualizza
Swagger - ScalarPOST /assegnazione.crea
Swagger - ScalarPUT /{id}assegnazione.modifica
Swagger - ScalarDELETE /{id}assegnazione.cancella

Gli episodi raggruppano attività cliniche e amministrative legate a un percorso paziente. Sono fondamentali quando l'integrazione deve seguire un processo completo (presa in carico, avanzamento, chiusura e collegamento con componenti economiche).

Fatture

  • Prefisso /v2/tenants/{tenantId}/invoices
  • Scope giponext.invoices
SpecsOperazionePermesso
Swagger - ScalarGET /fatture.visualizza
Swagger - ScalarGET /{invoiceId}fatture.visualizza
Swagger - ScalarGET /{invoiceId}/pdffatture.visualizza
Swagger - ScalarPOST /fatture.crea
Swagger - ScalarPOST /{invoiceId}/reimbursementsfatture.crea

Questa risorsa copre il ciclo di fatturazione: consultazione documenti, creazione e recupero output correlati. Se integri flussi amministrativi o contabili, è il punto di raccordo principale tra parte clinica e parte economica.

Referti

  • Prefisso /v2/tenants/{tenantId}/medicalreports
  • Scope giponext.medicalreports
SpecsOperazionePermesso
Swagger - ScalarPOST /referti.crea
Swagger - ScalarGET /referti.visualizza
Swagger - ScalarGET /{medicalReportId}referti.visualizza
Swagger - ScalarGET /{medicalReportId}/pdfreferti.visualizza

I referti permettono di pubblicare e gestire documentazione clinica. Questa area è tipica per integrazioni con sistemi di diagnostica, repository documentale, portali paziente o workflow di consegna referti.

Dimensione massima del PDF

Nelle API di creazione referto (POST /), il file PDF allegato non può superare 25 MB. Richieste con file di dimensioni superiori verranno rifiutate.

Disponibilità

  • Prefisso /v2/tenants/{tenantId}
  • Scope giponext.agenda
SpecsOperazionePermesso
Swagger - ScalarGET /availabilitiesappuntamenti.visualizza
Swagger - ScalarGET /treatments/{treatmentId}/listprices/{priceListId}/availabilitiesappuntamenti.visualizza

La disponibilità serve per proporre slot prenotabili in modo affidabile. È particolarmente utile in flussi di booking esterni dove devi verificare finestre orarie e coerenza con il contesto organizzativo/economico.

Locations

  • Prefisso /v2/tenants/{tenantId}/locations
  • Scope contesto tenant dell'utente autenticato
SpecsOperazionePermesso
Swagger - ScalarGET /nessun permesso specifico (utente autenticato con accesso tenant)
Swagger - ScalarGET /{locationId}nessun permesso specifico (utente autenticato con accesso tenant)

Le locations rappresentano le sedi operative del tenant. Sono utili quando l'integrazione deve distinguere tra più sedi fisiche (es. ambulatori, studi distaccati) per associare risorse, agende o appuntamenti alla sede corretta.

TenantInfo

  • Prefisso /v2/tenants/{tenantId}/info
  • Scope contesto tenant dell'utente autenticato
SpecsOperazionePermesso
Swagger - ScalarGET /nessun permesso specifico (utente autenticato con accesso tenant)

Restituisce le informazioni generali sul tenant (ragione sociale, indirizzo, configurazioni). È utile per visualizzare i dati della struttura nell'interfaccia della tua applicazione o per verificare la configurazione del tenant.

Accounting

  • Prefisso /v2/tenants/{tenantId}/accounting
  • Scope giponext.invoices
SpecsOperazionePermesso
Swagger - ScalarGET /sectionsfatture.visualizza
Swagger - ScalarGET /issuersfatture.visualizza
Swagger - ScalarGET /issuers/{issuerId}fatture.visualizza

L'area contabile fornisce accesso ai dati di riepilogo economico e ai sezionali. È il punto di raccordo per integrazioni con sistemi contabili o gestionali esterni che necessitano di dati aggregati.

FAQ

Come faccio a risalire ai medici da una fattura ?

Il flusso da seguire sulle risorse è

Invoice → Items → LinkedPractices → Episode → Doctors
  1. Dalla fattura, naviga in Items → LinkedPractices per ottenere:
  • episodeId (Assegnazione)
  • practiceId (Riga di dettaglio)
  1. Chiama l'API Episodes: GET /episodes/{episodeId}
  2. Nella response, filtra l'array practices usando il practiceId ottenuto al punto 1: practices[practiceId].doctors

📌 Nota

Ogni riga fattura può avere più LinkedPractices e ogni prestazione può avere più medici.

Come vengono codificati i riferimenti normativi relativi all'esenzione IVA nelle risposte delle API?

Riferimento NormativoCodice API
Art. 10 n. 18 del DPR 26/10/1972 n. 633Art10_n18
Art. 1, comma 58, legge n. 190/2014Art1_Comma58_Legge190_2014
Art. 1, comma 100, legge n. 244/2007Art1_Comma100_Legge244_2007
Art. 13, comma 5 dpr 633/72Art13
Ex art. 10, comma 1, n. 20, del Dpr 633/1972Art10_Comma1_n20
Art.10 n.20 del DPR 26/10/1972 n.633Art10_n20
ART.17 DPR 633/1972ART17_DPR_633_1972
Ex art. 10, comma 8, del Dpr 633/1972Art10_Comma8_633_1972
Art. 124 DL 34/2020Art124_DL_34_2020
Art. 10 n. da 1 a 9Art10_nda1a9
Art. 1 comma 452 L. 178 del 30/12/2020Art1_Comma452_Legge178_2020
Art. 10, comma 1, n. 27-quinquies), Dpr 633/72Art10_Comma1_N27_quinquies
Esente Iva Art.10 punto 21 del DPR 633/72Art10_Punto21_DPR_633_1972
Articolo 8 comma C - DPR 633/72Art8_CommaC_DPR633_72
Articolo 2, comma 3, lettera a, del DPR 633/72Art2_Comma3_LetteraA_DPR633_1972
Art. 8 comma 35 L. 67/1988Art8_Comma35_L_67_1988
Art. 8 co 2 Dpr 633/72Art8_Co2
Art. 26 DPR 633/72Art26_DPR633_72

Note operative

  • Fatture: la creazione fatture è consentita in modo sequenziale per sezionale.
  • TLS: per i requisiti di sicurezza trasporto vedi TLS.
  • FAQ operative: vedi FAQ.

Per parametri di query (filtri), codici di stato e payload completi, fai riferimento allo Swagger.