Ritenuto in fatto :
A.- A._ ha lavorato alle dipendenze della sezione di Biasca della X._ Cassa Malati e Assicurazioni S.A. (di seguito "X._"), in qualità di tassatrice, dal 1° gennaio 1977 al 25 novembre 1998, quando è stata licenziata con effetto immediato per aver alterato una fattura a vantaggio di un assicurato.
Contestando l'esistenza di motivi gravi, tali da giustificare un simile provvedimento, il 22 aprile 1999 A._ ha chiesto al Pretore del Distretto di Riviera di condannare la datrice di lavoro al pagamento di fr.
20'000.--, oltre interessi. Tale somma comprendeva sia il salario che sarebbe maturato sino alla scadenza del termine di disdetta (<ref-law>) che un'indennità per licenziamento ingiustificato (<ref-law>). L'azione è stata accolta limitatamente a fr. 19'379. 70, oltre interessi, il 19 settembre 2000, con riserva della surrogazione per quanto l'istante aveva percepito dalla cassa di disoccupazione OCST. Pur ammettendo la gravità del comportamento della dipendente, il giudice ha infatti considerato che la X._ ha atteso troppo a lungo prima di comunicare il licenziamento immediato.
L'appello interposto dalla soccombente contro questa decisione è stato integralmente respinto dalla II Camera civile del Tribunale d'appello del Cantone Ticino il 21 febbraio 2001, la quale ha in sostanza ripreso e precisato la motivazione addotta dal primo giudice.
B.- Contro questo giudizio la X._ è insorta dinanzi al Tribunale federale, il 29 marzo 2001, sia con ricorso di diritto pubblico che con ricorso per riforma.
Prevalendosi della violazione degli art. i 337 e 337c CO, con il secondo rimedio essa postula la modifica della sentenza impugnata nel senso di accogliere il suo appello e, di conseguenza, respingere integralmente l'azione.
Nella risposta del 9 maggio 2001 A._ ha proposto l'integrale reiezione del gravame.

Considerando in diritto :
1.- In data odierna il parallelo ricorso di diritto pubblico è stato respinto in quanto ammissibile. Nulla osta pertanto all'esame del presente ricorso per riforma.
2.- Come già esposto, il Tribunale d'appello ha confermato il giudizio del pretore in merito alla tardività della pronunzia del licenziamento in tronco.
Stando a quanto scritto nella lettera di licenziamento del 25 novembre 1998, la datrice di lavoro ha infatti iniziato a nutrire sospetti nei confronti della dipendente quando ha scoperto ch'essa aveva cancellato con il liquido bianco "Tippex" la data 29 giugno 1998 su di una fattura medica. Sempre dalla medesima lettera risulta inoltre che, chiamata a spiegare il suo comportamento, il 3 settembre 1998 l'impiegata ha dichiarato di non aver ritenuto chiara la data indicata sul documento, sicché l'ha tassato con la data del 1° luglio. Ciò significa che, a sostegno della disdetta immediata del contratto, la datrice di lavoro ha addebitato alla dipendente sia la tassazione di una fattura da cui non emergeva la data del trattamento che l'ammissione di aver dissimulato la data di trattamento indicata sulla fattura originale.
Sennonché si tratta di circostanze che - sempre secondo l'autorità cantonale, espressasi al condizionale - sembrerebbero essere state a conoscenza della società già il 3 settembre 1998, ciò che renderebbe tardivo il licenziamento del 25 novembre 1998.
Sia come sia, aggiungono i giudici ticinesi, la stessa datrice di lavoro, nel proprio allegato conclusivo, ha ammesso di aver saputo all'inizio del mese di ottobre che la fattura non era stata falsificata dal medico. In quel momento essa ha iniziato a sospettare un coinvolgimento della dipendente maggiore a quanto dichiarato e a valutare l'ipotesi di disdire il contratto di lavoro già durante il mese di ottobre. Essa ha tuttavia aspettato il 25 novembre per verificare i propri dubbi, volendo prima trovare chi avrebbe potuto sostituire la persona licenziata ed essendo il direttore responsabile assente per servizio militare.
Questo ritardo nell'eseguire le necessarie indagini e nell'affrontare la questione direttamente con l'interessata ha condotto l'autorità cantonale a concludere per il decadimento del diritto di pronunciare il licenziamento in tronco.
3.- La convenuta rimprovera all'autorità cantonale la violazione dell'<ref-law>. A suo dire, per valutare la tempestività del licenziamento immediato ci si deve riferire al momento in cui il datore di lavoro ha avuto una conoscenza certa e precisa del motivo grave, ciò che, nel caso in esame, sarebbe avvenuto soltanto nel corso del colloquio risolutivo del 25 novembre 1998. Il tempo impiegato per le indagini consecutive ai primi sospetti non dovrebbe invece essere considerato, e ciò per due ragioni: innanzitutto perché il processo decisionale per le persone giuridiche è più lungo e in secondo luogo perché, concretamente, la valutazione del caso si presentava difficile e delicata.
Occorreva infatti tener conto della durata - più che ventennale - del rapporto di lavoro, del grado d'indipendenza e della responsabilità connessi alla funzione svolta dalla dipendente e, di conseguenza, della difficoltà di trovare in Ticino una persona capace di sostituirla adeguatamente; a ciò si aggiungano l'eventualità di dover riorganizzare la gestione in caso di licenziamento, le ferie d'autunno nonché l'assenza, all'inizio del mese di novembre, del direttore cui competeva la decisione in merito.
a) Giovi rammentare che, chiamato a statuire quale istanza di riforma, il Tribunale federale fonda il suo giudizio sui fatti così come sono stati accertati dall'ultima istanza cantonale a meno che siano state violate disposizioni federali in materia di prove, che debbano essere rettificati accertamenti di fatto derivanti da una svista manifesta (art. 63 cpv. 2 OG; <ref-ruling> consid. 3 in fine, 123 III 110 consid. 2 con rinvii) o che si renda necessario un complemento degli stessi a norma dell'art. 64 OG (<ref-ruling> consid. 2a).
Nel caso di specie nessuna di queste eccezioni risulta realizzata, né la convenuta sostiene il contrario. Ne segue l'irricevibilità degli argomenti volti a criticare gli accertamenti di fatto contenuti nella sentenza impugnata così come di quelli fondati su fatti diversi da quelli in essa menzionati (art. 55 cpv. 1 lett. c OG; <ref-ruling> consid. 2c, 122 III 73 consid. 6b/bb pag. 80).
L'esame delle censure ricorsuali verrà pertanto eseguito sulla base della fattispecie accertata dai giudici cantonali, così come esposta al considerando precedente.
b) Giusta l'<ref-law> il datore di lavoro e il lavoratore possono in ogni tempo recedere immediatamente dal rapporto di lavoro per cause gravi.
È considerata causa grave, in particolare, ogni circostanza che non permetta per ragioni di buona fede di esigere da chi dà la disdetta la continuazione del contratto (<ref-law>; sulla nozione di "cause gravi" cfr. <ref-ruling> consid. 3).
In concreto la gravità del comportamento dell'attrice non è oggetto di discussione. Il litigio verte piuttosto sugli effetti del tempo che la datrice di lavoro ha lasciato trascorrere prima di notificare il licenziamento in tronco.
c) La legge prescrive che la disdetta per cause gravi dev'essere comunicata immediatamente. Come rettamente rilevato dai giudici cantonali, dottrina e giurisprudenza riconoscono alla parte che rescinde il contratto per motivi gravi un termine di riflessione per comunicare la sua decisione, a patto ch'esso sia breve. Un ritardo nel reagire può infatti indurre a ritenere possibile la continuazione dei rapporti di lavoro sino alla scadenza del contratto mediante una disdetta ordinaria (<ref-ruling> consid. 2a con rinvii).
Al datore di lavoro che intende porre fine immediatamente al contratto bastano di regola due o tre giorni per maturare la sua decisione e riunire le informazioni giuridiche necessarie. Un ulteriore ritardo, comunque limitato a qualche giorno, è ammissibile solo quando lo esigono circostanze particolari, ad esempio quando il datore di lavoro è una persona giuridica, il cui processo decisionale è più complesso, oppure se occorre chiarire le circostanze che potrebbero dar luogo alla disdetta immediata (DTF pubblicata in JAR 1997 208 consid. 3a con rinvii e numerosi riferimenti dottrinali). È vero, come rileva la convenuta, che di massima il termine inizia a decorrere quando v'è conoscenza certa delle cause gravi che giustificano il licenziamento.
Tuttavia, se tale conoscenza precisa fa difetto e, ciononostante, il datore di lavoro ritarda senza motivo la decisione risolutiva, diviene determinante il momento in cui egli avrebbe potuto chiarire i fatti usando la diligenza necessaria (cfr. Staehelin/Vischer in: Zürcher Kommentar, n. 35 ad <ref-law>; nello stesso senso Brühwiler, Kommentar zum Einzelarbeitsvertrag, Berna 1996, n. 10 ad <ref-law> a pag. 369).
d) Orbene, dai fatti accertati nella sentenza impugnata - in buona parte ammessi nell'allegato ricorsuale - emerge che la convenuta non ha agito in conformità con questi precetti. Malgrado i gravi sospetti maturati già all' inizio del mese di ottobre, il licenziamento è stato rinviato sino al 25 novembre; un simile lasso di tempo è certamente eccessivo, anche volendo tenere conto delle esigenze particolari di una persona giuridica. Il direttore competente per la decisione di licenziamento ha d'altronde prestato il servizio militare soltanto all'inizio del mese di novembre, per cui la sua assenza non sarebbe stata di ostacolo ad una reazione più sollecita da parte della cassa malati durante le settimane precedenti. Il ritardo non può neppure essere giustificato con la necessità di trovare una sostituta per il caso che la dipendente inadempiente fosse stata licenziata: la gravità dei sospetti che pesavano su di lei esigeva un chiarimento immediato, che doveva prescindere da ragioni di opportunità gestionali.
e) Ne discende che, concludendo per la perenzione del diritto della convenuta di disdire il contratto con effetto immediato, il Tribunale d'appello non ha violato l'<ref-law>.
4.- Nell'ipotesi in cui la tempestività del licenziamento in tronco dovesse venire negata, la convenuta contesta la somma attribuita all'attrice.
Il Pretore le ha riconosciuto un importo complessivo di fr. 19'379. 70. Questa cifra è stata calcolata in conformità con l'art. 337c cpv. 1 e 3 CO: essa consiste di tre stipendi mensili di fr. 4'815.-- ciascuno, di una parte di tredicesima pari a fr. 434. 70, e di un'indennità per licenziamento ingiustificato di fr. 4'500.--. Il Tribunale d'appello non ha verificato questo calcolo, nonostante la convenuta avesse chiesto - succintamente - la riduzione del risarcimento al termine della sua appellazione. Essa ripropone dunque tali argomenti nel ricorso per riforma. A suo modo di vedere l'indennità per licenziamento ingiustificato non sarebbe dovuta, dato che presuppone l'assenza di una causa grave, mentre che il salario afferente ai tre mesi del preavviso di disdetta ordinaria andrebbe invece ridotto, perlomeno nella misura del 50% a causa delle inadempienze dell'attrice.
Entrambe le tesi si avverano infondate.
a) Come già esposto, il datore di lavoro che, benché a conoscenza di una causa grave ritarda il licenziamento immediato del dipendente, lascia intendere che, dal profilo soggettivo, il rapporto di fiducia non è turbato a un punto tale da escludere in buona fede la continuazione del contratto. Il trascorrere del tempo può quindi far perdere a un comportamento determinato la qualifica di "causa grave" di licenziamento secondo l'<ref-law> (Staehelin/Vischer, op. cit. n. 35 ad <ref-law>; Rehbinder in:
Basler Kommentar, n. 5 ad <ref-law>; Engel, Contrats de droit suisse, 2a ed., Berna 2000, n. 5 a pag. 379; Vischer, der Arbeitsvertrag, 2a ed., Basilea 1994, n. 3 a pag. 180; Brühwiler, op. cit. , n. 10 ad <ref-law>, pag. 368). L'indennità di cui all'<ref-law> può pertanto essere accordata anche qualora la causa grave di per sé sussista, ma il datore di lavoro la invochi tardivamente.
D'altro canto il titolo marginale di questa norma menziona genericamente il "licenziamento ingiustificato" (ungerechtfertigte Entlassung/résiliation injustifiée; sul senso e lo scopo di questa norma cfr. anche <ref-ruling> consid. 5a) e un licenziamento in tronco può essere tale non solo quando la causa invocata non è grave, ma anche quando essa diviene inefficace per il tergiversare del datore di lavoro.
b) Per quanto riguarda, infine, l'ultima argomentazione della convenuta, si rileva che già nella <ref-ruling> consid. 3 il Tribunale federale ha stabilito - ponendo così fine ad incertezze giurisprudenziali e dottrinali - che la pretesa salariale prevista dall'<ref-law> non può essere ridotta a causa della colpa concorrente del lavoratore.
c) Se ne deve concludere che il giudizio del Tribunale d'appello, che ha confermato quello del Pretore, risulta conforme al diritto federale anche sotto questo profilo.
5.- Per i motivi che precedono il ricorso per riforma, nella misura in cui è ammissibile, si rivela infondato.
Non si preleva tassa di giustizia (art. 343 cpv. 2 e 3 CO; cfr. <ref-ruling> consid. 5a a pag. 40). La convenuta dovrà tuttavia versare all'attrice un'indennità per spese ripetibili (art. 159 cpv. 1 OG; DTF citato consid. 5c).

Per questi motivi
il Tribunale federale
pronuncia :
1. Nella misura in cui è ammissibile, il ricorso per riforma è respinto e la sentenza impugnata viene confermata.
2. Non si preleva tassa di giustizia. La convenuta rifonderà all'attrice fr. 3'000.-- per spese ripetibili della sede federale.
3. Comunicazione ai patrocinatori delle parti e alla II Camera civile del Tribunale d'appello del Cantone Ticino.