From 1c15a0be0f00a68a12b5d84a2cd21f5dae6cd83f Mon Sep 17 00:00:00 2001 From: cronn Bot <no-reply@cronn.de> Date: Thu, 23 Jan 2025 07:32:21 +0000 Subject: [PATCH] Update documentation --- .../interfaces/bund-id-interface.adoc | 7 +- .../mein-unternehmenskonto-interface.adoc | 2 +- open-api/base/openApiSpec.yaml | 139 ++++++++++++------ open-api/inspection/openApiSpec.yaml | 109 +++++--------- open-api/measles-protection/openApiSpec.yaml | 109 +++++--------- open-api/procedure/openApiSpec.yaml | 109 +++++--------- open-api/school-entry/openApiSpec.yaml | 109 +++++--------- open-api/statistic/openApiSpec.yaml | 50 +++---- open-api/travel-medicine/openApiSpec.yaml | 109 +++++--------- .../base-modules/open-data/open-data.adoc | 17 --- .../subdir/domain/entity-consultation.adoc | 23 +++ .../subdir/domain/entity-diagnosis.adoc | 48 ++++++ .../subdir/domain/entity-general-section.adoc | 78 ++++++++++ .../entity-laboratory-test-examination.adoc | 2 +- .../subdir/domain/entity-medication.adoc | 28 ++++ .../domain/entity-pregnancy-section.adoc | 51 +++++++ .../subdir/domain/enum-test-type.adoc | 22 +++ .../domain/sti-protection-domain-model.puml | 58 +++++++- 18 files changed, 605 insertions(+), 465 deletions(-) create mode 100644 solution-strategy/business-modules/sti-protection/subdir/domain/entity-consultation.adoc create mode 100644 solution-strategy/business-modules/sti-protection/subdir/domain/entity-diagnosis.adoc create mode 100644 solution-strategy/business-modules/sti-protection/subdir/domain/entity-general-section.adoc create mode 100644 solution-strategy/business-modules/sti-protection/subdir/domain/entity-medication.adoc create mode 100644 solution-strategy/business-modules/sti-protection/subdir/domain/entity-pregnancy-section.adoc create mode 100644 solution-strategy/business-modules/sti-protection/subdir/domain/enum-test-type.adoc diff --git a/context-and-scope/interfaces/bund-id-interface.adoc b/context-and-scope/interfaces/bund-id-interface.adoc index df38801..ce021f2 100644 --- a/context-and-scope/interfaces/bund-id-interface.adoc +++ b/context-and-scope/interfaces/bund-id-interface.adoc @@ -14,11 +14,10 @@ Authenticated users inherit the realm role of a "BundID Benutzer" in Keycloak. * For our use-cases (see below) it is required to have the trust level `high`. * As SAML meta data, we use: ** EntityId: <keycloak-domain>/realms/citizens -** BundID - Attribute Consume Service Endpoint: https://<keycloak-domain>/realms/citizens/broker/bund-id/endpoint -** Managed Name ID URLs: <empty> +** Attribute Consume Service Endpoint: https://<keycloak-domain>/realms/citizens/broker/bund-id/endpoint * In the BundID Self-Service Portal we configure: -** Signature procedure: `sha256-rsa-MGF1` -** Encryption procedures: `aes128-gcm` +** Signing method: `sha256-rsa-MGF1` +** Encryption method: `aes128-gcm` * In the configuration of our application, we use: ** The name of the health department as `keycloak.bundId.organizationDisplayName`, which is shown during the BundID-Login. ** The so called BMI ID of the application (can be found in the Self-Service Portal) as `keycloak.bundId.onlineServiceId`. diff --git a/context-and-scope/interfaces/mein-unternehmenskonto-interface.adoc b/context-and-scope/interfaces/mein-unternehmenskonto-interface.adoc index a643af2..604a9f1 100644 --- a/context-and-scope/interfaces/mein-unternehmenskonto-interface.adoc +++ b/context-and-scope/interfaces/mein-unternehmenskonto-interface.adoc @@ -18,7 +18,7 @@ Authenticated users inherit the realm role of a "Mein Unternehmenskonto Benutzer * URL of the landing page: <citizen-portal landing page> * As SAML meta data, we use: ** EntityId: <keycloak-domain>/realms/citizens -** MUK - Assertion Consumer Service URLs: https://<keycloak-domain>/realms/citizens/broker/muk/endpoint +** Assertion Consumer Service URLs: https://<keycloak-domain>/realms/citizens/broker/muk/endpoint ** Managed Name ID URLs: <empty> diff --git a/open-api/base/openApiSpec.yaml b/open-api/base/openApiSpec.yaml index d09a7c7..bbe3c88 100644 --- a/open-api/base/openApiSpec.yaml +++ b/open-api/base/openApiSpec.yaml @@ -1395,6 +1395,20 @@ paths: concern can be added to the request if desired. tags: - GdprProcedure + /gdpr-procedures/citizen-portal/self/linked-gdpr-procedures: + get: + operationId: getCitizenSelfUserLinkedGdprProcedures + responses: + "200": + content: + '*/*': + schema: + $ref: "#/components/schemas/GetCitizenSelfUsersGdprProceduresResponse" + description: OK + summary: Get the GDPR procedures linked with the citizen user which is currently + active + tags: + - GdprProcedure /gdpr-procedures/{id}: get: operationId: getGdprProcedure @@ -3085,36 +3099,6 @@ paths: items: $ref: "#/components/schemas/TaskStatus" uniqueItems: true - - description: | - Filter logic: - - In case of "true" only tasks with a due date are returned. - - In case of "false" only tasks without a due date are returned. - - If not submitted, no filtering takes place - in: query - name: hasDueAt - required: false - schema: - type: boolean - - description: | - Filter logic: - - In case of "true" only tasks which dueDate is in the past are returned. - - In case of "false" only tasks which due date is **not** in the past or which don't have a due date are returned. - - If not submitted, no filtering takes place - in: query - name: isOverdue - required: false - schema: - type: boolean - - description: | - Filter logic: - - In case of "true" only tasks are returned where assignee and the user who assigned the tasks are unequal - - In case of "false" only tasks are returned where assignee and the user who assigned the tasks are equal - - If not submitted, no filtering takes place - in: query - name: wasAssignedByOther - required: false - schema: - type: boolean - description: | The following sorting options are available: - PRIORITY: First tasks with a dueDate are listed and sorted by DueDate. Afterwards tasks without a dueDate are listed and sorted by createdAt @@ -3853,17 +3837,18 @@ paths: summary: Get the team leaders of the currently active user tags: - User - /users/self/permissions: + /users/self/with-access: get: - operationId: getSelfUserPermissions + operationId: getSelfUserAndAccess responses: "200": content: '*/*': schema: - $ref: "#/components/schemas/GetPermissionsResponse" + $ref: "#/components/schemas/SelfUser" description: OK - summary: Get the permissions of the user which is currently active + summary: "Get the user which is currently active, including all roles assigned\ + \ to this user" tags: - User /users/suggest: @@ -4782,11 +4767,14 @@ components: type: object description: The BundId attributes of a user properties: + address: + $ref: "#/components/schemas/DomesticAddress" firstName: type: string lastName: type: string required: + - address - firstName - lastName BusinessCaseEventRequest: @@ -4889,6 +4877,45 @@ components: - ACCESS_CODE_USER - MUK_USER - BUND_ID_USER + CitizenUsersGdprProcedure: + type: object + description: The core data of a GdprProcedure used in a response to a query + by a CitizenUser + properties: + closedAt: + type: string + format: date-time + description: The date and time of when this GDPR procedure was completed + or cancelled. + example: 2024-02-01T00:00:00.123456Z + createdAt: + type: string + format: date-time + description: The date and time of when the GDPR procedure was created. + example: 2024-02-01T00:00:00.123456Z + hasDownloads: + type: boolean + description: Whether this procedure has available downloads. + example: true + id: + type: string + format: uuid + description: The Id of the GDPR procedure. + example: ae9831d4-dc25-48d8-9bfe-4c0b54bfb2c1 + matterOfConcern: + type: string + description: The matter of concern specified by the requesting user. + example: Please stop all procedures related to my personal information. + status: + $ref: "#/components/schemas/GdprProcedureStatus" + type: + $ref: "#/components/schemas/GdprProcedureType" + required: + - createdAt + - hasDownloads + - id + - status + - type CloseGdprProcedureRequest: type: object properties: @@ -4995,7 +5022,8 @@ components: - INSTITUTION CountryCode: type: string - description: List of country codes in ISO 3166-1 alpha-2 format. + description: "List of country codes in ISO 3166-1 alpha-2 format. With custom\ + \ extensions for stateless, non-standard countries, and unknown countries." enum: - AD - AE @@ -5246,6 +5274,9 @@ components: - ZA - ZM - ZW + - XK + - UNKNOWN + - STATELESS CreateCalendarTestEventsRequest: type: object properties: @@ -6231,6 +6262,15 @@ components: $ref: "#/components/schemas/BundIdUserAttributes" selfMukUserNameDto: $ref: "#/components/schemas/MukUserAttributes" + GetCitizenSelfUsersGdprProceduresResponse: + type: object + properties: + gdprProcedures: + type: array + items: + $ref: "#/components/schemas/CitizenUsersGdprProcedure" + required: + - gdprProcedures GetConfigurationResponse: type: object properties: @@ -6559,6 +6599,8 @@ components: from the Central Files for this GDPR procedure. items: $ref: "#/components/schemas/GetReferenceFacilityResponse" + hasCentralFileDownload: + type: boolean linkedCentralFileFacilities: type: array description: Reference Data of Facilities from the Central File that has @@ -6581,6 +6623,7 @@ components: $ref: "#/components/schemas/GetGdprProcedureResponse" required: - facilityMatches + - hasCentralFileDownload - linkedCentralFileFacilities - linkedCentralFilePersons - personMatches @@ -6722,16 +6765,6 @@ components: contact required: - contactIds - GetPermissionsResponse: - type: object - properties: - permissions: - type: array - description: A list of requested user permissions - items: - $ref: "#/components/schemas/UserRole" - required: - - permissions GetPersonDiffResponse: type: object properties: @@ -7852,9 +7885,12 @@ components: type: object description: The MUK attributes of a user properties: + address: + $ref: "#/components/schemas/DomesticAddress" facilityName: type: string required: + - address - facilityName PersonContact: type: object @@ -8571,6 +8607,19 @@ components: uniqueItems: true required: - cityDistricts + SelfUser: + type: object + properties: + roles: + type: array + description: A list of assigned roles for this user + items: + $ref: "#/components/schemas/UserRole" + user: + $ref: "#/components/schemas/User" + required: + - roles + - user SendEmailNotificationRequest: type: object properties: diff --git a/open-api/inspection/openApiSpec.yaml b/open-api/inspection/openApiSpec.yaml index 19d9776..d9db117 100644 --- a/open-api/inspection/openApiSpec.yaml +++ b/open-api/inspection/openApiSpec.yaml @@ -1459,27 +1459,6 @@ paths: summary: Add a GDPR validation task tags: - GdprValidationTask - /gdpr-validation-tasks/download-packages/{id}: - get: - operationId: getGdprDownloadPackage - parameters: - - in: path - name: id - required: true - schema: - type: string - format: uuid - responses: - "200": - content: - '*/*': - schema: - type: string - format: binary - description: OK - summary: Get Gdpr Download Package by its id - tags: - - GdprValidationTask /gdpr-validation-tasks/notification-banner: get: operationId: getGdprNotificationBanner @@ -1638,6 +1617,33 @@ paths: summary: Get approved Gdpr Download Packages by Gdpr Procedure Id tags: - GdprValidationTask + /gdpr-validation-tasks/{gdprProcedureId}/download-packages/{downloadId}: + get: + operationId: getGdprDownloadPackage + parameters: + - in: path + name: gdprProcedureId + required: true + schema: + type: string + format: uuid + - in: path + name: downloadId + required: true + schema: + type: string + format: uuid + responses: + "200": + content: + '*/*': + schema: + type: string + format: binary + description: OK + summary: Get Gdpr Download Package by the gdprProcedureId and its downloadId + tags: + - GdprValidationTask /import: post: operationId: importProcesses @@ -2656,34 +2662,6 @@ paths: schema: type: string format: uuid - - description: | - Only procedures are returned where the assigneeId of none of the task equals `notAssignedToId`. - If not submitted, no filtering takes place. - in: query - name: notAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Only procedures are returned where the user is or was assigned to at least one task (at least one assigneeId equals `onceAssignedToId` in taskHistory for at least one task). - If not submitted, no filtering takes place. - in: query - name: onceAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Filter logic: - - In case of `true` only procedures are returned where all tasks are unassigned - - In case of `false` only procedures are returned which have at least one assigned task - - If not submitted, no filtering takes place - in: query - name: unassigned - required: false - schema: - type: boolean - description: | Filter logic: - If `procedureType` is submitted, only procedures are returned which have one of the submitted types. @@ -2708,15 +2686,6 @@ paths: items: $ref: "#/components/schemas/ProcedureStatus" uniqueItems: true - - description: | - Filter logic: - - If `createdInYear` is set, only procedures are returned which were created in that year - - If not submitted, no filtering takes place - in: query - name: createdInYear - required: false - schema: - type: string - description: | The following sorting options are available: - `CREATED_AT`: Sorting by createdAt attribute @@ -3305,21 +3274,6 @@ paths: items: $ref: "#/components/schemas/TaskStatus" uniqueItems: true - - in: query - name: hasDueAt - required: false - schema: - type: boolean - - in: query - name: isOverdue - required: false - schema: - type: boolean - - in: query - name: wasAssignedByOther - required: false - schema: - type: boolean - in: query name: sortKey required: true @@ -4783,7 +4737,8 @@ components: - FACILITY CountryCode: type: string - description: List of country codes in ISO 3166-1 alpha-2 format. + description: "List of country codes in ISO 3166-1 alpha-2 format. With custom\ + \ extensions for stateless, non-standard countries, and unknown countries." enum: - AD - AE @@ -5034,6 +4989,9 @@ components: - ZA - ZM - ZW + - XK + - UNKNOWN + - STATELESS CreateApprovalRequestRequest: type: object properties: @@ -8168,6 +8126,9 @@ components: keyDocumentVersion: type: integer format: int32 + previousFileStateId: + type: string + format: uuid systemProgressEntryType: type: string triggerType: diff --git a/open-api/measles-protection/openApiSpec.yaml b/open-api/measles-protection/openApiSpec.yaml index a04c883..4027421 100644 --- a/open-api/measles-protection/openApiSpec.yaml +++ b/open-api/measles-protection/openApiSpec.yaml @@ -612,27 +612,6 @@ paths: summary: Add a GDPR validation task tags: - GdprValidationTask - /gdpr-validation-tasks/download-packages/{id}: - get: - operationId: getGdprDownloadPackage - parameters: - - in: path - name: id - required: true - schema: - type: string - format: uuid - responses: - "200": - content: - '*/*': - schema: - type: string - format: binary - description: OK - summary: Get Gdpr Download Package by its id - tags: - - GdprValidationTask /gdpr-validation-tasks/notification-banner: get: operationId: getGdprNotificationBanner @@ -791,6 +770,33 @@ paths: summary: Get approved Gdpr Download Packages by Gdpr Procedure Id tags: - GdprValidationTask + /gdpr-validation-tasks/{gdprProcedureId}/download-packages/{downloadId}: + get: + operationId: getGdprDownloadPackage + parameters: + - in: path + name: gdprProcedureId + required: true + schema: + type: string + format: uuid + - in: path + name: downloadId + required: true + schema: + type: string + format: uuid + responses: + "200": + content: + '*/*': + schema: + type: string + format: binary + description: OK + summary: Get Gdpr Download Package by the gdprProcedureId and its downloadId + tags: + - GdprValidationTask /inbox-procedures: get: description: | @@ -1039,34 +1045,6 @@ paths: schema: type: string format: uuid - - description: | - Only procedures are returned where the assigneeId of none of the task equals `notAssignedToId`. - If not submitted, no filtering takes place. - in: query - name: notAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Only procedures are returned where the user is or was assigned to at least one task (at least one assigneeId equals `onceAssignedToId` in taskHistory for at least one task). - If not submitted, no filtering takes place. - in: query - name: onceAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Filter logic: - - In case of `true` only procedures are returned where all tasks are unassigned - - In case of `false` only procedures are returned which have at least one assigned task - - If not submitted, no filtering takes place - in: query - name: unassigned - required: false - schema: - type: boolean - description: | Filter logic: - If `procedureType` is submitted, only procedures are returned which have one of the submitted types. @@ -1091,15 +1069,6 @@ paths: items: $ref: "#/components/schemas/ProcedureStatus" uniqueItems: true - - description: | - Filter logic: - - If `createdInYear` is set, only procedures are returned which were created in that year - - If not submitted, no filtering takes place - in: query - name: createdInYear - required: false - schema: - type: string - description: | The following sorting options are available: - `CREATED_AT`: Sorting by createdAt attribute @@ -2405,21 +2374,6 @@ paths: items: $ref: "#/components/schemas/TaskStatus" uniqueItems: true - - in: query - name: hasDueAt - required: false - schema: - type: boolean - - in: query - name: isOverdue - required: false - schema: - type: boolean - - in: query - name: wasAssignedByOther - required: false - schema: - type: boolean - in: query name: sortKey required: true @@ -3441,7 +3395,8 @@ components: - FACILITY CountryCode: type: string - description: List of country codes in ISO 3166-1 alpha-2 format. + description: "List of country codes in ISO 3166-1 alpha-2 format. With custom\ + \ extensions for stateless, non-standard countries, and unknown countries." enum: - AD - AE @@ -3692,6 +3647,9 @@ components: - ZA - ZM - ZW + - XK + - UNKNOWN + - STATELESS CreateAccessRestriction: type: object properties: @@ -6142,6 +6100,9 @@ components: keyDocumentVersion: type: integer format: int32 + previousFileStateId: + type: string + format: uuid systemProgressEntryType: type: string triggerType: diff --git a/open-api/procedure/openApiSpec.yaml b/open-api/procedure/openApiSpec.yaml index 73d4830..96294ba 100644 --- a/open-api/procedure/openApiSpec.yaml +++ b/open-api/procedure/openApiSpec.yaml @@ -441,27 +441,6 @@ paths: summary: Add a GDPR validation task tags: - GdprValidationTask - /gdpr-validation-tasks/download-packages/{id}: - get: - operationId: getGdprDownloadPackage - parameters: - - in: path - name: id - required: true - schema: - type: string - format: uuid - responses: - "200": - content: - '*/*': - schema: - type: string - format: binary - description: OK - summary: Get Gdpr Download Package by its id - tags: - - GdprValidationTask /gdpr-validation-tasks/notification-banner: get: operationId: getGdprNotificationBanner @@ -620,6 +599,33 @@ paths: summary: Get approved Gdpr Download Packages by Gdpr Procedure Id tags: - GdprValidationTask + /gdpr-validation-tasks/{gdprProcedureId}/download-packages/{downloadId}: + get: + operationId: getGdprDownloadPackage + parameters: + - in: path + name: gdprProcedureId + required: true + schema: + type: string + format: uuid + - in: path + name: downloadId + required: true + schema: + type: string + format: uuid + responses: + "200": + content: + '*/*': + schema: + type: string + format: binary + description: OK + summary: Get Gdpr Download Package by the gdprProcedureId and its downloadId + tags: + - GdprValidationTask /inbox-procedures: get: description: | @@ -824,34 +830,6 @@ paths: schema: type: string format: uuid - - description: | - Only procedures are returned where the assigneeId of none of the task equals `notAssignedToId`. - If not submitted, no filtering takes place. - in: query - name: notAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Only procedures are returned where the user is or was assigned to at least one task (at least one assigneeId equals `onceAssignedToId` in taskHistory for at least one task). - If not submitted, no filtering takes place. - in: query - name: onceAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Filter logic: - - In case of `true` only procedures are returned where all tasks are unassigned - - In case of `false` only procedures are returned which have at least one assigned task - - If not submitted, no filtering takes place - in: query - name: unassigned - required: false - schema: - type: boolean - description: | Filter logic: - If `procedureType` is submitted, only procedures are returned which have one of the submitted types. @@ -876,15 +854,6 @@ paths: items: $ref: "#/components/schemas/ProcedureStatus" uniqueItems: true - - description: | - Filter logic: - - If `createdInYear` is set, only procedures are returned which were created in that year - - If not submitted, no filtering takes place - in: query - name: createdInYear - required: false - schema: - type: string - description: | The following sorting options are available: - `CREATED_AT`: Sorting by createdAt attribute @@ -1483,21 +1452,6 @@ paths: items: $ref: "#/components/schemas/TaskStatus" uniqueItems: true - - in: query - name: hasDueAt - required: false - schema: - type: boolean - - in: query - name: isOverdue - required: false - schema: - type: boolean - - in: query - name: wasAssignedByOther - required: false - schema: - type: boolean - in: query name: sortKey required: true @@ -2046,7 +2000,8 @@ components: - FACILITY CountryCode: type: string - description: List of country codes in ISO 3166-1 alpha-2 format. + description: "List of country codes in ISO 3166-1 alpha-2 format. With custom\ + \ extensions for stateless, non-standard countries, and unknown countries." enum: - AD - AE @@ -2297,6 +2252,9 @@ components: - ZA - ZM - ZW + - XK + - UNKNOWN + - STATELESS CreateApprovalRequestRequest: type: object properties: @@ -4000,6 +3958,9 @@ components: keyDocumentVersion: type: integer format: int32 + previousFileStateId: + type: string + format: uuid systemProgressEntryType: type: string triggerType: diff --git a/open-api/school-entry/openApiSpec.yaml b/open-api/school-entry/openApiSpec.yaml index 3e161ff..6d9555d 100644 --- a/open-api/school-entry/openApiSpec.yaml +++ b/open-api/school-entry/openApiSpec.yaml @@ -729,27 +729,6 @@ paths: summary: Add a GDPR validation task tags: - GdprValidationTask - /gdpr-validation-tasks/download-packages/{id}: - get: - operationId: getGdprDownloadPackage - parameters: - - in: path - name: id - required: true - schema: - type: string - format: uuid - responses: - "200": - content: - '*/*': - schema: - type: string - format: binary - description: OK - summary: Get Gdpr Download Package by its id - tags: - - GdprValidationTask /gdpr-validation-tasks/notification-banner: get: operationId: getGdprNotificationBanner @@ -908,6 +887,33 @@ paths: summary: Get approved Gdpr Download Packages by Gdpr Procedure Id tags: - GdprValidationTask + /gdpr-validation-tasks/{gdprProcedureId}/download-packages/{downloadId}: + get: + operationId: getGdprDownloadPackage + parameters: + - in: path + name: gdprProcedureId + required: true + schema: + type: string + format: uuid + - in: path + name: downloadId + required: true + schema: + type: string + format: uuid + responses: + "200": + content: + '*/*': + schema: + type: string + format: binary + description: OK + summary: Get Gdpr Download Package by the gdprProcedureId and its downloadId + tags: + - GdprValidationTask /import/citizen-list: post: operationId: importCitizenList @@ -1268,34 +1274,6 @@ paths: schema: type: string format: uuid - - description: | - Only procedures are returned where the assigneeId of none of the task equals `notAssignedToId`. - If not submitted, no filtering takes place. - in: query - name: notAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Only procedures are returned where the user is or was assigned to at least one task (at least one assigneeId equals `onceAssignedToId` in taskHistory for at least one task). - If not submitted, no filtering takes place. - in: query - name: onceAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Filter logic: - - In case of `true` only procedures are returned where all tasks are unassigned - - In case of `false` only procedures are returned which have at least one assigned task - - If not submitted, no filtering takes place - in: query - name: unassigned - required: false - schema: - type: boolean - description: | Filter logic: - If `procedureType` is submitted, only procedures are returned which have one of the submitted types. @@ -1320,15 +1298,6 @@ paths: items: $ref: "#/components/schemas/ProcedureStatus" uniqueItems: true - - description: | - Filter logic: - - If `createdInYear` is set, only procedures are returned which were created in that year - - If not submitted, no filtering takes place - in: query - name: createdInYear - required: false - schema: - type: string - description: | The following sorting options are available: - `CREATED_AT`: Sorting by createdAt attribute @@ -2859,21 +2828,6 @@ paths: items: $ref: "#/components/schemas/TaskStatus" uniqueItems: true - - in: query - name: hasDueAt - required: false - schema: - type: boolean - - in: query - name: isOverdue - required: false - schema: - type: boolean - - in: query - name: wasAssignedByOther - required: false - schema: - type: boolean - in: query name: sortKey required: true @@ -3934,7 +3888,8 @@ components: - FACILITY CountryCode: type: string - description: List of country codes in ISO 3166-1 alpha-2 format. + description: "List of country codes in ISO 3166-1 alpha-2 format. With custom\ + \ extensions for stateless, non-standard countries, and unknown countries." enum: - AD - AE @@ -4185,6 +4140,9 @@ components: - ZA - ZM - ZW + - XK + - UNKNOWN + - STATELESS CreateAppointmentBlockGroupResponse: type: object properties: @@ -7729,6 +7687,9 @@ components: keyDocumentVersion: type: integer format: int32 + previousFileStateId: + type: string + format: uuid systemProgressEntryType: type: string triggerType: diff --git a/open-api/statistic/openApiSpec.yaml b/open-api/statistic/openApiSpec.yaml index 6312cd4..338a4bc 100644 --- a/open-api/statistic/openApiSpec.yaml +++ b/open-api/statistic/openApiSpec.yaml @@ -1708,6 +1708,30 @@ components: - code - displayName - name + BaseModuleIdAttribute: + type: object + allOf: + - $ref: "#/components/schemas/AbstractTableColumnHeaderAttribute" + - type: object + properties: + baseAttribute: + oneOf: + - $ref: "#/components/schemas/BaseModuleIdAttribute" + - $ref: "#/components/schemas/BooleanAttribute" + - $ref: "#/components/schemas/DateAttribute" + - $ref: "#/components/schemas/DecimalAttribute" + - $ref: "#/components/schemas/IntegerAttribute" + - $ref: "#/components/schemas/ProcedureReferenceAttribute" + - $ref: "#/components/schemas/TextAttribute" + - $ref: "#/components/schemas/ValueWithOptionsAttribute" + code: + type: string + name: + type: string + required: + - baseAttribute + - code + - name BinningMode: type: string enum: @@ -1793,30 +1817,6 @@ components: enum: - MEAN - SUM - CentralFileIdAttribute: - type: object - allOf: - - $ref: "#/components/schemas/AbstractTableColumnHeaderAttribute" - - type: object - properties: - baseAttribute: - oneOf: - - $ref: "#/components/schemas/BooleanAttribute" - - $ref: "#/components/schemas/CentralFileIdAttribute" - - $ref: "#/components/schemas/DateAttribute" - - $ref: "#/components/schemas/DecimalAttribute" - - $ref: "#/components/schemas/IntegerAttribute" - - $ref: "#/components/schemas/ProcedureReferenceAttribute" - - $ref: "#/components/schemas/TextAttribute" - - $ref: "#/components/schemas/ValueWithOptionsAttribute" - code: - type: string - name: - type: string - required: - - baseAttribute - - code - - name ChoroplethMapConfiguration: type: object allOf: @@ -3458,8 +3458,8 @@ components: properties: attribute: oneOf: + - $ref: "#/components/schemas/BaseModuleIdAttribute" - $ref: "#/components/schemas/BooleanAttribute" - - $ref: "#/components/schemas/CentralFileIdAttribute" - $ref: "#/components/schemas/DateAttribute" - $ref: "#/components/schemas/DecimalAttribute" - $ref: "#/components/schemas/IntegerAttribute" diff --git a/open-api/travel-medicine/openApiSpec.yaml b/open-api/travel-medicine/openApiSpec.yaml index ce22d11..625a704 100644 --- a/open-api/travel-medicine/openApiSpec.yaml +++ b/open-api/travel-medicine/openApiSpec.yaml @@ -1019,27 +1019,6 @@ paths: summary: Add a GDPR validation task tags: - GdprValidationTask - /gdpr-validation-tasks/download-packages/{id}: - get: - operationId: getGdprDownloadPackage - parameters: - - in: path - name: id - required: true - schema: - type: string - format: uuid - responses: - "200": - content: - '*/*': - schema: - type: string - format: binary - description: OK - summary: Get Gdpr Download Package by its id - tags: - - GdprValidationTask /gdpr-validation-tasks/notification-banner: get: operationId: getGdprNotificationBanner @@ -1198,6 +1177,33 @@ paths: summary: Get approved Gdpr Download Packages by Gdpr Procedure Id tags: - GdprValidationTask + /gdpr-validation-tasks/{gdprProcedureId}/download-packages/{downloadId}: + get: + operationId: getGdprDownloadPackage + parameters: + - in: path + name: gdprProcedureId + required: true + schema: + type: string + format: uuid + - in: path + name: downloadId + required: true + schema: + type: string + format: uuid + responses: + "200": + content: + '*/*': + schema: + type: string + format: binary + description: OK + summary: Get Gdpr Download Package by the gdprProcedureId and its downloadId + tags: + - GdprValidationTask /inbox-procedures: get: description: | @@ -1810,34 +1816,6 @@ paths: schema: type: string format: uuid - - description: | - Only procedures are returned where the assigneeId of none of the task equals `notAssignedToId`. - If not submitted, no filtering takes place. - in: query - name: notAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Only procedures are returned where the user is or was assigned to at least one task (at least one assigneeId equals `onceAssignedToId` in taskHistory for at least one task). - If not submitted, no filtering takes place. - in: query - name: onceAssignedToId - required: false - schema: - type: string - format: uuid - - description: | - Filter logic: - - In case of `true` only procedures are returned where all tasks are unassigned - - In case of `false` only procedures are returned which have at least one assigned task - - If not submitted, no filtering takes place - in: query - name: unassigned - required: false - schema: - type: boolean - description: | Filter logic: - If `procedureType` is submitted, only procedures are returned which have one of the submitted types. @@ -1862,15 +1840,6 @@ paths: items: $ref: "#/components/schemas/ProcedureStatus" uniqueItems: true - - description: | - Filter logic: - - If `createdInYear` is set, only procedures are returned which were created in that year - - If not submitted, no filtering takes place - in: query - name: createdInYear - required: false - schema: - type: string - description: | The following sorting options are available: - `CREATED_AT`: Sorting by createdAt attribute @@ -2440,21 +2409,6 @@ paths: items: $ref: "#/components/schemas/TaskStatus" uniqueItems: true - - in: query - name: hasDueAt - required: false - schema: - type: boolean - - in: query - name: isOverdue - required: false - schema: - type: boolean - - in: query - name: wasAssignedByOther - required: false - schema: - type: boolean - in: query name: sortKey required: true @@ -4042,7 +3996,8 @@ components: - FACILITY CountryCode: type: string - description: List of country codes in ISO 3166-1 alpha-2 format. + description: "List of country codes in ISO 3166-1 alpha-2 format. With custom\ + \ extensions for stateless, non-standard countries, and unknown countries." enum: - AD - AE @@ -4293,6 +4248,9 @@ components: - ZA - ZM - ZW + - XK + - UNKNOWN + - STATELESS CreateAppointmentBlockGroupResponse: type: object properties: @@ -7507,6 +7465,9 @@ components: keyDocumentVersion: type: integer format: int32 + previousFileStateId: + type: string + format: uuid systemProgressEntryType: type: string triggerType: diff --git a/solution-strategy/base-modules/open-data/open-data.adoc b/solution-strategy/base-modules/open-data/open-data.adoc index 058c6ff..0e84732 100644 --- a/solution-strategy/base-modules/open-data/open-data.adoc +++ b/solution-strategy/base-modules/open-data/open-data.adoc @@ -93,24 +93,7 @@ Modify an existing resource/version PUT /open-documents/{versionId} ---- -== Functionality for statistic module -Employees who have access to the statistics module can transfer csv files that were created in the -link:../statistics-module/statistics.adoc[statistics module] -to the open data module. On the one hand, these files (including metadata) are then directly -available in the online portal. On the other hand, they can be edited or deleted by employees. -[source] ----- -POST /open-documents ----- - == Notes -Due to the different sources for files (including metadata), there are special features -when creating resources or versions with regard to versioning and naming logic. - -*Version name* - -If the version is transferred from the statistics module, the transferred resource name is also used as the version name. -If the version is uploaded manually in the employee portal, the employee has the option of entering the version name manually. *Version logic* diff --git a/solution-strategy/business-modules/sti-protection/subdir/domain/entity-consultation.adoc b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-consultation.adoc new file mode 100644 index 0000000..4939776 --- /dev/null +++ b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-consultation.adoc @@ -0,0 +1,23 @@ +=== Entity Consultation + +Documents detailed patient information, including anamnesis review, medical +history, and referrals. + +.Attributes of `Consultation` +[cols="2,1,1,3"] +|=== +|Attribute | Card. | Type | Description + +|generalSection +|[0..1] +|GeneralSection +|General patient details, including language proficiency, gender information, +and health insurance data. + +|pregnancySection +|[0..1] +|PregnancySection +|Pregnancy-related details, including the number of previous pregnancies and +abortions. + +|=== \ No newline at end of file diff --git a/solution-strategy/business-modules/sti-protection/subdir/domain/entity-diagnosis.adoc b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-diagnosis.adoc new file mode 100644 index 0000000..6107854 --- /dev/null +++ b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-diagnosis.adoc @@ -0,0 +1,48 @@ +=== Entity Diagnosis + +Documents diagnostic outcomes and related details following the consultation and +completion of tests. + +.Attributes of `Diagnosis` +[cols="2,1,1,3"] +|=== +|Attribute | Card. | Type | Description + +|results +|[0..1] +|String +|Details the results of the diagnosis. + +|medications +|[0..*] +|Medication +|Lists prescribed medications. + +|findings +|[0..1] +|Icd10Code +|Records diagnostic findings using ICD-10 codes. + +|testTypes +|[0..1] +|TestType +|Specifies the type of laboratory tests conducted during examination. + +|otherTestTypeName +|[0..1] +|String +|Provides the name of a test type not included in the predefined list. + +|generalRemarks +|[0..1] +|String +|Additional remarks or observations documented during the diagnosis phase. + +|resultsCommunicated +|[0..1] +|Boolean +|Indicates whether the patient has been informed of their diagnostic results and +updates the laboratory status to 'CLOSE'. + +|=== + diff --git a/solution-strategy/business-modules/sti-protection/subdir/domain/entity-general-section.adoc b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-general-section.adoc new file mode 100644 index 0000000..f90dfaf --- /dev/null +++ b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-general-section.adoc @@ -0,0 +1,78 @@ +=== Entity GeneralSection + +Is used for the consultation and contains general patient details, including +language proficiency, gender information, and health insurance data. + +.Attributes of `GeneralSection` +[cols="2,1,1,3"] +|=== +|Attribute | Card. | Type | Description + +|mainReason +|[0..1] +|String +|Primary reason for the patient's consultation. + +|furtherGenderInfo +|[0..1] +|String +|Additional gender-related information. + +|hasSufficientGermanLanguageSkills +|[0..1] +|Boolean +|Indicates whether the patient has sufficient German language skills. + +|isIlliterate +|[0..1] +|Boolean +|Indicates whether the patient is illiterate. + +|otherKnownLanguages +|[0..1] +|String +|Other languages the patient can speak or understand. + +|hasHealthInsurance +|[0..1] +|Boolean +|Indicates whether the patient has any form of health insurance. + +|hasGermanHealthInsurance +|[0..1] +|Boolean +|Indicates whether the patient has German health insurance. + +|hasInsecureResidence +|[0..1] +|Boolean +|Indicates whether the patient's residency status is insecure. + +|hasSymptoms +|[0..1] +|Boolean +|Indicates whether the patient has any symptoms. + +|symptoms +|[0..1] +|String +|Details the symptoms reported by the patient. + +|drugUse +|[0..1] +|String +|Records the patient's drug use or consumption. + +|referral +|[0..1] +|String +|Details any referral made to another department or specialist. + +|notes +|[0..1] +|String +|Optional field for additional remarks or comments during the consultation. + +|=== + + diff --git a/solution-strategy/business-modules/sti-protection/subdir/domain/entity-laboratory-test-examination.adoc b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-laboratory-test-examination.adoc index 2eb4396..3d2633c 100644 --- a/solution-strategy/business-modules/sti-protection/subdir/domain/entity-laboratory-test-examination.adoc +++ b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-laboratory-test-examination.adoc @@ -22,7 +22,7 @@ results. |testsConducted |[0..1] |Boolean -|Indicates if the tests were conducted and is used for the `LaboryStatus`. +|Indicates if the tests were conducted and is used for the `LaboratoryStatus`. |testsPayed |[0..1] diff --git a/solution-strategy/business-modules/sti-protection/subdir/domain/entity-medication.adoc b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-medication.adoc new file mode 100644 index 0000000..6057e6c --- /dev/null +++ b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-medication.adoc @@ -0,0 +1,28 @@ +=== Entity Medication + +Lists prescribed medications. + +.Attributes of `Medication` +[cols="2,1,1,3"] +|=== +|Attribute | Card. | Type | Description + +|name +|[0..1] +|String +|Name of the prescribed medication. + +|dose +|[0..1] +|String +|Prescribed dosage of the medication. + +|prescriptionDate +|[0..1] +|LocalDate +|Date the medication was prescribed. + +|=== + + + diff --git a/solution-strategy/business-modules/sti-protection/subdir/domain/entity-pregnancy-section.adoc b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-pregnancy-section.adoc new file mode 100644 index 0000000..90078fe --- /dev/null +++ b/solution-strategy/business-modules/sti-protection/subdir/domain/entity-pregnancy-section.adoc @@ -0,0 +1,51 @@ +=== Entity PregnancySection + +Is used for the consultation and records pregnancy-related details, such as the +number of previous pregnancies or induced abortions. + +.Attributes of `PregnancySection` +[cols="2,1,1,3"] +|=== +|Attribute | Card. | Type | Description + +|hasPregnancyRelatedInfo +|[0..1] +|Boolean +|Indicates whether pregnancy-related information is provided. + +|lastCytologyTest +|[0..1] +|LocalDate +|Date of the patient's most recent cytology test. + +|startOfLastPeriod +|[0..1] +|LocalDate +|Start date of the patient's last menstrual period. + +|numberOfPregnancies +|[0..1] +|Integer +|Total number of pregnancies the patient had. + +|numberOfInducedAbortions +|[0..1] +|Integer +|Number of induced abortions the patient had. + +|numberOfBirths +|[0..1] +|Integer +|Total number of births the patient had. + +|numberOfOtherAbortions +|[0..1] +|Integer +|Number of abortions due to other reasons. + +|numberOfEctopicPregnancies +|[0..1] +|Integer +|Number of ectopic pregnancies, developed outside the uterus. + +|=== \ No newline at end of file diff --git a/solution-strategy/business-modules/sti-protection/subdir/domain/enum-test-type.adoc b/solution-strategy/business-modules/sti-protection/subdir/domain/enum-test-type.adoc new file mode 100644 index 0000000..3ce80ec --- /dev/null +++ b/solution-strategy/business-modules/sti-protection/subdir/domain/enum-test-type.adoc @@ -0,0 +1,22 @@ +=== Enumeration TestType + +Specifies the type of laboratory tests conducted during examination. + +.Attributes of `TestType` +[cols="1,3"] +|=== +|Value | Description + +|WESTERN_BLOT +|Specifies that the Western Blot method was used. + +|P24 +|Specifies that a p24 antigen test was used. + +|PCR +|Specifies that a PCR test was performed. + +|OTHER +|Represents any test type not listed. + +|=== \ No newline at end of file diff --git a/solution-strategy/business-modules/sti-protection/uml/domain/sti-protection-domain-model.puml b/solution-strategy/business-modules/sti-protection/uml/domain/sti-protection-domain-model.puml index ee52a78..815044c 100644 --- a/solution-strategy/business-modules/sti-protection/uml/domain/sti-protection-domain-model.puml +++ b/solution-strategy/business-modules/sti-protection/uml/domain/sti-protection-domain-model.puml @@ -29,6 +29,50 @@ class AppointmentHistoryEntry #Lightyellow { appointmentStatus: AppointmentStatus [1..1] } +class Consultation #Lightyellow { +} + +class GeneralSection #Lightyellow { + mainReason: String [0..1] + furtherGenderInfo: String [0..1] + hasSufficientGermanLanguageSkills: Boolean [0..1] + isIlliterate: Boolean [0..1] + otherKnownLanguages: String [0..1] + hasHealthInsurance: Boolean [0..1] + hasGermanHealthInsurance: Boolean [0..1] + hasInsecureResidence: Boolean [0..1] + hasSymptoms: Boolean [0..1] + symptoms: String [0..1] + drugUse: String [0..1] + referral: String [0..1] + notes: String [0..1] +} + +class PregnancySection #Lightyellow { + hasPregnancyRelatedInfo: Boolean [0..1] + lastCytologyTest: LocalDate [0..1] + startOfLastPeriod: LocalDate [0..1] + numberOfPregnancies: Integer [0..1] + numberOfInducedAbortions: Integer [0..1] + numberOfBirths: Integer [0..1] + numberOfOtherAbortions: Integer [0..1] + numberOfEctopicPregnancies: Integer [0..1] +} + +class Diagnosis #Lightyellow { + results: String [0..1] + testTypes: TestType [0..1] + otherTestTypeName: String [0..1] + generalRemarks: String [0..1] + resultsCommunicated: Boolean [0..1] +} + +class Medication #Lightyellow { + name: String [0..1] + dose: String [0..1] + prescriptionDate: LocalDate [0..1] +} + class Examination #Lightyellow { hepA: Boolean [0..1] hepB: Boolean [0..1] @@ -301,6 +345,13 @@ enum SexWorkLocation #Lightyellow { OTHER } +enum TestType #Lightyellow { + WESTERN_BLOT + P24 + PCR + OTHER +} + enum Vaccination #Lightyellow { HEPATITIS_A, HEPATITIS_B, @@ -320,6 +371,8 @@ enum WaitingStatus #Lightyellow { StiProtectionProcedure -up-|> Procedure StiProtectionProcedure "1..1" *-- "1..1" MedicalHistory StiProtectionProcedure "1..1" *-- "0..1" Appointment +StiProtectionProcedure "1..1" *-- "1..1" Consultation +StiProtectionProcedure "1..1" *-- "1..1" Diagnosis StiProtectionProcedure "1..1" *-- "0..1" UserDefinedAppointment StiProtectionProcedure "1..1" *-- "0..1" AppointmentHistoryEntry StiProtectionProcedure "1..1" *-- "0..1" WaitingRoom @@ -336,11 +389,12 @@ MedicalHistory *-u- RiskFactor: "0..1" SexWorkMedicalHistory *-- SexWorkRiskContact : "0..1" StiProtectionProcedure "1..1" *-- "1..1" RapidTestExamination RapidTestExamination *-- RapidTestData - StiProtectionProcedure "1..1" *-- "1..1" LaboratoryTestExamination LaboratoryTestExamination *-- LaboratoryTest LaboratoryTestExamination *-- HepatitisLaboratoryTest - +Consultation *-u- GeneralSection: "0..1" +Consultation *-u- PregnancySection: "0..1" +Diagnosis *-u- Medication: "0..*" -- GitLab