From e39c9af74405d00fba764138a9815a70d4b7ae8d Mon Sep 17 00:00:00 2001 From: Eric Hoekstra Date: Thu, 21 Nov 2024 09:52:35 +0100 Subject: [PATCH] Revert Dymo-responses in the check-up (or call-up) list API: The API has be withdrawn since the specs were not correct. --- paths/qoc_checkupList_{setKey}.yaml | 264 +++++++++++++--------------- schemas/dymo.yaml | 19 -- schemas/pat-patUnid.yaml | 2 +- 3 files changed, 120 insertions(+), 165 deletions(-) delete mode 100644 schemas/dymo.yaml diff --git a/paths/qoc_checkupList_{setKey}.yaml b/paths/qoc_checkupList_{setKey}.yaml index 0890fb5..2238439 100644 --- a/paths/qoc_checkupList_{setKey}.yaml +++ b/paths/qoc_checkupList_{setKey}.yaml @@ -4,7 +4,7 @@ get: - Quality of Care summary: Call-up status description: |- - Load the call-up status for patients in a care program. Returns each patient in a care program along with the progress on required or suggested measurements indicated for this care program. + Load call-up status for patients in a care program. Returns each patient in a care program along with the progress on required or suggested measurements indicated for this care program. parameters: - name: setKey in: path @@ -49,158 +49,132 @@ get: description: Request inclusion of email addresses schema: type: boolean - - name: onlyNameAddress - in: query - required: false - description: |- - If true, only data needed for printing address labels is in the response. This output is also known as Dymo output. The format of the response depends on the HTTP Accept header. If the best match between the server en caller is: - - * `text/csv`, then CSV according RFC 4180 is responded; - * `application/json`, then JSON; - * `application/vnd.ms-excel`, then legacy MS Excel. - - While the server is still calculating, see calculating property in the response, the output is always `application/json`. - schema: - type: boolean - $ref: '../zoo-api.yaml#/components/parameters/Authorization' responses: '200': description: |- - A list of patients. The format of the response is default a comprehensive JSON, but can be limited to only data needed for printing address labels, using the `onlyNameAddress` parameter. Any non JSON response has a header row with field names. + list of patients content: application/json: schema: - oneOf: - - type: object - properties: - gpis: - $ref: '../schemas/IndicatorSet.yaml#/properties/gpis' - key: - $ref: '../schemas/IndicatorSet.yaml#/properties/key' - name: - $ref: '../schemas/IndicatorSet.yaml#/properties/name' - careprogram: - $ref: '../schemas/IndicatorSet.yaml#/properties/careprogram' - refDate: - $ref: '../schemas/IndicatorSet.yaml#/properties/refDate' - calculating: - $ref: '../schemas/IndicatorSet.yaml#/properties/calculating' - doctors: - description: |- - Lists all relevant doctors. A doctor is relevant if they are responsible - for at least 1 patient in the list. - type: array - items: - type: object - properties: - name: - description: |- - The name (or possibly memocode; something an employee of the practice will recognize) of the general practitioner. - type: string - agb: - description: If known, the AGB code of this general practitioner. - type: integer - format: int32 - minimum: 1 - maximum: 99999999 - required: - - name - indicators: - type: array - description: |- - One entry for each kind of measurement that (may) require call-up. - items: - type: object - properties: - title: - description: |- - The title of this indicator - type: string - example: Bloeddruk - optional: - description: |- - If present, this indicator is optional, and the value contains dutch human readable text explaining why. - type: string - example: Volgens HKN protocol is BMI meten optioneel bij Astma patiënten; echter stelt het protocol wel een relatie tussen overgewicht en de mate van klachten. - required: - - title - patients: - type: array - items: - type: object - properties: - patPubId: - $ref: '../schemas/PatIdentity.yaml#/patPubId' - patUnid: - $ref: '../schemas/PatIdentity.yaml#/patUnid' - doctor: - type: integer - format: int32 - description: |- - An index (0-based) into the `doctors` entry: This is the GP responsible for this patient. - status: - $ref: '../schemas/callUpStatus-enum.yaml' - name: - $ref: '../schemas/pat-Name.yaml' - address1: - type: string - description: |- - The first line of this patient's postal address (Street name and number, generally). - city: - type: string - description: Patient lives in this city or township. - postcode: - type: string - description: Postcode of the patient. - bsn: - type: integer - minimum: 1 - maximum: 999999999 - format: int32 - description: The BSN (dutch social security number) of the patient. - dob: - $ref: ../schemas/date.yaml - description: Date of birth of the patient. - email: - type: string - format: email - description: Email address of the patient. - state: - type: string - description: |- - A string containing 1 character for each indicator as listed in `indicators`. + type: object + properties: + gpis: + $ref: '../schemas/IndicatorSet.yaml#/properties/gpis' + key: + $ref: '../schemas/IndicatorSet.yaml#/properties/key' + name: + $ref: '../schemas/IndicatorSet.yaml#/properties/name' + careprogram: + $ref: '../schemas/IndicatorSet.yaml#/properties/careprogram' + refDate: + $ref: '../schemas/IndicatorSet.yaml#/properties/refDate' + calculating: + $ref: '../schemas/IndicatorSet.yaml#/properties/calculating' + doctors: + description: |- + Lists all relevant doctors. A doctor is relevant if they are responsible + for at least 1 patient in the list. + type: array + items: + type: object + properties: + name: + description: |- + The name (or possibly memocode; something an employee of the practice will recognize) of the general practitioner. + type: string + agb: + description: If known, the AGB code of this general practitioner. + type: integer + format: int32 + minimum: 1 + maximum: 99999999 + required: + - name + indicators: + type: array + description: |- + One entry for each kind of measurement that (may) require call-up. + items: + type: object + properties: + title: + description: |- + The title of this indicator + type: string + example: Bloeddruk + optional: + description: |- + If present, this indicator is optional, and the value contains dutch human readable text explaining why. + type: string + example: Volgens HKN protocol is BMI meten optioneel bij Astma patiënten; echter stelt het protocol wel een relatie tussen overgewicht en de mate van klachten. + required: + - title + patients: + type: array + items: + type: object + properties: + patPubId: + $ref: '../schemas/PatIdentity.yaml#/patPubId' + patUnid: + $ref: '../schemas/PatIdentity.yaml#/patUnid' + doctor: + type: integer + format: int32 + description: |- + An index (0-based) into the `doctors` entry: This is the GP responsible for this patient. + status: + $ref: '../schemas/callUpStatus-enum.yaml' + address1: + type: string + description: |- + The first line of this patient's postal address (Street name and number, generally). + city: + type: string + description: Patient lives in this city or township. + postcode: + type: string + description: Postcode of the patient. + bsn: + type: integer + minimum: 1 + maximum: 999999999 + format: int32 + description: The BSN (dutch social security number) of the patient. + dob: + $ref: ../schemas/date.yaml + description: Date of birth of the patient. + email: + type: string + format: email + description: Email address of the patient. + state: + type: string + description: |- + A string containing 1 character for each indicator as listed in `indicators`. + + This character represents the patient's call-up state for that indicator: - This character represents the patient's call-up state for that indicator: - - * `-` – This indicator is not relevant for this patient; no call-up needed. - * `R` – This is an optional indicator, but, the patient doesn't have this measurement. - * `0` – This is a required indicator and the patient doesn't have it. - * `1` – The patient has this measurement; but unless it is measured again, next quarter it'll be too long ago and no longer counts. - * `2`-`8` – `2` is like `1`, except the measurement lasts for 2 quarters up to 8 quarters. - * `+` – The measurement lasts for 9 or more quarters (for example, the measurement only needs to be done once ever and it has been done). - * `x` – unknown situation (should not occur). - required: - - patUnid - - doctor - - status - - dob - - state - required: - - gpis - - key - - name - - refDate - - calculating - - $ref: '../schemas/dymo.yaml' - text/csv: - schema: - $ref: '../schemas/dymo.yaml' - 'application/vnd.ms-excel': - schema: - $ref: '../schemas/dymo.yaml' - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': - schema: - $ref: '../schemas/dymo.yaml' + * `-` – This indicator is not relevant for this patient; no call-up needed. + * `R` – This is an optional indicator, but, the patient doesn't have this measurement. + * `0` – This is a required indicator and the patient doesn't have it. + * `1` – The patient has this measurement; but unless it is measured again, next quarter it'll be too long ago and no longer counts. + * `2`-`8` – `2` is like `1`, except the measurement lasts for 2 quarters up to 8 quarters. + * `+` – The measurement lasts for 9 or more quarters (for example, the measurement only needs to be done once ever and it has been done). + * `x` – unknown situation (should not occur). + required: + - patUnid + - doctor + - status + - dob + - state + required: + - gpis + - key + - name + - refDate + - calculating '401': $ref: '../zoo-api.yaml/#/components/responses/NoAuth' '403': diff --git a/schemas/dymo.yaml b/schemas/dymo.yaml deleted file mode 100644 index 17c5159..0000000 --- a/schemas/dymo.yaml +++ /dev/null @@ -1,19 +0,0 @@ -type: array -items: - type: object - properties: - patUnid: - $ref: '../schemas/PatIdentity.yaml#/patUnid' - displayName: - type: string - example: "Timmermans - de Vos" - addressLine1: - type: string - example: "Pieter Cordifstraat 88" - addressLine2: - type: string - example: "2552 XT HAMOR" - required: - - displayName - - addressLine1 - - addressLine2 \ No newline at end of file diff --git a/schemas/pat-patUnid.yaml b/schemas/pat-patUnid.yaml index b194955..174a5f9 100644 --- a/schemas/pat-patUnid.yaml +++ b/schemas/pat-patUnid.yaml @@ -1,5 +1,5 @@ description: |- - Patient's unique and persistent ID in GPIS. Usually identical to `patPubId` but certain GPISes may + Patient's unique and persistent ID in GPIS. Usually identical to `patid` but certain GPISes may use UUID, or has globally unique keys (e.g. very large numbers). Can be blank, but only if supplying GPIS does not send them. type: string