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.
149 lines
6.6 KiB
YAML
149 lines
6.6 KiB
YAML
get:
|
|
operationId: getCustomerCareProgram
|
|
tags:
|
|
- Customer management
|
|
summary: Practices and care programs
|
|
description: |-
|
|
Gets all practices of a care group and their participation in any care program.
|
|
|
|
Enumerates all practices for which the current customer (user) is responsible in the care group. The customer identified with the JWT must be the group manager. The care group must be responsible for the underlying practices. Some care groups are organized in a way that they are not allowed to process data of the member practices. For these care groups no practices are shown.
|
|
|
|
FUTURE: Soon this API will be updated to allow asking for a single practice; optionally, if a care group's AGB is also provided, the list of care programs contracted by the care group is also provided.
|
|
parameters:
|
|
- name: refDate
|
|
in: query
|
|
description: If omitted, today is taken.
|
|
schema:
|
|
$ref: ../schemas/date.yaml
|
|
responses:
|
|
'200':
|
|
description: All practices for which the care group takes responsibility.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
caregroup:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: |-
|
|
Identifying tag name of the care group.
|
|
example: demo_fabel
|
|
careprograms:
|
|
description: |-
|
|
All care programs contracted by the care group. Subtract from this set the active care programs from any practice reported in `practices` to know which care programs they may want to activate.
|
|
example:
|
|
- OuderenZorg
|
|
- DM
|
|
- COPD
|
|
- HVZ
|
|
- VVR
|
|
type: array
|
|
items:
|
|
$ref: '../schemas/CareProgram-enum.yaml'
|
|
practices:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
agb:
|
|
$ref: ../schemas/agb.yaml
|
|
name:
|
|
type: string
|
|
gpis:
|
|
$ref: ../schemas/GPIS.yaml
|
|
careprograms:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
careprogram:
|
|
$ref: '../schemas/CareProgram-enum.yaml'
|
|
periodStart:
|
|
$ref: ../schemas/date.yaml
|
|
periodEnd:
|
|
$ref: ../schemas/date.yaml
|
|
active:
|
|
type: boolean
|
|
description: True if today is on or after `periodStart` and before `periodEnd`.
|
|
required:
|
|
- careprogram
|
|
- periodStart
|
|
- active
|
|
'401':
|
|
$ref: '../zoo-api.yaml/#/components/responses/NoAuth'
|
|
'403':
|
|
$ref: '../zoo-api.yaml/#/components/responses/NoAccess'
|
|
post:
|
|
tags:
|
|
- Customer management
|
|
operationId: setCustomerCareProgram
|
|
summary: Add a practice to a care program.
|
|
description: |-
|
|
Allows a care group manager to configure which care programs are actively participated in by a GP practice. (care programs = ziektebeelden, ketens).
|
|
|
|
The caller must authorize itself as a care group (manager).
|
|
|
|
The care group must be allowed to take responsibility for the practices it holds. If not, the request is ignored and an empty Json-object is sent back to the caller, indicating that processing was not successful.
|
|
|
|
The practice must be one of the care group practices. If not, the request is ignored and an empty Json-object is sent back to the caller.
|
|
|
|
In all other cases a Json-object containing the same data as in the request with a timestamp added is sent back in the response.
|
|
|
|
The operation is idempotent for the combination of: `careprogram`, `agb`, `periodStart` and `periodEnd`. If these are the same in any _subsequent call_ the request is processed as being fully accepted, showing the request data in the response,
|
|
but the `employee` and `timestamp` aren't updated in the database. The timestamp and employee of the original submit to this API is included in the response instead of the provided values.
|
|
requestBody:
|
|
content:
|
|
'application/x-www-form-urlencoded':
|
|
schema:
|
|
type: object
|
|
properties:
|
|
careprogram:
|
|
description: The kind of care program that the practice participates in.
|
|
$ref: '../schemas/CareProgram-enum.yaml'
|
|
agb:
|
|
description: The AGB of the practice (not the doctor).
|
|
$ref: '../schemas/agb.yaml'
|
|
periodStart:
|
|
description: |-
|
|
If `periodEnd` is supplied, then the `periodStart` must meet the condition that `periodStart` < `periodEnd`. The period starts on `periodStart` and ends on the day before `periodEnd`, so the start date is inclusive and end date exclusive.
|
|
$ref: ../schemas/date.yaml
|
|
periodEnd:
|
|
description: See `periodStart`.
|
|
$ref: ../schemas/date.yaml
|
|
employee:
|
|
type: string
|
|
description: The employee that is adding the practice. Any string is accepted, but it is recommended to use a employee code derived from this API.
|
|
required:
|
|
- careprogram
|
|
- agb
|
|
- periodStart
|
|
- employee
|
|
responses:
|
|
'200':
|
|
description: |-
|
|
If and only if, the request was successful processed down to the database, a Json-object with the following properties is sent back to the caller, otherwise a non 200 HTTP response.
|
|
content:
|
|
'application/json':
|
|
schema:
|
|
type: object
|
|
properties:
|
|
employee:
|
|
type: string
|
|
timestamp:
|
|
$ref: ../schemas/dateTime.yaml
|
|
careprogram:
|
|
$ref: '../schemas/CareProgram-enum.yaml'
|
|
agb:
|
|
$ref: '../schemas/agb.yaml'
|
|
periodStart:
|
|
$ref: ../schemas/date.yaml
|
|
periodEnd:
|
|
$ref: ../schemas/date.yaml
|
|
'401':
|
|
$ref: '../zoo-api.yaml/#/components/responses/NoAuth'
|
|
'403':
|
|
$ref: '../zoo-api.yaml/#/components/responses/NoAccess'
|