vcc-lg / brachy-dose-reporter Goto Github PK
View Code? Open in Web Editor NEWA Django website to hold brachytherapy dose data
License: MIT License
A Django website to hold brachytherapy dose data
License: MIT License
Maybe add an 'audit' or something link at the top where you can interactively plot out interesting things from the database e.g. scatter plot of all D90s vs. data etc.... Suggest to use Google Charts for the moment to get it running quickly, but d3 is an option if Charts are limited.
So at the moment you manually input fractions and patients. I'm adding in a function to search the OMP database for a patient ID so you can 'import' the patient 'automatically' (not sure if this does speed things up that much, but maybe psychologically it's nice to know for sure you're working on the same patient that lives in OMP...
In terms of the independent dose check I think I see something like:
-> Add/import patient
-> List available plans
-> (not sure if this is doable, but be able to say something like 'import plan as fraction 1' etc. and it automatically adds a new fraction onto the patient_detail
view.)
-> For each imported plan have a button that says 'perform dose check' which does all the TG43 stuff in the hdrpackage
-> I'll make a new model to hold the dose check results e.g. | Pat_ID | Fraction_num | Dose_check_outcome| or something like that maybe with some other fields with like mean % difference etc.
-> The patient_detail view then shows which fractions have been imported from OMP and which have been dose checked.
Whilst we're recording doses as they come out of OMP, the Vienna spreadsheet which converts those doses into EQD2 values which are what's used to determine if the overall dose has met the total (brachy + external) constraints...
SO, this needs to be added, probably as an extra column next to the parameter in the patient_details table.
Can currently add and edit fractions, but cannot delete
Will probably need to be against LDAP but would be nice to just wrap the whole thing around a login screen for the moment, and then maybe have another column on the fraction table to say who the user was that entered the data.
Ideally want to do something like a patient ID lookup to the clinical database so that it autopopulates details like name/dob etc.... and then it's easier to retrieve RTPLAN files for independent dose checks!
This is dependent upon connectivity to the OMP clinical database. But assuming this can be done, you could have the workflow like:
-> (add patient if not exist)
-> search for patient on OMP database via application and list cases/plans
-> select plan of interest
which then retrieves the DICOM RTPLAN etc. data and parses into some helpful format
-> gives user option to print out protocol for plan (easy)
-> gives user option to perform independent dose check (hard -> needs integration of other code)
-> (not sure if this is possible) gives user option to auto-populate a fraction's detail
Again could just take this from some static JSON file e.g.
"dvh": {"D90": {"target": 99, "equality": "<", "VOI": "hr-ctv"},
"V100": {"target": 100, "equality": ">=", "VOI": "bladder"}
}
or something like that...
It would be nice to not hard code dose parameters in the models, forms, and detail views.... is there a way to just have a JSON file in a ./static
directory that can be inspected to auto-generate those bits of the app? That way, their values can change (and sometimes do) or be added to really easily.
If user adds a fraction with a # identical to one already in the system, app currently doesn't mind and just appends it. Want it to ask the user if they want to overwrite existing fraction data - maybe diff the two datasets at the same time before modifying the data.
Currently all patients displayed as list - prefer a searchable format.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.