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'