Page History
...
Dato | Ansvarlig | Beskrivelse |
|---|---|---|
| 26/2-2018 | KvalitetsIT | Initiel version |
| 07/04-2021 | KvalitetsIT | Flere detaljer vedr. integrationstest med docker-compose |
Definitioner og referencer
...
mvn test -Pintegration-test -Dconsentadministration.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service -Dlarservice.wsdlendpoint=http://localhost:8082/lar/MedicationAllergyService?wsdl
Parametrene, der skal sættes er dokumenteret herunder
Property | Beskrivelse |
| consentadministration.endpoint | Endpoint til samtykkeadministrationen, der skal benyttes |
| larservice.wsdlendpoint | URL, der udpeger Larservicens WSDLLarservicen |
Ved aktivering af integrationstesten vil helbreds/versionsservice afprøves. Denne kaldes også health servicen.
Derudover vil der laves test af oprettelse samt hentning af allergioplysninger via LAR med udgangpunkt i de User Stories og krav som er beskrevet i krav specifikationen.
Kørsel af integrationstest mod lokalt kørende service
Udfør følgende trin, hvis du ønsker at køre integrationstest mod lokal version deployed vha. docker-compose (Se detaljer i udvikler guides til LAR og CAVE service)
- Tjek source ud til LAR og CAVE servicene
- Byg servicene
- Start CAVE servicen lokalt med docker-compose
- Start LAR servicen lokalt med docker-compose
- Kør mvn test -Pintegration-test -Dconsentadministration.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service -Dlarservice.endpoint=http://localhost:8082/lar/MedicationAllergyService
User Stories og krav anvendt
...
- Som en sundhedsperson, vil jeg registrere medicin-allergioplysninger for en patient, så oplysningerne bliver tilgængelige på tværs af parterne i sundhedsvæsenet
- Som en sundhedsperson, vil jeg se medicin-allergioplysninger for en patient, så jeg kan undgå at ordinere medicin, som patienten ikke kan tåle
- Som en sundhedsperson, vil jeg opdatere medicin-allergioplysninger for en patient, så oplysningerne bliver tilgængelige på tværs af parterne i sundhedsvæsenet
Derudover er der følgende krav som hver har deres forudsætninger og formål:
- Registrering af lægemiddelallergi-oplysning, user story 1
- Med og uden Uuid for identifikation
- Læsning af lægemiddelallergi-oplysning, user story 2
- læsning for en given patient
- angivelse af om historik ønskes eller ej
- Uden historik returneres kun aktive allergier
- Med historik er det op til det modtagene system at sortere i aktive og inaktive allergier
- negativ samtykke håndteres
- Der registreres i minlog og behandler relation servicen.
- Opdatering af lægemiddelallergi-oplysning, user story 13
- en eksisterende allergi for en given patient kan opdateres, når den har status aktiv
- patient kan ikke opdateres
- kun seneste version af allergien kan opdateres
- alt historik gemmes
- Sletning af lægemiddelallergi-oplysning, user story 1 + 3
- en eksisterende allergi for en given patient kan ikke slettes. Der opdateres en eksisterende med status inaktiv istedet
- Transformation af LAR oplysninger til CAVE oplysninger, user story 1 + 2 + 3
- LAR servicen modtager et format, som gemmes vha. CAVE servicen som har sit eget format.
- Fejlhåndtering ved kald af LAR servicen, user story 1 + 2 + 3
- Der er en række status koder, med mere detaljerede status tekster til fejlhåndtering
...
- registrering af allergi med uuid - postivt udfald
- input: gyldig allergi med uuid
- udfald: status ok, værdier i allergi som forventet
- test: U1T1testAtAllergiKanOprettesPaaLovligtCprNummerUuidMedsendes
- registrering af allergi uden uuid - positivt udfald
- input: gyldig allergi uden uuid
- udfald: status ok, uuid er udfyldt på registreret allergi
- test: U1T2testAtAllergiKanOprettesPaaLovligtCprNummerUuidMedsendesIkke
- registrering af allergi med eksisterende uuid - negativt udfald, opdatering er genbrug af uuid ikke tilladt
- input: gyldig allergi med eksisterende uuid
- udfald: status valideringsfejl, allergien er ikke gemt
- test: U1T3testAtAllergiIkkeKanOprettesNårEksisterendeUuidAnvendes
- registrering af allergi med formål at afslutte (slettemuligheden) - positivt negativt udfald
- input gyldig allergi med status inaktiv (forudsætning, der findes allerede en aktiv)
- udfald: status okvalideringsfejl, og der findes både en aktiv og en inaktiv allergifortsat kun den oprindelige allergi som aktiv
- test: U1T4testAtAllergiKanOprettesOgEfterfølgendeInaktiveresUuidMedsendesU1T4testAtAllergiIkkeKanOprettesOgEfterfølgendeInaktiveresUuidMedsendes
- registrering af ugylding allergi - negativt udfald
- input: ugyldig allergi, substance code mangler i input
- udfald: status valideringsfejl, allergien er ikke gemt
- test: U1T5testAtAllergiIkkeOprettesNårSubstanceCodeMangler
...
- læsning af allergi - positivt udfald, ingen historik
- input: patient uden negativ samtykke, ingen værdispring, ingen historik
- udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
- test: U2T1testAtToAllergierKanHentesForPatientUdenNegativeSamtykkerUdenBrugAfVaerdiSpring
- læsning af allergi - negativ samtykke uden værdispring, ingen historik - negativt udfald
- input: patient med negativ samtykke mod kaldende sundhedsperson, ingen værdispring, ingen historik
- udfald: status negativ samtykke, ingen allergier vises
- test: U2T2testAtAllergierIkkeKanHentesForPatientMedNegativSamtykkeModSundhedsPersonenDerForetagerFremsoegningUdenBrugAfVaerdispring
- læsning af allergi - negativ samtykke med værdispring, ingen historik - positivt udfald
- input: patient med negativ samtykke mod kaldende sundhedsperson, værdispring, ingen historik
- udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
- test: U1T3testAtAllergierKanHentesForPatientMedNegativSamtykkeModSundhedsPersonDerForetagerFremsoegningMedBrugAfVaerdispring
- læsning af allergi - negativ samtykke mod anden person, ingen historik, positivt udfald, ingen historik
- input: patient med negativ samtykke mod anden person end kaldende sundhedsperson, ingen værdispring
- udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
- test: U1T4testAtAllergierKanHentesForPatientMedNegativSamtykkeModEnAndenSundhedsPersonenEndDenDerForetagerFremsoegningU2T4testAtAllergierKanHentesForPatientMedNegativSamtykkeModEnAndenSundhedsPersonenEndDenDerForetagerFremsoegning
- læsning af allergi - dataspecifik negativ samtykke uden værdispring, ingen historik, delvist positivt udfald
- input: patient med dataspecifikt negativ samtykke, ingen værdispring, ingen historik
- udfald: status succes men dataspec., et udsnit af patientens allergier patientens nyeste version af allergier med status aktiv hentes
- test: U1T5testAtAllergierForRegistreringerPaaSorkodeHvorPatientHarDataSpecifiktNegativtSamtykkeFiltreresFraNaarDerIkkeBrugesVaerdispringU2T5testAtAllergierForRegistreringerPaaSorkodeHvorPatientHarDataSpecifiktNegativtSamtykkeFiltreresFraNaarDerIkkeBrugesVaerdispring
- læsning af allergi - dataspecifik negativ samtykke med værdispring, ingen historik, postivt udfald
- input: patient med dataspecifikt negativ samtykke, værdispring, ingen historik
- udfald: status success, patientens nyeste version af allergier med status aktiv hentes
- test: U2T6testAtAllergierForRegistreringerPaaSorkodeHvorPatientHarDataSpecifiktNegativtSamtykkeIkkeFiltreresFraNaarDerBrugesVaerdispring
- læsning af allergi med ikke eksisterende patient, ingen historik - postivt udfald
- input: patient som ikke har allergier registreret, ingen værdspring, ingen historik
- udfald: status ok, der er ingen allergier at hente
- test: U2T7testAtIngenAllergierHentesForPatientUdenNegativeSamtykkerUdenBrugAfVaerdiSpring
- læsning af allergi med manglende søgekriterie, ingen historik - negativt udfald
- input: ingen patient, ingen værdispring, ingen historik
- udfald: status valideringsfejl, ingen allergier returneres
- test: U2T8testAtIngenAllergierHentesForBlankPatientUdenBrugAfVaerdiSpring
- læsning af allergi, med historik , allergi har historik og er inaktiv - positiv udfald
- input: patient uden negativ samtykke, ingen værdispring, historik
- udfald: status ok, patientens allergier med alle status hentes i alle versioner
- test: U2T9testAtAllergierKanHentesMedHistorik
- læsning af allergi, ingen historik (selvom der er en del historik) - positiv udfald
- input: patient uden negativ samtykke, ingen værdispring, ingen historik
- udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
- test: U2T10testAtAllergierKanHentesUdenHistorik
- læsning af allergi, ingen historik (selvom der er en del historik og inaktiv) - positiv udfald
- input: patient uden negativ samtykke, ingen værdispring, ingen historik
- udfald: status ok, der er ingen allergier at hente
- test: U2T11testAtAllergierIkkeKanHentesUdenHistorikNaarInactive
- læsning af allergi uden angivelse af om historik (som ved ingen historik) - positiv udfald
- input: patient uden negativ samtykke, ingen værdispring, med historik
- udfald: status ok, patientens nyeste version af allergier med status aktiv hentes
- test: U2T11testAtAllergierKanHentesUdenHistorikDefault
Opdatering
- opdatering af allergi med uuid - postivt udfald
- input: gyldig eksisterende allergi med uuid
- udfald: status ok, værdier i allergi opdateret som forventet
- test: U3T1testAtAllergiKanOpdateresPaaLovligtCprNummer
- opdatering af allergi uden uuid - negativt udfald
- input: gyldig eksisterende allergi uden uuid (findes reelt ikke da uuid er null)
- udfald: status fejl, allergien er ikke opdateret
- test: U3T2testAtAllergiIkkeKanOpdateresPaaLovligtCprNummerUuidMedsendesIkke
- opdatering af allergi med ukendt uuid - negativt udfald
- input: gyldig eksisterende allergi med ikke eksisterende uuid (findes reelt ikke da uuid ikke findes)
- udfald: status fejl, allergien er ikke opdateret
- test: U3T3testAtAllergiIkkeKanOpdateresNaarIkkeEksisterendeUuidAnvendes
- opdatering af allergi med patient ændret - negativt udfald
- input: gyldig eksisterende allergi med opdateret patient
- udfald: status fejl, allergien er ikke opdateret
- test: U3T4testAtAllergiIkkeKanOpdateresNaarPatientAendres
- opdatering af ikke seneste version af allergi - negativ udfald
- input: gyldig eksisterende allergi med ikke nyeste version id
- udfald: status fejl, allergien er ikke opdateret
- test: U3T5testAtAllergiIkkeKanOpdateresNaarIkkeNyesteVersion
- opdatering af allergi 3 gange og al historik gemmes - postivt udfald
- input: gyldig eksisterende allergi
- udfald: status ok
- test: U3T6testAtAllergiKanOpdateresTreGangeOgHistorikGemmes
- opdatering af allergi med inaktiv status (slettemarkering) - postivt udfald
- input: gyldig eksisterende allergi
- udfald: status ok
- test: U3T7testAtAllergiKanOpdateresMedStatusInaktiv
- opdatering af inaktiv allergi - negativt udfald
- input: gyldig eksisterende allergi med status inaktiv
- udfald: status fejl, allergien er ikke opdateret
- test: U3T8testAtAllergiIkkeKanOpdateresNaarStatusInaktiv
- opdatering af allergi med invalid data - negativt udfald
- input: gyldig eksisterende allergi og blank drugid
- udfald: status fejl, allergien er ikke opdateret
- test: U3T9testAtAllergiIkkeKanOpdateresPaaLovligtCprNummerNaarDrugidBlankes
- opdatering af allergi uden versionid - negativt udfald
- input: gyldig eksisterende allergi men uden versionid
- udfald: status fejl, allergien er ikke opdateret
- test: U3T10testAtAllergiIkkeKanOpdateresNaarVersionNull
Transformation
Transformering testes som en del af testen "registrering af allergi med uuid - postivt udfald" hvor input og output sammenlignes. Dermed har data ikke ændret sig under transformering fra LAR >> CAVE >> LAR format.
...
Fejlhåndtering testes som en del af både registrering, opdatering og læsning, i det test som har negativ udfald.
...
mvn test -Pperformancedata-test -Dconsentadministration.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service -Dlarservice.wsdlendpoint=http://localhost:8065/larservice/MedicationAllergyService?wsdl
Vær opmærksom på, at justeringer kan være nødvendige i kildekoden (Modulet larservice-integrationtest, pakken .performancedata, klassen PerformanceTestDataImport.java) omkring antallet af records, fordeling af recorder information samt cpr nummer genereringen).
...
mvn test -Pdataimport-test -Dconsentadministration.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service -Dlarservice.wsdlendpoint=http://localhost:8065/larservice/MedicationAllergyService?wsdl
Kørslerne tager udgangspunkt i navngivne filer (se kildekode) som placeres i test resources biblioteket, og disse bliver så læst ind i allergi databasen.
...