Detta dokument beskriver testsviten för GetMaternityMedicalHistory 3.0. Testsviten innehåller ett antal testfall som kan användas för att verifiera implementationen innan integrationen med den nationella tjänsteplattformen.
Testsviten innehåller ett antal testfall som kan användas för att samla in information om anslutande system. Denna information kan sedan ligga till grund för ett underlag för godkännande.
Ett testfall med ej förväntat utfall ska med andra ord ses som en informationskälla för den avvikelse som ska rapporteras i självdeklarationen.
I dessa fall rekommenderas mer omfattande tester och en utförlig dokumentation av vad man observerat, för att informationen redan i första granskningsrundan skall vara tillräcklig för beslut.
Detta underlag för godkännande kommer att granskas av ICC på Inera som rapporterar avvikelser. Dessa granskas därefter av Ineras avvikelsegrupp. Utkomsten av denna granskning kan leda till en eller flera avvikelser av tre olika typer där en avvikelse kan anses vara:
Innan man kör testfallen i SoapUI så måste den data som skickas med i anropen anpassas utifrån det system som man vill testa. Detta görs genom att ändra i filen data.xml enligt nedan.
Filen är i XML-format och i början finns en sektion som heter "globaldata". Här anger man den konfiguration som kommer att användas av alla testfall.
Varje element i "globaldata" kan omdefinieras för ett specifikt testfall vid behov. Följande element är globala:
De parametrar man anger för ett specifikt testfall kompletterar och/eller omdefinierar de parametrar som anges i "globaldata".
Det betyder att både parametrar från "globaldata" och det specifika testfallets sektion i filen används för det aktuella testfallet.
OBS! Om en parameter med samma namn definieras både i "globaldata" och specifikt för testfallet, så kommer värdet från testfalls-sektionen att användas.
Ett exempel kan vara "patientId". Denna definieras i "globaldata", eftersom det är troligt att det mesta av testdatan kommer att röra samma patient.
Men för vissa testfall vill man kunna använda en annan patient och för dessa testfall definierar man detta genom att ta bort kommentars-markeringen runt parametern "patientId" i testfallets sektion.
Glöm inte att spara data.xml efter att du har ändrat i den.
- 1.1.1 Personnummer
Filtrering. Verifierar att resultatet endast innehåller poster för given patient.
- 1.1.2 Samordningsnummer
Filtrering. Testfall för filtrering på samordningsnummer. Ersätt patientId med det samordningsnummer som du vill filtrera på.
Testfalls-specifika parametrar
- 1.1.3 Lokalt reservnummer
Filtrering. Testfall för filtrering på reservnummer. Ersätt patientId med det reservnummer som du vill filtrera på och ersätt patientIdType med lokalt definierat OID för reservnummer.
Testfalls-specifika parametrar
- 1.2 Tidsfiltrering
Följande tester på tidsfiltrering består av flera steg.
- Anrop utan filtrering.
- Sökintervall beräknas (se respektive testfall).
- Anrop med tidsfiltrering för varje beräknat sökintervall. Resultatet jämförs med förväntat resultat.
För bra testning är en varierad testdata avseende tidpunkter viktig.
- 1.2.1 TimePeriod
Tidsfiltrering. Sökning sker på alla datum i elementen documentTime, authorTime och signatureTime i det ofiltrerade svaret.
-
documentTime är tidpunkt när dokumentet skapades.
-
authorTime är tidpunkt när dokumentet senast uppdaterades.
-
signatureTime är tidpunkt när dokumentet signerades.
- 1.2.2 TimePeriod intervall
Tidsfiltrering. Sökning sker på slumpvisa intervall mellan första och sista datum med de tidpunkter som förekommer i det ofiltrerade svaret.
Testfalls-specifika parametrar
- 1.2.3 TimePeriod tomt svar
Tidsfiltrering. Sökning sker på datum före alla tidpunkter i det ofiltrerade svaret, så att förväntat svar är tomt (inga informationsposter).
- 1.2.4 TimePeriod manuell
Tidsfiltrering. Sökintervall sätts manuellt. Detta kan användas för utforskade testning och felsökning.
timePeriodStart är sökintervallets starttidpunkt (format ÅÅÅÅMMDD).
timePeriodEnd är sökintervallets sluttidpunkt (format ÅÅÅÅMMDD).
Testfalls-specifika parametrar
- timePeriodStart
- timePeriodEnd
- 1.3 CareUnit
Filtrering. Verifierar att resultatet endast innehåller poster för given vårdenhet.
Testfalls-specifika parametrar
- 1.4 SourceSystem
Filtrering. Verifierar att resultatet endast innehåller poster för givet källsystem.
- 1.5 CareContact
Filtrering. Verifierar att resultatet endast innehåller poster för given vårdkontakt.
careContactId är vårdkontaktens unika id.
Testfalls-specifika parametrar
- 1.7 SoapFault
Verifierar att resultatet är ett Soapfault. Detta testfall kräver att tjänsteproducenten skapar förutsättningar för ett internt fel att uppstå.
Manuell kontroll av svarsmeddelandet krävs för att säkerställa att meddelandet inte innehåller personuppgifter eller att medföljande log-id är spårbart till patienten.
Exempel kan vara att man stänger av kopplingen mot databas.
- 1.8 NonExisting PatientId
Verifierar att tjänsteproducenten returnerar ett tomt resultat istället för Soap Fault, om patienten är okänd i systemet.
- 1.9 NonExisting CareContact
Verifierar att tjänsteproducenten returnerar ett tomt resultat istället för Soap Fault, om vårdkontakten är okänd i systemet.
Testfalls-specifika parametrar
- 2.1 Encoding_HeaderProlog
Verifierar att
- Header-attributet "Content-type" har, om attributet finns, en teckenuppsättning som är satt till UTF-8 eller UTF-16
- Attributet "XML Prolog" har, om attributet finns, en teckenuppsättning som är satt till UTF-8 eller UTF-16
- Om båda attributen finns så ska de vara lika
- 2.2 Encoding_SpecialCharacters
Verifierar att responsen innehåller en sträng med specialtecken.
Denna sträng behöver läggas upp på en post i källsystemet och bör innehålla så många specialtecken som möjligt.
Testfalls-specifika parametrar
- 3.1 VG_VE
Verifierar att alla returnerade poster innehåller elementen healthcareProfessionalCareUnitHSAId och healthcareProfessionalCareGiverHSAId, som krävs för PDL-loggning.
- 3.2 AuthorTime
Verifierar att en av de returnerade posterna innehåller tidpunkt då informationen registrerades. Element authorTime.
- 4.1 ApprovedForPatient_true
Verifierar att tjänsteproducenten kan returnera en post som talar om att informationen får delas till patient. Element approvedForPatient.
- 4.2 ApprovedForPatient_false
Verifierar att tjänsteproducenten kan returnera en post som talar om att informationen inte får delas till patient. Element approvedForPatient.
- 5.1 signed
Verifierar att tjänsteproducenten kan returnera en signerad post. Element legalAuthenticator.
- 5.2 unsigned
Verifierar att tjänsteproducenten kan returnera en osignerad post. Element legalAuthenticator.
- 5.3 locked
Verifierar att tjänsteproducenten kan returnera en post som har låsts av systemet efter att en viss tid har förflutit utan att någon har signerat den. Element legalAuthenticator.
- 5.4 registrationRecord_indicationPregnancy
Verifierar att tjänsteproducenten kan returnera datum för graviditetsindikation. Element registrationRecord.indicationPregnancy.
- 5.5 registrationRecord_expectedDayOfDeliveryFromLastMenstrualPeriod
Verifierar att tjänsteproducenten kan returnera beräknad förlossning enligt sista menstruation. Element registrationRecord.expectedDayOfDeliveryFromLastMenstrualPeriod.
- 5.6 registrationRecord_expectedDayOfDeliveryFromUltrasoundScan
Verifierar att tjänsteproducenten kan returnera beräknad förlossning enligt ultraljud. Element registrationRecord.expectedDayOfDeliveryFromUltrasoundScan.
- 5.7 registrationRecord_expectedDayOfDeliveryFromEmbryonicTransfer
Verifierar att tjänsteproducenten kan returnera beräknad förlossning enligt embryonik transfer. Element registrationRecord.expectedDayOfDeliveryFromEmbryonicTransfer.
- 5.8 registrationRecord_previousGravidityAndParity_delivery
Verifierar att tjänsteproducenten kan returnera graviditetskod för tidigare graviditeter och förlossningar. Element registrationRecord.previousGravidityAndParity.delivery.
- 5.9 registrationRecord_previousGravidityAndParity_sex
Verifierar att tjänsteproducenten kan returnera kön för tidigare graviditeter och förlossningar. Element registrationRecord.previousGravidityAndParity.sex.
- 5.10 registrationRecord_diseasesThrombosis
Verifierar att tjänsteproducenten kan returnera uppgift om trombos förekommit. Element registrationRecord.diseasesThrombosis.
- 5.11 registrationRecord_diseasesEndocineDiseases
Verifierar att tjänsteproducenten kan returnera uppgift om endokrina sjukdomar förekommit. Element registrationRecord.diseasesEndocineDiseases.
- 5.12 registrationRecord_diseasesRecurrentUrinaryTractInfections
Verifierar att tjänsteproducenten kan returnera uppgift om upprepade urinvägsinfektioner förekommit. Element registrationRecord.diseasesRecurrentUrinaryTractInfections.
- 5.13 registrationRecord_diseasesDiabetesMellitus
Verifierar att tjänsteproducenten kan returnera uppgift om diabetes mellitus förekommit. Element
registrationRecord.diseasesDiabetesMellitus.
- 5.14 registrationRecord_medicationDuringPregnacy_medicament
Verifierar att tjänsteproducenten kan returnera uppgift om preparat i medicinering före inskrivning under graviditet. Element
registrationRecord.medicationDuringPregnacy.medicament.
- 5.15 pregnancyCheckupRecord_completeWeeksOfGestation
Verifierar att tjänsteproducenten kan returnera uppgift om fullgångna graviditetsveckor. Element
pregnancyCheckupRecord.completeWeeksOfGestation.
- 5.16 pregnancyCheckupRecord_weight
Verifierar att tjänsteproducenten kan returnera uppgift om moderns vikt [massa]. Element pregnancyCheckupRecord.weight.
- 5.17 pregnancyCheckupRecord_symphysisFundalHeight
Verifierar att tjänsteproducenten kan returnera uppgift om symfys-fundus mått [längd]. Element
pregnancyCheckupRecord.symphysisFundalHeight.
- 5.18 pregnancyCheckupRecord_haemoglobin
Verifierar att tjänsteproducenten kan returnera uppgift om Hb (Hemoglobin) [massa / volym]. Element pregnancyCheckupRecord.haemoglobin.
- 5.19 pregnancyCheckupRecord_bloodPressureSystolic
Verifierar att tjänsteproducenten kan returnera uppgift om systoliskt blodtryck [tryck]. Element pregnancyCheckupRecord.bloodPressureSystolic.
- 5.20 pregnancyCheckupRecord_bloodPressureDiastolic
Verifierar att tjänsteproducenten kan returnera uppgift om diastoliskt blodtryck [tryck]
. Element pregnancyCheckupRecord.bloodPressureDiastolic.
- 5.21 pregnancyCheckupRecord_proteinuria
Verifierar att tjänsteproducenten kan returnera uppgift om protein i urinet [massa / volym]. Element pregnancyCheckupRecord.proteinuria.
- 5.22 pregnancyCheckupRecord_glycosuria
Verifierar att tjänsteproducenten kan returnera uppgift om glukos i urinet [antal / volym] . Element pregnancyCheckupRecord.glycosuria.
- 5.23 pregnancyCheckupRecord_fetalPosition_Head
Verifierar att tjänsteproducenten kan returnera uppgift om fosterläge. Element fetalPosition = "0" (head / huvud).
- 5.24 pregnancyCheckupRecord_fetalPosition_Breech
Verifierar att tjänsteproducenten kan returnera uppgift fosterläge. Element fetalPosition = "1" (breech / säte).
- 5.25 pregnancyCheckupRecord_fetalPosition_Oblique
Verifierar att tjänsteproducenten kan returnera uppgift om fosterläge. Element fetalPosition = "2" (oblique / snedläge).
- 5.26 pregnancyCheckupRecord_fetalPosition_Transverse
Verifierar att tjänsteproducenten kan returnera uppgift om fosterläge. Element fetalPosition = "3" (transverse / tvärläge).
- 5.27 pregnancyCheckupRecord_fetalPresentation_Mobile
Verifierar att tjänsteproducenten kan returnera uppgift om föregående fosterdel. Element fetalPresentation = "0" (mobile / rörligt).
- 5.28 pregnancyCheckupRecord_fetalPresentation_Movable
Verifierar att tjänsteproducenten kan returnera uppgift om föregående fosterdel. Element fetalPresentation = "1" (movable / ruckbart).
- 5.29 pregnancyCheckupRecord_fetalPresentation_Fixed
Verifierar att tjänsteproducenten kan returnera uppgift om föregående fosterdel. Element fetalPresentation = "2" (fixed / fixerat).
- 5.30 pregnancyCheckupRecord_fetalHeartRate
Verifierar att tjänsteproducenten kan returnera uppgift om fosterljud, hjärtslag [frekvens]. Element pregnancyCheckupRecord.fetalHeartRate.
- 5.31 pregnancyCheckupRecord_medicationSinceRegistration_medicament
Verifierar att tjänsteproducenten kan returnera uppgift om preparat i läkemedel som administrerats sedan registreringen. Element pregnancyCheckupRecord.medicationSinceRegistration.medicament.
- 5.32 postDeliveryRecord_breastfeeding
Verifierar att tjänsteproducenten kan returnera uppgift om modern ammar. Element postDeliveryRecord.breastfeeding.
- 5.33 postDeliveryRecord_bloodPressureSystolic
Verifierar att tjänsteproducenten kan returnera uppgift om systoliskt blodtryck. Element postDeliveryRecord.bloodPressureSystolic.
- 5.34 postDeliveryRecord_bloodPressureDiastolic
Verifierar att tjänsteproducenten kan returnera uppgift om diastoliskt blodtryck. Element postDeliveryRecord.bloodPressureDiastolic.
- 5.35 postDeliveryRecord_haemoglobin
Verifierar att tjänsteproducenten kan returnera uppgift om haemoglobin, t.ex. g/L [massa / volym]. Element postDeliveryRecord.haemoglobin.
- 5.36 postDeliveryRecord_scarsOK
Verifierar att tjänsteproducenten kan returnera uppgift om sår/bristningar/klipp utan anmärkning. Element postDeliveryRecord.scarsOK.
- 5.37 postDeliveryRecord_sutureRemoved
Verifierar att tjänsteproducenten kan returnera uppgift om suturer borttagna. Element postDeliveryRecord.sutureRemoved.
- 5.38 postDeliveryRecord_perineumComfortable
Verifierar att tjänsteproducenten kan returnera uppgift om bäckenbotten utan anmärkning. Element postDeliveryRecord.perineumComfortable.
- 5.39 postDeliveryRecord_vulvaVaginaPortioOK
Verifierar att tjänsteproducenten kan returnera uppgift om vulvaVaginaPortio utan anmärkning. Element postDeliveryRecord.vulvaVaginaPortioOK.
- 5.40 postDeliveryRecord_uterusContracted
Verifierar att tjänsteproducenten kan returnera uppgift om uterus utan anmärkning. Element postDeliveryRecord.uterusContracted.
- 5.41 postDeliveryRecord_uterusNote
Verifierar att tjänsteproducenten kan returnera uppgift om kommentar till uterus med anmärkning (kan endast anges då uterusContracted=false). Element postDeliveryRecord.uterusNote.
- 5.42 postDeliveryRecord_childPostDeliveryRecord_weight
Verifierar att tjänsteproducenten kan returnera uppgift om barnets vikt [massa]. Element postDeliveryRecord.childPostDeliveryRecord.weight.
- 5.43 postDeliveryRecord_ordinalNumber_IsOne
Verifierar att tjänsteproducenten kan returnera uppgift om ordningstal för barnet (med start på 1). Element postDeliveryRecord.ordinalNumber = "1".
- 5.44 postDeliveryRecord_ordinalNumber_IsTwo
Verifierar att tjänsteproducenten kan returnera uppgift om ordningstal för barnet. Element postDeliveryRecord.ordinalNumber = "2".
- 6.1 Loadtest
6.1.1 Grund
Syftet med testet är dels att verifiera att systemet kan hantera minst 10 samtidiga trådar, dels att skapa sig en bild av systemets prestanda. Testet är designat att ta max 3 minuter.
I SLA-kapitlet i självdeklarationen, under "Övrig kommentar", ange genomsnittlig responstid. Ta värdet som visas i sista raden i kolumn "avg" och dela med antal anrop (oftast 2). Ange sedan värdet med enhet millisekunder (ms).
6.1.2 Uthållighet
Syftet med testet är att undersöka prestanda hos systemet över längre tid (30 minuter). I SLA-kapitlet i självdeklarationen, under "Övrig kommentar", notera om testet gick att genomföra utan problem. Om inte, notera hur lång tid det var möjligt att köra.
Testfalls-specifika parametrar
- 6.2 Recovery
6.2.1 Återhämtning
Syftet med testet är att utsätta systemet för maximal last och att verifiera att systemet automatiskt återhämtar sig. För att kontrollera att systemet har kunnat återhämta sig efter maximal last så rekommenderas att köra testfall "1.1.1 Personnummer" för att se att systemet svarar. I SLA-kapitlet i självdeklarationen, under "Övrig kommentar", notera om systemet kunde återhämta sig efter att ha utsatts för maximal last. Ange även hur många trådar som testet avslutades med.
Testfalls-specifika parametrar
- 7.1 CareUnit_Blacklisted
Filtrering. Verifierar att tjänsteproducenten kan filtrera resultatet baserat på tjänstekonsumentHSAId (HTTP-headern x-rivta-original-serviceconsumer-hsaid).
Undersök och jämför det ofiltrerade svaret från producenten med det senare svaret vars begäran använt ett tjänstekonsumentHSAId på vilket producenten utfört bortfiltrering av vårdenhet,
antalet poster skall i det senare svaret vara färre och parametern filterString skall då inte finnas i det filtrerade svaret. Testfallet är ej applicerbart för system som inte implementerat denna typ av filtrering.
Testfalls-specifika parametrar
- httpHeaderHsaId2
- filterString
- 7.2 Consumer_Blacklisted
Filtrering. Verifierar att tjänsteproducenten returnerar tomt svar för bortfiltrerat tjänstekonsumentHSAId (HTTP-headern "x-rivta-original-serviceconsumer-hsaid").
Undersök och jämför det ofiltrerade svaret från producenten med det senare svaret vars begäran använt ett tjänstekonsumentHSAId på vilket producenten utfört bortfiltrering av konsument,
Testfallet är ej applicerbart för system som inte implementerat denna typ av filtrering.
Testfalls-specifika parametrar
- 7.3 ConsumerIndependent
Verifierar att tjänsteproducenten returnerar samma svar oavsett vilket tjänstekonsumentHSAId (HTTP-headern "x-rivta-original-serviceconsumer-hsaid") som anges.
Testfalls-specifika parametrar
- 8.1 SignatureTimeMissing
Verifierar att det finns testdata som saknar SignatureTime.
- 8.2 SignatureTimeExists
Verifierar att det finns testdata som har en angiven SignatureTime.