Ihre Meinung macht den Unterschied
Jetzt Feedback zum gematik Fachportal geben!

Unterstützen Sie uns dabei, das gematik Fachportal weiter zu verbessern.
Was funktioniert gut? Wo sehen Sie Optimierungsbedarf? Nehmen Sie sich einen Moment Zeit und bringen Sie Ihre Perspektive ein.

Hier geht es zur Umfrage

C_12603_Anlage_V1.0.0


C_12603_Anlage

Änderungen im Grobkonzept

Anpassung des Statusdiagramms zur ePA entsprechend der Anpassungen in Tabelle 2 aus gemSpec_Aktensystem_ePAfueralle.

Änderungen in gemSpec_Aktensystem_ePAfueralle

Anpassung an "Tabelle 2: Zustandswechsel im Lebenszyklus eines Aktenkontos":

Zustand
Erläuterung
zulässige Transitionen
Folgezustand
UNKNOWN
Für einen Versicherten existiert kein Aktenkonto.
Konto initialisieren

INITIALIZED
INITIALIZED
Ein neues Aktenkonto ist konfiguriert und für eine Aktivierung vorbereitet. Die initialen Befugnisse sind erstellt. Eine Nutzung des Aktenkontos im Versorgungsprozess und die Nutzung medizinischer Dokumente ist jedoch erst nach der Aktivierung möglich.
Die Daten eines existierenden Aktenkontos werden importiert.
Widerspruch gegen die Nutzung der ePA
UNKNOWN
Explizite Aktivierung des Kontos durch den Anbieter. Bei existierendem Aktenkonto bei einem anderen Anbieter erfolgt die Aktivierung erst nach einem Import der Daten des Aktenkontos.


ACTIVATED
Der Status konnte nicht auf ACTIVATED gewechselt werden, da eine weitere aktivierte Akte gefunden wurde. INACCESSIBLE
ACTIVATED
Das Aktenkonto ist aktiv und kann von befugten Nutzern und Nutzergruppen im Versorgungsprozess verwendet werden.
Vorbereitung des Umzugs des Aktenkontos zu einem anderen Anbieter (Erstellung des Exportpakets)
SUSPENDED
Widerspruch gegen die Nutzung der ePA 
UNKNOWN
Eine Datenmigration kann nicht durchgeführt werden.
Das Aktenkonto soll aus Wartungsgründen nicht durch befugte Nutzer und Nutzergruppen verwendet werden
INACCESSIBLE
SUSPENDED Die Daten des Aktenkontos des Versicherten werden zu einem neuen Anbieter übertragen.
Die Nutzung des Aktenkontos ist in diesem Zustand nicht möglich.
Erfolgreicher Abschluss des Umzugs
Widerspruch gegen die Nutzung der ePA
UNKNOWN
Der Bereitstellungszeitraum des Exportpakets ist abgelaufen. ACTIVATED
Der Status konnte nicht auf ACTIVATED gewechselt werden, da eine weitere aktivierte Akte gefunden wurde. INACCESSIBLE
INACCESSIBLE Das Aktenkonto kann aus Wartungsgründen derzeit nicht verwendet werden.

Dies kann z. B. der Fall sein, wenn Datenmigrationen bei der Aktualisierung auf eine neuere ePA-Versionen noch nicht durchgeführt werden konnte.
INACCESSIBLE wird erfolgreich durchgeführt.
Die Anlässe für diesen Zustand sind entfallen (z.B. Datenmigration wurde erfolgreich durchgeführt)
ACTIVATED
Widerspruch gegen die Nutzung der ePA
UNKNOWN
Der Status konnte nicht auf ACTIVATED gewechselt werden, da eine weitere aktivierte Akte gefunden wurde. INACCESSIBLE

Neue Anforderung in Kapitel "3.1.2 Lebenszyklus und Zustände eines Aktenkontos":

A_28686 - Prüfung vor Wechsel in den Status ACTIVATED

Das ePA-Aktensystem MUSS unmittelbar vor dem Wechsel in den Status ACTIVATED prüfen, ob bei einem anderen ePA-Aktensystem für die verwendete KVNR schon ein Aktenkonto im Status ACTIVATED vorliegt und im Fall des Fundes eines solchen Aktenkontos den Statuswechsel abbrechen, den Status INACCESSIBLE mit der Ursache "fehlgeschlagener Statuswechsel ACTIVATED" setzen und die Situation durch den Anbieter oder Betreiber des ePA-Aktensystems auflösen lassen. [<=]

Entferne Anforderung aus Kapitel "3.2.2 Aktenkontoumzug (Health Record Relocation)":

Die Anforderung A_28697 wird entfernt.

Änderungen in gemILF_PS_ePA:

Anpassung in Kapitel "3.4 Lokalisierung der Akte eines Versicherten":

Konnte das Aktenkonto ermittelt werden, wird der zuständige Service-Endpunkt gespeichert. Gibt der Informationsdienst den Aktenkonto-Status "Unknown" (http 404) zurück, wiederholt das Primärsystem den Aufruf beim nächsten bei den weiteren Aktensystemen.

Gibt der Informationsdienst eine "Statusabweichung" (http 409) zurück, dann ist das Aktenkonto diesem Aktensystem zugeordnet, es kann aber derzeit nicht produktiv genutzt werden. Da die "Statusabweichung" (http 409) durch einen Umzug des Aktenkontos zu einem neuen Anbieter verursacht sein kann, und dort gegebenenfalls schon verfügbar ist, werden auch noch die weiteren Aktensysteme nach einem verfügbaren Aktenkonto (http 204) angefragt. Gibt es ein solches Aktensystem, welches ein verfügbares Aktenkonto meldet (http 204), dann wird dessen Endpunkt verwendet, ansonsten der Endpunkt des Aktensystems mit dem derzeit nicht produktiv nutzbaren Aktenkonto (http 409).

 Kennt kein Aktensystem die Akte, hat der Versicherte der ePA widersprochen und es existiert keine Akte.

folgende Anforderung wird anpepasst:

alt:

A_24435-01 - Ermitteln des zuständigen Service-Endpunkts zu einem Aktenkonto

Das PS MUSS für die Lokalisierung eines freigeschalteten Aktenkontos eine Mappingliste heranziehen, in der IK-Nummern den Service-Endpunkten der Aktensystembetreiber zugeordnet sind, um im Regelfall zuerst das Aktensystem aufzurufen, bei dem das Aktenkonto mit hoher Wahrscheinlichkeit zu finden ist. Ergibt die Abfrage des ersten Aktensystembetreibers ein negatives Ergebnis (http 404), sind die weiteren Aktensystembetreiber in zufälliger Reihenfolge aufzurufen.  [<=]

Die Zuordnung zwischen KVNR und IK-Nummer des Versicherten erfolgt primärsystemspezifisch und ist nicht weiter vorgegeben.
Sind auch die weiteren Abfragen negativ, liegt kein Aktenkonto vor (z.B. weil der ePA widersprochen wurde).

neu:

A_24435-02 - Ermitteln des zuständigen Service-Endpunkts zu einem Aktenkonto

Das PS MUSS für die Lokalisierung eines freigeschalteten Aktenkontos eine Mappingliste heranziehen, in der IK-Nummern den Service-Endpunkten der Aktensystembetreiber zugeordnet sind, um im Regelfall zuerst das Aktensystem aufzurufen, bei dem das Aktenkonto mit hoher Wahrscheinlichkeit zu finden ist.
Zur Ermittelung des Aktensystems für ein Aktenkonto werden diese in zufälliger Reihenfolge angefragt, bis ein aktiviertes Aktenkonto gefunden wird (http 204). Bleibt diese Suche erfolglos, wird nach einem aktiven, aber derzeit nicht produktiv nutzbarem Aktenkonto (http 409) gesucht. [<=]


Die Zuordnung zwischen KVNR und IK-Nummer des Versicherten erfolgt primärsystemspezifisch und ist nicht weiter vorgegeben.
Sind alle Abfragen negativ (http 404), liegt kein Aktenkonto vor (z.B. weil der ePA widersprochen wurde).

Änderungen in I_Information_Service_Accounts.yaml

Anpassung deleteExportPackage Beschreibung:

      operationId: deleteExportPackage
      summary: (deleteExportPackage) Delete export package
      description: |
       Finalizes the relocation process and requests deletion of an existing export package
       after successful relocation to a new health record provider.
       **Client**  
       The client (importing health record system) shall always invoke this operation after the
       export package has been successfully downloaded and the data import completed.
       This confirms the successful transfer of data and record responsibility to the new provider to
       the exporting provider and completes the transfer request.

       The client shall receive a 'successful operation' response ('204') from this operation
       **before** activating the importing health record (record state == ACTIVATED).

       The client shall receive a 'successful operation' response ('204') from this operation
       **before** it proceeds with the final conflict check (_getHealthRecordState_) and an activation
       of the imported health record.

Tag (neu):

  - name: Account check
    description: |  
     Determines the health record state for a KVNR. The check is conducted across the entire health record system and also takes
     existing and potentially differing states for different insurances into account.

.    

Operation (neu):

 /information/api/v1/accounts/state:
    get:
      parameters:
        - $ref: '#/components/parameters/insurantid'
        - $ref: '#/components/parameters/x-requestid'
      tags:
        - Account check
      operationId: getHealthRecordState
      summary: (getHealthRecordState) Get the state of a health record.
      description: |
       Find all occurrences of health record states for a particular KVNR among all insurances of a health record provider.
       **Client**  
       A client (a health record system) shall always invoke this operation just before a health
       record is set to state ACTIVATED to retrieve information about further (conflicting) activations
       of a health record for the same insurant.
       
       A client shall not set a health record to ACTIVATED in case a conflict situation exists according to A_28686-*.  
     
       If a health record shall be set to ACTIVATED as final step of a health record relocation, a client shall invoke
       this operation after the successful _deleteExportPackage_ operation.
       
       
       **Provider**  
       Find within the health record system every health record for the requested KVNR (_insurantid_) and determine
       the hosting insurance and its state.
       The response shall include the states and associated insurance information of all occurrences found.
       A health record is considered to exist when it has a state other than UNKNOWN (meaning: completely unknown).
       
       Internal or proprieary states used by the health record system (e.g. substates of INACCESSIBLE) shall be mapped in the response
       to the specified states (specifies states are: INITIALIZED, ACTIVATED, SUSPENDED and INACCESSIBLE).
       
       | Conditions | Status code | Error code | Remarks |
       |------------|-------------|------------|---------|
       | Successful operation | 200 |||
       | Request does not match schema | 400 | malformedRequest ||
       | No mutual TLS channel used | 403 | accessDenied ||
       | KVNR (insurant) unknown | 404 | noResource | _insurantid_ unknown |
       | Any other error | 500 | internalError ||
       </br>
       | Postconditions                        | Remarks |
       |---------------------------------------|---------|
       | none ||
      responses:
        '200':
          description: Ok.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/xrequestid'
          content:
            application/json:
              examples:
                One suspended record state found:
                  value:
                    records:    
                      - insurance: 'Muster Krankenkasse A'
                        insuranceId: '123456789'
                        recordState: SUSPENDED                      
                One conflicting record state found:
                  value:
                    records:    
                      - insurance: 'Muster Krankenkasse B'
                        insuranceId: '987654321'
                        recordState: ACTIVATED    
                Multiple and conflicting record state found:
                  value:
                    records:    
                      - insurance: 'Muster Krankenkasse C'
                        insuranceId: '246898642'
                        recordState: INITIALIZED                      
                      - insurance: 'Muster Krankenkasse'
                        insuranceId: '123456789'
                        recordState: SUSPENDED    
              schema:
                description: 'List of all health record occurences associated to _insurantid_ '
                type: object
                properties:
                  records:
                    description: The state(s) and associated insurance information of the health record(s).
                    type: array
                    items:
                      $ref: '#/components/schemas/RecordInformationType'                
        '400':
          $ref: '#/components/responses/Error400BadRequest'
        '403':
          $ref: '#/components/responses/Error403Forbidden'
        '404':
          $ref: "#/components/responses/Error404NotFound"
        '500':
          $ref: '#/components/responses/Error500InternalError'

Statusenumeration für die Liste (neu):

schemas:
    RecordInformationType:
      description: 'State and associated insurance of a health record.'
      type: object
      properties:
        insurance:
          description: The name of the insurance hosting the health record.
          type: string
          example: 'Muster Krankenkasse'
        insuranceId:
          description: The IK-Number of the insurance hosting the health record.
          type: string
          example: '123456789'  
        recordState:
          description: The state of the health record.  
          type: string
          enum:
            - INITIALIZED
            - ACTIVATED
            - INACCESSIBLE
            - SUSPENDED
      required:
        - insurance
        - recordState