我现在正在使用dcm4chee,我需要添加一些自定义字段,例如患者的身份证号码,移动电话号码和地址。 在搜索了一些相关信息之后,我仍然感到困惑,不知道该怎么做。有没有人这样做过?
答案 0 :(得分:1)
正如@ jap1968已经指出的那样,你可以添加
Other Patient IDs (0010,1000)
包括任何其他患者ID号。此属性是患者识别模块的一部分,在大多数DICOM对象中通常需要这些属性。
通过 Patient Demographic Module (通常是一组可选属性),您可以重复使用这些属性:
Patient’s Telephone Numbers (0010,2154)
Patient’s Address (0010,1040)
根据您用于处理DICOM对象的DICOM工具包,将有不同的属性插入方法。在 dcm4che 中,您应该能够使用其中一种可用的DicomObject.put...方法在DICOM对象中插入新值。请记住,为了正确起见,您应该为修改后的对象更新 SOP实例UID (以及可能的其他UID:s。)。
答案 1 :(得分:1)
我已经在其他一些案件上做过了。在我的情况下,我要用新值修改现有标签。这里的代码,希望它给你一些指针。
public static void changementTag(File file, int tagChooser, String aModify, VR vr, String newString )
{
try
{
DicomInputStream dis = new DicomInputStream(file);
DicomObject dio = dis.readDicomObject();
dis.close();
String fileName = file.getAbsolutePath() + ".ori";
File originFile = new File(fileName);
file.renameTo(originFile);
boolean change = false;
dio.putString(tagChooser, vr, newString);
change = true;
if(change)
{
FileOutputStream fos = new FileOutputStream( new File(file.getParent()+ "/" + file.getName()));
BufferedOutputStream bos = new BufferedOutputStream(fos);
DicomOutputStream dos = new DicomOutputStream(bos);
dos.writeDicomFile(dio);
dos.close();
originFile.delete();
}
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
答案 2 :(得分:0)
看看这些Dicom字段:
Other Patient IDs (0010,1000)
Other Patient IDs Sequence (0010,1002)
也许您不需要添加自定义字段(至少对于患者身份证),但只需使用一些现有字段。