Read the card instead of typing the address
Read the Swiss insurance card at the front desk: Viali validates the number, matches the patient and fetches the home address from the SASIS VeKa-Center. If the record has no address, it is filled in. If one is already there, it is left alone.
The card on the reader, or the number straight into Viali
There are two routes to the same lookup. A card reader at the desk authenticates with a key of its own — it needs no user login and may do nothing except this lookup. Or the number goes straight into Viali by somebody who is signed in as usual. Both routes are rate limited, because a reader stuck in a loop would otherwise quietly hammer somebody else's service.
From the VeKa-Center, using the clinic's own ZSR number
The card number is validated first: twenty digits beginning 80756 or 80438 — the official Swiss ranges. Only then does Viali ask the SASIS VeKa-Center for the home address, using the clinic's own ZSR number from its profile. The address fills the record only where none exists. An address already captured is never overwritten — the card knows the registered entry, not necessarily where the post actually arrives.
An extra lookup must never block the admission
The VeKa service belongs to somebody else. It can be slow, under maintenance, or simply not know a number. So Viali treats the address lookup as an extra: when it fails it returns nothing rather than raising an error. The card is read, the patient is matched, the admission continues — only the address field stays open for typing. At the front desk somebody is standing at the counter, and there half an answer beats an error message.