Appointments

Information for creating appointments and agendas can be found in the chapter: “Agenda”.

Get appointments for a logged in patient

Request

Patient user session required

{
   "Name": "{{name}}",
   "Key": "{{key}}",
   "Target": "{{target}}",
   "Session": "{{session}}",
   "Method": "GetAfspraken"
}
<Tetra_Agenda_GetPatientAfspraken_Verzoek xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="-1000">
  <Identificatie xsi:type="OZB_Communicatie_Identificatie_GebruikerSessie" Id="-1001">
    <Sessie>[session token]</Sessie>
  </Identificatie>
</Tetra_Agenda_GetPatientAfspraken_Verzoek>

Node

Comment

<OntvangerEntiteit />

Optional

<PatientId />

Optional

Response

{
   "Afspraken": [
      {
         "Id": 115922,
         "PatientId": 0,
         "AgendaId": 10090,
         "AgendaNaam": "Dhr. Voorbeeld",
         "Start": "2023-05-25T09:00:00",
         "Eind": "2023-05-25T09:05:00",
         "AfspraakStatus": "",
         "WisAfspraakToken": "01077771_hwMvGsKCIBeOG4LC5uHAd3ofne71Khu1P",
         "Metas": {},
         "BlokType": {
            "Id": 0,
            "Naam": "EC: Huisarts",
            "Kleur": "FFFF80",
            "AfspraakDuurMinuten10": 100
         },
         "Email": null,
         "Voornaam": null,
         "Achternaam": null,
         "Geslacht": "O"
      }
   ],
   "ReturnValue": {
      "ResponseCode": 200,
      "ResponseText": "OK",
      "Melding": "OK",
      "Gelukt": true
   }
}

Response values

  • AgendaId: Connected Agenda (ID)

  • AgendaNaam: Name of the agenda that contains the appointment

  • Start: Start time of the appointment

  • Eind: End time of the appointment

  • AfspraakStatus can contain the following options:
    • NietAanwezig (1): Patient is not present

    • Aanwezig (2): Patient is in waiting room

    • Gebeurd (3): Appointment finished

    • NietGekomen (4): Patient did not show up

    • Bezig (5): Appointment started/patient at the doctor

  • WisAfspraakToken: Token that can be used to cancel the appointment in combination with the cancel appointment url. For logged in users cancel the appointment using the WisAfspraakById method.

  • BlokType: Contains information of the connected blocktype for the appointment

  • Email: Patient email address

  • Voornaam: First name

  • Achternaam: Family name

  • Geslacht (gender) can contain the following options:
    • O: Unknown

    • M: Male

    • V: Female

<Tetra_Agenda_GetPatientAfspraken_Antwoord xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="-1001">
<CommunicatieStatus>OZB_Communicatie_Status_Verzoek_is_geslaagd</CommunicatieStatus>
  <Afspraken>
    <Tetra_Agenda_Afspraak Id="213769">
      <PatientId>10263</PatientId>
      <AgendaNaam>Dhr. E. Christiaanse</AgendaNaam>
      <BlokType Id="10130">
        <Naam>EC: Huisarts</Naam>
        <Kleur>-128</Kleur>
        <AfspraakDuurMinuten>10</AfspraakDuurMinuten>
      </BlokType>
      <AgendaId>10048</AgendaId>
      <Start>2013-04-10T13:20:00</Start>
      <Eind>2013-04-10T13:30:00</Eind>
      <PortaalAfspraak>true</PortaalAfspraak>
      <GemaaktDoorPraktijk>false</GemaaktDoorPraktijk>
      <Opmerkingen>Appointment remark</Opmerkingen>
    </Tetra_Agenda_Afspraak>
  </Afspraken>
</Tetra_Agenda_GetPatientAfspraken_Antwoord>

Node

Comment

<PortaalAfspraak />

Appointment made using portal/Switchboard (true / false)

<GemaaktDoorPraktijk />

Appointment made by practice in HIS (true / false)

<Opmerkingen />

Appointment text

Find appointments for patients (by identifier)

Request

{
   "Name": "{{name}}",
   "Key": "{{key}}",
   "Target": "{{target}}",
   "Method": "ZoekAfspraakPatient",
   "identifier": "157376"
}

The “identifier” can contain the following options:

  • Social security number (BSN)

  • HIS patient number

  • Date of birth (dd-mm-yyyy or yyyymmdd)

Response

{
   "zoekresultaten": [
      {
         "Naam": "Dhr. E De testpatiënt",
         "GeboorteDatum": "1965-01-01T00:00:00",
         "PatientId": 157376
      }
   ],
   "ReturnValue": {
      "ResponseCode": 200,
      "ResponseText": "OK",
      "Melding": "OK",
      "Gelukt": true
   }
 }

Get appointment statuses

Request

{
   "Name": "{{name}}",
   "Key": "{{key}}",
   "Target": "{{target}}",
   "Method": "GetAfspraakStatussen",
   "van": "2026-07-01T00:00:00",
   "tot": "2026-07-23T23:59:59"
}

Request values

  • van: Start of the slot selection

  • tot: End of the slot selection

Response

{
   "statussen": [
      {
         "AfspraakId": 119006,
         "PatientId": 159996,
         "AgendaNaam": "DVH",
         "Status": "NietAanwezig",
         "AfspraakType": "Afspraak",
         "IsIntern": false,
         "Van": "2026-07-10T10:10:00",
         "Tot": "2026-07-10T10:20:00"
      },
      {
         "AfspraakId": 122031,
         "PatientId": 157376,
         "AgendaNaam": "Dhr. E. Christiaanse",
         "Status": "Gebeurd",
         "AfspraakType": "Afspraak",
         "IsIntern": false,
         "Van": "2026-07-01T08:00:00",
         "Tot": "2026-07-01T08:10:00"
      }
   ],
   "ReturnValue": {
      "ResponseCode": 200,
      "ResponseText": "OK",
      "Melding": "OK",
      "Gelukt": true
   }
}

Response values

  • AfspraakId: ID of the appointment

  • PatientId: Patient ID

  • AgendaNaam: Agenda name

  • Status: Appointment status, possible options:

    • NietAanwezig: Not available, patient has not arrived yet

    • Aanwezig: Present, patient has arrived and is in the waiting room

    • Gebeurd: Completed, appointment has taken place; the consultation has been handled

    • NietGekomen: No-show, patient did not show up for the appointment

    • [Empty string]: No status recorded for the appointment

  • AfspraakType: Appointment type, possible options:

    • Afspraak: Appointment, regular appointment at the practice

    • Telefonisch: Telephone consultation

    • Consult: Consultation

    • Visite: Home visit

  • IsIntern: Internal appointment