You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.3 KiB
YAML
79 lines
3.3 KiB
YAML
get:
|
|
tags:
|
|
- population
|
|
operationId: "populationStatistics"
|
|
summary: "Get a population count divided by items like age, preferred doctor, etc."
|
|
description: |-
|
|
A table with at least two columns. The first column is a category of age, preferred doctor, etc. The second, the number of patients in the category. The category can be extended by several more group by items.
|
|
|
|
Patients who are no longer registrered are excluded, so only patients with an active registration are included. Patients without birthdate are excluded (rare).
|
|
parameters:
|
|
- name: referenceDate
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: "string"
|
|
pattern: "\\d\\d\\d\\d-\\d\\d-\\d\\d"
|
|
format: "date"
|
|
description: ISO formatted date
|
|
example: 2015-12-15
|
|
- name: groupByItems
|
|
in: query
|
|
required: true
|
|
style: form
|
|
explode: false
|
|
schema:
|
|
type: string
|
|
enum:
|
|
- age
|
|
- preferredDoctor
|
|
- insurer
|
|
- gender
|
|
- deprivedNeighborhood
|
|
description: "Several items can be added to the group by using a comma separated list, e.g. `groupByItems=gender,age`. If an item is twice or more repeated the first occurance is used. Only known ages are outputted. The insurer is outputted as an Uzovi (with name and concern). The most recent Uzovi table is used to convert codes to names and concerns. The sequence of the items in the URL is the same as the sequence in the grouping of the output."
|
|
- name: insurer
|
|
in: query
|
|
style: form
|
|
explode: false
|
|
schema:
|
|
$ref: ../schemas/insurer-Uzovi.yaml
|
|
description: "Supply zero, one or more Uzovi's to limit the responses to certain insurer. Use 0 to select all patients without insurer registred. Supply the Uzovi code as an integer in a comma separated list, e.g. `insurer=101,211,3344`."
|
|
- name: passerBy
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
description: "True to include passer-by patients. This also includes Medicom's noni patients. (Noni = niet op naam ingeschreven.) By default passer-by patients are excluded from the response."
|
|
- $ref: '../zoo-api.yaml#/components/parameters/Authorization'
|
|
responses:
|
|
200:
|
|
description: "The response body is a JSON-array with for each group, defined by a sequence of `groupByItem` query parameters, an object with a count `n`."
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
age:
|
|
type: number
|
|
example: 42
|
|
preferredDoctor:
|
|
$ref: '../schemas/PatIdentity.yaml#/doctor'
|
|
insurer:
|
|
$ref: '../schemas/PatIdentity.yaml#/insurer'
|
|
gender:
|
|
$ref: '../schemas/PatIdentity.yaml#/gender'
|
|
n:
|
|
type: number
|
|
description: "The number of unique patients in the group."
|
|
example: 7
|
|
400:
|
|
description: "Common HTTP semantics, see the response body."
|
|
401:
|
|
$ref: '../zoo-api.yaml#/components/responses/JwtFailure'
|
|
403:
|
|
description: "Indicated practice is known but has not authorized ZOO to share this information with signer."
|
|
404:
|
|
$ref: '../zoo-api.yaml#/components/responses/PatNotFound'
|
|
|