[api] Add three frequent user end points.

EH/population-statistics-authorisation
Eric Hoekstra 2 years ago
parent 87e4cd9285
commit b58a4f0a20

@ -0,0 +1,70 @@
get:
tags:
- Frequent users
operationId: populationFrequentUserCount
summary: "Patient population projected on the number of visits"
parameters:
- name: periodStart
in: query
description: Start of the period (including) to analyze.
schema:
$ref: ../schemas/date.yaml
- name: periodEnd
in: query
description: End of the period (excluding) to analyze.
schema:
$ref: ../schemas/date.yaml
- name: doctorAgbCodes
in: query
description: Any valid AGB-code.
example: 01015678,01018765,01014321
schema:
type: array
items:
type: number
- name: doctorCodes
in: query
description: Code of the doctor as known in the HIS.
schema:
type: array
items:
$ref: ../schemas/med_dossier/Practitioner.yaml
- name: featCodes
in: query
description: "The feats which are identified as time consuming or otherwise taking effort of the practice, defaults to: 12011,12411,12001,12401,12010,12410."
schema:
$ref: ../schemas/med_dossier/FeatCode.yaml
- name: patients
in: query
schema:
$ref: ../schemas/pat-patId.yaml
responses:
200:
description: "An object with at least the frequency property which holds an array with the number of visits and their frequency."
content:
application/json:
schema:
type: object
required:
- frequencies
properties:
frequencies:
type: array
items:
type: object
properties:
visits:
type: number
frequency:
type: number
example:
- {visits: 1, frequency: 355}
- {visits: 2, frequency: 240}
- {visits: 4, frequency: 25}
401:
$ref: '../zoo-api.yaml#/components/responses/JwtFailure'
403:
$ref: '../zoo-api.yaml#/components/responses/NotToBeShare'
404:
$ref: '../zoo-api.yaml#/components/responses/PatNotFound'

@ -0,0 +1,87 @@
get:
tags:
- Frequent users
operationId: populationFrequentUserPatient
summary: "Get the feats of a specific patient"
parameters:
- name: periodStart
in: query
description: Start of the period (including) to analyze.
schema:
$ref: ../schemas/date.yaml
- name: periodEnd
in: query
description: End of the period (excluding) to analyze.
schema:
$ref: ../schemas/date.yaml
- name: doctorAgbCodes
in: query
description: Any valid AGB-code.
schema:
type: array
items:
type: number
- name: doctorCodes
in: query
description: Code of the doctor as known in the HIS.
example: 01015678,01018765,01014321
schema:
type: array
items:
$ref: ../schemas/med_dossier/Practitioner.yaml
- name: featCodes
in: query
description: "The feats which are identified as time consuming or otherwise taking effort of the practice, defaults to: 12011,12411,12001,12401,12010,12410."
schema:
$ref: ../schemas/med_dossier/FeatCode.yaml
- name: patId
in: query
schema:
$ref: ../schemas/pat-patId.yaml
responses:
200:
description: "Lists for exactly one patient all feats per day. All ICPC codes which can be found on a given day are added to the combination of feat and day. This causes duplicate output of the ICPC codes if two or more different feats are registered on the same day. This is due a lack of the registration of the exact time of the contact moment in most HIS's."
content:
application/json:
schema:
type: object
properties:
dict:
$ref: ../schemas/TermsDictionary.yaml
feats:
type: array
items:
type: object
properties:
featCode:
type: number
example: 12001
date:
type: string
example: 2018-03-29
employee:
type: string
example: RH
memoCode:
type: string
example: C2
description:
type: string
example: consult huisarts langer dan 20 minuten
patId:
$ref: ../schemas/pat-patId.yaml
example: 13046
icpc:
type: array
items:
type: string
example:
- S74.02
- Y07.00
- K87.00
401:
$ref: '../zoo-api.yaml#/components/responses/JwtFailure'
403:
$ref: '../zoo-api.yaml#/components/responses/NotToBeShare'
404:
$ref: '../zoo-api.yaml#/components/responses/PatNotFound'

@ -0,0 +1,106 @@
get:
tags:
- Frequent users
operationId: populationFrequentUserPatients
summary: "Lists the top 20 frequent users (patients)"
parameters:
- name: periodStart
in: query
description: Start of the period (including) to analyze.
schema:
$ref: ../schemas/date.yaml
- name: periodEnd
in: query
description: End of the period (excluding) to analyze.
schema:
$ref: ../schemas/date.yaml
- name: doctorAgbCodes
in: query
description: Any valid AGB-code.
schema:
type: array
items:
type: number
- name: doctorCodes
in: query
description: Code of the doctor as known in the HIS.
example: 01015678,01018765,01014321
schema:
type: array
items:
$ref: ../schemas/med_dossier/Practitioner.yaml
- name: featCodes
in: query
description: "The feats which are identified as time consuming or otherwise taking effort of the practice, defaults to: 12011,12411,12001,12401,12010,12410."
schema:
$ref: ../schemas/med_dossier/FeatCode.yaml
- name: patients
in: query
schema:
$ref: ../schemas/pat-patId.yaml
- name: ppi
in: query
description: "Allow patient personal identifying information in the response. Defaults to false if omitted."
example: true
schema:
type: boolean
- name: limit
in: query
description: "Some integer between 1 and 50. Limits the output to the top 1 to 50 of the frequent users (patients). Defaults to 20 if omitted or not in the specified range."
schema:
type: number
responses:
200:
description: "Responses an array with patients. Only the top 20 users is exported. The output is ranked with the most frequent user at position 0 of the array."
content:
application/json:
schema:
type: array
items:
type: object
properties:
patId:
type: string
example: 1349
lastName:
type: string
example: van Loon - van de Ven
description: Omitted if parameter ppi is omitted or false.
gender:
type: string
example: V
description: Omitted if parameter ppi is omitted or false.
birthdate:
type: string
example: 1929-08-21
description: Omitted if parameter ppi is omitted or false.
feats:
type: object
properties:
featCode0:
type: object
description: The string featCode0 is replaced by an actual code, e.g. 12001.
properties:
description:
type: string
example: consult huisarts langer dan 20 minuten
description: The feat description is taken from the HIS import.
n:
type: number
description: The count of the feats with the given code for the patient.
example: 59
featCodeN:
type: object
properties:
description:
type: string
example: Consult regulier korter dan 5 minuten
n:
type: number
example: 54
401:
$ref: '../zoo-api.yaml#/components/responses/JwtFailure'
403:
$ref: '../zoo-api.yaml#/components/responses/NotToBeShare'
404:
$ref: '../zoo-api.yaml#/components/responses/PatNotFound'

@ -0,0 +1,3 @@
description: Date without time part in ISO-8601 format.
type: string
example: "1970-01-13"

@ -0,0 +1,2 @@
description: "Vektis COD367 list 8 feat code expressed as an integer."
type: number

@ -27,6 +27,9 @@ tags:
- name: Population statistics - name: Population statistics
description: |- description: |-
Statistics of a patient population. Statistics of a patient population.
- name: Frequent users
description: |-
Gives insight and enumerates the patients who make most use of the practice. Use is defined as time needed from the doctor(s). Certain feat codes need more or less a constant time. These are used to get an approximation.
- name: Quality of Care - name: Quality of Care
description: |- description: |-
API related to Quality of Care (QoC) features API related to Quality of Care (QoC) features
@ -51,6 +54,12 @@ paths:
$ref: 'paths/population_statistics.yaml' $ref: 'paths/population_statistics.yaml'
/population/statistics/deprivedNeighborhood: /population/statistics/deprivedNeighborhood:
$ref: 'paths/population_statistics_deprived.yaml' $ref: 'paths/population_statistics_deprived.yaml'
/population/frequentUser/count:
$ref: 'paths/population_frequentUser_count.yaml'
/population/frequentUser/patients:
$ref: 'paths/population_frequentUser_patients.yaml'
/population/frequentUser/patient:
$ref: 'paths/population_frequentUser_patient.yaml'
/qoc/careprogram: /qoc/careprogram:
$ref: 'paths/qoc_careprogram.yaml' $ref: 'paths/qoc_careprogram.yaml'
/qoc/indicatorset/{setKey}: /qoc/indicatorset/{setKey}:
@ -195,3 +204,5 @@ components:
enum: enum:
- practice - practice
- patient - patient
NotToBeShare:
description: "Indicated practice is known but has not authorized ZOO to share this information with signer."
Loading…
Cancel
Save