diff --git a/src/main/kotlin/no/nav/syfo/handlestatus/HandleStatusInvalid.kt b/src/main/kotlin/no/nav/syfo/handlestatus/HandleStatusInvalid.kt index e71eed40..3a2272c3 100644 --- a/src/main/kotlin/no/nav/syfo/handlestatus/HandleStatusInvalid.kt +++ b/src/main/kotlin/no/nav/syfo/handlestatus/HandleStatusInvalid.kt @@ -716,6 +716,44 @@ fun handleBehandletDatoMangler( ) } +fun handleArbeidsgiverUgyldigVerdi( + loggingMeta: LoggingMeta, + fellesformat: XMLEIFellesformat, + ediLoggId: String, + msgId: String, + msgHead: XMLMsgHead, + env: EnvironmentVariables, + kafkaproducerApprec: KafkaProducer, + duplicationService: DuplicationService, + duplicateCheck: DuplicateCheck, +) { + logger.warn( + "Sykmeldingen er avvist fordi arbeidsgiver verdi mangler {} {}", + fields(loggingMeta), + keyValue("avvistAv", env.applicationName), + ) + + val apprec = + fellesformatToAppprec( + fellesformat, + "Sykmeldingen kan ikke rettes, det må skrives en ny." + + "Pasienten har ikke fått beskjed, men venter på ny sykmelding fra deg. Grunnet følgende:" + + "Arbeidsgiver HarArbeidsgiver V mangler i sykmeldingen. Kontakt din EPJ-leverandør", + ediLoggId, + msgId, + msgHead, + ) + + sendApprec( + apprec, + env, + kafkaproducerApprec, + loggingMeta, + duplicationService, + duplicateCheck, + ) +} + fun handleVedleggOver300MB( loggingMeta: LoggingMeta, fellesformat: XMLEIFellesformat, diff --git a/src/main/kotlin/no/nav/syfo/util/CheckSM2013Content.kt b/src/main/kotlin/no/nav/syfo/util/CheckSM2013Content.kt index c2b9b691..37bb6ff6 100644 --- a/src/main/kotlin/no/nav/syfo/util/CheckSM2013Content.kt +++ b/src/main/kotlin/no/nav/syfo/util/CheckSM2013Content.kt @@ -8,6 +8,7 @@ import no.nav.syfo.apprec.Apprec import no.nav.syfo.duplicationcheck.model.DuplicateCheck import no.nav.syfo.handlestatus.handleAktivitetOrPeriodeIsMissing import no.nav.syfo.handlestatus.handleAnnenFraversArsakkodeVIsmissing +import no.nav.syfo.handlestatus.handleArbeidsgiverUgyldigVerdi import no.nav.syfo.handlestatus.handleArbeidsplassenArsakskodeHarUgyldigVerdi import no.nav.syfo.handlestatus.handleArbeidsplassenArsakskodeIsmissing import no.nav.syfo.handlestatus.handleBehandletDatoMangler @@ -318,6 +319,20 @@ fun checkSM2013Content( ) return true } + if (arbeidsgiverUgydlgiVerdi(healthInformation)) { + handleArbeidsgiverUgyldigVerdi( + loggingMeta, + fellesformat, + ediLoggId, + msgId, + msgHead, + env, + kafkaproducerApprec, + duplicationService, + duplicateCheck, + ) + return true + } return false } diff --git a/src/main/kotlin/no/nav/syfo/util/ValidateHelseOpplysningerArbeidsuforhet.kt b/src/main/kotlin/no/nav/syfo/util/ValidateHelseOpplysningerArbeidsuforhet.kt index 7f28d216..eae5beff 100644 --- a/src/main/kotlin/no/nav/syfo/util/ValidateHelseOpplysningerArbeidsuforhet.kt +++ b/src/main/kotlin/no/nav/syfo/util/ValidateHelseOpplysningerArbeidsuforhet.kt @@ -119,3 +119,7 @@ fun periodetypeIkkeAngitt(aktivitet: HelseOpplysningerArbeidsuforhet.Aktivitet): fun behandletDatoMangler(healthInformation: HelseOpplysningerArbeidsuforhet): Boolean { return healthInformation.kontaktMedPasient.behandletDato == null } + +fun arbeidsgiverUgydlgiVerdi(healthInformation: HelseOpplysningerArbeidsuforhet): Boolean { + return healthInformation.arbeidsgiver.harArbeidsgiver.v.isNullOrEmpty() +}