Vai al contenuto

Flusso B — Variazione prenotazione

Operazione: PUT /Appointment/{id}
Flusso: B — CUP → gt4medServices → T4MED


Dati del caso di esempio

Campo Valore
T4MED Appointment ID T00450
T4MED Patient ID 4578934
Paziente ROSAVIOLA DALMINA (nome di fantasia)
Codice fiscale RSVDMN11A41H620X
Variazione Spostamento al 10/06/2026 ore 14:00
Nuova data 2026-06-10T14:00:00+02:0014:30:00+02:00
Presidio Ospedale di Verbania, cod. STS11 000256
Reparto Nefrologia e Dialisi, cod. NEF001
Prestazione 89.01.B — Visita nefrologica di controllo
ID CUP prenotazione 26B001956

Conformità FHIR R4

Per il Flusso B (PUT /Appointment/{id}) la specifica T4MED e lo standard FHIR R4 coincidono pienamente:

  • Endpoint: PUT /Appointment/{id} — identico
  • Corpo: singola risorsa Appointment (sostituzione completa) — identico
  • Risposta: risorsa Appointment aggiornata — identico

Non ci sono deviazioni. I messaggi sotto sono validi per entrambi gli approcci.

Nota: PUT esegue la sostituzione completa della risorsa. Il T4MED Appointment ID (T00450) deve essere stato memorizzato da gt4medServices al momento della creazione (Flusso A).


Versione estesa — T4MED = FHIR R4

Contiene tutti i campi clinici, tutti i partecipanti (paziente, reparto, presidio), serviceType con codice prestazione.

REQUEST

PUT https://api.t4med.it/fhir/Appointment/T00450
Content-Type: application/fhir+json
Authorization: ApiKey <api-key>
{
  "resourceType": "Appointment",
  "id": "T00450",
  "identifier": [
    {
      "system": "urn:local:cup:id-prenotazione",
      "value": "26B001956"
    }
  ],
  "status": "booked",
  "serviceType": [
    {
      "coding": [
        {
          "system": "urn:oid:2.16.840.1.113883.2.9.2.10.6.11",
          "code": "89.01.B",
          "display": "Visita nefrologica di controllo"
        }
      ]
    }
  ],
  "start": "2026-06-10T14:00:00+02:00",
  "end":   "2026-06-10T14:30:00+02:00",
  "participant": [
    {
      "actor": {
        "reference": "Patient/4578934",
        "display": "ROSAVIOLA DALMINA"
      },
      "required": "required",
      "status": "accepted"
    },
    {
      "actor": {
        "type": "HealthcareService",
        "identifier": {
          "system": "urn:local:asl-vco:reparto",
          "value": "NEF001"
        },
        "display": "Reparto Nefrologia e Dialisi - Ospedale di Verbania"
      },
      "required": "required",
      "status": "accepted"
    },
    {
      "actor": {
        "type": "Location",
        "identifier": {
          "system": "urn:oid:2.16.840.1.113883.2.9.4.1.3",
          "value": "000256"
        },
        "display": "Presidio Ospedaliero di Verbania"
      },
      "required": "required",
      "status": "accepted"
    }
  ]
}

RESPONSE ATTESA — T4MED = FHIR R4

HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
  "resourceType": "Appointment",
  "id": "T00450",
  "status": "booked",
  "start": "2026-06-10T14:00:00+02:00",
  "end":   "2026-06-10T14:30:00+02:00",
  "participant": [
    {
      "actor": {
        "reference": "Patient/4578934",
        "display": "ROSAVIOLA DALMINA"
      },
      "required": "required",
      "status": "accepted"
    }
  ]
}

Nota FHIR R4: alcuni server restituiscono 204 No Content (senza body) invece di 200 OK con body. Entrambe le risposte sono conformi allo standard.


Versione minima — T4MED = FHIR R4

Solo campi obbligatori FHIR R4 per Appointment + riferimento T4MED Patient ID.

REQUEST

PUT https://api.t4med.it/fhir/Appointment/T00450
Content-Type: application/fhir+json
Authorization: ApiKey <api-key>
{
  "resourceType": "Appointment",
  "id": "T00450",
  "status": "booked",
  "start": "2026-06-10T14:00:00+02:00",
  "end":   "2026-06-10T14:30:00+02:00",
  "participant": [
    {
      "actor": {
        "reference": "Patient/4578934"
      },
      "status": "accepted"
    }
  ]
}

RESPONSE ATTESA — T4MED = FHIR R4

HTTP/1.1 200 OK
Content-Type: application/fhir+json
{
  "resourceType": "Appointment",
  "id": "T00450",
  "status": "booked",
  "start": "2026-06-10T14:00:00+02:00",
  "end":   "2026-06-10T14:30:00+02:00",
  "participant": [
    {
      "actor": {
        "reference": "Patient/4578934"
      },
      "status": "accepted"
    }
  ]
}