# Howto get a patientUID from DICOM database?

**URL:** <https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886>\
**Category:** Development\
**Tags:** dicom, python\
**Created:** [June 15, 2022, 4:09am UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886 "2022-06-15T04:09:29Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![jumbojing](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jumbojing/32/10811_2.png) [@jumbojing](https://discourse.slicer.org/u/jumbojing)\
**Post date:** [June 15, 2022, 4:09am UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/1 "2022-06-15T04:09:29Z")

</div>

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

```auto
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](https://slicer.readthedocs.io/en/latest/developer_guide/script_repository.html#dicom:~:text=%E7%9A%84%E8%AE%BF%E9%97%AE%E6%A0%87%E8%AE%B0-,%C2%B6,-%E7%94%B1%E5%90%84%E7%A7%8DDICOM)

from [slicer.readthedocs.io](https://slicer.readthedocs.io/en/latest/developer_guide/script_repository.html#customize-table-columns-in-dicom-browser)  
I use this code `dicomDatabase.setVisibilityForField("Patients", "UID", True)` get the ‘UID’ column.

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [June 15, 2022, 12:55pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/2 "2022-06-15T12:55:00Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jumbojing](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jumbojing/32/10811_2.png) [@jumbojing](https://discourse.slicer.org/u/jumbojing)\
**Post date:** [June 15, 2022, 1:18pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/3 "2022-06-15T13:18:40Z")

</div>

![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/6/3/631b1a611dd88f19f35ddf3635b7050353001553.png)  
sorry, but I don’t know how to delete the posted picture…

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [June 15, 2022, 1:30pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/4 "2022-06-15T13:30:30Z")

</div>

[0010,0020] should hold PatientID

Good luck !

---

<div class="post-metadata">

**Author:** ![jumbojing](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jumbojing/32/10811_2.png) [@jumbojing](https://discourse.slicer.org/u/jumbojing)\
**Post date:** [June 15, 2022, 1:34pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/5 "2022-06-15T13:34:44Z")

</div>

![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/5/6/56d465986c7cd518ba207548481a65a7423d87b9.png)  
不对呀, 我想要UID而不是patientID

Nope, I want UID not patientID…

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [June 15, 2022, 1:50pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/6 "2022-06-15T13:50:16Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jumbojing](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jumbojing/32/10811_2.png) [@jumbojing](https://discourse.slicer.org/u/jumbojing)\
**Post date:** [June 15, 2022, 1:55pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/7 "2022-06-15T13:55:19Z")

</div>

![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/3/5/35775285fa92a443bdf34dc5d3f2d3845ab2d801.png)  
😰

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [June 15, 2022, 1:56pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/8 "2022-06-15T13:56:29Z")

</div>

what do you expect ?

---

<div class="post-metadata">

**Author:** ![jumbojing](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jumbojing/32/10811_2.png) [@jumbojing](https://discourse.slicer.org/u/jumbojing)\
**Post date:** [June 15, 2022, 1:58pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/9 "2022-06-15T13:58:39Z")

</div>

> [@jumbojing](#):
>
> ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/6/3/631b1a611dd88f19f35ddf3635b7050353001553.png)
> 
> sorry, but I don’t know how to delete the posted picture…

I want the UID, ,

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/9/3/936bc40a378cc45a35d65958cd964d136069cd23.png)

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [June 15, 2022, 2:47pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/10 "2022-06-15T14:47:15Z")

</div>

I think this is the function you need [Slicer/DICOMUtils.py at master · Slicer/Slicer · GitHub](https://github.com/Slicer/Slicer/blob/master/Modules/Scripted/DICOMLib/DICOMUtils.py#L83)

So

```auto
from DICOMLib import DICOMUtils
DICOMUtils.getDatabasePatientUIDByPatientName('PatientName')

```

---

<div class="post-metadata">

**Author:** ![jumbojing](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jumbojing/32/10811_2.png) [@jumbojing](https://discourse.slicer.org/u/jumbojing)\
**Post date:** [June 15, 2022, 3:20pm UTC](https://discourse.slicer.org/t/howto-get-a-patientuid-from-dicom-database/23886/11 "2022-06-15T15:20:22Z")

</div>

> [@cpinter](#):
>
> ```auto
> from DICOMLib import DICOMUtils
> DICOMUtils.getDatabasePatientUIDByPatientName('PatientName')
> 
> ```

Thanks! @cpinter

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/b/1/b151b1f1bc2c364a340557d2e699d47f0a5cb5b5.jpeg)
