Cases

Cases are messages between a requesting professional and an answering professional.

The case model

A case consists of the following properties.

Properties

  • Name
    uuid
    Type
    string
    Description

    Unique indentifier.

  • Name
    reference_number
    Type
    string
    Description

    Unique reference number.

  • Name
    answered
    Type
    boolean
    Description

    Wether the case is answered.

  • Name
    product
    Type
    string
    Description

    Product.

  • Name
    request_date
    Type
    string
    Description

    Request date.

  • Name
    request_sender_professional
    Type
    object
    Description

    Request sender professional.

  • Name
    request_sender_acting
    Type
    object
    Description

    Request sender acting.

  • Name
    request_sender_team
    Type
    object
    Description

    Request sender team.

  • Name
    request_receiver_team
    Type
    object
    Description

    Request receiver team.

  • Name
    answer_date
    Type
    string
    Description

    Answer date.

  • Name
    answer_sender_professional
    Type
    object
    Description

    Answer sender professional.

  • Name
    answer_sender_team
    Type
    object
    Description

    Answer sender team.

  • Name
    answer_receiver_team
    Type
    object
    Description

    Answer receiver team.


GET/v2/cases/:code

Retrieve a case

To retrieve a single case.

Request

GET
/v2/cases/:reference_number
Http::get('/v2/cases/:reference_number');

Response

{
    "reference_number": "ZD00000001",
    "answered": true,
    "product": {
        "code": "PRDTCDE",
        "display_name": "Product Display Name",
        "service": {
            "name": "Service Name",
            "team": {
                "name": "Team Name",
                "specialism": "Nephrology",
                "notification_email": "notifications@organization.nl",
                "reminder_email": "reminders@organization.nl",
                "department": {
                    "name": "Department Name",
                    "discipline": "Nephrology",
                    "street": "Street 123",
                    "city": "Heerenveen",
                    "zipcode": "8442XX",
                    "agb": "12345678",
                    "organization": {
                        "name": "Organization Name",
                        "tenant": {
                            "name": "Tenant Name"
                        }
                    }
                }
            }
        }
    },
    "request_date": "2023-03-13T14:55:30.000000Z",
    "request_sender_professional": {
        "initials": "A.X.",
        "name": "Name",
        "name_suffix": null,
        "full_last_name": "Name",
        "agb": "12345678",
        "big": "01234567891"
    },
    "request_sender_responsible": null,
    "request_sender_team": {
        "name": "Team Name",
        "specialism": "General Practitioner",
        "notification_email": null,
        "reminder_email": null,
        "organization": null,
        "department": null
    },
    "request_receiver_team": {
        "name": "Team Name",
        "specialism": "Nephrology",
        "notification_email": "notifications@organization.nl",
        "reminder_email": "reminders@organization.nl",
        "department": {
            "name": "Department Name",
            "discipline": "Nephrology",
            "street": "Street 123",
            "city": "Heerenveen",
            "zipcode": "8442XX",
            "agb": "12345678",
            "organization": {
                "name": "Organization Name",
                "tenant": {
                    "name": "Tenant Name"
                }
            }
        }
    },
    "answer_date": "2023-03-14T14:55:30.000000Z",
    "answer_sender_professional": {
        "initials": "B.Y.",
        "name": "Jansen",
        "name_suffix": null,
        "full_last_name": "Jansen",
        "agb": "12345678",
        "big": "01234567891"
    },
    "answer_sender_team": {
        "name": "Team Name",
        "specialism": "Nephrology",
        "notification_email": "notifications@organization.nl",
        "reminder_email": "reminders@organization.nl",
        "department": {
            "name": "Department Name",
            "discipline": "Nephrology",
            "street": "Street 123",
            "city": "Heerenveen",
            "zipcode": "8442XX",
            "agb": "12345678",
            "organization": {
                "name": "Organization Name",
                "tenant": {
                    "name": "Tenant Name"
                }
            }
        }
    },
    "answer_receiver_team": {
        "name": "Team Name",
        "specialism": "General Practitioner",
        "notification_email": null,
        "reminder_email": null,
        "organization": null,
        "department": null
    }
}

POST/v2/cases

Post a case

When this endpoint is used, the case will be updated based on the reference_number. When the case doesn't exist, it will be created. It is possible to send all data, including answer data.

Request

POST
/v2/cases
Http::post('/v2/cases', [
    'reference_number' => 'ZD00000001',
    'request_date' => '2023-11-06'
    'request_sender_professional' => [
        ...
    ],
    'request_sender_acting' => [
        ...
    ],
    'request_receiver_team' => [
        ...
    ],
    'product' => [
        ...
    ],
    'answered' => true,
    'answer_date' => '2023-11-07'
    'answer_sender_professional' => [
        ...
    ],
    'answer_sender_acting' => [
        ...
    ],
    'answer_sender_team' => [
        ...
    ],
    'answer_receiver_team' => [
        ...
    ],
]);

POST/v2/cases/:reference_number/authorize

Authorize a case

The authorize endpoint is used to authorize a case. The given case (by reference_number) will be checked in combination with patient_birthday for sole existence.

Request

POST
/v2/cases/:reference_number/authorize
Http::post('/v2/cases/:reference_number/authorize', [
    'patient_birthday' => '1990-01-01',
]);

Response

{
    "reference_number": "ZD00000001",
    "answered": true,
    "product": {
        "code": "GYNTEC499",
        "service": {
            "team": {
                "name": "Team Name",
                "specialism": "Nephrology",
                "notification_email": "notifications@organization.nl",
                "reminder_email": "reminders@organization.nl",
            },
            "name": "nephrology"
        },
        "display_name": "Locatie west"
    },
    "request_date": "2021-10-22T11:29:12.000000Z",
    "request_receiver_team": {
        "name": "Team Name",
        "specialism": "Nephrology",
        "notification_email": "notifications@organization.nl",
        "reminder_email": "reminders@organization.nl",
    }
}