Zum Inhalt

Schnittstellen

Auf der folgenden Seite werden die zu verwendenden Schnittstellen der FHIR Service Facade beschrieben.

Schnittstellen für den Benutzer

Die gesamte Kommunikation von einem Benutzer mit der FHIR Service Facade wird über das jeweils lokale AGW geführt. Das AGW bzw. der Apache kümmert sich um TLS Terminierung und das Routing der Anfrage. Das AGW sendet die Anfrage an die Service Facade der lokalen AGW weiter.

---
title: Kommunikation über AGW
config:
  theme: neutral 
---
%%{init: 
  {
    'themeVariables': {
      'lineColor': 'lightgray'
    }
  } 
}%%
block-beta
block:ID
columns 5
  benutzer(((" Benutzer ")))
    space
    agw["<b>AGW</b> Apache"]
    space
    eoas["<b>FHIR Facade</b>"]

 end

  benutzer --> agw
  agw --> eoas

  style agw fill:#F9F9CA,stroke-width:2px
  style eoas fill:#AED6F1,stroke-width:2px

FHIR Service Facade Basis-Endpunkt
HTTPS://AGW/FHIR - Information von Betreiber notwendig

FHIR Transaktionen des Benutzer an die FHIR Facade

Um mit der FHIR-Facade Business-Transaktionen durchführen zu können, muss der Benutzer eine zuvor beantragte ELGA HCP Assertion gegen ein AC-Access-Token eintauschen.

Für jede FHIR Transaktion wird das Access-Token im HTTP Authorization Header mitgeführt. Siehe: Bearer Token Usage - Authorization Request Header Field

Die unterstützten FHIR Interaktionen und Ressourcen sind abhängig vom hinterlegten CapabilityStatement für die jeweilige eHealth Applikation und die Rolle des Benutzers. Siehe: eHealth-App und rollenbezogene FHIR CapabilityStatement Ressource

Auf eine FHIR /metadata Abfrage antwortet die Facade mit dem jeweils eHealth applikations- und rollenspezifischen CapabilityStatement.

Eine detaillierte Beschreibung der Schnittstellen (CapabilityStatement mit zu verwendenden FHIR Interaktionen und Ressourcen) wird für jede eHealth Applikation von der ELGA GmbH im ELGA Developer Portal zur Verfügung gestellt.

---
title: FHIR Transaktionen des Benutzer an die FHIR Facade

config:
  theme: neutral 
---

sequenceDiagram
autonumber

actor benutzer as Benutzer

box rgb(252, 243, 207) AGW
participant agw as AGW Apache
end

box rgb(174, 214, 241) Facade
participant fhir as FHIR Facade
end

benutzer-->+benutzer: get Access-Token
benutzer->>+fhir: AGW/FHIR
fhir-->+fhir: inernal EOAS<br>forward fhir<br>L-ARR Audit<br>communication
fhir-->>-benutzer: return FHIR Response

Verwendeter Standard

zu verwendender AGW Endpunkt

HTTPS://AGW/FHIR ??? TBD ???

Ablaufbeschreibung

  • 1: der Benutzer tauscht seine HCP Assertion gegen ein Access-Token ein. Siehe: HCP gegen AC-Access-Token eintauschen
  • 2: Der Benutzer führt FHIR Transaktionen gegen die Facade durch.
  • Der Authorization Header der Anfrage muss das Access-Token enthalten. Siehe: Bearer Token Usage - Authorization Request Header Field
  • Wenn ein Body in der Anfrage enthalten ist, muss der Content-Type Header der Anfrage application/fhir+json enthalten.
  • Wenn ein Accept Header mitgesendet wird, muss dieser ebenfalls application/fhir+json enthalten.
  • 3: Interne Businesslogik der FHIR Facade: Kommunikation mit dem EOAS, Enforcement, Weiterleiten der FHIR Nachricht, L-ARR Audit.
  • 4: Es wird die Antwort der jeweiligen eHealth Fachlogik unverändert zurückgegeben.
  • Wurde die Anfrage aufgrund von Prüfungen nicht weitergeleitet, wird eine Fehlermeldung zurückgegeben. Siehe: Fehlermeldungen der FHIR Facade

Anfrage

HTTP POST|PUT|PATCH|DELETE|GET AGW/FHIR ???

Http Header:
Accept: application/fhir+json
Content-Type: application/fhir+json
Authorization: Bearer Access-Token

der Content-Type Header muss nur verwendet werden wenn die Anfrage einen Body beinhaltet

Http Body:

Abhängig von der jeweiligen FHIR Interaktion. Wenn ein Body verwendet wird, muss er im Format application/fhir+json sein.

Antwort

Abhängig von der jeweiligen FHIR Interaktion. Wenn ein Body verwendet wird, ist er im Format application/fhir+json.

Fehlermeldungen der FHIR Facade

Fehlermeldungen der FHIR-SF

Genutzte Schnittstellen

Schnittstelle zum L-ARR

Die FHIR Service Facade sendet für jede Transaktion einen L-ARR ATNA Audit an das L-ARR des jeweiligen eHealth Bereichs bzw. der Fachanwendung.

Beispiel ATNA Audit

<?xml version="1.0" encoding="UTF-8"?>
    <AuditMessage>
        <EventIdentification EventActionCode="R" EventDateTime="2025-08-12T11:32:10.144Z" EventOutcomeIndicator="0">
            <EventID code="110112" codeSystemName="DCM" displayName="Query"/>
            <EventTypeCode code="search-type" codeSystemName="http://hl7.org/fhir/restful-interaction" displayName="search-type"/>
        </EventIdentification>
        <ActiveParticipant AlternativeUserID="Patient" NetworkAccessPointID="0:0:0:0:0:0:0:1" NetworkAccessPointTypeCode="2" UserID="urn:oid:fhir-sf.siteID@110" UserIsRequestor="true">
            <RoleIDCode code="110153" codeSystemName="DCM" displayName="Source"/>
        </ActiveParticipant>
        <ActiveParticipant UserID="pineIT@urn:oid:1.2.40.0.34.99.10.1.1.1.31498" UserIsRequestor="true">
            <RoleIDCode code="702" codeSystemName="ELGA Rollen" displayName=""/>
        </ActiveParticipant>
        <ActiveParticipant NetworkAccessPointID="/pineit/pitaccess-fhir-sf/fhir" NetworkAccessPointTypeCode="2" UserID="/pineit/pitaccess-fhir-sf/fhir" UserIsRequestor="false">
            <RoleIDCode code="110152" codeSystemName="DCM" displayName="Destination"/>
        </ActiveParticipant>
        <AuditSourceIdentification AuditEnterpriseSiteID="urn:oid:fhir-sf.siteID" AuditSourceID="fhir-sf">
            <AuditSourceTypeCode code="8" codeSystemName="ELGA_AuditSourceType_VS" displayName="ZGF"/>
        </AuditSourceIdentification>
        <ParticipantObjectIdentification ParticipantObjectID="GH:oJoUi+luBdbhCkipnoZ7/1/Zrmw=^^^&amp;1.2.40.0.10.2.1.1.149&amp;ISO" ParticipantObjectTypeCode="1" ParticipantObjectTypeCodeRole="1">
            <ParticipantObjectIDTypeCode code="1" codeSystemName="RFC-3881" displayName="Patient Number"/>
        </ParticipantObjectIdentification>
        <ParticipantObjectIdentification ParticipantObjectID="5ae89cea-4851-4a9b-88b8-30fcb93515eb" ParticipantObjectTypeCode="2" ParticipantObjectTypeCodeRole="13">
            <ParticipantObjectIDTypeCode code="13" codeSystemName="ELGA_AuditParticipantObjectIdType_VS" displayName="Transaktions ID"/>
            <ParticipantObjectDetail type="Ergebnismeldung" value="U1VDQ0VTUw=="/>
        </ParticipantObjectIdentification>
    </AuditMessage>

Interne Schnittstellen der FHIR-Facade mit dem EOAS

Für den Token-Exchange von Access- auf Community-Token kommuniziert die FHIR Service Facade mit dem EOAS.
Siehe: Austausch des Access-Token auf ein Community-Token

Das Community-Token wird von der FHIR Facade für den Zeitraum der Gültigkeit im Memory zwischengespeichert.

Des Weiteren verwendet die FHIR Facade den JWKS Endpunkt des EOAS um Zertifikatsmaterial für die Token-Prüfung zu beziehen. Siehe: JWKS Abrufen