From 11c28bbf75ad1350881286f26ca49effd97331da Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Mon, 22 May 2023 13:51:27 +0200 Subject: [PATCH] [qoc] Simplified the API for CarePrograms based on IAMIT feedback --- examples/qoc_careprogram.1.json | 274 +++++++------------------------- paths/qoc_careprogram.yaml | 6 +- schemas/CareProgram.yaml | 76 +++++---- schemas/CareProgramSet.yaml | 16 -- 4 files changed, 100 insertions(+), 272 deletions(-) delete mode 100644 schemas/CareProgramSet.yaml diff --git a/examples/qoc_careprogram.1.json b/examples/qoc_careprogram.1.json index 9e66018..b8f76d7 100644 --- a/examples/qoc_careprogram.1.json +++ b/examples/qoc_careprogram.1.json @@ -1,227 +1,65 @@ { - "programsets": [ + "programs": [ { - "title": "Ketenzorg programma's (algemeen)", - "description": "Als jouw zorggroep nog niet aangesloten is, kun je altijd gebruik maken van onze algemene indicatoren. Wil je protocollen aanpassen of uitbreiden, laat het ons dan weten! Hier zijn geen kosten aan verbonden. Als je (of jouw zorggroep) andere manieren van registreren gebruikt of bijvoorbeeld een focus wil leggen op een bepaald aspect van een zorgprogramma passen wij de indicatoren daar voor aan.", - "programs": [ - { - "key": "ZOO-dm", - "name": "Diabetes Mellitus type 2", - "defaultShow": true, - "favState": "X", - "reports": [ - { - "type": "indicatorset", - "name": "Oproepen", - "key": "ZOO-dm-poc" - }, - { - "type": "indicatorset", - "name": "Accrediteren", - "key": "ZOO-dm-acc" - }, - { - "type": "link", - "name": "InEen '22 benchmark", - "link": "/indicators/accreditatie?sets=IE22-dm" - } - ] - }, - { - "key": "ZOO-copd", - "name": "COPD", - "defaultShow": true, - "favState": "X", - "reports": [ - { - "type": "indicatorset", - "name": "Oproepen", - "key": "ZOO-copd-poc" - }, - { - "type": "indicatorset", - "name": "Accrediteren", - "key": "ZOO-copd-acc" - }, - { - "type": "link", - "name": "InEen '22 benchmark", - "link": "/indicators/accreditatie?sets=IE22-copd" - } - ] - }, - { - "key": "ZOO-oz", - "name": "Ouderenzorg", - "defaultShow": false, - "favState": "T", - "reports": [ - { - "type": "indicatorset", - "description": "Voor inzichten in uw patiënten reeds aangemeld bij de Ouderenzorg keten.", - "name": "Oproepen", - "key": "ZOO-oz-poc" - }, - { - "type": "link", - "description": "Loop door die patiënten heen die nog niet geregistreerd staan voor de ketenzorg, maar waar wel tekenen in het dossier zijn om ze te includeren.", - "name": "Casefinder", - "link": "/indicators/cf/oz/intro" - }, - { - "type": "link", - "name": "InEen '22 innovatieset", - "link": "/indicators/accreditatie?sets=IE22-oz" - } - ] - } - ] + "key": "ZOO-dm-poc", + "name": "Diabetes Mellitus Oproepen", + "description": "ZorgOpOrde standaard Diabetes Mellitus ketenzorg voor POHs (oproepen en patiënt populatie gezond houden). Indien er geen specifiek op uw zorggroep aangepaste DM definitie beschikbaar is.", + "tags": [ + "DM", + "ZorgOpOrde", + "Oproepen" + ], + "defaultShow": false, + "favState": "X", + "type": "indicatorset" + },{ + "key": "ZOO-dm-acc", + "name": "Diabetes Mellitus Accrediteren", + "description": "ZorgOpOrde standaard Diabetes Mellitus ketenzorg voor accrediteren, vergelijken met andere zorggroepen, en onderhandelen met de zorgverzekeraars. Indien er geen specifiek op uw zorggroep aangepaste DM definitie beschikbaar is.", + "tags": [ + "DM", + "ZorgOpOrde", + "Accrediteren" + ], + "defaultShow": false, + "favState": "X", + "type": "indicatorset" }, { - "title": "Ketenzorg programma's (ZEL)", - "description": "Alle programma's ondersteund door zorggroep ZEL (regio NWN/DWO), opgezet in overleg met de kaderartsen.", - "programs": [ - { - "key": "ZEL-dm", - "name": "Diabetes Mellitus type 2", - "defaultShow": true, - "favState": "X", - "reports": [ - { - "type": "indicatorset", - "name": "Oproepen", - "key": "ZEL-dm-poc" - }, - { - "type": "link", - "name": "InEen '22 benchmark", - "link": "/indicators/accreditatie?sets=IE22-dm" - } - ] - }, - { - "key": "ZEL-copd", - "name": "COPD", - "defaultShow": true, - "favState": "X", - "reports": [ - { - "type": "indicatorset", - "name": "Oproepen", - "key": "ZEL-copd-poc" - }, - { - "type": "link", - "name": "InEen '22 benchmark", - "link": "/indicators/accreditatie?sets=IE22-copd" - } - ] - }, - { - "key": "ZEL-astma", - "name": "Astma", - "defaultShow": true, - "favState": "X", - "reports": [ - { - "type": "indicatorset", - "name": "Oproepen", - "key": "ZEL-astma-poc" - }, - { - "type": "link", - "name": "InEen '22 benchmark", - "link": "/indicators/accreditatie?sets=IE22-astma" - } - ] - }, - { - "key": "ZEL-hvz", - "name": "HVZ Ketenzorg (HVZ+AF+HF)", - "defaultShow": true, - "favState": "X", - "reports": [ - { - "type": "indicatorset", - "name": "HVZ Ketenzorg overzicht", - "key": "ZEL-hvzt" - }, - { - "type": "indicatorset", - "name": "HVZ Zorgprogramma", - "key": "ZEL-hvz-poc" - }, - { - "type": "indicatorset", - "name": "Atriumfibrilleren (AF)", - "key": "ZEL-af-poc" - }, - { - "type": "indicatorset", - "name": "Hartfalen (HF)", - "key": "ZEL-hf-poc" - }, - { - "type": "link", - "name": "InEen '22 benchmark HVZ", - "link": "/indicators/accreditatie?sets=IE22-hvz" - } - ] - }, - { - "key": "ZEL-vvr", - "name": "VVR", - "defaultShow": true, - "favState": "X", - "reports": [ - { - "type": "indicatorset", - "name": "Oproepen", - "key": "ZEL-vvr-poc" - }, - { - "type": "link", - "name": "InEen '22 benchmark", - "link": "/indicators/accreditatie?sets=IE22-vvr" - } - ] - } - ] + "key": "IE22-copd", + "name": "InEen 2022 COPD", + "description": "InEen '22 invulformat voor COPD ketenzorg" + "tags": [ + "COPD", + "InEen2022", + ], + "defaultShow": false, + "favState": "T", + "type": "link", + "link": "/indicators/accreditatie?sets=IE22-copd" }, { - "title": "Overige bepalingen", - "programs": [ - { - "key": "ZOO-dexa", - "name": "DEXA scans obv Osteoporose", - "description": "Beoordeel of je patiënten moet opgeroepen voor een DEXA scan obv Osteoporose/penie (en 65+).", - "defaultShow": false, - "favState": "X", - "badge": "In ontwikkeling", - "reports": [ - { - "type": "indicatorset", - "name": "Oproepen", - "key": "ZOO-dexa" - } - ] - }, - { - "key": "ZOO-nierfalen", - "name": "Nierfalen", - "description": "Controle op basis van het NHG-registratie advies bij Standard Chronische Nierschade (2019). Je beoordeelt per patiënt of er een (risico op een) nierfunctiestoornis is. Patiënten met een actieve episode U98.03, U99.00, of U99.01 worden door deze casefinder gezien als 'reeds beoordeeld'.", - "defaultShow": false, - "favState": "T", - "badge": "In ontwikkeling", - "reports": [ - { - "type": "link", - "name": "Casefinding", - "url": "/indicators/cf/nierfalen/intro" - } - ] - } - ] + "key": "ZEL-dm", + "name": "Diabetes Mellitus (ZEL) Oproepen", + "description": "Zorggroep ZEL (regio NWN/DWO) Diabetes Mellitus ketenzorg voor POHs (oproepen en patiënt populatie gezond houden).", + "tags": [ + "DM", + "ZEL", + "Oproepen" + ], + "defaultShow": true, + "favState": "X", + "type": "indicatorset", + }, + { + "key": "ZOO-nierfalen", + "name": "Nierfalen", + "description": "Controle op basis van het NHG-registratie advies bij Standard Chronische Nierschade (2019). Je beoordeelt per patiënt of er een (risico op een) nierfunctiestoornis is. Patiënten met een actieve episode U98.03, U99.00, of U99.01 worden door deze casefinder gezien als 'reeds beoordeeld'.", + "defaultShow": false, + "favState": "T", + "badge": "In ontwikkeling", + "type": "casefinder", + "url": "/indicators/cf/nierfalen/intro" } ] } diff --git a/paths/qoc_careprogram.yaml b/paths/qoc_careprogram.yaml index 7d3d074..677a890 100644 --- a/paths/qoc_careprogram.yaml +++ b/paths/qoc_careprogram.yaml @@ -2,7 +2,7 @@ get: tags: - Quality of Care summary: List all available care programs - description: Includes all care programs that the user is allowed to see, even ones that are unfavourited or not shown by default. + description: Includes all care programs that the user is allowed to enable or preview, i.e. even ones that shouldn't be shown by default.e responses: '200': description: |- @@ -10,7 +10,7 @@ get: Examples: content: application/json: @@ -20,7 +20,7 @@ get: programs: type: array items: - $ref: '#/components/schemas/CareProgramSet' + $ref: '#/components/schemas/CareProgram' '401': $ref: '#/components/responses/NoAuth' '403': diff --git a/schemas/CareProgram.yaml b/schemas/CareProgram.yaml index 0c0b2b1..8e54f24 100644 --- a/schemas/CareProgram.yaml +++ b/schemas/CareProgram.yaml @@ -15,8 +15,24 @@ properties: *OPTIONAL* in dutch and in *HTML*, can consist of multiple paragraphs, but won't be more than ~5 lines or so. type: string example: Ketenzorg DM2 volgens de standaard werkwijze van zorgggroep ZEL. + tags: + description: |- + A list of very short dutch strings categorizing the care program. + Most care programs have 2 tags: + - one describing the entity that is responsible for the definition (e.g. a 'zorggroep' or standardizing institute such as 'InEen', + - one describing the care program itself, such as 'DM' or 'Ouderenzorg'. + type: array + items: + type: string + example: |- + ["ZEL", "DM"] defaultShow: - description: If `true`, show this unless explicitly unfavourited. If `false`, do not show unless explicitly favourited. + description: |- + If `true`, show this unless explicitly unfavourited. If `false`, do not show unless explicitly favourited. + Care programs with the `defaultShow` property are considered, by the customer, by the customer's 'zorggroep', or + by Zorg op Orde as inherently relevant to the practice. non-`defaultShow` programs are there for practices that want + to look into expanding their care programs or which want to deviate from regional norms. These should be hidden behind + a settings pane where the GP can explicitly enable some non-`defaultShow` programs, or disable some `defaultShow` programs. type: boolean example: true favState: @@ -32,38 +48,28 @@ properties: *OPTIONAL* A very short string to be shown in a badge; dutch text in *HTML*. If omitted, do not show any badge. type: string example: In ontwikkeling - reports: + type: description: |- - A care program offers 1 or more reports; any given report is generally very different from another. - Each offered report should be shown as a button. - type: array - items: - type: object - properties: - type: - description: |- - The type of the report available for this care program.
-
indicatorset
Use the /qol/indicatorset API endpoint.
-
link
Load the url property as main page (window.location = ..). -
- enum: - - indicatorset - - link - type: string - example: indicatorset - name: - description: Short description in dutch text; show this in the button. - type: string - example: Indicatoren - url: - description: |- - Only for `type: "link"`. - type: string - example: '/indicators/casefinder?t=dm' - key: - description: |- - Only for `type: "indicatorset"`. - A unique string (always ASCII, no spaces) identifying this indicatorset. - Pass to `/qoc/indicatorset` API. - type: string - example: ZEL-dm2 + The type of the report available for this care program.
+
indicatorset
Use the /qol/indicatorset API endpoint.
+
link
Load the url property as main page (window.location = ..). +
casefinder
Work in progress; for now, load the url property as main page (window.location = ..). +
+ enum: + - indicatorset + - link + - casefinder + type: string + example: indicatorset + url: + description: |- + Only for `type: "link"` (Work in progress: For now also for `type: "casefinder"`). + type: string + example: '/indicators/casefinder?t=dm' + key: + description: |- + Only for `type: "indicatorset"`. + A unique string (always ASCII, no spaces) identifying this indicatorset. + Pass to `/qoc/indicatorset` API. + type: string + example: ZEL-dm2 diff --git a/schemas/CareProgramSet.yaml b/schemas/CareProgramSet.yaml deleted file mode 100644 index f45aee8..0000000 --- a/schemas/CareProgramSet.yaml +++ /dev/null @@ -1,16 +0,0 @@ -type: object -properties: - title: - description: Human readable text in dutch, guaranteed to be quite short. - type: string - example: Ketenzorg programma's (algemeen) - description: - description: |- - *OPTIONAL* in dutch and in *HTML*, can consist of multiple paragraphs. - type: string - example: |- - Als jouw zorggroep nog niet aangesloten is, kun je altijd gebruik maken van onze algemene indicatoren. Wil je protocollen aanpassen of uitbreiden, laat het ons dan weten! Hier zijn geen kosten aan verbonden. Als je (of jouw zorggroep) andere manieren van registreren gebruikt of bijvoorbeeld een focus wil leggen op een bepaald aspect van een zorgprogramma passen wij de indicatoren daar voor aan. - programs: - type: array - items: - $ref: '#/components/schemas/CareProgram' \ No newline at end of file