iOS and Android
What goes into one platform goes into the other
In the architecture
The mandatory validations, not screen by screen
Non-stop
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 hospital itself describes it as the health record “in the palm of your hand”.
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.
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.
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.
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 hospital 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 hospital 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. The relationship continues: a product used while someone is being seen doesn’t end, it gets looked after.
KotlinSwiftJava