Exclude station names

Issue #468 resolved
Tim de Wit created an issue

Similar to the exclusion of study descriptions (e.g. "imported") it would be nice to be able to exclude specific station names as well. In our case this would save a lot of unnecessary PACS-retrieves (the various station names of all imported data are renamed to one specific station name "EXTERNAL").

Comments (17)

  1. Tim de Wit reporter

    Just checked more in depth and our PACS (AGFA Impax) reports the correct station name at study level when all series have the same station name. When multiple station names are present in one study it reports e.g. "MIXEDCTNM", "MIXEDCT", "MIXEDCTPT", etc. So it seems best to perform the station name filtering on series level.

    Additional note: Impax stores a series for internal usage of modality CC, with empty station name and empty series description; these should be filtered out as well.

  2. Tim de Wit reporter

    Yes, I think so... e.g. in the case of acquisition + processing workstations, or multimodality systems where CT and NM/PT are acquired/reconstructed on different machines.

  3. Tim de Wit reporter

    When filtering stationname on serieslevel it seems necessary to add an entry to the DicomQRRspSeries class (and consequently also to the remapp_DicomQRRspSeries table) in order to retrieve station_name; is that correct, or is there another way?

  4. Ed McDonagh

    We should add station_name to the following classes in remapp/models.py:

    • DicomQRRspStudy
    • DicomQRRspSeries

    I assume there isn't a reason to have it in DicomQRRspImage.

    Once you have made that change you need to run python manage.py makemigrations remapp followed by python manage.py migrate to update the database.

    You then can make use of the new fields to record the station name data.

    qrscu in qrscu.py needs to have the DICOM query file updated to include d.StationName = '' at about line 301.

    Likewise in _query_series at about line 67.

    This will ensure that the value is requested at study and series level. You can then check for the value in the responses in the various places.

    I hope that helps. Thanks!

  5. Ed McDonagh

    I guess the model additions should be:

    station_name = models.CharField(max_length=16, blank=True, null=True)
    

    I think there is a maximum of 16 characters? If not, we should just make it

    station_name = models.TextField(blank=True, null=True)
    
  6. Ed McDonagh

    It isn't a standard c-find element at study or series level, so if it works at all it will probably work at Study level as much as it does at Series level.

  7. Log in to comment