Fatti
S. è stato impiegato come tappezziere in una fabbrica di mobili dal 1988 alla fine di dicembre 1996. Era coperto da un'assicurazione collettiva di indennità giornaliere ai sensi della legge federale sul contratto di assicurazione (LCA) stipulata dal datore di lavoro presso la Visana. S. è stato dichiarato al 100% incapace di lavorare a partire dal 27 febbraio 1996 a causa di lombalgie. La Visana ha concesso le sue prestazioni per alcuni periodi. Il 24 settembre 1996, il datore di lavoro di S. ha rescisso il suo contratto di lavoro per il 31 dicembre 1996, informandolo che il pagamento delle indennità giornaliere sarebbe cessato in quella data e che aveva la possibilità di assicurarsi individualmente. Il 4 febbraio 1998, S. ha citato in giudizio la Visana chiedendo il pagamento delle indennità giornaliere dovute in base al contratto collettivo per il periodo dal 6 maggio al 5 dicembre 1996, e successivamente dal 6 febbraio 1997 fino all'esaurimento del diritto alle prestazioni.Legge
Il Tribunale federale ha ritenuto che, in un'assicurazione collettiva di indennità giornaliere ai sensi della LCA, il diritto alle prestazioni non dipende dall'affiliazione, a differenza dell'assicurazione collettiva di indennità giornaliere ai sensi della LAMal. Pertanto, in assenza di clausole contrattuali che limitino o sopprimano il diritto alle prestazioni oltre il periodo di copertura, l'assicurato che, dopo un evento che dà diritto alle prestazioni, esce da un'assicurazione collettiva perché cessa di appartenere al cerchio degli assicurati definito dal contratto, può far valere il suo diritto alle prestazioni anche per le conseguenze dell'evento che si verificano dopo l'estinzione del rapporto assicurativo.
Nel caso di specie, il contratto di assicurazione collettiva non contiene…