From c5ad817b49a9cb15b54c7465ba28c8e2d69296af Mon Sep 17 00:00:00 2001 From: Eric Hoekstra Date: Tue, 5 Aug 2025 08:48:26 +0200 Subject: [PATCH] Reintroduced contact list: See commit cef3aff. --- paths/patient_contactList.yaml | 68 ++++++++++++++++++++++++++++++++++ zoo-api.yaml | 2 + 2 files changed, 70 insertions(+) create mode 100644 paths/patient_contactList.yaml diff --git a/paths/patient_contactList.yaml b/paths/patient_contactList.yaml new file mode 100644 index 0000000..b8f450a --- /dev/null +++ b/paths/patient_contactList.yaml @@ -0,0 +1,68 @@ +get: + operationId: contactList + tags: + - Patient + summary: Contact list + description: Get a contact list for printing address labels, sending e-mail and/ or calling. + parameters: + - name: patUnids + in: query + description: |- + A comma separated list of patUnid's. For each patUnid the contact details are in the response. On a query string there is no standardized limit, but in practice the list of unid's might be limited to approximate 512 id's. + schema: + type: array + items: + $ref: ../schemas/pat-patUnid.yaml + maxItems: 512 + example: "1234,5678" + - name: Accept + in: header + description: |- + CSV (RFC 4180) or JSON is responded depending on the preference set by the callers HTTP Accept header. The Accept header is processed according RFC 9110. If one of media-types below has the most weight, then that type will be the content-type of the response. This is always the case when the header equals one of the enumerated types. + schema: + type: string + enum: + - text/csv + - application/json + responses: + '200': + description: A patient contact list for (electronic) mailing or phone contact. The list can be responded as CSV or JSON. + headers: + Content-Type: + description: The actual content-type of the response. + schema: + type: string + content: + application/json: + schema: + type: array + items: + type: object + properties: + patPubId: + $ref: '../schemas/PatIdentity.yaml#/patPubId' + patUnid: + $ref: '../schemas/PatIdentity.yaml#/patUnid' + displayName: + $ref: '../schemas/pat-Name.yaml#/properties/displayName' + addressLine: + description: The concatenation of street, housenumber and -suffix on one line. + type: string + postcode: + $ref: ../schemas/postcode.yaml + city: + $ref: ../schemas/city.yaml + tel: + $ref: '../schemas/PatIdentity.yaml#/contact/properties/tel' + email: + $ref: '../schemas/PatIdentity.yaml#/contact/properties/email' + text/csv: + schema: + type: string + '400': + description: The request is invalid; for example, it doesn't contain the required `patUnids` parameter. + '401': + $ref: '../zoo-api.yaml#/components/responses/JwtFailure' + '404': + $ref: '../zoo-api.yaml#/components/responses/PatNotFound' + \ No newline at end of file diff --git a/zoo-api.yaml b/zoo-api.yaml index dbefa91..e9e4989 100644 --- a/zoo-api.yaml +++ b/zoo-api.yaml @@ -49,6 +49,8 @@ paths: $ref: 'paths/patient_dossier.yaml' /patient/base: $ref: 'paths/patient_base.yaml' + /patient/contactList: + $ref: 'paths/patient_contactList.yaml' /patient/fundusByGroup: $ref: 'paths/patient_fundusByGroup.yaml' /patient/fundusByPractice: