diff --git a/examples/qoc_careprogram.1.json b/examples/qoc_careprogram.1.json new file mode 100644 index 0000000..d80662d --- /dev/null +++ b/examples/qoc_careprogram.1.json @@ -0,0 +1,227 @@ +{ + "programsets": [ + { + "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" + } + ] + } + ] + }, + { + "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" + } + ] + } + ] + }, + { + "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" + } + ] + } + ] + } + ] +} diff --git a/examples/qoc_careprogram.ui_example.png b/examples/qoc_careprogram.ui_example.png new file mode 100644 index 0000000..8682562 Binary files /dev/null and b/examples/qoc_careprogram.ui_example.png differ diff --git a/paths/qoc_careprogram.yaml b/paths/qoc_careprogram.yaml index 62b5406..fa30fdf 100644 --- a/paths/qoc_careprogram.yaml +++ b/paths/qoc_careprogram.yaml @@ -9,9 +9,12 @@ get: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/CareProgram' + type: object + properties: + programs: + type: array + items: + $ref: '#/components/schemas/CareProgramSet' '401': $ref: '#/components/responses/NoAuth' '403': diff --git a/paths/qoc_careprogram_{careprogramKey}_fave.yaml b/paths/qoc_careprogram_{careprogramKey}_fave.yaml index 7ba3a2b..cdb1241 100644 --- a/paths/qoc_careprogram_{careprogramKey}_fave.yaml +++ b/paths/qoc_careprogram_{careprogramKey}_fave.yaml @@ -14,6 +14,8 @@ put: application/x-www-form-urlencoded: schema: type: string + description: |- + The value `T`/`F`/`X`, respectively: "favourited", "unfavourited", "no favourite status" example: T enum: - T @@ -28,7 +30,8 @@ put: type: object properties: key: - description: The care program key as provided + description: |- + The care program key as provided in `/qoc/careprogram`'s `key` property of a careprogram. type: string example: ZEL-dm2 value: diff --git a/schemas/CareProgram.yaml b/schemas/CareProgram.yaml index 4089e4c..0c0b2b1 100644 --- a/schemas/CareProgram.yaml +++ b/schemas/CareProgram.yaml @@ -1,16 +1,24 @@ type: object properties: + key: + description: >- + A unique string (always ASCII, no spaces) identifying this care program. + Can be used to fave/unfave. + type: string + example: ZOO-dm name: description: Human readable text in dutch, guaranteed to be quite short. type: string example: Diabetes Mellitus type 2 (ZEL) description: - description: in dutch and in *HTML*, can consist of multiple paragraphs, but won't be more than ~5 lines or so. + description: |- + *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. defaultShow: description: If `true`, show this unless explicitly unfavourited. If `false`, do not show unless explicitly favourited. type: boolean + example: true favState: description: If `T`, always show this. If `F`, never show it. If `X`, show if `defaultShow` is `true`. type: string @@ -19,6 +27,11 @@ properties: - T - F - X + badge: + description: |- + *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: description: |- A care program offers 1 or more reports; any given report is generally very different from another. @@ -28,25 +41,29 @@ properties: type: object properties: type: - oneOf: - - description: An indicator set report. use the `/qol/indicatorset` API endpoint. - type: string - example: indicatorset - - description: Resolve by loading the URL in the `url` property (`window.location = ` style). - type: string - example: link + description: |- + The type of the report available for this care program.
/qol/indicatorset API endpoint.url property as main page (window.location = ..).
+