Skip to content

Commit 612c1a1

Browse files
committed
IS-3152: Negative apprec when wrong combination
1 parent 7c3ef0d commit 612c1a1

File tree

4 files changed

+162
-11
lines changed

4 files changed

+162
-11
lines changed

src/main/kotlin/no/nav/syfo/validation/ValidateDialogMeldingKodeverk.kt

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ fun isKodeverkValid(msgId: String, xmlDialogmelding: XMLDialogmelding, dialogmel
2525
val foresporselKodeverk = xmlDialogmelding.notat.first().foresporsel?.typeForesp?.s
2626
if (foresporselKodeverk == DialogmeldingKodeverk.INNKALLING_DIALOGMOTE_KODEVERK.kodeverkOID) {
2727
logger.warn("Invalid kodeverk: Received foresporselsvar for foresporsel with dialogmotekodeverk: $msgId")
28+
return false
2829
}
2930
val gyldigeDialogmeldingKodeverk = DialogmeldingType.DIALOGMELDING_FORESPORSEL_FRA_SAKSBEHANDLER_FORESPORSEL_SVAR.dialogmeldingKodeverk
3031
return gyldigeDialogmeldingKodeverk.contains(xmlDialogmeldingKodeverk)

src/test/kotlin/no/nav/syfo/dialogmelding/BlockingApplicationRunnerSpek.kt

+24
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,30 @@ class BlockingApplicationRunnerSpek : Spek({
106106
verify(exactly = 0) { mqSender.sendArena(any()) }
107107
verify(exactly = 0) { dialogmeldingProducer.sendDialogmelding(any(), any(), any(), any()) }
108108
}
109+
it("Prosesserer innkommet dialogmotesvar (ok)") {
110+
val fellesformat =
111+
getFileAsString("src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote.xml")
112+
every { incomingMessage.text } returns(fellesformat)
113+
runBlocking {
114+
blockingApplicationRunner.processMessage(incomingMessage)
115+
}
116+
verify(exactly = 1) { mqSender.sendReceipt(any()) }
117+
verify(exactly = 0) { mqSender.sendBackout(any()) }
118+
verify(exactly = 0) { mqSender.sendArena(any()) }
119+
verify(exactly = 1) { dialogmeldingProducer.sendDialogmelding(any(), any(), any(), any()) }
120+
}
121+
it("Prosesserer innkommet dialogmotesvar (ugyldig kodeverk)") {
122+
val fellesformat =
123+
getFileAsString("src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote_invalid.xml")
124+
every { incomingMessage.text } returns(fellesformat)
125+
runBlocking {
126+
blockingApplicationRunner.processMessage(incomingMessage)
127+
}
128+
verify(exactly = 1) { mqSender.sendReceipt(any()) }
129+
verify(exactly = 0) { mqSender.sendBackout(any()) }
130+
verify(exactly = 0) { mqSender.sendArena(any()) }
131+
verify(exactly = 0) { dialogmeldingProducer.sendDialogmelding(any(), any(), any(), any()) }
132+
}
109133
it("Prosesserer innkommet test-melding fra syfomock (melding ok)") {
110134
val fellesformat =
111135
getFileAsString("src/test/resources/dialogmelding_dialog_notat.xml")

src/test/resources/dialogmelding_dialog_svar_innkalling_dialogmote.xml

+4-11
Original file line numberDiff line numberDiff line change
@@ -79,23 +79,16 @@
7979
<DateOfBirth>1991-12-4</DateOfBirth>
8080
<Sex DN="Mann" V="1" />
8181
<Ident>
82-
<Id>3143242342</Id>
82+
<Id>01010142365</Id>
8383
<TypeId DN="Fødselsnummer" S="2.16.578.1.12.4.1.1.8116" V="FNR" />
8484
</Ident>
8585
<Address>
86-
<Type DN="Folkeregisteradresse" V="HP"/>
86+
<Type DN="Postadresse" V="PST" />
8787
<StreetAdr>Sannergata 2</StreetAdr>
8888
<PostalCode>0655</PostalCode>
8989
<City>OSLO</City>
90+
<County DN="OSLO" V="0712" />
9091
</Address>
91-
<TeleCom>
92-
<TypeTelecom DN="MobilTelefon" V="MC"/>
93-
<TeleAddress V="tel:12345678"/>
94-
</TeleCom>
95-
<TeleCom>
96-
<TypeTelecom DN="Hovedtelefon" V="HP"/>
97-
<TeleAddress V="tel:23456789"/>
98-
</TeleCom>
9992
</Patient>
10093
</MsgInfo>
10194
<Document>
@@ -136,5 +129,5 @@
136129
</Document>
137130
</MsgHead>
138131
<MottakenhetBlokk
139-
avsender="123123" avsenderFnrFraDigSignatur="12312414234" avsenderRef="SERIALNUMBER=984106610, CN=Allmennmedisinsk Senter DA, O=AMS ALLMENNMEDISINSK SENTER DA, C=NO" ebAction="MoteRespons" ebRole="Sykmelder" ebService="DialogmoteInnkalling" ebXMLSamtaleId="20200917-011356-538" ediLoggId="1901162204amsa22108.1" herIdentifikator="" meldingsType="xml" mottattDatotid="2020-09-21T21:14:27" partnerReferanse="14629"/>
132+
avsender="123123" avsenderFnrFraDigSignatur="01010112377" avsenderRef="SERIALNUMBER=984106610, CN=Allmennmedisinsk Senter DA, O=AMS ALLMENNMEDISINSK SENTER DA, C=NO" ebAction="MoteRespons" ebRole="Sykmelder" ebService="DialogmoteInnkalling" ebXMLSamtaleId="20200917-011356-538" ediLoggId="1901162204amsa22108.1" herIdentifikator="" meldingsType="xml" mottattDatotid="2020-09-21T21:14:27" partnerReferanse="14629"/>
140133
</EI_fellesformat>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<EI_fellesformat
3+
xmlns="http://www.nav.no/xml/eiff/2/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4+
<MsgHead
5+
xmlns="http://www.kith.no/xmlstds/msghead/2006-05-24" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kith.no/xmlstds/msghead/2006-05-24 MsgHead-v1_2.xsd">
6+
<MsgInfo>
7+
<Type DN="Svar p.. foresp..rsel" V="DIALOG_SVAR"/>
8+
<MIGversion>v1.2 2006-05-24</MIGversion>
9+
<GenDate>2020-09-21T21:11:55+08:00</GenDate>
10+
<MsgId>9be88bc5-4219-473e-954b-c0dd115ff4e0</MsgId>
11+
<Ack DN="Ja" V="J"/>
12+
<ConversationRef>
13+
<RefToParent>d97c669d-484b-42ef-b4e9-79d0f290a71f</RefToParent>
14+
<RefToConversation>d97c669d-484b-42ef-b4e9-79d0f290a71f</RefToConversation>
15+
</ConversationRef>
16+
<Sender>
17+
<Organisation>
18+
<OrganisationName>Kule helsetjenester AS</OrganisationName>
19+
<Ident>
20+
<Id>0123</Id>
21+
<TypeId DN="HER-id" S="2.16.578.1.12.4.1.1.9051" V="HER"/>
22+
</Ident>
23+
<Ident>
24+
<Id>223456789</Id>
25+
<TypeId DN="Organisasjonsnummeret i Enhetsregister" S="2.16.578.1.12.4.1.1.9051" V="ENH"/>
26+
</Ident>
27+
<Address>
28+
<Type DN="POSTADRESSE" V="PST"/>
29+
<StreetAdr>Oppdiktet gate 203</StreetAdr>
30+
<PostalCode>1234</PostalCode>
31+
<City>Oslo</City>
32+
</Address>
33+
<TeleCom>
34+
<TypeTelecom DN="Arbeidsplass" V="WP"/>
35+
<TeleAddress V="tel:12 34 56 78"/>
36+
</TeleCom>
37+
<TeleCom>
38+
<TypeTelecom DN="Fax" V="F"/>
39+
<TeleAddress V="fax:87 65 43 21"/>
40+
</TeleCom>
41+
<HealthcareProfessional>
42+
<FamilyName>Valda</FamilyName>
43+
<MiddleName>Fos</MiddleName>
44+
<GivenName>Inga</GivenName>
45+
<Ident>
46+
<Id>1234567</Id>
47+
<TypeId DN="HPR-nummer" S="2.16.578.1.12.4.1.1.8116" V="HPR"/>
48+
</Ident>
49+
<Ident>
50+
<Id>1234</Id>
51+
<TypeId DN="HER-id" S="2.16.578.1.12.4.1.1.8116" V="HER"/>
52+
</Ident>
53+
</HealthcareProfessional>
54+
</Organisation>
55+
</Sender>
56+
<Receiver>
57+
<Organisation>
58+
<OrganisationName>NAV</OrganisationName>
59+
<Ident>
60+
<Id>79768</Id>
61+
<TypeId DN="Identifikator fra Helsetjenesteenhetsregisteret (HER-id)" S="2.16.578.1.12.4.1.1.9051" V="HER"/>
62+
</Ident>
63+
<Ident>
64+
<Id>889640782</Id>
65+
<TypeId DN="Organisasjonsnummeret i Enhetsregisteret" S="2.16.578.1.12.4.1.1.9051" V="ENH"/>
66+
</Ident>
67+
<Organisation>
68+
<OrganisationName>NAV Oslo</OrganisationName>
69+
<Ident>
70+
<Id>0000</Id>
71+
<TypeId DN="Lokal identifikator for institusjoner" S="2.16.578.1.12.4.1.1.9051" V="LIN"/>
72+
</Ident>
73+
</Organisation>
74+
</Organisation>
75+
</Receiver>
76+
<Patient>
77+
<FamilyName>Test</FamilyName>
78+
<GivenName>Etternavn</GivenName>
79+
<DateOfBirth>1991-12-4</DateOfBirth>
80+
<Sex DN="Mann" V="1" />
81+
<Ident>
82+
<Id>01010142365</Id>
83+
<TypeId DN="Fødselsnummer" S="2.16.578.1.12.4.1.1.8116" V="FNR" />
84+
</Ident>
85+
<Address>
86+
<Type DN="Postadresse" V="PST" />
87+
<StreetAdr>Sannergata 2</StreetAdr>
88+
<PostalCode>0655</PostalCode>
89+
<City>OSLO</City>
90+
<County DN="OSLO" V="0712" />
91+
</Address>
92+
</Patient>
93+
</MsgInfo>
94+
<Document>
95+
<RefDoc>
96+
<IssueDate V="2020-09-21T21:11:26"/>
97+
<MsgType DN="XML-instans" V="XML"/>
98+
<Content>
99+
<Dialogmelding
100+
xmlns="http://www.kith.no/xmlstds/dialog/2006-10-11" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.kith.no/xmlstds/dialog/2006-10-11 dialogmelding.xsd">
101+
<Notat>
102+
<TemaKodet DN="Svar på forespørsel" S="2.16.578.1.12.4.1.1.9069" V="5"/>
103+
<TekstNotatInnhold>Ta gjerne kontakt ang hvilket telefonnummer jeg skal ringe. Mvh Inga F. Valda.</TekstNotatInnhold>
104+
<DokIdNotat>OD2009169905747</DokIdNotat>
105+
<DatoNotat>2020-09-21</DatoNotat>
106+
<Foresporsel>
107+
<TypeForesp DN="Endring dialogm..te 2" S="2.16.578.1.12.4.1.1.8125" V="2"/>
108+
<Sporsmal>
109+
Endret møtetidspunkt for dialogmøteGjelder Test Etternavn.NAV har tidligere innkalt til et dialogmøte angående din pasient. Møtet skulle vært
110+
avholdt 03.09.2020 klokken 14:00.Dette møtet må flyttes, og vi foreslår nytt møtetidspunkt 22.09.2020 klokken 12:00.Møtested: SvingenHvis tidspunktet ikke
111+
passer ber vi om en rask tilbakemelding.Vi gjør oppmerksom på at det er obligatorisk å delta i dialogmøter med NAV med mindre det er gyldig grunn for
112+
fravær.Fastlege deltar pr telefon. Med hilsenNAVJon PersonAktuelle lover: Både folketrygdloven og arbeidsmiljøloven har bestemmelser om
113+
sykefraværsoppfølging:Folketrygdloven § 8-4 og § 8-7Arbeidsmiljøloven § 4-6InformasjonØnsker du mer informasjon om regler og ordninger for oppfølging av
114+
sykmeldte?www.nav.no og www.arbeidstilsynet.no Lokalt NAV-kontor
115+
</Sporsmal>
116+
<DokIdForesp>OD2009169905747</DokIdForesp>
117+
<RollerRelatertNotat>
118+
<RolleNotat S="2.16.578.1.12.4.1.1.9057" V="1"/>
119+
<Person>
120+
<GivenName>Jon</GivenName>
121+
<FamilyName>Person</FamilyName>
122+
</Person>
123+
</RollerRelatertNotat>
124+
</Foresporsel>
125+
</Notat>
126+
</Dialogmelding>
127+
</Content>
128+
</RefDoc>
129+
</Document>
130+
</MsgHead>
131+
<MottakenhetBlokk
132+
avsender="123123" avsenderFnrFraDigSignatur="01010112377" avsenderRef="SERIALNUMBER=984106610, CN=Allmennmedisinsk Senter DA, O=AMS ALLMENNMEDISINSK SENTER DA, C=NO" ebAction="ForesporselSvar" ebRole="Sykmelder" ebService="ForesporselFraSaksbehandler" ebXMLSamtaleId="20200917-011356-538" ediLoggId="1901162204amsa22108.1" herIdentifikator="" meldingsType="xml" mottattDatotid="2020-09-21T21:14:27" partnerReferanse="14629"/>
133+
</EI_fellesformat>

0 commit comments

Comments
 (0)