Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
Beschrijving
Binnen Koppeltaal is het van belang dat een 'SMART on FHIR' server implementatie precies aangeeft wat het kan (Capability). Clients kunnen vervolgens bij de server diens capabilities opvragen.
Overwegingen
...
Well-known URLs
In eerdere versies van SMART werden sommige van deze details ook overgebracht via de CapabilityStatement van een FHIR server.
...
Hoewel de CapabilityStatement van toepassing is voor het uitwisselen van de capaciteiten rond de FHIR resources, is dit mechanisme is volgens SMART on FHIR nu verouderd en dient daarom niet meer gebruikt te worden.
...
Toepassing en restricties
Het opvragen van de conformiteit kan uitgevoerd worden zonder access token
Capability Set
Een Capability Set combineert individuele mogelijkheden om een specifieke use-case mogelijk te maken. Een SMART on FHIR-server MOET een of meer Capability Sets ondersteunen.
Tenzij anders vermeld, is elke vermelde capaciteit vereist om te voldoen aan een capaciteiten set. Elke individuele SMART-server zal een gedetailleerde lijst van zijn mogelijkheden publiceren; uit deze lijst kan een Client bepalen welke van deze Capability Sets worden ondersteund.
Capabilities
Om interoperabiliteit te bevorderen, zijn de volgende SMART on FHIR-mogelijkheden gedefinieerd. Een bepaalde set van deze mogelijkheden wordt gecombineerd ter ondersteuning van een specifiek gebruik, een Capability Set.
Launch Modes
...
In Koppeltaal kiezen we voor de Well-Known Uniform Resource Identifiers (URI's) aanpak. De server MOET de FHIR OAuth-autorisatie endpoints en eventuele optionele SMART-mogelijkheden die hij ondersteunt overbrengen met behulp van een Well-Known Uniform Resource Identifiers (URI's) JSON-bestand.
Capability Set
In de SMART on FHIR OAuth authorization Endpoints and Capabilities worden Capability Sets besproken. Koppeltaal maakt gebruik van de Capability Sets, waarmee aangeven wordt wat de FHIR resource service en autorisatie service ondersteund. Koppeltaal maakt gebruik van de standaard waarden, m.u.v. de launch context; deze is in Koppeltaal gebaseerd op HTI.
Launch context
Koppeltaal maakt gebruik van HTI om de context van de launch vast te stellen, deze wordt aangeduid met de capability context-ehr-hti
, deze is specifiek voor Koppeltaal.
Toepassing en restricties
Het opvragen van de conformiteit kan uitgevoerd worden zonder access token
Well-known URLs
De autorisatie endpoints die door een FHIR-bronserver worden geaccepteerd, worden weergegeven als een Well-Known Uniform Resource Identifiers (URI's) (RFC5785) JSON-document.
FHIR-endpoints die autorisatie vereisen, MOETEN een JSON-document weergeven op de locatie die wordt gevormd door /.well-known/smart-configuration toe te voegen aan hun basis-URL. In tegenstelling tot bijlage B.4 van RFC5785 kan de .well-known path-component worden toegevoegd, zelfs als het FHIR-
...
endpoint al een path-component bevat.
Antwoorden voor /.well-known/smart-configuration-verzoeken ZULLEN JSON zijn, ongeacht de Accept-headers die in het verzoek zijn opgegeven.
client applicaties KUNNEN een Accept-header weglaten
servers KUNNEN alle door de client geleverde Kopteksten accepteren
servers ZULLEN reageren met application/json
...
De Accept
header mag worden weggelaten, omdat de waarde altijd application/json zal zijn.
Multi-tenancy
Opvragen van SMART major versie 2 configuratie per domein (zorgafnemer). Basis URL
...
http://fhir.koppeltaal.nl/domeinzorgafnemer/v2
...
GET domeinzorgafnemer/v2/.well-known/smart-configuration HTTP/1.1 Host: fhir.koppeltaal.nl
Anchor | ||||
---|---|---|---|---|
|
Een JSON-document moet worden geretourneerd met het type application/json mime.
meta element | verplicht | Beschrijving |
---|---|---|
issuer |
...
Ja | De |
...
Base URL van de authorisatie service. |
jwks_uri |
...
Ja | De URL van de JSON Web Key Store (JWKS) van |
...
de authorisatie service. | ||
authorization_endpoint | Ja | URL naar het OAuth2-autorisatie- |
...
endpoint. | ||
grant_types_supported | Ja | matrix van ondersteunde typen toekenning op het token- |
...
endpoint. De opties zijn:
| ||
token_endpoint | Ja | URL naar het OAuth2- |
...
tokenendpoint. |
token_endpoint_auth_methods_supported |
...
Reeks client verificatie methoden die worden ondersteund door het tokeneindpunt. Binnen Koppeltaal wordt alleen
ja | Vaste waarde: |
...
|
ondersteund.
registration_endpoint | niet gebruiken |
...
scopes_supported |
...
Ja | Let op: de "openid", "launch", "fhirUser", "system/*.cruds", "system/*.cruds?resource-origin=" |
response_types_supported |
...
Ja | [code] |
management_endpoint |
...
Ja | URL naar domeinbeheer |
introspection_endpoint |
...
Ja | URL naar het introspectie- |
...
endpoint van een server dat kan worden gebruikt om een token te valideren. | ||
revocation_endpoint | niet gebruiken | |
capabilities |
...
Ja | Zie onderdeel capabilities sets.
|
...
| |
code_challenge_methods_supported | Ja |
...
["S256"] |
LET OP: Elk domein krijgt zijn eigen endpoints.
Eisen
CNF - Eisen (en aanbevelingen) voor de conformiteit
Voorbeelden
Code Block | ||||
---|---|---|---|---|
| ||||
HTTP/1.1 200 OK
Content-Type: application/json
{
"issuer": "https://fhir.koppeltaal.nl/domeinzorgafnemer/v2",
"jwks_uri": "https://fhir.koppeltaal.nl/domeinzorgafnemer/v2/.well-known/jwks.json",
"authorization_endpoint": "https://fhir.koppeltaal.nl/domeinzorgafnemer/v2/auth/authorize",
" |
...
management_endpoint" : "https:// |
...
domain-admin.koppeltaal. |
...
headease.nl", |
...
|
...
" |
...
grant_types_supported": [
"authorization_code",
"client_credentials"
],
" |
...
token_endpoint": "https://fhir.koppeltaal.nl/domeinzorgafnemer/v2/auth/ |
...
token", " |
...
token_endpoint_auth_methods_supported": [" |
...
private_key_jwt"], " |
...
scopes_supported": ["openid", "launch", " |
...
fhirUser", " |
...
system/*. |
...
cruds", " |
...
system/*. |
...
cruds?resource-origin="], "response_types_supported": ["code"], " |
...
introspection_endpoint": "https://fhir.koppeltaal.nl/domeinzorgafnemer/v2/ |
...
auth/introspect |
...
" |
...
,
"capabilities": [
"launch-ehr",
" |
...
authorize- |
...
post", " |
...
client-confidential- |
...
asymmetric", " |
...
sso-openid- |
...
connect", " |
...
context- |
...
ehr- |
...
hti", " |
...
permission- |
...
v2" |
...
], " |
...
code_challenge_methods_supported": ["S256"] } |
Links naar gerelateerde onderwerpen
OpenID configuratie: Ldapwiki: Openid-configuration