Features #427
öppenFeatures #423: Integrera VARA som lokal SQLite-katalog med månatliga appuppdateringar
Spara utgångsdatum från GS1-kod vid läkemedelsskanning
40%
Beskrivning
Bakgrund
GS1-koder på läkemedelsförpackningar kan innehålla utgångsdatum som AI (17), exempelvis (17)271231. Datumet ska kopplas till den enskilda förpackningen som användaren skannar, inte till VARA:s produktpost.
Förväntat beteende
- Vid skanning tolkas datumet ur QR-/DataMatrix-kodens GS1-data och visas tillsammans med matchande läkemedel innan användaren sparar förpackningen.
- Utgångsdatum sparas på den enskilda förpackningen.
- Om datumet redan passerat visas en tydlig varning direkt vid skanning.
- Användaren får en lokal avisering när sparad förpackning närmar sig utgångsdatum enligt vald/på förhand beslutad aviseringstid.
- Saknat eller ogiltigt datum ger tydlig återkoppling och hindrar inte fortsatt manuell hantering.
- Koder utan utgångsdatum fortsätter att fungera som tidigare; kameraresultat skickas inte till någon server.
Verifiering
Testa GS1-exempel med (01), (17), (10) och (21), datumgränser inklusive månadsslut, utgångna datum, saknat/ogiltigt datum, lokal avisering och att varje förpacknings datum hålls åtskilt.
Relaterat till #423 (lokal VARA-katalog och kamerabaserad skanning). Beslut om hur många dagar före utgång aviseringen ska visas behöver fastställas vid implementation.
Pågående steg – utgångsdatum i informationen
- GS1 AI (17) tolkas vid skanning från parentesformat, rå GS1-elementsträng/Data Matrix och GS1 Digital Link.
- Datumet visas i granskningssteget och sparas med den valda VARA-förpackningen i läkemedelsinformationen. Det visas därefter även på läkemedelskortet.
- Room-databasen migreras till schema 14.
Kvar i detta ärende
- Visa en tydlig varning direkt när datumet har passerat.
- Skicka lokal avisering när datumet närmar sig; aviseringens framförhållning ska beslutas.
- Hantera och återkoppla tydligt för ogiltigt datum.
Acceptanskriterier
Datum från GS1 AI (17) på QR/Data Matrix visas före sparande och sparas ihop med den matchade VARA-förpackningen. Giltigt datum återges i läkemedelsinformationen. Utgånget datum ska varnas direkt vid skanning och lokal avisering ska skickas enligt beslutad framförhållning. Ogiltigt datum ska ge tydlig återkoppling utan att blockera manuell fortsättning. Koder utan datum ska fortsatt fungera.
Testresultat
87 enhetstester passerar. :app:compileDebugAndroidTestKotlin och :app:assembleDebug passerar. CatalogMedicationPersistenceTest migrerar DB version 11 till 14 och verifierar att utgångsdatum överlever spara, redigera och omladdning på fysisk enhet och emulator (2/2). Hela instrumentation-sviten har ett orelaterat fel i EncryptedPersonalDatabaseInstrumentedTest på fysisk enhet.