当前位置: 首页 > 工具软件 > WorkList > 使用案例 >

worklist 需要传的参数

顾昊穹
2023-12-01

worklist 需要传递的TAG信息

PatientName,ScheduledStationAETitle,ScheduledProcedureStepStartDate,ScheduledProcedureStepStartTime,Modality,ScheduledPerformingPhysicianName,PatientID,AccessionNumber,RequestedProcedureID,ReferringPhysicianName,PatientSex,RequestingPhysician,AdmissionID,RequestedProcedurePriority,PatientBirthDate,PatientAge,InstitutionName,RequestedProcedureDescription,StudyInstanceUID,ScheduledProcedureStepID,ScheduledProcedureStepDescription

```

Attributes attributes = new Attributes();
    if (StringUtils.isNotBlank(item.getPatientName())) {
        attributes.setString(Tag.PatientName, VR.PN, item.getPatientName());
    }
    attributes.setString(Tag.ScheduledStationAETitle, VR.AE, item.getScheduledStationAETitle());

    if (null != item.getScheduledProcedureStepStartDateTime()) {
        attributes.setString(Tag.ScheduledProcedureStepStartDate, VR.TM, DcmDateUtil.getYMDDate(item.getScheduledProcedureStepStartDateTime()));
    }

    if (null != item.getScheduledProcedureStepStartDateTime()) {
        attributes.setString(Tag.ScheduledProcedureStepStartTime, VR.TM, DcmDateUtil.getHMSDate(item.getScheduledProcedureStepStartDateTime()));
    }

    if (StringUtils.isNotBlank(item.getModality())) {
        attributes.setString(Tag.Modality, VR.CS, item.getModality());
    }
    attributes.setString(Tag.ScheduledPerformingPhysicianName, VR.PN, item.getScheduledPerformingPhysicianName());
    if (StringUtils.isNotBlank(item.getPatientID())) {
        attributes.setString(Tag.PatientID, VR.LO, item.getPatientID());
    }

    attributes.setString(Tag.AccessionNumber, VR.SH, item.getAccessionNumber());

    attributes.setString(Tag.RequestedProcedureID, VR.SH, item.getRequestedProcedureID());
    attributes.setString(Tag.ReferringPhysicianName, VR.PN, item.getReferringPhysicianName());
    attributes.setString(Tag.PatientSex, VR.CS, item.getPatientSex());
    attributes.setString(Tag.RequestingPhysician, VR.PN, item.getRequestingPhysician());
    attributes.setString(Tag.AdmissionID, VR.LO, item.getAdmissionID());
    attributes.setString(Tag.RequestedProcedurePriority, VR.SH, item.getRequestedProcedurePriority());
    attributes.setString(Tag.PatientBirthDate, VR.DA, item.getPatientBirthDate());
    attributes.setString(Tag.PatientAge, VR.AS, item.getPatientAge());
    attributes.setString(Tag.InstitutionName, VR.LO, item.getInstitutionName());
    attributes.setString(Tag.RequestedProcedureDescription, VR.LO, item.getBodyPartName());
    if (StringUtils.isNotBlank(item.getStudyInstanceUID())) {
        attributes.setString(Tag.StudyInstanceUID, VR.UI, item.getStudyInstanceUID());

    }
    if (StringUtils.isNotBlank(item.getAccessionNumber())) {
        attributes.setString(Tag.ScheduledProcedureStepID, VR.SH, item.getAccessionNumber());
    }
    if (StringUtils.isNotBlank(item.getBodyPartName())) {
        attributes.setString(Tag.ScheduledProcedureStepDescription, VR.LO, item.getBodyPartName());
        attributes.setString(Tag.StudyDescription, VR.LO, item.getBodyPartName());

    }

    attributes.setString(Tag.SpecificCharacterSet, VR.CS, item.getSpecifiedCharset());
    String procedureCode = item.getProcedureCode();
    String bodyPartName = item.getBodyPartName();

    if (!StringUtils.isAnyBlank(procedureCode, bodyPartName)) {
        Sequence RequestedProcedureCodeSequence = attributes.newSequence(Tag.RequestedProcedureCodeSequence, 1);
        Attributes requestedProcedureCodeAttr = new Attributes();
        requestedProcedureCodeAttr.setString(Tag.CodeMeaning, VR.LO, item.getBodyPartName());
        requestedProcedureCodeAttr.setString(Tag.CodeValue, VR.SH, item.getProcedureCode());
        requestedProcedureCodeAttr.setString(Tag.CodingSchemeDesignator, VR.SH, "99IHE");
        RequestedProcedureCodeSequence.add(requestedProcedureCodeAttr);

        Sequence scheduledProtocolCodeSequence = attributes.newSequence(Tag.ScheduledProtocolCodeSequence, 1);
        Attributes scheduledProtocolCodeAttr = new Attributes();
        scheduledProtocolCodeAttr.setString(Tag.CodeMeaning, VR.LO, item.getBodyPartName());
        scheduledProtocolCodeAttr.setString(Tag.CodeValue, VR.SH, item.getProcedureCode());
        scheduledProtocolCodeAttr.setString(Tag.CodingSchemeDesignator, VR.SH, "99IHE");
        scheduledProtocolCodeSequence.add(scheduledProtocolCodeAttr);
    }

    Sequence scheduledProcedureStepSequence = attributes.newSequence(Tag.ScheduledProcedureStepSequence, 1);
    Attributes scheduledProcedureStepAttr = new Attributes();
    scheduledProcedureStepAttr.setString(Tag.ScheduledStationName, VR.SH, "");
    scheduledProcedureStepAttr.setString(Tag.ScheduledProcedureStepLocation, VR.SH, "");
    scheduledProcedureStepAttr.setString(Tag.ScheduledProcedureStepID, VR.SH, item.getAccessionNumber());
    scheduledProcedureStepAttr.setString(Tag.ScheduledProcedureStepDescription, VR.LO, item.getBodyPartName());
    scheduledProcedureStepAttr.setString(Tag.ScheduledStationAETitle, VR.AE, item.getScheduledStationAETitle());
    scheduledProcedureStepAttr.setString(Tag.ScheduledProcedureStepStartDate, VR.DA, DcmDateUtil.getYMDDate(item.getScheduledProcedureStepStartDateTime()));
    scheduledProcedureStepAttr.setString(Tag.ScheduledProcedureStepStartTime, VR.TM, DcmDateUtil.getHMSDate(item.getScheduledProcedureStepStartDateTime()));
    scheduledProcedureStepAttr.setString(Tag.Modality, VR.CS, item.getModality());
    scheduledProcedureStepSequence.add(scheduledProcedureStepAttr);

    addReferenceStudyAndPatientSeq(attributes);

    if (dataSetIsComplete(attributes)) {
        resAttrs.add(attributes);
    } else {
        logger.error("dataset is not complete.");
    }

```

 

 

 

 

 

 类似资料: