Page History
...
Sundhedsfaglig >> Brugertypen Sundhedsfaglig på vegne af | Verifikation | Mapning til DDS ServiceActor | ||
HSUID Header | userType | Skal være der og være HEALTHCAREPROFESSIONAL | Brugertypen: Sundhedsfaglig på vegne af | |
actingUserCivilRegistrationNumber | Skal være sat | ActingUserCpr | ||
responsibleUserRegistrationNumber | Skal være sat og skal være anderledes end actingUserCivilRegistrationNumber | |||
orgUsingIDType | Verificeres ikke - må gerne være der | |||
orgUsingIDName | Verificeres ikke - må gerne være der | |||
| OrganizationCvrId fra actor | ||||
systemName | Verificeres ikke - må gerne være der systemName fra actor mappes | systemName fra actor | ||
systemVersion | Verificeres ikke - må gerne være der | |||
userAuthorizationCode | Skal være sat og valideres med responsible user | AuthorizationCode (EducationCode sættes i forbindelse med valideringen)onbehalfOf.AuthorizationCode | ||
Ikke-autoriseret bruger >> Brugertypen Sundhedsfaglig på vegne af | Verifikation | Mapning til DDS ServiceActor | ||
HSUID Header | userType | Skal være der og være HEALTHCAREPROFESSIONAL | Brugertypen: Sundhedsfaglig på vegne af | |
actingUserCivilRegistrationNumber | Skal være sat | ActingUserCpr | ||
responsibleUserRegistrationNumber | Skal være sat og skal være anderledes end actingUserCivilRegistrationNumber | |||
orgUsingIDType | Verificeres ikke - må gerne være der | |||
orgUsingIDName | Verificeres ikke - må gerne være der | |||
| OrganizationCvrId fra actor | ||||
systemName | Verificeres ikke - må gerne være der systemName fra actor mappes | systemName fra actor | ||
systemVersion | Verificeres ikke - må gerne være der | |||
userAuthorizationCode | Skal være sat og valideres med responsible user | AuthorizationCode (EducationCode sættes i forbindelse med valideringen) onbehalfOf.AuthorizationCode | ||
Borger >> Brugertypen Borger på vegne af | Verifikation | Mapning til DDS ServiceActor | ||
cprFromPayload | userType | Er givet fra securityContext pga. rollen borger | Brugertypen: Borger på vegne af | |
actingUser fra securityContext. | ActingUserCpr | |||
cprFromPayload skal være sat og være anderledes end actingUser. | ResponsibleUserCpr (fra payload) | |||
systemName | systemName fra actor mappes | systemName fra actor | ||
userAuthorizationCode | Verificeres ikke - må gerne være der | |||
Forældremyndighed: | vha. actinguser fra security context og cprFromPayload findes en relation | Relation (childCustodyHolder, payloadCprValue) | ||
...
- Id: id og navn som konfigurationen er kendt under
- Formål: formålet med konfigurationen.
- Brugertype: hvilke brugertyper gælder konfigurationen for. Der anvendes brugertyperne fra sourcekoden, som kan mappes som følger
- Citizen - Borger
- CitizenOnBehalfOf - BorgerPåVegneAf med undertyperne
- proxyHolder - fuldmagtshaver
- childCustodyHolder - forældremyndighedshaver
- HealthCareProfessionalWithAuthorization - Sundshedsfaglig med authorisation
- HealthCareProfessionalWithoutAuthorization - Sundshedsfaglig uden authorisation
- HealthCareProfessionalOnBehalfOf - Sundhedsfaglig på vegne af
- Aktivering: hvor "møder" anvenderen begrænsningen. Mulighederne er som angivet i ovenstående figur.
- Kald: Er der tale om fremsøgning i registry (iti18) eller hentning i repository (iti43)
- Muligheder: hvilke konfigurationsmuligheder er der, og hvor er det defineret.
- Udtryk: hvordan kommer begrænsningen til udtryk? Fejlbesked, filtrering etc
- SoapFault: bruger får en "hård" fejl (intet ihe svar og dermed ingen dokumenter)
- Fejl: brugeren får en fejl i ihe svaret og 0 eller flere dokumenter
- Advarsel: brugeren får en eller flere advarsler i ihe svaret og 0 eller flere dokumenter
- Alt ok: brugeren får 0 eller flere dokumenter
- Faktisk konfiguration: link til hvordan drift faktisk er sat op
| Id | Formål | Brugertype | Aktivering | Kald | Muligheder | Udtryk | Faktisk konfiguration |
|---|---|---|---|---|---|---|---|
| DDK10 Aktør modellering og andet "teknisk" request validering: | |||||||
| Kontrol af brugertyper og deres indhold. | HealthCareProfessionalOnBehalfOf HealthCareProfessionalWithAuthorization HealthCareProfessionalWithoutAuthorization Citizen CitizenOnBehalfOf variant
| Validering af forespørgsel | ITI18 ITI43 | Fast defineret i Aktørmodelleringen (ServiceActorProvider) i servicen | SoapFault med fejlbeskeden
| ||
| DDK11 Aktør søge parameter validering: | |||||||
| At begrænse specifikke brugertyper fra specifikke søge værdier. | CitizenOnBehalfOf variant
| Validering af forespørgsel | ITI18 | I klassen DDSRegistryQueryImpl kaldes DDSActorQueryParameterValidator der undersøger om en given brugertype, anvender lovlige værdier i søgeparametrene. Ved opslag i db tabel actor_query_parameter_configuration:
For Fuldmagt gælder yderligere:
| SoapFault, med en af følgende fejlbeskeder:
| ||
| DDK12 Frabedelser - userCheck: | |||||||
| Kontrol af dataadgang | HealthCareProfessionalOnBehalfOf HealthCareProfessionalWithAuthorization HealthCareProfessionalWithoutAuthorization | Validering af forespørgsel | ITI18 ITI43 | I klasserne DDSRegistryQueryLogic og DDSRetrieveDocumentLogic laves der kald til samtykke servicen, hvis der ikke er anvendt værdispring. | Fejl i almindeligt response med fejlbeskeden:
| ||
| DDK20 Backend registries: | |||||||
| Opsæt af registries | na | Opsæt af muligheder | ITI18 | I klassen DocumentRegistryFinderImpl findes de registries, det er muligt at lave søgninger i. Dette gøres ved at hente de registries i db tabel documentregistry hvor documentregistryactive er true | na | ||
| DDK21 Backend repositories: | |||||||
| Opsæt af repositories | na | Opsæt af muligheder | ITI43 | Fremfinder alle repositories i db tabeldocumentsource som er relevante for de dokumenter, som ønskes hentet. | na | ||
| DDK30 Forespørge dokumenttype relevante registries: | |||||||
| Begrænsning i opslag pga performance og fejlmuligheder | na | Filtrering af muligheder | ITI18 | I klassen DocumentRegistryFinderImpl kaldes DocumentTypeConfiguration, som ved opslag i db tabel documenttype_configuration tjekkes hvert registry om relevant:
| Hvis filtrering giver en tom liste af registries så SoapFault med fejlbeskeden
| ||
| DDK31 Forespørge querytype relevante registries: | |||||||
| Begrænsning i opslag pga. performance og fejlmuligheder | na | Filtrering af muligheder | ITI18 | I klassen DocumentRegistryFinderImpl kaldes RegistryFeatureConfiguration, som ved opslag i db tabel feature_configuration tjekkes hvert registry om relevant:
| Hvis et registry fravælges så en advarsel i almindeligt response med advarselsteksten:
Hvis filtrering giver en tom liste af registries så SoapFault med fejlbeskeden
| ||
| DDK40 Frabedelser - datacheck: | |||||||
| Kontrol af dataadgang | HealthCareProfessionalOnBehalfOf HealthCareProfessionalWithAuthorization HealthCareProfessionalWithoutAuthorization | Filtrering af dokumenter | ITI18 | I klassen DDSRegistryQueryLogic kaldes ConsentFilterImpl som laver kald til samtykke servicen, hvis der ikke er anvendt værdispring. | Advarsel i almindeligt response med advarselstekten:
| ||
| Filtrering i dokument | ITI43 | I klassen DDSRetrieveDocumentLogic laver kald til samtykke servicen, hvis der ikke er anvendt værdispring. | Fejl i almindeligt response med fejlbeskeden:
| ||||
| DDK41 Frabedelser - datacheck udvidet: | |||||||
| Kontrol af dataadgang | HealthCareProfessionalOnBehalfOf HealthCareProfessionalWithAuthorization HealthCareProfessionalWithoutAuthorization | Filtrering af dokumenter | ITI18 | Klassen DDSRegistryQueryLogic kalder PrecautionaryFilter, hvis der bare er een frabedelse. Her spærres for alle dokumenter med typecodes konfigureret i filen precautionary_filter.txt | Advarsel i almindeligt response med advarselsteksten:
| ||
| DDK42 Nationale rolle check: | |||||||
| Kontrol af dataadgang | HealthCareProfessionalWithoutAuthorization | Filtrering af dokumenter | ITI18 | Klassen DDSRegistryQueryLogic kalder TrustedRoleFilter, som tjekker brugerens rolle mod filen trusted_roles.txt Der gives kun adgang til de typecodes er angivet for rolle Er typecode "*" tillades alle typecodes | Fejl i almindeligt response med fejlbeskeden:
| ||
| DDK43 Whitelist af cvr/system: | |||||||
| Kontrol af dataadgang | HealthCareProfessionalOnBehalfOf HealthCareProfessionalWithAuthorization HealthCareProfessionalWithoutAuthorization | Filtrering af dokumenter | ITI18 | Klassen DDSRegistryQueryLogic kalder WhitelistBasedOnMetadataFilter, som hvis whitelisting er slået til (whitelisted.document.metadata.active) og der ikke er lavet værdispring udføre følgende logik: Ved opslag i db tabellerne, whitelist_config_documentmetadata, whitelist_config_documentmetadata_typecode, whitelist_config_documentmetadata_eventcode og whitelist_config_documentmetadata_practicesettingcode tjekkes de fremfundne dokumenters metadata for, om de er whitelistet med
*cvr: securityContext.getOrganisation().get().getIdentifier(), hvis formatet er CVR 2025-07-02: ikke merget ind på main branch i skrivende stund | Fejl i almindelig response med fejlbeskeden:
| ||
Generel struktur af invoker
...