From dcd91610071a635023c4b55e5307a984de4354f6 Mon Sep 17 00:00:00 2001 From: Audun Eltvik Date: Mon, 16 Dec 2024 12:08:31 +0100 Subject: [PATCH] =?UTF-8?q?Legg=20til=20st=C3=B8tte=20for=20automatisk=20l?= =?UTF-8?q?=C3=B8st=20vilk=C3=A5r=20i=20kronisk=20syk=20(#6856)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Legg til støtte for automatisk løst vilkår i kronisk syk * Fiks VilkarKroniskSykProps-verdier --- ...rtyTilUtvidetRettMikrofrontendKomponent.ts | 15 +-- .../KroniskSykObjektTilMikrofrontend.ts | 95 ++++++++++++------- .../VilkarKroniskSyktBarn.tsx | 12 +-- 3 files changed, 77 insertions(+), 45 deletions(-) diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/KartleggePropertyTilUtvidetRettMikrofrontendKomponent.ts b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/KartleggePropertyTilUtvidetRettMikrofrontendKomponent.ts index f486955c1a..676a1f0cb0 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/KartleggePropertyTilUtvidetRettMikrofrontendKomponent.ts +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/KartleggePropertyTilUtvidetRettMikrofrontendKomponent.ts @@ -2,15 +2,17 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import FagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import { Behandling } from '@k9-sak-web/types'; +import {Behandling} from '@k9-sak-web/types'; import { AksjonspunktInformasjon, SaksinformasjonUtvidetRett, VilkarInformasjon, } from '../../../../types/utvidetRettMikrofrontend/KartleggePropertyTilMikrofrontendTypes'; -import AleneOmOmsorgenObjektTilMikrofrontend from './formateringAvDataTilMikrofrontend/AleneOmOmsorgenObjektTilMikrofrontend'; +import AleneOmOmsorgenObjektTilMikrofrontend + from './formateringAvDataTilMikrofrontend/AleneOmOmsorgenObjektTilMikrofrontend'; import KroniskSykObjektTilMikrofrontend from './formateringAvDataTilMikrofrontend/KroniskSykObjektTilMikrofrontend'; -import MidlertidigAleneObjektTilMikrofrontend from './formateringAvDataTilMikrofrontend/MidlertidigAleneObjektTilMikrofrontend'; +import MidlertidigAleneObjektTilMikrofrontend + from './formateringAvDataTilMikrofrontend/MidlertidigAleneObjektTilMikrofrontend'; const KartleggePropertyTilUtvidetRettMikrofrontendKomponent = ( saksInformasjon: SaksinformasjonUtvidetRett, @@ -30,10 +32,11 @@ const KartleggePropertyTilUtvidetRettMikrofrontendKomponent = ( const vilkaret = vilkar.find(v => v.vilkarType.kode === vilkarType.UTVIDETRETTVILKARET); const eksistererAksjonspunktOgVilkar = aksjonspunkt && vilkar; - const eksistererVilkarForAutomatiskInnvilgetAleneOmOmsorgen = - fagsaksType === FagsakYtelseType.OMSORGSPENGER_ALENE_OM_OMSORGEN && vilkar; + const eksistererVilkarForAutomatiskInnvilget = + (fagsaksType === FagsakYtelseType.OMSORGSPENGER_ALENE_OM_OMSORGEN || fagsaksType === FagsakYtelseType.OMSORGSPENGER_KRONISK_SYKT_BARN) + && vilkar; - if (eksistererAksjonspunktOgVilkar || eksistererVilkarForAutomatiskInnvilgetAleneOmOmsorgen) { + if (eksistererAksjonspunktOgVilkar || eksistererVilkarForAutomatiskInnvilget) { const skalVilkarsUtfallVises = behandling.status.kode === behandlingStatus.AVSLUTTET; const lesemodus = isReadOnly || !isAksjonspunktOpen; const aksjonspunktLost = behandling.status.kode === behandlingStatus.BEHANDLING_UTREDES && !isAksjonspunktOpen; diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/KroniskSykObjektTilMikrofrontend.ts b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/KroniskSykObjektTilMikrofrontend.ts index c621ec7fae..7ddfa0ad18 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/KroniskSykObjektTilMikrofrontend.ts +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/KroniskSykObjektTilMikrofrontend.ts @@ -1,13 +1,15 @@ -import { Aksjonspunkt, Vilkar } from '@k9-sak-web/types'; -import { FormState } from '@fpsak-frontend/form/index'; +import {Aksjonspunkt, Vilkar} from '@k9-sak-web/types'; +import {FormState} from '@fpsak-frontend/form/index'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; -import { KomponenterEnum } from '@k9-sak-web/prosess-omsorgsdager'; -import { generereInfoForVurdertVilkar } from '../../../UtvidetRettOmsorgenForMikrofrontendFelles'; +import {KomponenterEnum} from '@k9-sak-web/prosess-omsorgsdager'; +import {generereInfoForVurdertVilkar} from '../../../UtvidetRettOmsorgenForMikrofrontendFelles'; import { InformasjonTilLesemodusKroniskSyk, VilkarKroniskSyktBarnProps, } from '../../../../../types/utvidetRettMikrofrontend/VilkarKroniskSyktBarnProps'; import UtvidetRettSoknad from '../../../../../types/UtvidetRettSoknad'; +import aksjonspunktCodes from "@fpsak-frontend/kodeverk/src/aksjonspunktCodes"; +import Komponenter from "@k9-sak-web/prosess-omsorgsdager/src/types/Komponenter"; interface OwnProps { behandlingsID: string; @@ -79,36 +81,63 @@ const KroniskSykObjektTilMikrofrontend = ({ }: OwnProps): { visKomponent: KomponenterEnum.VILKAR_KRONISK_SYKT_BARN; props: VilkarKroniskSyktBarnProps; -} => ({ - visKomponent: KomponenterEnum.VILKAR_KRONISK_SYKT_BARN, - props: { - behandlingsID, - aksjonspunktLost, - lesemodus, - soknadsdato: soknad.soknadsdato, - informasjonTilLesemodus: formatereLesemodusObjektForKroniskSyk(vilkar, aksjonspunkt), - vedtakFattetVilkarOppfylt: skalVilkarsUtfallVises, - informasjonOmVilkar: generereInfoForVurdertVilkar( - skalVilkarsUtfallVises, - vilkar, - aksjonspunkt.begrunnelse, - 'Utvidet Rett', - ), - losAksjonspunkt: (harDokumentasjonOgFravaerRisiko, begrunnelse, avslagsårsakKode, fraDato) => { - submitCallback([ - formatereLosAksjonspunktObjektForKroniskSyk( - aksjonspunkt.definisjon.kode, - begrunnelse, - harDokumentasjonOgFravaerRisiko, - fraDato || soknad.soknadsdato, +} => { + + const vilkaretVurderesManuelltMedAksjonspunkt = + aksjonspunkt && vilkar && aksjonspunkt.definisjon.kode === aksjonspunktCodes.UTVIDET_RETT; + // Vilkåret kan kun bli automatisk innvilget. Dersom det blir automatiskt avslått resulterer det i manuell vurdering via aksjonspunkt. + const vilkaretErAutomatiskInnvilget = + !aksjonspunkt && vilkar && vilkar.perioder[0]?.vilkarStatus.kode === vilkarUtfallType.OPPFYLT; + + if (vilkaretVurderesManuelltMedAksjonspunkt) { + return { + visKomponent: KomponenterEnum.VILKAR_KRONISK_SYKT_BARN, + props: { + behandlingsID, + aksjonspunktLost, + lesemodus, + soknadsdato: soknad.soknadsdato, + informasjonTilLesemodus: formatereLesemodusObjektForKroniskSyk(vilkar, aksjonspunkt), + vedtakFattetVilkarOppfylt: skalVilkarsUtfallVises, + informasjonOmVilkar: generereInfoForVurdertVilkar( + skalVilkarsUtfallVises, vilkar, - avslagsårsakKode, - soknad, + aksjonspunkt.begrunnelse, + 'Utvidet Rett', ), - ]); - }, - formState: FormState, - } as VilkarKroniskSyktBarnProps, -}); + losAksjonspunkt: (harDokumentasjonOgFravaerRisiko, begrunnelse, avslagsårsakKode, fraDato) => { + submitCallback([ + formatereLosAksjonspunktObjektForKroniskSyk( + aksjonspunkt.definisjon.kode, + begrunnelse, + harDokumentasjonOgFravaerRisiko, + fraDato || soknad.soknadsdato, + vilkar, + avslagsårsakKode, + soknad, + ), + ]); + }, + formState: FormState, + } as VilkarKroniskSyktBarnProps, + } + } + + if (vilkaretErAutomatiskInnvilget) { + return { + visKomponent: Komponenter.VILKAR_KRONISK_SYKT_BARN, + props: { + behandlingsID: behandlingsID, + aksjonspunktLost: false, + soknadsdato: soknad.soknadsdato, + vedtakFattetVilkarOppfylt: true, + informasjonOmVilkar: generereInfoForVurdertVilkar(true, vilkar, '', 'Utvidet Rett'), + formState: FormState, + } as VilkarKroniskSyktBarnProps + } + } + + return null +} export default KroniskSykObjektTilMikrofrontend; diff --git a/packages/prosess-omsorgsdager/src/ui/components/vilkar-kronisk-sykt-barn/VilkarKroniskSyktBarn.tsx b/packages/prosess-omsorgsdager/src/ui/components/vilkar-kronisk-sykt-barn/VilkarKroniskSyktBarn.tsx index 9e8792b384..d42bec0488 100644 --- a/packages/prosess-omsorgsdager/src/ui/components/vilkar-kronisk-sykt-barn/VilkarKroniskSyktBarn.tsx +++ b/packages/prosess-omsorgsdager/src/ui/components/vilkar-kronisk-sykt-barn/VilkarKroniskSyktBarn.tsx @@ -1,11 +1,11 @@ -import { Alert, Button, Fieldset, HStack, RadioGroup } from '@navikt/ds-react'; +import {Alert, Button, Fieldset, HStack, RadioGroup} from '@navikt/ds-react'; import classNames from 'classnames'; import React from 'react'; -import { FormProvider, useForm } from 'react-hook-form'; -import { VilkarKroniskSyktBarnProps } from '../../../types/VilkarKroniskSyktBarnProps'; -import { booleanTilTekst, formatereDato, formatereDatoTilLesemodus, tekstTilBoolean } from '../../../util/stringUtils'; +import {FormProvider, useForm} from 'react-hook-form'; +import {VilkarKroniskSyktBarnProps} from '../../../types/VilkarKroniskSyktBarnProps'; +import {booleanTilTekst, formatereDato, formatereDatoTilLesemodus, tekstTilBoolean} from '../../../util/stringUtils'; import useFormSessionStorage from '../../../util/useFormSessionStorageUtils'; -import { valideringsFunksjoner } from '../../../util/validationReactHookFormUtils'; +import {valideringsFunksjoner} from '../../../util/validationReactHookFormUtils'; import AksjonspunktLesemodus from '../aksjonspunkt-lesemodus/AksjonspunktLesemodus'; import styleLesemodus from '../lesemodus/lesemodusboks.module.css'; import DatePicker from '../react-hook-form-wrappers/DatePicker'; @@ -79,7 +79,7 @@ const VilkarKroniskSyktBarn: React.FunctionComponent formState, soknadsdato, }) => { - const harAksjonspunktOgVilkarLostTidligere = informasjonTilLesemodus.begrunnelse.length > 0; + const harAksjonspunktOgVilkarLostTidligere = informasjonTilLesemodus?.begrunnelse.length > 0; const methods = useForm({ defaultValues: { begrunnelse: harAksjonspunktOgVilkarLostTidligere ? informasjonTilLesemodus.begrunnelse : '',