One shared case per cancer patient: cura. reads reports, turns gaps into tasks with deadlines and gives each mammogram an AI second look.
The problem: Before breast-cancer treatment starts, a patient passes through five providers: referring doctor, mammography, pathology, cancer centre (KOC) and the MDT board. Reports travel as paper and PDF. Values such as ER, HER2 and Ki-67 are retyped by hand, no one sees the whole case, and missed deadlines surface only at the MDT.
What we built: cura is one shared case per patient, used by every provider.
- Reports: Upload a report and cura reads the values out of it. Each value links to the sentence it came from, and a clinician confirms it before it counts. An LLM does the reading, with an offline rule-based reader as a fallback.
- Tasks and deadlines: Missing findings become tasks with an owner and a due date. Each step is tracked against its target, so delays show up early.
- MDT ready: Once the case is complete it turns ready and the MDT summary is generated.
- Imaging AI: Every mammogram (PNG, JPEG or DICOM) goes to a model service that scores it and shows a heatmap of where it looked. The radiologist records BI-RADS and whether they agree. The model only proposes; it never decides.
- Pathway metrics: Days per step against target and waits between providers, so VZP can see where patients wait.
Data: All patient data in the demo is synthetic. The mammography model is an EfficientNet-B0 trained on a public Kaggle dataset (INbreast, MIAS and DDSM). That dataset stores rotated copies of each mammogram as separate files, so a naive split leaks: the public notebooks we checked report 99 to 100% for this reason. We grouped the copies and split by group. On held-out mammograms the model reaches 94.9% accuracy (benign / malignant / normal) and flags malignancy with 95% sensitivity and 95% specificity. We also found that part of this score comes from dataset artifacts in the image background, so we treat it as an upper bound, not as clinical performance.
Stack: Go and htmx, PostgreSQL, and a PyTorch model on FastAPI, all containerised.
What's next? Pilot the breast pathway in one cancer centre and measure time to treatment before and after. Connect eŽádanka, hospital systems over HL7 FHIR, and PACS. Run the report reader on a local LLM and keep all data on premise. Retrain the model with backgrounds masked and validate it on the centre's own images. Then add more cancer types as configuration.
- Had before
- We had only the data which was from a public dataset, the application was fully built during the hackathon.
- Use of AI
- Two AI parts, both checked by a person before anything counts.
Report reader: an LLM (Claude Sonnet, swappable for a local model) reads histology, imaging and staging reports and extracts values such as ER, PR, HER2, Ki-67 and TNM. Every value links to the exact sentence it came from, and a clinician confirms or corrects it before it enters the case. A rule-based reader runs offline as a fallback.
Imaging: our own EfficientNet-B0, trained on public mammograms (INbreast, MIAS, DDSM, Kaggle). It scores malignancy and shows a heatmap of where it looked. We split train and test by source image, because rotated copies of each mammogram leak otherwise. On held-out data: 94.9% accuracy, 95% sensitivity, 95% specificity. Tests showed part of that comes from image-background artifacts, so we report it as an upper bound. The radiologist records BI-RADS and agrees or disagrees, and every prediction is stored with its model version, so real-world agreement is measured. - Impact
- About 7,600 to 7,900 women in Czechia are diagnosed with breast cancer each year, and each passes through around five providers before treatment.
Time saved: clinicians confirm extracted values instead of retyping them. If that saves about 10 minutes per report across about 5 reports per patient, that is roughly 6,500 clinician hours a year for breast cancer alone.
Fewer errors and repeats: one source per value, linked to its sentence, removes copy errors in ER, HER2 or Ki-67 and the repeat tests they cause.
Faster treatment: missing steps become tasks with owners and deadlines, so gaps show up days or weeks before the MDT, not at it.
Measured waits: VZP sees days per step and per provider for the first time, and can set and check targets.
On-premise: everything is offline, deployed on the clinic premise and can be extended and interconnected with other systems using custom middleware to protect the data and ehnance the quality of the data and treatment for a patient. - Who benefits
- Patients and their families, Doctors and nurses, Hospitals and care providers, Health insurers, Research
- InterSystems technologies
- Yes — We only use vector search to gather data from scientific medical articles that can pair up with the patient data and provide insights for both the doctors and the patients on what they can try out to improve their medical records.
- Team
- smetytech. — Vladut Dinu, Andrei Constantin, Bogdan Musat, Mihnea Hututui
- Challenge
- Patient journey without information loss · Prague