Skip to content

Feature/TFP-6071: Redesign av fakta-fødsel #6401

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@ import { useQuery } from '@tanstack/react-query';
import { FodselFaktaIndex } from '@navikt/fp-fakta-fodsel';
import { AksjonspunktKode, fodselsvilkarene } from '@navikt/fp-kodeverk';
import { FaktaPanelCode } from '@navikt/fp-konstanter';
import type { Dokument } from '@navikt/fp-types';

import { useBehandlingApi } from '../../../data/behandlingApi';
import { useFagsakApi } from '../../../data/fagsakApi';
import { FaktaDefaultInitPanel } from '../../felles/fakta/FaktaDefaultInitPanel';
import { useStandardFaktaPanelProps } from '../../felles/fakta/useStandardFaktaPanelProps';
import { BehandlingDataContext } from '../../felles/utils/behandlingDataContext';
Expand All @@ -18,20 +20,21 @@ const AKSJONSPUNKT_KODER = [AksjonspunktKode.TERMINBEKREFTELSE, AksjonspunktKode
export const FodselvilkaretFaktaInitPanel = () => {
const intl = useIntl();

const { behandling } = use(BehandlingDataContext);
const { behandling, fagsak } = use(BehandlingDataContext);

const skalPanelVisesIMeny = behandling.vilkår.some(v => fodselsvilkarene.some(fv => fv === v.vilkarType));

const standardPanelProps = useStandardFaktaPanelProps(AKSJONSPUNKT_KODER);

const api = useBehandlingApi(behandling);
const fagsakApi = useFagsakApi();

const { data: familiehendelse } = useQuery(api.familiehendelseOptions(behandling, skalPanelVisesIMeny));
const { data: søknad } = useQuery(api.søknadOptions(behandling));
const { data: familiehendelseOrigninalBehandling } = useQuery(
api.familiehendelseOrigninalBehandlingOptions(behandling),
const { data: faktafødsel } = useQuery(api.faktaFødselOptions(behandling, skalPanelVisesIMeny));
const { data: alleDokumenter = [] } = useQuery(
fagsakApi.hentDokumenter(fagsak.saksnummer, behandling.uuid, behandling.versjon),
);
const { data: søknadOriginalBehandling } = useQuery(api.søknadOriginalBehandlingOptions(behandling));

const terminbekreftelseDokument = finnTerminBekreftelse(alleDokumenter, fagsak.saksnummer);

return (
<FaktaDefaultInitPanel
Expand All @@ -40,12 +43,10 @@ export const FodselvilkaretFaktaInitPanel = () => {
faktaPanelMenyTekst={intl.formatMessage({ id: 'FaktaInitPanel.Title.Fodsel' })}
skalPanelVisesIMeny={skalPanelVisesIMeny}
>
{familiehendelse && søknad ? (
{faktafødsel ? (
<FodselFaktaIndex
soknad={søknad}
familiehendelse={familiehendelse}
familiehendelseOriginalBehandling={familiehendelseOrigninalBehandling}
soknadOriginalBehandling={søknadOriginalBehandling}
fødsel={faktafødsel}
terminbekreftelseDokument={terminbekreftelseDokument}
submittable={standardPanelProps.submittable}
/>
) : (
Expand All @@ -54,3 +55,15 @@ export const FodselvilkaretFaktaInitPanel = () => {
</FaktaDefaultInitPanel>
);
};

const finnTerminBekreftelse = (dokumentliste: Dokument[], saksnummer: string) => {
const terminbekreftelseDokument = dokumentliste.find(dok => dok.tittel === 'Terminbekreftelse');
return terminbekreftelseDokument
? {
saksnummer,
journalpostId: terminbekreftelseDokument.journalpostId,
dokumentId: terminbekreftelseDokument.dokumentId,
dokumentTittel: terminbekreftelseDokument.tittel,
}
: undefined;
};
11 changes: 11 additions & 0 deletions apps/fp-frontend-app/src/data/behandlingApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import type {
FamilieHendelse,
FamilieHendelseSamling,
Feriepengegrunnlag,
Fødsel,
FodselOgTilrettelegging,
ForhåndsvisMeldingParams,
Innsyn,
Expand Down Expand Up @@ -160,6 +161,7 @@ export const BehandlingRel = {
FEILUTBETALING_FAKTA: 'feilutbetalingFakta',
FEILUTBETALING_AARSAK: 'feilutbetalingAarsak',
BEREGNINGRESULTAT_DAGYTELSE: 'beregningsresultat-dagytelse',
FAKTA_FØDSEL: 'fakta-fødsel',
FAMILIEHENDELSE: 'familiehendelse-v2',
SOKNAD: 'soknad',
FERIEPENGEGRUNNLAG: 'feriepengegrunnlag',
Expand Down Expand Up @@ -308,6 +310,14 @@ const getBeregningsresultatDagytelseOptions =
staleTime: Infinity,
});

const getFaktaFødselOptions = (links: ApiLink[]) => (behandling: Behandling, isEnabled: boolean) => {
return queryOptions({
queryKey: [BehandlingRel.FAKTA_FØDSEL, behandling.uuid, behandling.versjon],
queryFn: () => kyExtended.get(getUrlFromRel('FAKTA_FØDSEL', links)).json<Fødsel>(),
enabled: harLenke(behandling, 'FAKTA_FØDSEL') && isEnabled,
staleTime: Infinity,
});
};
const getFamiliehendelseOptions = (links: ApiLink[]) => (behandling: Behandling, isEnabled: boolean) =>
queryOptions({
queryKey: [BehandlingRel.FAMILIEHENDELSE, behandling.uuid, behandling.versjon],
Expand Down Expand Up @@ -724,6 +734,7 @@ export const useBehandlingApi = (behandling: Behandling) => {
lagreVurderingForAOI: getLagreVurderingForAOI(links),
åpneForNyVurderingAOI: getÅpneForNyVurderingAOI(links),
søknadOptions: getSøknadOptions(links),
faktaFødselOptions: getFaktaFødselOptions(links),
familiehendelseOptions: getFamiliehendelseOptions(links),
beregningsresultatDagytelseOptions: getBeregningsresultatDagytelseOptions(links),
beregningDagytelseOriginalBehandlingOptions: getBeregningDagytelseOriginalBehandlingOptions(links),
Expand Down
5 changes: 4 additions & 1 deletion packages/fakta/felles/i18n/nb_NO.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"PersonPanel.Beskrivelse.Annenpart": "Adresser for den andre forelderen registrert i folkeregisteret gyldige på skjæringstidspunktet",
"PersonPanel.Fodt": "Født {dato}",
"PersonPanel.Dod": "Død {dato}",

"AdresseTabell.IngenAdresse": "Ingen adresser funnet for {erAnnenpart, select, true {den andre forelderen} other {søker} }.",
"AdresseTabell.SammeAdresse": "Den andre forelderen har samme adresse som søker på skjæringstidspunktet",
"AdresseTabell.PeriodeLabel": "Periode",
Expand Down Expand Up @@ -43,5 +44,7 @@

"FaktaKilde.Soknad": "FRA SØKNADEN",
"FaktaKilde.FREG": "FRA FOLKEREGISTERET",
"FaktaKilde.MEDL": "FRA MEDLEMSKAPSREGISTERET"
"FaktaKilde.MEDL": "FRA MEDLEMSKAPSREGISTERET",
"FaktaKilde.Ukjent": "FRA UKJENT KILDE",
"FaktaKilde.SBH": "FRA SAKSBEHANDLER"
}
2 changes: 1 addition & 1 deletion packages/fakta/felles/src/components/FaktaBox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ FaktaGruppe.displayName = 'FaktaGruppe';

interface FaktaBoxProps {
label: string | ReactNode;
value: string;
value: string | ReactNode;
kilde: FaktaKilde;
}

Expand Down
4 changes: 3 additions & 1 deletion packages/fakta/felles/src/components/FaktaKilde.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import messages from '../../i18n/nb_NO.json';

const intl = createIntl(messages);

export type FaktaKilde = 'SØKNAD' | 'FOLKEREGISTER' | 'MEDL';
export type FaktaKilde = 'SØKNAD' | 'FOLKEREGISTER' | 'MEDL' | 'SAKSBEHANDLER';

export const getLabelForFaktaKilde = (kilde: FaktaKilde) => {
switch (kilde) {
Expand All @@ -14,6 +14,8 @@ export const getLabelForFaktaKilde = (kilde: FaktaKilde) => {
return intl.formatMessage({ id: 'FaktaKilde.FREG' });
case 'MEDL':
return intl.formatMessage({ id: 'FaktaKilde.MEDL' });
case 'SAKSBEHANDLER':
return intl.formatMessage({ id: 'FaktaKilde.SBH' });
default:
return assertUnreachable(kilde);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ type Props = {
hasReadOnlyLabel?: boolean;
hasVurderingText?: boolean;
name?: string;
size?: 'small' | 'medium';
};

export type FormValues = {
Expand All @@ -43,6 +44,7 @@ export const FaktaBegrunnelseTextField = ({
hasReadOnlyLabel = false,
hasVurderingText = false,
name = 'begrunnelse',
size,
}: Props) => {
const code = hasVurderingText ? 'FaktaBegrunnelseTextField.Vurdering' : 'FaktaBegrunnelseTextField.BegrunnEndringene';

Expand All @@ -59,6 +61,7 @@ export const FaktaBegrunnelseTextField = ({
validate={[required, minLength3, maxLength1500, hasValidText]}
maxLength={1500}
readOnly={isReadOnly}
size={size}
/>
)}
</RawIntlProvider>
Expand Down
36 changes: 18 additions & 18 deletions packages/fakta/fodsel/i18n/nb_NO.json
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
{
"FodselInfoPanel.KontrollerMotTerminbekreftelsen": "Kontroller terminbekreftelse",
"FodselInfoPanel.KontrollerMotFodselsdokumentasjon": "Kontroller mot opplysningene fra fødselsdokumentasjonen",

"TermindatoFaktaForm.ApplicationInformation": "Opplysninger om termin oppgitt i søknaden",
"TermindatoFaktaForm.UtstedtDato": "Utstedt dato",
"TermindatoFaktaForm.Termindato": "Termindato",
"TermindatoFaktaForm.AntallBarn": "Antall barn",
"TermindatoFaktaForm.CheckInformation": "Kontroller og godkjenn opplysningene i terminbekreftelsen",
"TermindatoFaktaForm.14WeeksAndThreeDays": "Utstedtdato kan ikke være før 26. svangerskapsuke",
"TermindatoFaktaForm.OpplysningerTPS": "Opplysninger om fødsel fra folkeregisteret",
"TermindatoFaktaForm.FodselsdatoTps": "Fødselsdato",
"TermindatoFaktaForm.AntallBarnTps": "Antall barn",
"TermindatoFaktaForm.Tittel": "Kontroller opplysninger om termin oppgitt i søknaden",
"TermindatoFaktaForm.AdvarselForTidligUtstedtdato": "Terminbekreftelsen utstedt før 22. svangerskapsuke. Kontakt søker for en nyere terminbekreftelse og sett saken på vent. Fortsett dersom ny bekreftelse ikke skal hentes inn. Behandlingen vil avslås på grunn av manglende dokumentasjon",

"AvklartBarnFieldArray.Title": "Fødselsdato",
"AvklartBarnFieldArray.Dodsdato": "Dødsdato",
"AvklartBarnFieldArray.LeggTilBarn": "Legg til barn",

"SjekkFodselDokForm.DokumentasjonForeligger": "Dokumentasjon foreligger",
"SjekkFodselDokForm.DokumentasjonForeliggerIkke": "Dokumentasjon foreligger ikke, bruk opplysningene i folkeregisteret",
"SjekkFodselDokForm.DokumentasjonAvFodsel": "Dokumentasjon av fødsel",
"SjekkFodselDokForm.FyllInnDokumenterteOpplysninger": "Fyll inn dokumenterte opplysninger"
"SjekkFodselDokForm.Tittel": "Kontroller dokumentasjon av fødsel",
"SjekkFodselDokForm.FyllInnDokumenterteOpplysninger": "Fyll inn dokumenterte fødselsopplysninger",
"SjekkFodselDokForm.DokumentasjonForeligger": "Registrer opplysninger om barn",
"SjekkFodselDokForm.DokumentasjonForeliggerIkke": "Ingen opplysninger om barn (avslag)",
"FaktaFødselFraFReg.Tittel": "Opplysninger fra Folkeregisteret",
"FaktaFødselFraFReg.IngenBarn": "Det er ikke registrert noen fødselshendelse i Folkeregisteret",
"FaktaFødselFraSøknad.Tittel": "Opplysninger oppgitt i søknaden",
"FaktaFødselFraSøknad.Terminbekreftelse" : "Terminbekreftelse",
"FaktaFødselFraSøknad.VisTerminbekreftelse": "Vis terminbekreftelse",
"Situasjon.OpplysningerGjeldende": "Gjeldende opplysninger",
"Label.NummerertBarn": "Barn {nummer}",
"Label.Barn": "Barn",
"Label.Fodselsdato": "Fødselsdato",
"Label.Dodsdato": "Dødsdato",
"Label.AntallBarn": "Antall barn",
"Label.Termindato": "Termindato",
"Label.Utstedtdato": "Utstedtdato"
}
1 change: 0 additions & 1 deletion packages/fakta/fodsel/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
"@navikt/ds-react": "7.22.0",
"@navikt/fp-fakta-felles": "workspace:*",
"@navikt/fp-kodeverk": "workspace:*",
"@navikt/fp-prosess-fakta-fodsel-sammenligning": "workspace:*",
"@navikt/fp-types": "workspace:*",
"@navikt/fp-types-avklar-aksjonspunkter": "workspace:*",
"@navikt/fp-utils": "workspace:*",
Expand Down
Loading
Loading