Howto get a patientUID from DICOM database?

Well, I’ve got the patient’s name from Dicom database. but howto get a patientUID from DICOM database?

volumeNode = Helper.getFirstNodeByClass("vtkMRMLScalarVolumeNode")
# Get series instance UID from subject hierarchy
shNode = slicer.vtkMRMLSubjectHierarchyNode.GetSubjectHierarchyNode(slicer.mrmlScene)
volumeItemId = shNode.GetItemByDataNode(volumeNode)
seriesInstanceUID = shNode.GetItemUID(volumeItemId, 'DICOM')
# Get patient name (0010,0010) from the first file of the series
instUids = slicer.dicomDatabase.instancesForSeries(seriesInstanceUID)
print(slicer.dicomDatabase.instanceValue(instUids[0], '0010,0010')) # patient name

from Script repository — 3D Slicer documentation

I use this code dicomDatabase.setVisibilityForField("Patients", "UID", True) get the ‘UID’ column.

Please don’t share patient data. You can unfocus that text with the names so it is not seen

sorry, but I don’t know how to delete the posted picture…

[0010,0020] should hold PatientID

Good luck !

不对呀, 我想要UID而不是patientID

Nope, I want UID not patientID…

[0020,000d] StudyInstanceUID
[0020,000e] SeriesInstanceUID
[0020,0010] StudyID
[0020,0011] SeriesNumber


what do you expect ?

I want the UID, ,

I think this is the function you need Slicer/ at master · Slicer/Slicer · GitHub


from DICOMLib import DICOMUtils

Thanks! @cpinter