Waiting room screen (wachtkamerscherm)

Before your start

To access this API (method) you need to be logged in to the Bricks Switchboard. Each request needs to contain:

<Identificatie xsi:type="OZB_Communicatie_Identificatie_GebruikerSessie" Id="-1001">
  <Sessie>[current session id]</Sessie>
</Identificatie>

When you have a server token to access the API method this identification looks like this:

<Identificatie xsi:type="OZB_Communicatie_Identificatie_Servertoken" Id="-1001">
  <Token>[token id]</Token>
</Identificatie>

Warning

The reqests on this page only work in combination with the server token identification!

Introduction

Bricks Huisarts has the option to share information to, for example, a waiting room screen (wachtkamerscherm). Based on the requests on this page your logic can retrieve the needed information to display information on the screen.

Implementation

To make the logic work you need to create an application/implement the following:

  • Get all practice agendas with the Tetra_Agenda_GetAgendas_Verzoek request

  • Cache the result and make an option for the practice to retrieve updates when the a new agenda was added (or deleted)

  • Make it possible for the practice to disable/enable agendas, not all agendas are used for patient appointments!

  • Get appointment statuses with the Tetra_Agenda_GetAfspraken_Verzoek request. The minimal time between status update requests should be five minutes.

  • Based upon the appointment statuses the application can calculate the global patient waiting time

For a more advanced usage it is possible to give patients the option to manually change their status in the Bricks Huisarts agenda into “present”. This can be done with the Patient registration request.

Get all practice agendas

Use the following request to get all available agendas of the practice. The result needs to be cached in your application.

Since not all agendas contain appointments that should be included to make calculations you need to create some logic to make it possible to include or exclude agendas.

Request

<?xml version="1.0" encoding="utf-16"?>
<Tetra_Agenda_GetAgendas_Verzoek xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="-1002">
   <Identificatie xsi:type="OZB_Communicatie_Identificatie_Servertoken" Id="-1001">
      <Token>[token id]</Token>
   </Identificatie>
   <OntvangerEntiteit>[practice code]</OntvangerEntiteit>
</Tetra_Agenda_GetAgendas_Verzoek>

Response

<?xml version="1.0" encoding="utf-16"?>
<Tetra_Agenda_GetAgendas_Antwoord xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="-1000">
   <CommunicatieStatus>OZB_Communicatie_Status_Verzoek_is_geslaagd</CommunicatieStatus>
   <ObjectOmschrijvingen>
      <OZB_Communicatie_ObjectOmschrijving Id="10106">
         <KorteOmschrijving>Dr. Janssen</KorteOmschrijving>
      </OZB_Communicatie_ObjectOmschrijving>
      <OZB_Communicatie_ObjectOmschrijving Id="10090">
         <KorteOmschrijving>Dr. de Tester</KorteOmschrijving>
      </OZB_Communicatie_ObjectOmschrijving>
      <OZB_Communicatie_ObjectOmschrijving Id="10118">
         <KorteOmschrijving>Dr. Voorbeeld</KorteOmschrijving>
      </OZB_Communicatie_ObjectOmschrijving>
   </ObjectOmschrijvingen>
</Tetra_Agenda_GetAgendas_Antwoord>

Getting appointment status

Based on the selected agenda(s) the appointment statuses can be retrieved from Bricks Huisarts.

The result of the request is cached and updated every five minutes. Getting updates with a higher frequency does not result in updated appointment statuses.

Request

<?xml version="1.0" encoding="utf-16"?>
<Tetra_Agenda_GetAfspraken_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_Servertoken" Id="-1001">
      <Token>[token id]</Token>
   </Identificatie>
   <OntvangerEntiteit>[practice code]</OntvangerEntiteit>
   <Start>2019-05-09T00:00:00+02:00</Start>
   <Eind>2019-05-10T00:00:00+02:00</Eind>
   <Agendas>
      <Tetra_Agenda Id="10106" />
   </Agendas>
</Tetra_Agenda_GetAfspraken_Verzoek>

To get data for multiple agendas repeat the <Tetra_Agenda /> with the extra agenda ID as a the ID attribute. In case you leave the <Agendas /> empty the appointments for all agendas will be retrieved.

Response

<?xml version="1.0" encoding="utf-16"?>
<Tetra_Agenda_GetAfspraken_Antwoord xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="-1000">
  <CommunicatieStatus>OZB_Communicatie_Status_Verzoek_is_geslaagd</CommunicatieStatus>
  <Afspraken>
    <Tetra_Agenda_Afspraak Id="-1000">
      <PatientId>0</PatientId>
      <AgendaId>10106</AgendaId>
      <AgendaNaam>Dr. Janssen</AgendaNaam>
      <Start>2019-05-09T09:00:00</Start>
      <Eind>2019-05-09T09:10:00</Eind>
      <AfspraakStatus>OZB_NietGevuld</AfspraakStatus>
      <PortaalAfspraak>false</PortaalAfspraak>
      <GemaaktDoorPraktijk>false</GemaaktDoorPraktijk>
    </Tetra_Agenda_Afspraak>
    <Tetra_Agenda_Afspraak Id="-1001">
      <PatientId>0</PatientId>
      <AgendaId>10090</AgendaId>
      <AgendaNaam>Dr. de Tester</AgendaNaam>
      <Start>2019-05-09T10:40:00</Start>
      <Eind>2019-05-09T10:55:00</Eind>
      <AfspraakStatus>OZB_NietGevuld</AfspraakStatus>
      <PortaalAfspraak>false</PortaalAfspraak>
      <GemaaktDoorPraktijk>false</GemaaktDoorPraktijk>
    </Tetra_Agenda_Afspraak>
    <Tetra_Agenda_Afspraak Id="-1002">
      <PatientId>0</PatientId>
      <AgendaId>10118</AgendaId>
      <AgendaNaam>Dr. Voorbeeld</AgendaNaam>
      <Start>2019-05-09T09:40:00</Start>
      <Eind>2019-05-09T09:55:00</Eind>
      <AfspraakStatus>OZB_NietGevuld</AfspraakStatus>
      <PortaalAfspraak>false</PortaalAfspraak>
      <GemaaktDoorPraktijk>false</GemaaktDoorPraktijk>
    </Tetra_Agenda_Afspraak>
  </Afspraken>
</Tetra_Agenda_GetAfspraken_Antwoord>

Appointment status options

Status (<AfspraakStatus />)

Description

OZB_NietGevuld

Patient present status not set (unknown)

Tetra_Agenda_Afspraak_Status_Aanwezig

Patient is present (waiting for doctor), set by patient or assistent

Tetra_Agenda_Afspraak_Status_Gebeurd

Appointment finished

Tetra_Agenda_Afspraak_Status_Niet_gekomen

No show, set by assistent

Info: It’s not possible to see if the patient in treatment by the doctor (appointment started).

Patient registration

The following request can be used to “tell” Bricks Huisarts that the patient is present and is waiting for the doctor. In the agenda of the dokter the appointment status will changed accordingly. When multiple patients are found or mulitple appointments for the same patient on the current day the status won’t be changed.

Request

<?xml version="1.0" encoding="utf-16"?>
<Tetra_Agenda_AanmeldenPatient_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_Servertoken" Id="-1001">
      <Token>[token id]</Token>
   </Identificatie>
   <OntvangerEntiteit>[practice code]</OntvangerEntiteit>
   <Identifier>20050616</Identifier>
</Tetra_Agenda_AanmeldenPatient_Verzoek>

The <Identifier /> in the request can be:

  • Social security number (burgerservicenummer aka BSN)

  • HIS patient number

  • Birthdate (yyyymmdd)

    The patient that has an appointment for today with the given birthdate with be set to “present”.

Response (success)

<?xml version="1.0" encoding="utf-8"?>
<Tetra_Agenda_AanmeldenPatient_Antwoord xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Id="-1000">
    <CommunicatieStatus>OZB_Communicatie_Status_Verzoek_is_geslaagd</CommunicatieStatus>
    <UitgebreideStatus>Afspraak gevonden en op status Aanwezig gezet.</UitgebreideStatus>
    <Transactiestatus>OZB_NietGevuld</Transactiestatus>
    <AfsprakenVandaag>
        <Tetra_Agenda_Afspraak Id="-1000">
            <PatientId>0</PatientId>
            <AgendaId>10090</AgendaId>
            <AgendaNaam>Dhr. J. Voorbeeld</AgendaNaam>
            <Start>2019-05-22T13:50:00</Start>
            <Eind>2019-05-22T14:00:00</Eind>
            <AfspraakStatus>Tetra_Agenda_Afspraak_Status_Aanwezig</AfspraakStatus>
            <PortaalAfspraak>false</PortaalAfspraak>
            <GemaaktDoorPraktijk>false</GemaaktDoorPraktijk>
        </Tetra_Agenda_Afspraak>
    </AfsprakenVandaag>
</Tetra_Agenda_AanmeldenPatient_Antwoord>

Response (no patient/appointments found)

<?xml version="1.0" encoding="utf-8"?>
<Tetra_Agenda_AanmeldenPatient_Antwoord xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="-1000">
   <CommunicatieStatus>OZB_Communicatie_Status_Verzoek_is_mislukt</CommunicatieStatus>
   <UitgebreideStatus>0 patienten gevonden</UitgebreideStatus>
   <Transactiestatus>OZB_NietGevuld</Transactiestatus>
   <AfsprakenVandaag />
</Tetra_Agenda_AanmeldenPatient_Antwoord>

Response (failed/more than one appointment found)

<?xml version="1.0" encoding="utf-8"?>
<Tetra_Agenda_AanmeldenPatient_Antwoord xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="-1004">
   <CommunicatieStatus>OZB_Communicatie_Status_Verzoek_is_mislukt</CommunicatieStatus>
   <UitgebreideStatus>0 of meer dan 1 afspraken gevonden voor deze patient op vandaag</UitgebreideStatus>
   <Transactiestatus>OZB_NietGevuld</Transactiestatus>
   <AfsprakenVandaag />
</Tetra_Agenda_AanmeldenPatient_Antwoord>

Last update: 29-01-2024