Revisit modality types from RDSR issue #445
Refs #445
With kit that does fluoro and DX, this solution doesn't work. I need to be able to have a modality that is both RF and DX!
Issue ref #577 could help as the wall stand will always be DX. But the table detector is used for both fluoro and supine DX such as abdomen.
This either needs to be fixed for 0.8.0 or the exports for RF and DX need to be changed to allow exports. Prefer the former.
Comments (45)
-
reporter -
reporter Ok, so we need to make some decisions @dplatten, @tcdewit, @LuukO
If you have a single room that does fluoroscopy and general radiography, such as a Siemens Luminos dRF Max, then you will have a situation where you can have fluoroscopy events and radiography events in the same RDSR. And when you do your dose surveys, you'll want to consider the fluoro event with your other fluoro rooms, and the radiography event with your other radiography rooms.
Currently, you can choose to consider RDSRs from such a room to be either DX or RF. But not both, or some studies one and other studies the other (which wouldn't work anyway if you have one study with both types of events in).
Option 1: Do nothing
- The only way I can analyse one of my rooms would be to reset modality type depending on what I am looking at. Things would probably break.
Option 2: Propose that such rooms are considered to be fluoro
- Probably need to improve the fluoro export to better cater for the radiography events
- Would mean radiography events won't be considered in filtering and charts in the radiography section of the interface
Option 3: Create a new modality type of
dual
or similar- Rewrite the filters to allow dual modalities to be listed in both radiography and fluoroscopy sections
- Possibly change the detail pages to be more agnostic to RF or DX
- Make sure the radiography and fluoroscopy exports can deal with both (or ignore events of the other type?)
- Would mean that the same study would be listed twice on the home page
- Would mean that a general listing of fluoro studies would include lots of radiography (for me, one room is maybe 98% radiography exams, so this is quite annoying if you want to review fluoroscopy!)
Option 4: Magic! As 3, but with study by study modality selection
- Not clear yet how to do this, but ideal I think would be to:
- have studies with only radiography events in listed just in radiography
- have studies with only flouro events in listed just in fluoroscopy
- In the [unusual?] case of a fluoro exam that includes a radiography event, list in both?
- Ideally fluoro 'acquisition' images, which could be single shot, wouldn't trigger being listed in radiography? Though I don't think there could be anything to distinguish them!
What do you think?
Thanks, Ed
-
reporter @bearner and anyone else - I'd value any input on this! Doesn't need to be thought through to code level; I want to know how people would expect/like these studies to exist in the system.
-
I'm probably not the best person to help decide but I think something like option 4 looks the best (although probably the hardest to implement!).
Although for the mixed studies, would it be possible to split the study so that they're only shown in the appropriate modality section? Yes you wouldn't see all of the study, but at least you can compare apples with apples and for dose monitoring and isn't that what we want?
For the single shot fluoro acquisition images, if they appear as DX in the RDSR and machine is behaving like it's doing a DX, then I wouldn't really mind it being in the DX list. (I don't really know enough about how these fluoro machines operate to know if this is true though!)
-
I have a room that sort-of falls into this category. It's a Siemens room with a fluoroscopy and radiographic tube. The only things I receive from it are RDSRs of radiographic exposures that all currently sit in the RF category (I'm running 0.7.4 on my live system). At some point this room will be sending fluoroscopy studies too, then I'll be in the same boat as Ed.
I think that magical option 4 sounds best. I would (naively?) imagine that there's a way of distinguishing a fluoroscopy acquisition (even single-shot) from a radiographic exposure.
I'm in favour of trying to keep exams from a given modality together, without "pollution" from other modalities.
-
reporter As far as I can tell, there would be no difference between a single shot cath lab style acquisition and a radiography event in an RDSR.
I'm thinking we could set DX or RF on import, then have a button on the display name page to review all the existing studies to reset DX or RF subsequently.
This would be easy for
- DX only studies (total fluoro DAP is zero)
- RF only studies (total fluoro DAP non-zero)
- RF studies with cath lab style acquisition events along with fluoro (total fluoro DAP is non-zero)
Not so clear what to do with a single study that has maybe a fluoro swallow and an abdomen x-ray in the same study. Just throw them into fluoro and assume they will be so infrequent that we don't need to be too concerned?
I don't think listing some events in DX and other events from the same study in Fluoro would be very easy to implement.
-
reporter Better method of comparing one string to several. Refs
#580→ <<cset 3f64649f287a>>
-
reporter Simplified and corrected check for not fluoro, also made it no fluoro DAP and no fluoro time instead of or. Refs
#580→ <<cset 1d87c46aaac7>>
-
reporter Improved syntax for checking against multiple values Refs
#580→ <<cset a1e83fafd002>>
-
reporter Reduced line length Refs
#580→ <<cset b4eebd00a94b>>
-
reporter CT and MG RDSRs and images are well defined - I don't think we need to consider user-defined modalities for these Refs
#580→ <<cset a52f0c30d481>>
-
reporter I got the 'improved' logic the wrong way around for two different changes :-( Hoorah for automated testing! Refs
#580→ <<cset afc7742ccb9f>>
-
reporter Added in a 'dual' user-defined modality to modality display view and update. Refs
#580→ <<cset 3ac284f15ce8>>
-
reporter PyCharm code reformat, removed user-defined modality from CT and mammo, made page more navigable with links. Refs
#580→ <<cset 4dc5c49a987c>>
-
reporter Functioning reprocessing of dual DX/RF units. Works for my problem room! Refs
#580→ <<cset 2d8f87c29352>>
-
reporter @bearner, @dplatten, @tcdewit, @luukO - I have thrown a copy of this onto testing, and if you have a look at Display Names you can see some of the changes I have been making. If you go to set a modality type now, you have a third choice of dual. Once selected, that modality will appear in both tables on the display names page.
You will also see that in the user-defined modality column, an admin user will see a link next to any dual modalities to 'reprocess'. This will then filter all the studies with that display name, and run through each one trying to determine if it is fluoroscopy or radiography, and resetting the modality_type accordingly. They will then appear in the correct table on the front page.
Still outstanding:
- Any independent verification of my implementation and wording for the links and messages etc
- I do a count at the start and the end that gets displayed once the finished and the page is reloaded - the start count is always zero for each modality the first time I run it (0 are DX, 0 are CR, 0 are RF), but correctly populated at the end of the task and on future runs (453 are DX, 0 are CR, 6 are RF). I don't know why this is yet.
- The page could do with some AJAX to make it less frustrating... my production database has 52 entries in the CT table, 28 in MG, 179 in DX, 14 in fluoro and 21 in other, and it takes ages to load!
-
reporter So the reason the start count is zero for each modality is because they are set to dual... more work needed :-)
-
reporter Initial draft of a better method - the resetting of the modality type takes place when assinging dual instead. More to do, including removing the previous method. Refs
#580→ <<cset acc5413e05f4>>
-
reporter Attempting to review the broken studies in the OT table - it is looking like most of them are artifacts from studies that have been deleted... Refs
#580→ <<cset 4d9c76630689>>
-
reporter Adding details of how many studies and when the last one was to the display names table. Added to CT and other so far. Refs
#580→ <<cset 3c8644ae0f87>>
-
So, I'm a bit late...;-). But the chosen solution seems fine with me. I didn't have a look at the logic implemented for the decision on RF and DX, but I would suggest a quite simple approach: if total fluoro DAP is zero it is DX otherwise RF. Other option would be to decide on Performed Procedure Code Value (meaning). That would require to maintain a hospital specific list for each administrator (actually if regex or the like would be possible in this list, for my institution this would be quite easy as modality is part of the procedure code). Also in the HL7-implementation I'm using the modality type can be extracted and applied from the ORM message sent by the HIS/RIS/EMR (but in the current implementation, it won't if a user defined modality is set).
-
reporter Each modality equipment list now populated using AJAX, each with study count and latest date. Need to work out why some are zero that I think shouldn't be! Refs
#580→ <<cset d3978f4be1a4>>
-
reporter PyCharm code reformat plus spelling correction. Refs
#580→ <<cset ac6d17f15cf7>>
-
reporter Count was filtering by DX, not DX or CR... Refs
#580→ <<cset a2dd455c68d0>>
-
reporter Added review column; removed user-defined-modality null condition on other; added save for the OT casting. Refs
#580→ <<cset 9fee57547415>>
-
reporter Some prep work for making the review page work, including some de-duplication and PyCharm code reformatting. Refs
#580→ <<cset 800143df2c67>>
-
reporter Starting to build up the review page. Refs
#580→ <<cset 732e3ce92368>>
-
reporter Moved fledgling study review code to AJAX to enable more of the logic to be done in Python and to keep page load times reasonable. Refs
#580→ <<cset a906419219cf>>
-
reporter Added more of the columns. Sort of refs
#580, and is working towards ref#479→ <<cset 73869d101879>>
-
reporter Added accumulated columns for CR and DR. Sort of refs
#580, and is working towards ref#479→ <<cset e686edfb3e40>>
-
reporter Finished all the columns Sort of refs
#580, and is working towards ref#479→ <<cset e12932afaeef>>
-
reporter Modified column headings, added line breaks, added detail to CT events, added not-patient indicator Sort of refs
#580, and is working towards ref#479→ <<cset 8cacea292dfb>>
-
reporter More column titles adjustment, and adding in non-breaking spaces Sort of refs
#580, and is working towards ref#479→ <<cset a4d1cb5930c3>>
-
reporter Changed URL as this is no-longer just about the odd studies Sort of refs
#580, and is working towards ref#479→ <<cset c65c96f43ec6>>
-
reporter Changed name of view. Accumulated fluoro and Acquisition only display if present. Sort of refs
#580, and is working towards ref#479→ <<cset a4bb12d0a00b>>
-
reporter Reduced duplication by making ad-hoc reprocess use the initial function used when dual is selected. Also moved the review_summary_list function. Sort of refs
#580, and is working towards ref#479→ <<cset 33e000999f5c>>
-
reporter Some DX were being incorrectly not identified in reprocess - need to check initial DX imports... Sort of refs
#580, and is working towards ref#479→ <<cset 20034536975f>>
-
reporter Renamed template Sort of refs
#580, and is working towards ref#479→ <<cset 5e8bdd0b1c83>>
-
reporter Fixing Codacy errors for ref
#580and pull request #149. Hopefully suppressing unused code issues in modals.py that hsa suddenly come up...→ <<cset e30d3ffb0288>>
-
reporter Adding refs
#318,#580to changes→ <<cset ade0149799e9>>
-
reporter - changed status to resolved
Merged in issue580rfanddx (pull request #149)
Fixes
#580,#318RF/DX and deleting studiesDocumentation is outstanding (see issue ref
#583)→ <<cset 2eb379749d97>>
-
reporter Merged in issue583docs4displaynamesAndDeleting (pull request #170)
Issue583docs4displaynamesAndDeleting
→ <<cset 77cabb887da8>>
-
reporter - changed status to open
New fluoro exams of a dual system don't seem to be going in as RF, but do if reprocessed... need to revisit
-
reporter - changed status to resolved
Will handle import issue in ref
#613 -
reporter Reorganised interface and debug message for re-processing modality types refs
#580→ <<cset 5b176e71c2ed>>
- Log in to comment
ref
#577won't help with this as there is no detector ID in the RDSR, but I think I have a way to do this anyway. I think.