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
AuthorizationHeader der Anfrage muss dasAccess-Tokenenthalten. Siehe: Bearer Token Usage - Authorization Request Header Field - Wenn ein Body in der Anfrage enthalten ist, muss der
Content-TypeHeader der Anfrageapplication/fhir+jsonenthalten. - Wenn ein
AcceptHeader mitgesendet wird, muss dieser ebenfallsapplication/fhir+jsonenthalten. - 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¶
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=^^^&1.2.40.0.10.2.1.1.149&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