Skip to content

Commit

Permalink
standardiser enums i ny modell
Browse files Browse the repository at this point in the history
  • Loading branch information
olesls committed Sep 3, 2024
1 parent 9c565db commit 4deb407
Show file tree
Hide file tree
Showing 3 changed files with 137 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,23 @@ enum class BrukersituasjonVilkår {
I_STAND_TIL_Å_BRUKE_HJELPEMIDLENE_V1,
}

enum class BrukersituasjonVilkårV2 {

@Deprecated("Ikke lenger et valg i hm-soknad")
NEDSATT_FUNKSJON,

@Deprecated("Ikke lenger et valg i hm-soknad")
STØRRE_BEHOV,

@Deprecated("Ikke lenger et valg i hm-soknad")
PRAKTISKE_PROBLEM,

PRAKTISKE_PROBLEMER_I_DAGLIGLIVET_V1,
VESENTLIG_OG_VARIG_NEDSATT_FUNKSJONSEVNE_V1,
KAN_IKKE_LØSES_MED_ENKLERE_HJELPEMIDLER_V1,
I_STAND_TIL_Å_BRUKE_HJELPEMIDLENE_V1,
}

enum class LeveringTilleggsinfo {
UTLEVERING_KALENDERAPP,
ALLE_HJELPEMIDLER_ER_UTLEVERT,
Expand All @@ -114,6 +131,11 @@ enum class Oppfølgingsansvarlig {
ANNEN_OPPFØLGINGSANSVARLIG,
}

enum class OppfølgingsansvarligV2 {
HJELPEMIDDELFORMIDLER,
ANNEN_OPPFØLGINGSANSVARLIG,
}

enum class Kontaktperson {
@JsonProperty("Hjelpemiddelbruker")
HJELPEMIDDELBRUKER,
Expand All @@ -125,6 +147,12 @@ enum class Kontaktperson {
ANNEN_KONTAKTPERSON,
}

enum class KontaktpersonV2 {
HJELPEMIDDELBRUKER,
HJELPEMIDDELFORMIDLER,
ANNEN_KONTAKTPERSON,
}

enum class Utleveringsmåte {
@JsonProperty("FolkeregistrertAdresse")
FOLKEREGISTRERT_ADRESSE,
Expand All @@ -140,6 +168,15 @@ enum class Utleveringsmåte {
ALLEREDE_UTLEVERT_AV_NAV,
}

enum class UtleveringsmåteV2 {
FOLKEREGISTRERT_ADRESSE,
ANNEN_BRUKSADRESSE,
HJELPEMIDDELSENTRALEN,

@Deprecated("Brukes ikke i digital behovsmelding lenger")
ALLEREDE_UTLEVERT_AV_NAV,
}

enum class Hasteårsak {
UTVIKLING_AV_TRYKKSÅR,
TERMINALPLEIE,
Expand Down Expand Up @@ -173,6 +210,18 @@ enum class Bruksarena {
INSTITUSJON_BARNEBOLIG_KUN_PERSONLIG_BRUK,
}

enum class BruksarenaV2 {
EGET_HJEM,
EGET_HJEM_IKKE_AVLASTNING,
OMSORGSBOLIG_BOFELLESKAP_SERVICEBOLIG,
BARNEHAGE,
GRUNN_ELLER_VIDEREGÅENDE_SKOLE,
SKOLEFRITIDSORDNING,
INSTITUSJON,
INSTITUSJON_BARNEBOLIG,
INSTITUSJON_BARNEBOLIG_KUN_PERSONLIG_BRUK,
}

enum class KanIkkeAvhjelpesMedEnklereÅrsak {
HAR_LUFTVEISPROBLEMER,
BEGRENSNING_VED_FUNKSJONSNEDSETTELSE,
Expand Down Expand Up @@ -274,6 +323,13 @@ enum class UtlevertType {
ANNET,
}

enum class UtlevertTypeV2 {
FREMSKUTT_LAGER,
KORTTIDSLÅN,
OVERFØRT,
ANNET,
}

enum class SitteputeValg {
@JsonProperty("TrengerSittepute")
TRENGER_SITTEPUTE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ package no.nav.hjelpemidler.behovsmeldingsmodell.v2

import no.nav.hjelpemidler.behovsmeldingsmodell.BehovsmeldingType
import no.nav.hjelpemidler.behovsmeldingsmodell.Brukerkilde
import no.nav.hjelpemidler.behovsmeldingsmodell.BrukersituasjonVilkår
import no.nav.hjelpemidler.behovsmeldingsmodell.Bruksarena
import no.nav.hjelpemidler.behovsmeldingsmodell.BrukersituasjonVilkårV2
import no.nav.hjelpemidler.behovsmeldingsmodell.BruksarenaV2
import no.nav.hjelpemidler.behovsmeldingsmodell.FritakFraBegrunnelseÅrsak
import no.nav.hjelpemidler.behovsmeldingsmodell.Fødselsnummer
import no.nav.hjelpemidler.behovsmeldingsmodell.InnsenderRolle
import no.nav.hjelpemidler.behovsmeldingsmodell.Kontaktperson
import no.nav.hjelpemidler.behovsmeldingsmodell.KontaktpersonV2
import no.nav.hjelpemidler.behovsmeldingsmodell.LeveringTilleggsinfo
import no.nav.hjelpemidler.behovsmeldingsmodell.Oppfølgingsansvarlig
import no.nav.hjelpemidler.behovsmeldingsmodell.OppfølgingsansvarligV2
import no.nav.hjelpemidler.behovsmeldingsmodell.Personnavn
import no.nav.hjelpemidler.behovsmeldingsmodell.Prioritet
import no.nav.hjelpemidler.behovsmeldingsmodell.Signaturtype
import no.nav.hjelpemidler.behovsmeldingsmodell.Utleveringsmåte
import no.nav.hjelpemidler.behovsmeldingsmodell.UtlevertType
import no.nav.hjelpemidler.behovsmeldingsmodell.UtleveringsmåteV2
import no.nav.hjelpemidler.behovsmeldingsmodell.UtlevertTypeV2
import no.nav.hjelpemidler.behovsmeldingsmodell.Veiadresse
import no.nav.hjelpemidler.behovsmeldingsmodell.v1.Bytte
import no.nav.hjelpemidler.behovsmeldingsmodell.v1.Godkjenningskurs
Expand Down Expand Up @@ -52,7 +52,7 @@ data class Bruker(
)

data class Brukersituasjon(
val bekreftedeVilkår: Set<BrukersituasjonVilkår>,
val bekreftedeVilkår: Set<BrukersituasjonVilkårV2>,
val funksjonsnedsettelser: Set<Funksjonsnedsettelser>,
)

Expand All @@ -65,19 +65,19 @@ enum class Funksjonsnedsettelser {
data class Levering(
val hjelpemiddelformidler: no.nav.hjelpemidler.behovsmeldingsmodell.v1.Levering.Hjelpemiddelformidler,

val oppfølgingsansvarlig: Oppfølgingsansvarlig,
val oppfølgingsansvarlig: OppfølgingsansvarligV2,
val annenOppfølgingsansvarlig: no.nav.hjelpemidler.behovsmeldingsmodell.v1.Levering.AnnenOppfølgingsansvarlig?,

/**
* utleveringsmåte == null -> formidler har ikke fått spm om utlevering fordi det ikke er behov for denne infoen.
* Skjer når hvert hjm. er markert som utlevert eller ikke trenger info om utlevering (feks for apper hvor lisens
* sendes til MinSide på nav.no, eller til folkereg. adresse for barn under 18 år).
*/
val utleveringsmåte: Utleveringsmåte?,
val utleveringsmåte: UtleveringsmåteV2?,
val annenUtleveringsadresse: Veiadresse?,

// utleveringKontaktperson == null => alle hjm. er allerede utlevert
val utleveringKontaktperson: Kontaktperson?,
val utleveringKontaktperson: KontaktpersonV2?,
val annenKontaktperson: no.nav.hjelpemidler.behovsmeldingsmodell.v1.Levering.AnnenKontaktperson?,

val utleveringMerknad: String,
Expand Down Expand Up @@ -107,7 +107,7 @@ data class Hjelpemiddel(
val produkt: HjelpemiddelProdukt,
val tilbehør: List<Tilbehør>,
val bytter: List<Bytte>,
val bruksarena: Set<Bruksarena>,
val bruksarenaer: Set<BruksarenaV2>,
val utlevertinfo: Utlevertinfo,
val opplysninger: List<Opplysning>,
val varsler: List<Varsel>,
Expand All @@ -133,7 +133,7 @@ data class Tilbehør(

data class Utlevertinfo(
val alleredeUtlevertFraHjelpemiddelsentralen: Boolean,
val utleverttype: UtlevertType?,
val utleverttype: UtlevertTypeV2?,
val overførtFraBruker: Brukernummer?,
val annenKommentar: String?,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,19 @@ package no.nav.hjelpemidler.behovsmeldingsmodell.v2.mapping

import no.nav.hjelpemidler.behovsmeldingsmodell.BehovForSeng
import no.nav.hjelpemidler.behovsmeldingsmodell.Boform
import no.nav.hjelpemidler.behovsmeldingsmodell.BrukersituasjonVilkår
import no.nav.hjelpemidler.behovsmeldingsmodell.BrukersituasjonVilkårV2
import no.nav.hjelpemidler.behovsmeldingsmodell.Bruksarena
import no.nav.hjelpemidler.behovsmeldingsmodell.BruksarenaV2
import no.nav.hjelpemidler.behovsmeldingsmodell.BruksområdeGanghjelpemiddel
import no.nav.hjelpemidler.behovsmeldingsmodell.Fødselsnummer
import no.nav.hjelpemidler.behovsmeldingsmodell.GanghjelpemiddelType
import no.nav.hjelpemidler.behovsmeldingsmodell.InnsenderRolle
import no.nav.hjelpemidler.behovsmeldingsmodell.KanIkkeAvhjelpesMedEnklereÅrsak
import no.nav.hjelpemidler.behovsmeldingsmodell.Kontaktperson
import no.nav.hjelpemidler.behovsmeldingsmodell.KontaktpersonV2
import no.nav.hjelpemidler.behovsmeldingsmodell.Oppfølgingsansvarlig
import no.nav.hjelpemidler.behovsmeldingsmodell.OppfølgingsansvarligV2
import no.nav.hjelpemidler.behovsmeldingsmodell.OppreisningsstolBehov
import no.nav.hjelpemidler.behovsmeldingsmodell.OppreisningsstolBruksområde
import no.nav.hjelpemidler.behovsmeldingsmodell.OppreisningsstolLøftType
Expand All @@ -16,7 +23,10 @@ import no.nav.hjelpemidler.behovsmeldingsmodell.PosisjoneringsputeBehov
import no.nav.hjelpemidler.behovsmeldingsmodell.PosisjoneringsputeForBarnBruk
import no.nav.hjelpemidler.behovsmeldingsmodell.PosisjoneringsputeOppgaverIDagligliv
import no.nav.hjelpemidler.behovsmeldingsmodell.SitteputeValg
import no.nav.hjelpemidler.behovsmeldingsmodell.Utleveringsmåte
import no.nav.hjelpemidler.behovsmeldingsmodell.UtleveringsmåteV2
import no.nav.hjelpemidler.behovsmeldingsmodell.UtlevertType
import no.nav.hjelpemidler.behovsmeldingsmodell.UtlevertTypeV2
import no.nav.hjelpemidler.behovsmeldingsmodell.v1.Hjelpemiddel
import no.nav.hjelpemidler.behovsmeldingsmodell.v1.Kroppsmål
import no.nav.hjelpemidler.behovsmeldingsmodell.v1.Søknad
Expand Down Expand Up @@ -82,7 +92,17 @@ fun tilFormidlerbehovsmeldingV2(
},
),
brukersituasjon = Brukersituasjon(
bekreftedeVilkår = v1.søknad.brukersituasjon.bekreftedeVilkår,
bekreftedeVilkår = v1.søknad.brukersituasjon.bekreftedeVilkår.map { vilkår ->
when (vilkår) {
BrukersituasjonVilkår.NEDSATT_FUNKSJON -> BrukersituasjonVilkårV2.NEDSATT_FUNKSJON
BrukersituasjonVilkår.STØRRE_BEHOV -> BrukersituasjonVilkårV2.STØRRE_BEHOV
BrukersituasjonVilkår.PRAKTISKE_PROBLEM -> BrukersituasjonVilkårV2.PRAKTISKE_PROBLEM
BrukersituasjonVilkår.PRAKTISKE_PROBLEMER_I_DAGLIGLIVET_V1 -> BrukersituasjonVilkårV2.PRAKTISKE_PROBLEMER_I_DAGLIGLIVET_V1
BrukersituasjonVilkår.VESENTLIG_OG_VARIG_NEDSATT_FUNKSJONSEVNE_V1 -> BrukersituasjonVilkårV2.VESENTLIG_OG_VARIG_NEDSATT_FUNKSJONSEVNE_V1
BrukersituasjonVilkår.KAN_IKKE_LØSES_MED_ENKLERE_HJELPEMIDLER_V1 -> BrukersituasjonVilkårV2.KAN_IKKE_LØSES_MED_ENKLERE_HJELPEMIDLER_V1
BrukersituasjonVilkår.I_STAND_TIL_Å_BRUKE_HJELPEMIDLENE_V1 -> BrukersituasjonVilkårV2.I_STAND_TIL_Å_BRUKE_HJELPEMIDLENE_V1
}
}.toSet(),
funksjonsnedsettelser = mutableSetOf<Funksjonsnedsettelser>().also {
if (v1.søknad.brukersituasjon.funksjonsnedsettelser.bevegelse) {
it.add(Funksjonsnedsettelser.BEVEGELSE)
Expand All @@ -97,11 +117,25 @@ fun tilFormidlerbehovsmeldingV2(
),
levering = Levering(
hjelpemiddelformidler = v1.søknad.levering.hjelpemiddelformidler,
oppfølgingsansvarlig = v1.søknad.levering.oppfølgingsansvarlig,
oppfølgingsansvarlig = when (v1.søknad.levering.oppfølgingsansvarlig) {
Oppfølgingsansvarlig.HJELPEMIDDELFORMIDLER -> OppfølgingsansvarligV2.HJELPEMIDDELFORMIDLER
Oppfølgingsansvarlig.ANNEN_OPPFØLGINGSANSVARLIG -> OppfølgingsansvarligV2.ANNEN_OPPFØLGINGSANSVARLIG
},
annenOppfølgingsansvarlig = v1.søknad.levering.annenOppfølgingsansvarlig,
utleveringsmåte = v1.søknad.levering.utleveringsmåte,
utleveringsmåte = when (v1.søknad.levering.utleveringsmåte) {
Utleveringsmåte.FOLKEREGISTRERT_ADRESSE -> UtleveringsmåteV2.FOLKEREGISTRERT_ADRESSE
Utleveringsmåte.ANNEN_BRUKSADRESSE -> UtleveringsmåteV2.ANNEN_BRUKSADRESSE
Utleveringsmåte.HJELPEMIDDELSENTRALEN -> UtleveringsmåteV2.HJELPEMIDDELSENTRALEN
Utleveringsmåte.ALLEREDE_UTLEVERT_AV_NAV -> UtleveringsmåteV2.ALLEREDE_UTLEVERT_AV_NAV
null -> null
},
annenUtleveringsadresse = v1.søknad.levering.annenUtleveringsadresse,
utleveringKontaktperson = v1.søknad.levering.utleveringKontaktperson,
utleveringKontaktperson = when (v1.søknad.levering.utleveringKontaktperson) {
Kontaktperson.HJELPEMIDDELBRUKER -> KontaktpersonV2.HJELPEMIDDELBRUKER
Kontaktperson.HJELPEMIDDELFORMIDLER -> KontaktpersonV2.HJELPEMIDDELFORMIDLER
Kontaktperson.ANNEN_KONTAKTPERSON -> KontaktpersonV2.ANNEN_KONTAKTPERSON
null -> null
},
annenKontaktperson = v1.søknad.levering.annenKontaktperson,
utleveringMerknad = v1.søknad.levering.utleveringMerknad,
hast = v1.søknad.hast,
Expand Down Expand Up @@ -146,10 +180,28 @@ fun tilHjelpemiddelV2(v1: Hjelpemiddel, søknad: Søknad): no.nav.hjelpemidler.b
)
},
bytter = v1.bytter,
bruksarena = v1.bruksarena,
bruksarenaer = v1.bruksarena.map { bruksarena ->
when (bruksarena) {
Bruksarena.EGET_HJEM -> BruksarenaV2.EGET_HJEM
Bruksarena.EGET_HJEM_IKKE_AVLASTNING -> BruksarenaV2.EGET_HJEM_IKKE_AVLASTNING
Bruksarena.OMSORGSBOLIG_BOFELLESKAP_SERVICEBOLIG -> BruksarenaV2.OMSORGSBOLIG_BOFELLESKAP_SERVICEBOLIG
Bruksarena.BARNEHAGE -> BruksarenaV2.BARNEHAGE
Bruksarena.GRUNN_ELLER_VIDEREGÅENDE_SKOLE -> BruksarenaV2.GRUNN_ELLER_VIDEREGÅENDE_SKOLE
Bruksarena.SKOLEFRITIDSORDNING -> BruksarenaV2.SKOLEFRITIDSORDNING
Bruksarena.INSTITUSJON -> BruksarenaV2.INSTITUSJON
Bruksarena.INSTITUSJON_BARNEBOLIG -> BruksarenaV2.INSTITUSJON_BARNEBOLIG
Bruksarena.INSTITUSJON_BARNEBOLIG_KUN_PERSONLIG_BRUK -> BruksarenaV2.INSTITUSJON_BARNEBOLIG_KUN_PERSONLIG_BRUK
}
}.toSet(),
utlevertinfo = Utlevertinfo(
alleredeUtlevertFraHjelpemiddelsentralen = v1.utlevertFraHjelpemiddelsentralen,
utleverttype = v1.utlevertInfo?.utlevertType,
utleverttype = when (v1.utlevertInfo?.utlevertType) {
UtlevertType.FREMSKUTT_LAGER -> UtlevertTypeV2.FREMSKUTT_LAGER
UtlevertType.KORTTIDSLÅN -> UtlevertTypeV2.KORTTIDSLÅN
UtlevertType.OVERFØRT -> UtlevertTypeV2.OVERFØRT
UtlevertType.ANNET -> UtlevertTypeV2.ANNET
null -> null
},
overførtFraBruker = v1.utlevertInfo?.overførtFraBruker,
annenKommentar = v1.utlevertInfo?.annenKommentar,
),
Expand Down Expand Up @@ -729,7 +781,10 @@ fun seilEllerSele(hm: Hjelpemiddel): List<Opplysning> {
val apostnrBadekarheis = "9"
if (hm.produkt?.kategori == "Personløftere og seil" && hm.produkt.apostnr != apostnrBadekarheis) {
return opplysninger(
ledetekst = LokalisertTekst(nb = "Har bruker behov for seil eller sele", nn = "Har brukar behov for segl eller sele"),
ledetekst = LokalisertTekst(
nb = "Har bruker behov for seil eller sele",
nn = "Har brukar behov for segl eller sele",
),
tekst = when (hm.personløfterInfo?.harBehovForSeilEllerSele) {
true -> LokalisertTekst("Ja")
false -> LokalisertTekst("Nei")
Expand Down Expand Up @@ -1356,7 +1411,11 @@ fun ganghjelpemiddelInfo(hm: Hjelpemiddel): List<Opplysning> {
val bruksområde = hm.ganghjelpemiddelInfo.bruksområde
val tekst = when (type) {
GanghjelpemiddelType.GÅSTOL -> when (bruksområde) {
BruksområdeGanghjelpemiddel.TIL_FORFLYTNING -> LokalisertTekst(nb = "Til forflytning", nn = "Til forflytting")
BruksområdeGanghjelpemiddel.TIL_FORFLYTNING -> LokalisertTekst(
nb = "Til forflytning",
nn = "Til forflytting",
)

BruksområdeGanghjelpemiddel.TIL_TRENING_OG_ANNET -> LokalisertTekst("Til trening, aktivisering og stimulering")
}

Expand Down Expand Up @@ -1422,7 +1481,8 @@ private fun opplysninger(ledetekst: LokalisertTekst, tekster: List<Tekst>) = lis

private fun opplysninger(ledetekst: LokalisertTekst, tekst: Tekst) = listOf(Opplysning(ledetekst, tekst))

private fun opplysninger(ledetekst: LokalisertTekst, tekst: LokalisertTekst) = listOf(Opplysning(ledetekst, Tekst(tekst)))
private fun opplysninger(ledetekst: LokalisertTekst, tekst: LokalisertTekst) =
listOf(Opplysning(ledetekst, Tekst(tekst)))

private fun opplysninger(ledetekst: LokalisertTekst, tekst: String) = listOf(Opplysning(ledetekst, Tekst(tekst)))

Expand Down

0 comments on commit 4deb407

Please sign in to comment.