|
|
get:
|
|
|
operationId: patientFundusByGroup
|
|
|
tags:
|
|
|
- Patient
|
|
|
summary: Funduscopy, care group
|
|
|
description: |-
|
|
|
Get per-patient funduscopy status for one care group.
|
|
|
|
|
|
Returns patients that have an indication for requiring funduscopy across all practices of a care group, taking into account
|
|
|
the medical dossier of each patient as well as the care group's policies.
|
|
|
|
|
|
For each patient, information about their funduscopy status as well as basic personal information is provided.
|
|
|
|
|
|
This endpoint may take quite a while to respond (may take more than 5 minutes) which can cause issues with timeouts; configure your
|
|
|
endpoint call function appropriately and ensure intermediate proxies don't time out either.
|
|
|
|
|
|
Due to the potentially large amount of data, this endpoint rejects requests that don't support compression. A header of at least
|
|
|
`Accept-Encoding: gzip` is therefore required.
|
|
|
parameters:
|
|
|
- $ref: '../zoo-api.yaml#/components/parameters/AgbCareGroup'
|
|
|
- name: purpose
|
|
|
in: query
|
|
|
required: true
|
|
|
description: |-
|
|
|
A key describing the purpose of requesting funduscopy status of many patients.
|
|
|
|
|
|
Affects what data is supplied (for example, whether personally identifying information is provided), and whether certain
|
|
|
filters are applied.
|
|
|
|
|
|
* `fundus-broker` – An entity that takes care of arranging appointments between patients and funduscopy professionals.
|
|
|
* `gp` – Medical personnel reviewing their funduscopy-relevant patient population.
|
|
|
* `reporting` – Reporting on the status of the funduscopy-relevant patient population as a whole.
|
|
|
|
|
|
The `reporting` purpose limits PII, the `fundus-broker` purpose applies filtering as per the preferences of the care group's policies.
|
|
|
schema:
|
|
|
type: string
|
|
|
enum: ['fundus-broker', 'gp', 'reporting']
|
|
|
- name: director
|
|
|
in: query
|
|
|
required: false
|
|
|
description: |-
|
|
|
If present, filter the returned population on the registered director for funduscopy.
|
|
|
|
|
|
* `gp` – Returns only those patients whose most recent registration of responsible-for-funduscopy is 'The GP'.
|
|
|
* `specialist` – Returns only those patients whose most recent registration of responsible-for-funduscopy is 'The specialist'.
|
|
|
* `unknown` – Returns only those patients whose most recent registration of responsible-for-funduscopy is not present, registered as 'Unknown', or has an invalid registration.
|
|
|
|
|
|
If not present, no filtering is applied.
|
|
|
schema:
|
|
|
type: string
|
|
|
enum: ['gp', 'specialist', 'unknown', '']
|
|
|
- name: ifNewerThan
|
|
|
in: query
|
|
|
required: false
|
|
|
description: |-
|
|
|
Useful to check if new data is available relative to an earlier request: Provide the same date as provided in a previous response's `refDate` value.
|
|
|
If no new data is available since then, a `206 - No Content` HTTP response is returned. Date without time part in ISO8601 format.
|
|
|
schema:
|
|
|
type: string
|
|
|
format: date
|
|
|
example: "1970-01-13"
|
|
|
- $ref: '../zoo-api.yaml#/components/parameters/Pretty'
|
|
|
- $ref: '../zoo-api.yaml#/components/parameters/CareGroup'
|
|
|
- $ref: '../zoo-api.yaml#/components/parameters/Authorization'
|
|
|
responses:
|
|
|
'206':
|
|
|
description: |-
|
|
|
No new data is available: No new group report has been constructed with a `refDate` newer than `ifNewerThan`.
|
|
|
'503':
|
|
|
description: The data cannot be provided, because EPD data has not been provided to Zorg op Orde, or ZOO has not had a chance to run the fundus calculations on this data.
|
|
|
content:
|
|
|
application/json:
|
|
|
schema:
|
|
|
type: object
|
|
|
required:
|
|
|
- agb
|
|
|
- regionName
|
|
|
properties:
|
|
|
agb:
|
|
|
description: |-
|
|
|
The same AGB as supplied via authentication or the `agb` parameter: The AGB of the care group being queried.
|
|
|
$ref: ../schemas/agb.yaml
|
|
|
regionName:
|
|
|
description: |-
|
|
|
A human readable name describing the care group being queried (The entity whose AGB code is sent as `agb`).
|
|
|
type: string
|
|
|
'200':
|
|
|
description: All patients where funduscopy status is relevant are returned.
|
|
|
content:
|
|
|
application/json:
|
|
|
schema:
|
|
|
type: object
|
|
|
required:
|
|
|
- agb
|
|
|
- regionName
|
|
|
- refDate
|
|
|
- practices
|
|
|
properties:
|
|
|
dict:
|
|
|
$ref: '../schemas/TermsDictionary.yaml'
|
|
|
agb:
|
|
|
description: |-
|
|
|
The same AGB as supplied via authentication or the `agb` parameter: The AGB of the care group being queried.
|
|
|
$ref: ../schemas/agb.yaml
|
|
|
regionName:
|
|
|
description: |-
|
|
|
A human readable name describing the care group being queried (The entity whose AGB code is sent as `agb`).
|
|
|
type: string
|
|
|
refDate:
|
|
|
$ref: ../schemas/date.yaml
|
|
|
example: '2024-04-01'
|
|
|
description: |-
|
|
|
All fundus calculations for each practice that is part of this group is up to date as of this date.
|
|
|
This date is appropriate to feed to `ifNewerThan` in a future call.
|
|
|
practices:
|
|
|
description: |-
|
|
|
One entry for each practice that is part of this care group and participates in at least one funduscopy-related care program.
|
|
|
type: array
|
|
|
items:
|
|
|
$ref: "../schemas/fundus-status.yaml"
|
|
|
'400':
|
|
|
description: The request is invalid; for example, it doesn't contain the required `agb` parameter.
|
|
|
'401':
|
|
|
$ref: '../zoo-api.yaml#/components/responses/JwtFailure'
|
|
|
'403':
|
|
|
description: Indicated group is known but has not authorized ZOO to share this information with signer.
|