DICOM TCP-Services and DICOM implementation details in Ensemble
before contacting WRC i thought to ask dev com about some questions related to Ensemble DICOM related implementation. These are more practical things and I hope to have someone around with experience in the field. We´ve created a DICOM Worklist application and are now in the process of roll-out.
1) One of our customers came up with a question to bundle modalities of certain locations to use a single Ensemble Service (EnsLib.DICOM.TCPService). That way instead of creating 10 DICOM TCP Services and assign ports and so on, he would like to use onle four services and assign the allowed RemoteAET(s) to them. The question now is how to configure the service (should jobs per connection be used? - I guess so) itself and how much modalities should be assigned to one DICOM TCP Service in total to guarantee a save processing of incomming requests (are there field experiences around?)
2) The DICOM Worklist Sample provided in ENSDEMO create the DICOM Association with the full set of available SOP-Classes from the dictionary. Specifying only the WORKLIST C-FIND Model SOP-Class (1.2.840.10008.5.1.4.31) when invoking the utilty method to create the dicom association within ensemble
gives an error telling that this SOP-Class is unknown. What would be the correct way to specify the desired sop-class and do we need to have further SOP-Classes assigned for a worklist application?
3) How to set a value in an object of type EnsLib.DICOM.Document when the field is specified as DICOM VR ´SQ´ (Sequence) for example to transport the Patients primary language (DICOM-Dictionary, PatientPrimaryLanguageCodeSequence). Setting it like
Set tSC = pDocOut.SetValueAt("English", "DataSet.PatientPrimaryLanguageCodeSequence")
won´t work. So the question here is how to find the expected subfield from the dictionary implemented in ensemble. Maybe someone have further ideas on the points mentioned above and can give me a little hint? In anyway thank you for the support.