Interrogazioni FHIR

Esempi di ricerca FHIR R5 sul server del CUP Regionale Lazio. Sostituire {fhir-base} con l’URL base dell’ambiente (sviluppo/produzione).

Le risposte devono rispettare i profili LcCup (Schedule, Slot, Appointment).

Header consigliati

Accept: application/fhir+json

Per limitare ai profili LcCup (se supportato dal server):

GET {fhir-base}/Schedule?_profile=https://www.fhir.laziocrea.it/StructureDefinition/lccup-schedule

Schedule (agende)

Agende di una struttura

Per actor usare la Location, l’Organization o l’HealthcareService dell’ambulatorio.

GET {fhir-base}/Schedule?actor=Location/{id}&active=true

Agende per specialità (es. cardiologia)

Codice SNOMED specialità 394579002 (Cardiologia), come negli esempi LcCup.

GET {fhir-base}/Schedule?specialty=http://snomed.info/sct|394579002&active=true

Agende per tipo prestazione

GET {fhir-base}/Schedule?service-type=http://snomed.info/sct|408471009&active=true

Combinazione specialità + prestazione:

GET {fhir-base}/Schedule?specialty=http://snomed.info/sct|394579002&service-type=http://snomed.info/sct|408471009&active=true

Agenda per identificatore CUP

GET {fhir-base}/Schedule?identifier=https://cup.regione.lazio.it/agende|AGN-LAZIO-CARDIO-001

Singola agenda

GET {fhir-base}/Schedule/{id}

Slot (disponibilità)

Slot liberi in un intervallo di date

GET {fhir-base}/Slot?status=free&start=ge2025-04-01T00:00:00+02:00&start=le2025-04-30T23:59:59+02:00

Slot liberi di un’agenda

GET {fhir-base}/Slot?schedule=Schedule/{id}&status=free

Agenda + intervallo:

GET {fhir-base}/Slot?schedule=Schedule/{id}&status=free&start=ge2025-04-15T00:00:00+02:00&start=le2025-04-15T23:59:59+02:00

Slot per cardiologia in un giorno

Due passi tipici: cercare le agende, poi gli slot.

GET {fhir-base}/Schedule?specialty=http://snomed.info/sct|394579002&active=true
GET {fhir-base}/Slot?schedule=Schedule/{id-agenda}&status=free&start=ge2025-04-15T00:00:00+02:00&start=le2025-04-15T23:59:59+02:00

Singolo slot

GET {fhir-base}/Slot/{id}

Appointment (prenotazioni)

Prenotazione per codice CUP

Se esposto come search parameter su identifier:

GET {fhir-base}/Appointment?identifier=https://cup.regione.lazio.it/prenotazioni|PRN-2025-00123456

Prenotazioni in un periodo

GET {fhir-base}/Appointment?date=ge2025-04-15T00:00:00+02:00&date=le2025-04-15T23:59:59+02:00&status=booked

Teleconsulto (IRT)

La modalità (modalita-erogazione) è sull'Appointment (obbligatoria in prenotazione). Per le agende teleconsulto si deduce da actor CareTeam e da Slot.serviceType → HealthcareService con type=PIATTAFORMA_TELEVISITA.

Esempio agenda teleconsulto in guida: esempio-agenda-teleconsulto


Note

  • I parametri effettivamente supportati dipendono dalla configurazione del server FHIR del CUP.
  • Per la validazione delle risorse: operazione $validate (vedi sezione Validazione, in preparazione).