Änderung in I_Information_Service_Accounts.yaml
(Basis: Version 1.8,0)
Ergänze Fehlerbedingung 'requestRejected' in Operation 'postMergePackageDeliveryIncident':
operationId: postMergePackageDeliveryIncident
summary: (postMergePackageDeliveryIncident) Notify merge package requestor about problems
description: |
Notify a merge package requestor about merge rejection or problems preparing the merge package.</br>
**Client**:</br>
A client (merge provider) shall always invoke this operation when merge package provision is not possible,
shall be revoked or is significantly delayed or success notification is pending too long, i.e a client either initiates the
termination of the merge process due to client side problems or request the completion or even abortion
carried out by the provider (the _merger_ side).
A client sending a _mergeAborted_ incident shall invalidate _requestId_, _download-url_ and delete the merge package
on client side only in case of a success response of the provider (merger).
A client shall avoid sending a _mergeAborted_ incident after sending the download url by _putDownloadUrlForMergePackage_,
respectively after a successful download of the merge package. The incident may be rejected in such situation and the client
shall not send the incident repeatedly but wait for the provider (merger) to either finish the process (_finalizeMerge_)
or send an incident (_postMergePackageIncident_).
**Provider**:</br>
The information shall be passed to the responsible actor (insurance company associated to provider)
by proprietary means to allow suitable actions of the actor.
Incidents shall cause the following behaviour:
- noMergeConfirmation
- The notification about a successful merge of content or about incidents has not been received yet.
Request will be terminated after a suitable waiting period.
- mergeAborted:
- Merge package can not or no longer be provided (severe technical reason or repeated missing merge confirmation).
Request shall be terminated, _requestId_ shall be invalidated and a merge package shall be deleted (if any).
- mergeRejected:
- Merge package will not be provided for business reasons. The whole request is rejected by exporting provider.
An incident of type _mergeAborted_ may be rejected if the related action (the merge of a downloaded merge package) is already ongoing.
| Conditions | Status code | Error code | Remarks |
|------------|-------------|------------|---------|
| Successful operation | 204 |||
| Request does not match schema | 400 | malformedRequest ||
| No mutual TLS channel used | 403 | accessDenied ||
| Request unknown (_requestid_ ) | 404 | noResource | no ongoing merge request for this id known |
| Incident rejected | 409 | requestRejected | _mergeAborted_ incident only |
| Any other error | 500 | internalError ||
</br>
| Postconditions | Remarks |
|---------------------------------------|---------|
| Incident delivered internally ||
| Request aborted | for mergeAborted and mergeRejected |
requestBody:
required: true
content:
application/json:
examples:
Export package generation waiting for bugfix:
value:
'noMergeConfirmation'
schema:
description: |
An incident about request of a merge package:
- 'noMergeConfirmation' : waiting for merge confirmation.
- 'mergeAborted' : can not provide merge package or merge aborted. Retry of request recommended
- 'mergeRejected' : will not provide export package for business reasons, merge rejected and transaction (merge) aborted.
type: string
enum:
- 'noMergeConfirmation'
- 'mergeAborted'
- 'mergeRejected'
responses:
'204':
description: Ok.
headers:
X-Request-ID:
$ref: '#/components/headers/xrequestid'
'400':
$ref: '#/components/responses/Error400BadRequest'
'403':
$ref: '#/components/responses/Error403Forbidden'
'404':
$ref: "#/components/responses/Error404NotFound"
'409':
description: Conflict.
headers:
X-Request-ID:
$ref: '#/components/headers/xrequestid'
content:
application/json:
example:
errorCode: requestRejected
schema:
$ref: '#/components/schemas/ErrorType'
'500':
$ref: '#/components/responses/Error500InternalError'
Entferne Fehlerbedingung für ePA-2.6 Migration aus Operation 'startRelocation':
operationId: startRelocation
summary: (startRelocation) Initiate export package preparation for download
description: |
Starts a new health record relocation process and initiates the preparation of an export package
in case the requested health record exists. A _requestId_ for reference is returned.
**Client**
A client shall use this function before activation (record state ACTIVATED) of the health record to import
contents of an existing health record from another provider.
Before calling _startRelocation_, the client shall invoke the _getGeneralConsentDecision_
operation **immediately before** _startRelocation_ to ensure the relocation decision is based
on the latest consent status.
**Provider**
Creates a requestId in case the addressed health record exists and is in state ACTIVATED.
A health record in state SUSPENDED has an already prepared export package which shall not
be created twice.
The health record export package generation shall be initialized by passing the _requestId_
to the responsible actors (insurance company associated to provider) by proprietary means.</br>
The provider shall add a resource identified by _requestId_ (as just created) in provider's
_Information Service Account_ path _/accounts/v1/exportpackagegeneration/{requestid}_
to enable reception of notifications about the request.
The provider shall use the common name of the C.FD.TLS-C certificate (an FQDN), on which the mutual TLS connection is based,
as the identification of the requesting health record system in order to enable correct association of the requestor, the
_requestid_, and the encryption credentials, e.g for later hsm usage in a subsequent export package preparation.
The provider shall reject the request if the health record has a pending migration from an epa-2.x health record.
| Conditions | Status code | Error code | Remarks |
|------------|-------------|------------|---------|
| Successful operation | 200 |||
| Request does not match schema | 400 | malformedRequest ||
| No mutual TLS channel used | 403 | accessDenied ||
| Health record does not exist (UNKNOWN) or is in state INITIALIZED | 404 | noHealthRecord | |
| Health record is in state SUSPENDED or INACCESSIBLE| 409 | statusMismatch | (see 'Retry interval') |
| Health record with pending epa-2.x migration | 409 | pendingMigration ||
| Any other error | 500 | internalError ||
</br>
| Postconditions | Remarks |
|---------------------------------------|---------|
| Export package preparation is internally requested ||
| A resource with id _requestId_ is available via path ||