Skip to content

Commit

Permalink
Legg til støtte for automatisk løst vilkår i kronisk syk (#6856)
Browse files Browse the repository at this point in the history
* Legg til støtte for automatisk løst vilkår i kronisk syk

* Fiks VilkarKroniskSykProps-verdier
  • Loading branch information
audunel authored Dec 16, 2024
1 parent 715bd9a commit dcd9161
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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;
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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;
Original file line number Diff line number Diff line change
@@ -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';
Expand Down Expand Up @@ -79,7 +79,7 @@ const VilkarKroniskSyktBarn: React.FunctionComponent<VilkarKroniskSyktBarnProps>
formState,
soknadsdato,
}) => {
const harAksjonspunktOgVilkarLostTidligere = informasjonTilLesemodus.begrunnelse.length > 0;
const harAksjonspunktOgVilkarLostTidligere = informasjonTilLesemodus?.begrunnelse.length > 0;
const methods = useForm<FormData>({
defaultValues: {
begrunnelse: harAksjonspunktOgVilkarLostTidligere ? informasjonTilLesemodus.begrunnelse : '',
Expand Down

0 comments on commit dcd9161

Please sign in to comment.