For legacy Philips CT (ct_philips.py), we do not consider the possibility of there being more than one 'Dose Info' object for the same study, so we don't need to here either.
For legacy Toshiba CT (rdsr_toshiba_fct_from_dose_images.py), we are creating the RDSR so there won't be multiple ones. If we come across the same StudyInstanceUID again, I don't think we want to fetch it again to see if it has changed.
Added SeriesInstanceUID to GeneralStudyModuleAttr model. Added SeriesTime to DicomQRRspSeries model.
Added SeriesInstanceUID to rdsr extractor.
Moved remove_duplicates to much later in process to ensure series level data is available. Started to implement ref #610
Added checking of SOP instance UID to DX _create_event. Also changed logic for multiple studies with the same UID - previous code would have fallen over. Need to add UID stuff to new DX study function.
[skip ci] because tested locally. Refs #610
Explicitly named mam log for consistency. Added record_sop for new studies. Added tests for importing new event and duplicate vent a second time. Lots of duplication still... for another time! Refs #610, #628
Tested in production. check_uid.check_uid was preventing UIDs to be collected, and isn't needed in extract_common. Removed. Added debug logging to duplicates QR code. Added query stage updates for web interface. Refs #610, #628