The main issue I've found is the manufacturer's implementation. They range from okay to barely meeting the minimum standards.
One thing that always annoyed me was the time stamps. They're mandated by the standard, so there's always a timestamp, but it's often useless. For example, it seems some scanners don't get their time set, over the network or otherwise, _ever_, so you might have a bunch of scans performed a few years ago on scanner A with an accurate timestamp of say 2017, but in a new scan from last week that was taken by scanner B, which hasn't had its clock configured properly, it reports a date closer to the start of the unix epoch rather than 2020.
Of course some of this is out of the manufacturers control, but temporal data is critical to analyzing changes to patient over time. I think this is one area where the DICOM standard couldn't be a bit more strict with a lot of positive impact.
So much this. Now your example can still be countered somewhat by taking notes and writing down which scan was taken when. This is usually common practice in research.
But it can get worse when trying to integrate integrating MRI scanner software with external systems which do get a correct timestamp (or at least, different one) and which are used for research experiments like presenting stimuli and recording behaviour all together with getting MRI data.
Scanner software usually doesn't provide any means of starting it except for clicking in the UI so that means the people doing such experiment have to start 2 or more pieces of software manually (and hope they don't forget one). Now if one session lasts 10 minutes and it's not uncommon to do test sessions (with no scan) or test scans (with no corresponding experiment) or make a mistake (start scan with wrong parameters, abort, start again) and a complete test takes a couple of hours, imagine the fun of linking all of that session data together correctly based on just timestamps. I don't even know how much time has been lost or many mistakes were made (and possibly published) because of that. But it won't be 0, it's just too easy to mess up.
Of course some of this is out of the manufacturers contro
Only partly. Some of these systems are always connected to the internet anway so then at least try to make sure NTP works.
Maybe now that the EU has started mandating data interoperability this could improve, but I have a feeling they will just find a way to tick that box without actually offering any diagnostically relevant data.
Edit: a page more specific to this use case is probably https://en.wikipedia.org/wiki/Radio_clock
You can use a GPS as a time source for an NTP server (on your airwalled network).
And then you count your blessings that at least dicom gives you the beginning of interop.
EDIT: yes, I meant OpenSlide and BioFormats. BioFormats is in unoptimized Java. Oh yeah, and DICOM for pathology exists and some software tools use it exclusively but none of the manufacturers do. As the only standard some organization press for standardizing on it - forcing all vendors to provide convertors. But those are often slow, buggy and produce huge files.
Also, I am sure you are aware the DICOM folks have been trying to get digital pathology pulled into the standard. I am not sure how much success they have had, but David Clunie (the current editor of the standard and a very friendly and open-minded person) had a funny set of power point slides about this topic. I recommend taking a look just for the humor:
https://www.dclunie.com/papers/HIMA_2017_DICOMWSI_Clunie.pdf
DICOM has its issues, but it’s much better than HL7.
Thanks for linking the site! If you have any suggestions or encountered any bugs on the site, please feel free to create an issue in the repo: https://github.com/innolitics/dicom-standard/issues
https://beta.shodan.io/search?query=dicom+server+response
We're continuing to see hospitals and other healthcare-related organizations expose services that fall through the cracks due to the relative obscurity of these types of protocols in IT.
Typically, gear is left with all the settings at 'default', things are opened up to the net for temporary access which is then never removed again, it's possible for the whole hospital to have only one LAN segment and so on. Ransomware, directed attacks to gain admin privileges and substantial violations of patient confidentiality have all been recorded with great regularity.
I'm assuming that if I have to go into the hospital again for whatever reason that that data will be on the street before I leave the building.
Sometimes when it doesn't really matter what is chosen, one powerful entity can just pick and it doesn't matter. Even if maybe option B is very slightly better, clarity that we're all doing A is arguably better than some do A and some B and all suffer.
Unicode / ISO 10646-1 is an example like that. Some people don't like Han Unification, some people think UTF-16 reserved codepoints is an abomination, but mostly everybody is happy to live in a world where Unicode and ISO-10646 are effectively the same thing seen from different angles, not competing standards (Yes that could have happened)
Other times though there is no single entity powerful enough and willing to insist on one way forward, and no natural agreement on whether to do A or B. Instead parties that want to do A, and parties that want to do B just agree either is fine. The result is "standards" like USB Storage, TIFF or DICOM that leave far too much as unresolved choices.
Example: Some scanner manufacturers agreeing TIFF had designed scanners that start from the top-left of the eventual document, others started top-right or even bottom-right. If TIFF said "Images are top-to-bottom" the bottom-right scanners become expensive because they need a huge RAM buffer. Vice versa if TIFF says "Images are bottom-to-top". So... the actual TIFF standard says either can be true, you just flip a tag in the header to declare which way up the image is. Decoders have to carry all the burden of dealing with this, or be incompatible with some images to the confusion of users. ("Why is this picture upside down?")
These standards are marginally better than nobody agreeing anything, but only marginally. They're like that mediocre fusion restaurant you end up at when half the group wants Chinese and half wants Indian. Nobody likes this (hypothetical) fusion restaurant, so now nobody is happy, is that really better? I guess it's an improvement on spending the evening arguing pointlessly, because at least you can eat now.
I've looked at about 10 companies using DICOM over the last couple of years and interop was typically the least of their worries. Think about the level of complexity here: anything from single frame BW at high res (say an X-ray) to time series of volumetric scans (for instance CAT).
The smarter companies will use one of the better FOSS libraries to implement the standard, the not-so-smart ones will try to roll their own, burn a ton of resources and will end up playing catch-up.
Actually that's not entirely true: there was also a 3M / Kodak defacto standard using a parallel RS-485 bus.