← Навигация по документации

Обзор

В здравоохранении могут быть рабочие процессы, в которых над записями одного типа UPS работают несколько рентгенологов, и только после этого выполняется следующий этап обработки рабочего процесса UPS. В таких сценариях необходимо предусмотреть механизм, при котором новая запись UPS создаётся по завершении предыдущих записей UPS.

На приведённой ниже блок-схеме / конфигурации / тестах описана обработка рабочего процесса UPS для двух исполнителей (людей), работающих с одним типом записей UPS, назначенным каждому из них. Когда оба завершают работу над назначенными им записями UPS, создаётся новая запись UPS на основе настроенного правила (опционально — с определёнными атрибутами, производными от предыдущей записи UPS).

Конфигурация

Проверка и тесты

12:23:23,564 INFO - UPSSCU->DCM4CHEE(1) >> 1:N-ACTION-RSP[pcid=3, status=0H cuid=1.2.840.10008.5.1.4.34.6.1 - Unified Procedure Step - Push SOP Class iuid=2.25.78067660710700553277138239369269507261 - ? tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian] 12:23:23,564 DEBUG - UPSSCU->DCM4CHEE(1) >> 1:N-ACTION-RSP Command: (0000,0002) UI [1.2.840.10008.5.1.4.34.6.1] AffectedSOPClassUID (0000,0100) US [33072] CommandField (0000,0120) US [1] MessageIDBeingRespondedTo (0000,0800) US [257] CommandDataSetType (0000,0900) US [0] Status (0000,1000) UI [2.25.78067660710700553277138239369269507261] AffectedSOPInstan .......... - Проверьте в UI архива, что состояние записи UPS изменилось с `SCHEDULED` на `IN PROGRESS` - Поработайте над записью UPS и обновите её в архиве. Убедитесь, что обновлённые атрибуты содержат `Unified Procedure Step Performed Procedure Sequence`, который *должен* включать `Transaction UID`, `Performed Procedure Step Start DateTime`, `Performed Procedure Step End DateTime`, `Performed Station Name Code Sequence` и `Performed Workitem Code Sequence`. Другие необязательные атрибуты согласно [Request Type N-SET в атрибутах UPS SOP Class](http://dicom.nema.org/medical/dicom/current/output/html/part04.html#sect_CC.2.5.1.3) также могут быть отправлены. См. пример [updateUPS](https://raw.githubusercontent.com/wiki/dcm4che/dcm4chee-arc-light/data/updateUPS.xml) upsscu -c DCM4CHEE@localhost:11112 -O update -u 2.25.78067660710700553277138239369269507261 -- updateUPS.xml .......... 14:32:55,421 DEBUG - UPSSCU->DCM4CHEE(1) << 1:N-SET-RQ Dataset: (0008,1195) UI [=1.2.3.4.5.6.7.8.9.10.1] TransactionUID (0074,1216) SQ [1 Items] UnifiedProcedureStepPerformedProcedureSequence

Item #1 (0040,4019) SQ [1 Items] PerformedWorkitemCodeSequence

Item #1 (0008,0100) SH [MR_INTERPRETATION] CodeValue (0008,0102) SH [99DCM4CHEE] CodingSchemeDesignator (0008,0104) LO [MR studies interpretation] CodeMeaning (0040,4028) SQ [1 Items] PerformedStationNameCodeSequence Item #1 (0008,0100) SH [RADIOLOGY_MR] CodeValue (0008,0102) SH [99DCM4CHEE] CodingSchemeDesignator (0008,0104) LO [MR department] CodeMeaning (0040,4050) DT [20201029010101] PerformedProcedureStepStartDateTime (0040,4051) DT [20201029020202] PerformedProcedureStepEndDateTime

14:32:55,465 INFO - UPSSCU->DCM4CHEE(1) >> 1:N-SET-RSP[pcid=3, status=0H cuid=1.2.840.10008.5.1.4.34.6.1 - Unified Procedure Step - Push SOP Class iuid=2.25.78067660710700553277138239369269507261 - ? tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian] 14:32:55,465 DEBUG - UPSSCU->DCM4CHEE(1) >> 1:N-SET-RSP Command: (0000,0002) UI [1.2.840.10008.5.1.4.34.6.1] AffectedSOPClassUID (0000,0100) US [33056] CommandField (0000,0120) US [1] MessageIDBeingRespondedTo (0000,0800) US [257] CommandDataSetType (0000,0900) US [0] Status (0000,1000) UI [2.25.78067660710700553277138239369269507261] AffectedSOPInstan .......... - Измените состояние записи UPS с `IN PROGRESS` на `COMPLETED` upsscu -c DCM4CHEE@localhost:11112 -O changeState -C 1.2.3.4.5.6.7.8.9.10.1 -u 2.25.78067660710700553277138239369269507261 .......... 14:34:22,382 DEBUG - UPSSCU->DCM4CHEE(1) << 1:N-ACTION-RQ Dataset: (0008,1195) UI [=1.2.3.4.5.6.7.8.9.10.1] TransactionUID (0074,1000) CS [COMPLETED] ProcedureStepState

14:34:22,477 INFO - UPSSCU->DCM4CHEE(1) >> 1:N-ACTION-RSP[pcid=3, status=0H cuid=1.2.840.10008.5.1.4.34.6.1 - Unified Procedure Step - Push SOP Class iuid=2.25.78067660710700553277138239369269507261 - ? tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian] 14:34:22,478 DEBUG - UPSSCU->DCM4CHEE(1) >> 1:N-ACTION-RSP Command: (0000,0002) UI [1.2.840.10008.5.1.4.34.6.1] AffectedSOPClassUID (0000,0100) US [33072] CommandField (0000,0120) US [1] MessageIDBeingRespondedTo (0000,0800) US [257] CommandDataSetType (0000,0900) US [0] Status (0000,1000) UI [2.25.78067660710700553277138239369269507261] AffectedSOPInstan .......... - Повторите описанные выше шаги для второго исполнителя - Поиск findscu -c DCM4CHEE@localhost:11112 -M UPSQuery -r SOPInstanceUID -r ProcedureStepLabel -r WorklistLabel -m ScheduledHumanPerformersSequence/HumanPerformerCodeSequence/CodeValue=RADIOLOGIST_2 -m ScheduledHumanPerformersSequence/HumanPerformerName=HumanPerformer2
.......... 12:16:35,206 DEBUG - FINDSCU->DCM4CHEE(1) >> 1:C-FIND-RSP Dataset: (0008,0018) UI [2.25.119510196879599731106227382995922197744] SOPInstanceUID (0040,4034) SQ [1 Items] ScheduledHumanPerformersSequence >Item #1 >(0040,4009) SQ [1 Items] HumanPerformerCodeSequence >>Item #1 >>(0008,0100) SH [RADIOLOGIST_2] CodeValue >(0040,4037) PN [HumanPerformer2] HumanPerformerName (0074,1202) LO [UPS2-Processing] WorklistLabel (0074,1204) LO [UPS2-Processing] ProcedureStepLabel .......... - Затребуйте в `IN PROGRESS` upsscu -c DCM4CHEE@localhost:11112 -O changeState -P 1.2.3.4.5.6.7.8.9.10.2 -u 2.25.119510196879599731106227382995922197744 .......... 14:44:18,436 DEBUG - UPSSCU->DCM4CHEE(1) << 1:N-ACTION-RQ Dataset: (0008,1195) UI [1.2.3.4.5.6.7.8.9.10.2] TransactionUID (0074,1000) CS [IN PROGRESS] ProcedureStepState

  14:44:18,468 INFO  - UPSSCU->DCM4CHEE(1) >> 1:N-ACTION-RSP[pcid=3, status=0H
    cuid=1.2.840.10008.5.1.4.34.6.1 - Unified Procedure Step - Push SOP Class
    iuid=2.25.119510196879599731106227382995922197744 - ?
    tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
  14:44:18,469 DEBUG - UPSSCU->DCM4CHEE(1) >> 1:N-ACTION-RSP Command:
  (0000,0002) UI [1.2.840.10008.5.1.4.34.6.1] AffectedSOPClassUID
  (0000,0100) US [33072] CommandField
  (0000,0120) US [1] MessageIDBeingRespondedTo
  (0000,0800) US [257] CommandDataSetType
  (0000,0900) US [0] Status
  (0000,1000) UI [2.25.119510196879599731106227382995922197744] AffectedSOPInsta
  ..........
  ````
- Проверьте в UI архива изменение состояния этой записи UPS на `IN PROGRESS`
- Поработайте над ней и обновите запись UPS. Убедитесь, что обязательные атрибуты присутствуют среди обновлённых
  атрибутов (см. шаг update UPS для первого исполнителя)
  ````
  upsscu -c DCM4CHEE@localhost:11112 -O update -u 2.25.119510196879599731106227382995922197744 -- updateUPS.xml
  ````
  ````
  ..........
  14:49:44,515 DEBUG - UPSSCU->DCM4CHEE(1) << 1:N-SET-RQ Dataset:
  (0008,1195) UI [1.2.3.4.5.6.7.8.9.10.2] TransactionUID
  (0074,1216) SQ [1 Items] UnifiedProcedureStepPerformedProcedureSequence
  >Item #1
  >(0040,4019) SQ [1 Items] PerformedWorkitemCodeSequence
  >>Item #1
  >>(0008,0100) SH [MR_INTERPRETATION] CodeValue
  >>(0008,0102) SH [99DCM4CHEE] CodingSchemeDesignator
  >>(0008,0104) LO [MR studies interpretation] CodeMeaning
  >(0040,4028) SQ [1 Items] PerformedStationNameCodeSequence
  >>Item #1
  >>(0008,0100) SH [RADIOLOGY_MR] CodeValue
  >>(0008,0102) SH [99DCM4CHEE] CodingSchemeDesignator
  >>(0008,0104) LO [MR department] CodeMeaning
  >(0040,4050) DT [20201029010101] PerformedProcedureStepStartDateTime
  >(0040,4051) DT [20201029020202] PerformedProcedureStepEndDateTime

  14:49:44,566 INFO  - UPSSCU->DCM4CHEE(1) >> 1:N-SET-RSP[pcid=3, status=0H
    cuid=1.2.840.10008.5.1.4.34.6.1 - Unified Procedure Step - Push SOP Class
    iuid=2.25.119510196879599731106227382995922197744 - ?
    tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
  14:49:44,566 DEBUG - UPSSCU->DCM4CHEE(1) >> 1:N-SET-RSP Command:
  (0000,0002) UI [1.2.840.10008.5.1.4.34.6.1] AffectedSOPClassUID
  (0000,0100) US [33056] CommandField
  (0000,0120) US [1] MessageIDBeingRespondedTo
  (0000,0800) US [257] CommandDataSetType
  (0000,0900) US [0] Status
  (0000,1000) UI [2.25.119510196879599731106227382995922197744] AffectedSOPInsta
  ..........
  ````
- Установите состояние в `COMPLETED`
  ````
  upsscu -c DCM4CHEE@localhost:11112 -O changeState  -C 1.2.3.4.5.6.7.8.9.10.1 -u 2.25.78067660710700553277138239369269507261
  ````
  ````
  ..........
  14:34:22,382 DEBUG - UPSSCU->DCM4CHEE(1) << 1:N-ACTION-RQ Dataset:
  (0008,1195) UI [=1.2.3.4.5.6.7.8.9.10.1] TransactionUID
  (0074,1000) CS [COMPLETED] ProcedureStepState

  14:34:22,477 INFO  - UPSSCU->DCM4CHEE(1) >> 1:N-ACTION-RSP[pcid=3, status=0H
    cuid=1.2.840.10008.5.1.4.34.6.1 - Unified Procedure Step - Push SOP Class
    iuid=2.25.78067660710700553277138239369269507261 - ?
    tsuid=1.2.840.10008.1.2 - Implicit VR Little Endian]
  14:34:22,478 DEBUG - UPSSCU->DCM4CHEE(1) >> 1:N-ACTION-RSP Command:
  (0000,0002) UI [1.2.840.10008.5.1.4.34.6.1] AffectedSOPClassUID
  (0000,0100) US [33072] CommandField
  (0000,0120) US [1] MessageIDBeingRespondedTo
  (0000,0800) US [257] CommandDataSetType
  (0000,0900) US [0] Status
  (0000,1000) UI [2.25.78067660710700553277138239369269507261] AffectedSOPInstan
  ..........
  ````