iOS and Android
What goes into one platform goes into the other
In the architecture
The mandatory validations, not screen by screen
Non-stop
The app was modernised without pausing releases
On what was done
The new modules went in without touching the stable code
Starting point
The app worked and was already rolled out, which is exactly what makes it hard to touch. Both native clients carried years of decisions that no longer held up —the Android one, written in Java and Kotlin— but any interruption reached clinicians who were reading a health record in the middle of seeing a patient.
What we did
The app is Casiopea Mobility, the mobile client of Casiopea, the electronic health record of the Quirónsalud hospital group —IDCQ Hospitales y Sanidad, S.L.U.—, and we work on its development side by side with the team at Radmas Technologies. The group itself describes it as the health record “in the palm of your hand”.
The app was modernised without pausing releases. We took charge of evolving both clients, iOS and Android. The iOS one had its data layer modernised in two stretches, in and , with the app being released between the two: data access was separated from business logic, so each screen asks for what it needs without depending on how it is obtained.
New modules land on what was already done. On that base a complete, new business module landed, without rewriting what already worked or touching the stable code. That is what modernising buys: the next feature costs less than the previous one instead of more.
The validations live in the architecture. On Android part of the work concentrated on the integrity of what gets saved: explicit locked and enabled states, recovery when a save fails, and mandatory validations that coordinate the screen, the logic and the data. In a health record a half-finished entry is wrong clinical data.
What goes into one platform goes into the other. Both clients now connect modules that used to live apart: a single workflow crosses screens that did not talk to each other before, without rewriting any of them.
The same Quirónsalud page says the record is entered from the app “by voice dictation”. We built the module that holds it up on both platforms —the capture, the passage of what is dictated into the system, the clinician’s authorisation and the evidence of it, and the synchronisation of state across the screens of that workflow—, and it has been in production since the group wrote about it, in .
The result
The app never stopped being released at any point in the modernisation, and what came afterwards leaned on what was already done instead of repeating it. A product used while someone is being seen doesn’t end: it gets looked after.
KotlinSwiftJava