Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

"If anything can go wrong, it will." -- Edsel Murphy


devel / comp.protocols.dicom / Re: Question about StudyInstanceUID usage & MWL

SubjectAuthor
* Re: Question about StudyInstanceUID usage & MWLMarkus Sabin
`* Re: Question about StudyInstanceUID usage & MWLStephen Douglas Scotti
 `* Re: Question about StudyInstanceUID usage & MWLMarkus Sabin
  `* Re: Question about StudyInstanceUID usage & MWLStephen Douglas Scotti
   `- Re: Question about StudyInstanceUID usage & MWLHerman Oosterwijk

1
Re: Question about StudyInstanceUID usage & MWL

<a904bbce-b345-4449-a11a-b041c53ac8e4n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=117&group=comp.protocols.dicom#117

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:a0c:ef42:: with SMTP id t2mr20796817qvs.48.1620659877412;
Mon, 10 May 2021 08:17:57 -0700 (PDT)
X-Received: by 2002:ac8:6b8a:: with SMTP id z10mr22938696qts.71.1620659877258;
Mon, 10 May 2021 08:17:57 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.protocols.dicom
Date: Mon, 10 May 2021 08:17:57 -0700 (PDT)
In-Reply-To: <bbe7fa02-3be6-4f7a-95c7-cad45c1f575cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=212.204.96.130; posting-account=FpWjmwoAAADouxZodjPwb9TZUXzY1wOz
NNTP-Posting-Host: 212.204.96.130
References: <bbe7fa02-3be6-4f7a-95c7-cad45c1f575cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a904bbce-b345-4449-a11a-b041c53ac8e4n@googlegroups.com>
Subject: Re: Question about StudyInstanceUID usage & MWL
From: markussabin@gmail.com (Markus Sabin)
Injection-Date: Mon, 10 May 2021 15:17:57 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Markus Sabin - Mon, 10 May 2021 15:17 UTC

Hi Stephen,

Freitag, 30. April 2021 um 20:16:58 UTC+2:
> First question I have is regarding the StudyInstanceID. The scanner has an option to use the machine generated StudyInstanceID, or it can use one provided in the MWL file. I was examining the tags when using a StudyInstanceID from the MWL and noticed that the StudyInstanceID is ours, whereas the SeriesUID's and other UID's are using the scanner's root, or so it seems, e.g. Their root looks like: 1.3.76.2.1.1.4.1.3.5388.
>
> (0020,000d) UI [1.3.6.1.4.1.xxxxx.1. . . . . ] # StudyInstanceUID (our root)
> (0020,000e) UI [1.3.76.2.1.1.4.1.3.5388.670335607] # SeriesInstanceUID
>
> Just wondering if that is "normal" behavior, or if the scanner has to be somehow configured to use our root if it is provided as the StudyInstanceUID in the MWL. I have various algorithms to guarantee the uniqueness of our StudyInstanceUID.

Yes, that is the normal behavior. A Study may span different series created by different equipment. Still the user wants to see all these series in a study context. To achieve that, patient- and study attributes are obtained from the worklist and from the series level onwards, the attributes are equipment-generated. This includes the Series- and SOP Instance UID. Maybe this nice diagram from the standard makes it more clear:
http://dicom.nema.org/dicom/2013/output/chtml/part03/chapter_7.html

> Also read somewhere that the StudyInstanceUID should be padded with a NULL byte in some instances ?

Yes, this is true and comes from the requirement that each DICOM attribute is required to have an even length. So if your uniquely generated UID is of odd length, it must be padded with a NULL character. See here (section 9.1):
http://dicom.nema.org/dicom/2013/output/chtml/part05/chapter_9.html

>
> I have quite a few other questions about appropriately setting up the MWL template so that it does what is needed. Still playing around with that, so I'll follow up with another post regarding that after further investigation. The scanner is an Esaote G-scan, and I have looked through the Dicom Conformance statement for some guidance.
>
> Below is a partially 'working' version of the MWL .wl file that Orthanc is serving. That is generated from and HL7 message as a .txt template and then a .wl file is created using dump2dcm. I have a lot of flexibility when it comes to configuring that. There are some placeholders for some of the values:
>
> # Dicom-Data-Set
> # Used TransferSyntax: Little Endian Explicit
> (0008,0005) CS [ISO_IR 192] # 10, 1 SpecificCharacterSet
> [...]

If this is supposed to be a question, I do not fully get what you are asking for. If there is a problem with your query, I would have a first look at the Specific Character Set. In your sample, it says "UTF-8" (ISO_IR 192), and the Esaote system queries for "nothing" which means "US-ASCII". Since your worklist match does not seem to include any character that cannot be encoded in ASCII, you may try just removing (0008,0005) from your worklist record and see if it works.

Re: Question about StudyInstanceUID usage & MWL

<9be5c83e-8cd8-4828-9cdf-03eb5938fc10n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=118&group=comp.protocols.dicom#118

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:a0c:8d0b:: with SMTP id r11mr9287752qvb.22.1620667326287; Mon, 10 May 2021 10:22:06 -0700 (PDT)
X-Received: by 2002:ad4:4e94:: with SMTP id dy20mr24818789qvb.50.1620667326114; Mon, 10 May 2021 10:22:06 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.protocols.dicom
Date: Mon, 10 May 2021 10:22:05 -0700 (PDT)
In-Reply-To: <a904bbce-b345-4449-a11a-b041c53ac8e4n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=66.253.168.224; posting-account=YFi_UAoAAACTPXmZqt1QuJHF4fLwCPfF
NNTP-Posting-Host: 66.253.168.224
References: <bbe7fa02-3be6-4f7a-95c7-cad45c1f575cn@googlegroups.com> <a904bbce-b345-4449-a11a-b041c53ac8e4n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9be5c83e-8cd8-4828-9cdf-03eb5938fc10n@googlegroups.com>
Subject: Re: Question about StudyInstanceUID usage & MWL
From: stephen.d.scotti@gmail.com (Stephen Douglas Scotti)
Injection-Date: Mon, 10 May 2021 17:22:06 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 205
 by: Stephen Douglas Scot - Mon, 10 May 2021 17:22 UTC

Hey Markus, thank you for the response.

For a StudyInstanceID, Orthanc is apparently going to support using a ROOT ID specified as a config item in a future release, in which case I think it would be the ROOT ID followed by the internal uuid that orthanc generates on demand. Still exploring how to create one in PHP from a ROOT, but looking at something like this:

$rootid = Config::get('DEFAULT_DICOM_ROOT').Config::get('RIS_ID').$id . ".." . $insert . "." . time();

where DEFAULT_DICOM_ROOT is the user's root with trailing '.', RIS_ID is a unique software application ID with '.', $id is a unique device id for the RIS app with '.', $insert is a unique ID for the MWL order and time() is UTC time stamp. With Orthanc allowing for a Root ID, that would be much easier.

In PHP, using:

if (strlen($order->StudyInstanceUID) % 2 == 1) {
order->StudyInstanceUID .= "\x00";
}

To pad.

There does not seem to be a problem with the MWL query itself, just with getting some tags for the Study populated, mostly the StudyDescription. The logs on Orthanc for the C-FIND request and the response are shown below. I actually added a Lua script to add some tags to the incoming query because the scanner does ask for those by default. The issue I have been having is that the StudyDescription tag is not getting populated on the instances sent to PACS by the MRI unit, and StudyDescription does not show up on the MRI console prepopulated. The operator has to enter that manually for some reason. That may just be the way the system is setup.

On Orthanc MPPS is not setup either, so that might be a way to get around populating the tags for a study from the RIS once a MPPS message is sent, or on ingress of instances into PACS using a Lua script. The simple solution is to figure out how to setup the MWL or the scanner to use the StudyDescription from the MWL file. I could add the (0032,1064) to the MWL. Have not tried that yet.

function IncomingWorklistRequestFilter(query, origin)

-- PrintRecursive(query)
-- PrintRecursive(origin)

-- Implements the same behavior as the "FilterIssuerAet"
-- option of the sample worklist plugin
-- Scheduled Procedure Step Sequence 0040,0100
query['0040,0100'][1]['0008,0050'] = '' -- AccessionNumber
query['0040,0100'][1]['0008,1030'] = '' -- StudyDescription
-- query['0040,0100'][1]['0020,000d'] = '' -- StudyInstanceUID
query['0008,1030'] = "" -- StudyDescription
-- query['0008,0096'] = "" -- ReferringPhysicianIdentificationSequence
return query

end

I0510 15:46:21.714677 PluginsManager.cpp:172] (plugins) Received worklist query from remote modality NmrEsaote:
{ "0008,0005" : "ISO_IR 192",
"0008,0050" : "",
"0008,0090" : "",
"0008,1030" : "",
"0008,1080" : "",
"0008,1110" : [],
"0010,0010" : "",
"0010,0020" : "PatientID",
"0010,0030" : "",
"0010,0040" : "",
"0010,1020" : "",
"0010,1030" : "",
"0010,2180" : "",
"0010,21b0" : "",
"0010,4000" : "",
"0020,000d" : "1.3.6.1.4.1.56016.0.1.1.131.1620648192",
"0032,1060" : "",
"0032,1064" : [],
"0040,0100" : [
{
"0008,0050" : "",
"0008,0060" : "MR",
"0008,1030" : "",
"0040,0001" : "NmrEsaote",
"0040,0002" : "20210510-20210510",
"0040,0003" : "",
"0040,0007" : "",
"0040,0008" : [],
"0040,0009" : "0041"
}
],
"0040,1001" : ""
}

and the current MWL response looks like:

T0510 15:46:21.717385 FindScp.cpp:326] (dicom) Sending C-FIND Response 1/1:

# Dicom-Data-Set
# Used TransferSyntax: Little Endian Explicit
(0008,0005) CS [ISO_IR 192] # 10, 1 SpecificCharacterSet
(0008,0050) SH [DEVACC00000053] # 14, 1 AccessionNumber
(0008,0090) PN [ReferringPhysicianName] # 30, 1 ReferringPhysicianName
(0008,1030) LO [Daily QC] # 8, 1 StudyDescription
(0008,1080) LO [AdmittingDiagnosesDescription] # 22, 1 AdmittingDiagnosesDescription
(0010,0010) PN [QC^Esaote G-scan^] # 18, 1 PatientName
(0010,0020) LO [PatientID] # 14, 1 PatientID
(0010,0030) DA [20210415] # 8, 1 PatientBirthDate
(0010,0040) CS [M] # 2, 1 PatientSex
(0010,1020) DS (no value available) # 0, 0 PatientSize
(0010,1030) DS (no value available) # 0, 0 PatientWeight
(0010,2180) SH (no value available) # 0, 0 Occupation
(0010,21b0) LT [Type the Title for Study into the Console (Study Description)] # 62, 1 AdditionalPatientHistory
(0010,4000) LT (no value available) # 0, 0 PatientComments
(0020,000d) UI [1.3.6.1.4.1.56016.0.1.1.131.1620648192] # 38, 1 StudyInstanceUID
(0032,1060) LO [Daily QC] # 8, 1 RequestedProcedureDescription
(0040,0100) SQ (Sequence with explicit length #=1) # 0, 1 ScheduledProcedureStepSequence
(fffe,e000) na (Item with undefined length #=9) # u/l, 1 Item
(0008,0050) SH [DEVACC00000053] # 14, 1 AccessionNumber
(0008,0060) CS [MR] # 2, 1 Modality
(0008,1030) LO [Daily QC] # 8, 1 StudyDescription
(0040,0001) AE [NmrEsaote] # 10, 1 ScheduledStationAETitle
(0040,0002) DA [20210510] # 8, 1 ScheduledProcedureStepStartDate
(0040,0003) TM [080000] # 6, 1 ScheduledProcedureStepStartTime
(0040,0007) LO [Daily QC] # 8, 1 ScheduledProcedureStepDescription
(0040,0008) SQ (Sequence with explicit length #=1) # 0, 1 ScheduledProtocolCodeSequence
(fffe,e000) na (Item with explicit length #=3) # 54, 1 Item
(0008,0100) SH [0040,0008] # 10, 1 CodeValue
(0008,0102) SH [0040,0008] # 10, 1 CodingSchemeDesignator
(0008,0104) LO [0040,0008] # 10, 1 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,0009) SH [0041] # 4, 1 ScheduledProcedureStepID
(fffe,e00d) na (ItemDelimitationItem) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,1001) SH [0041] # 4, 1 RequestedProcedureID

Followed by:

T0510 15:46:21.700881 CommandDispatcher.cpp:291] (dicom) Received Association Parameters:
====================== BEGIN A-ASSOCIATE-RQ ====================.....
======================= END A-ASSOCIATE-RQ =====================
====================== BEGIN A-ASSOCIATE-AC ====================....
======================= END A-ASSOCIATE-AC =====================
===================== INCOMING DIMSE MESSAGE ===================Message Type : C-STORE RQ
Presentation Context ID : 209
Message ID : 5
Affected SOP Class UID : MRImageStorage
Affected SOP Instance UID : 1.3.76.2.1.1.4.1.3.5388.671276871.0
Data Set : present
Priority : medium
======================= END DIMSE MESSAGE ======================.. . . . .

Re: Question about StudyInstanceUID usage & MWL

<68666d0e-ffb1-4902-b765-a43b86cc6bf7n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=119&group=comp.protocols.dicom#119

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:a05:620a:1311:: with SMTP id o17mr16262232qkj.37.1620735636620;
Tue, 11 May 2021 05:20:36 -0700 (PDT)
X-Received: by 2002:ac8:109a:: with SMTP id a26mr27027785qtj.156.1620735636441;
Tue, 11 May 2021 05:20:36 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.protocols.dicom
Date: Tue, 11 May 2021 05:20:36 -0700 (PDT)
In-Reply-To: <9be5c83e-8cd8-4828-9cdf-03eb5938fc10n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=212.204.96.130; posting-account=FpWjmwoAAADouxZodjPwb9TZUXzY1wOz
NNTP-Posting-Host: 212.204.96.130
References: <bbe7fa02-3be6-4f7a-95c7-cad45c1f575cn@googlegroups.com>
<a904bbce-b345-4449-a11a-b041c53ac8e4n@googlegroups.com> <9be5c83e-8cd8-4828-9cdf-03eb5938fc10n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <68666d0e-ffb1-4902-b765-a43b86cc6bf7n@googlegroups.com>
Subject: Re: Question about StudyInstanceUID usage & MWL
From: markussabin@gmail.com (Markus Sabin)
Injection-Date: Tue, 11 May 2021 12:20:36 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Markus Sabin - Tue, 11 May 2021 12:20 UTC

As for the Study Description, there is unfortunately no standard-way (that I am aware of) to safely transfer this to the modality. The worklist has a Requested Procedure Description; Study Description is not an attribute that is part of a worklist response according to PS3.4, Table K.6-1. DICOM does not put any requirements on how the Study Description is generated on the modality, and IHE recommends (i.e. no hard requirement) to set it to a value equal to Performed Procedure Step Description (0040,0254). This attribute is "equipment generated" however, i.e. assigned on the modality.

You may want to look into the DICOM Conformance Statement of the modality in question to see where the attribute's value is obtained from. But whatever solution you will find, it is far from being guaranteed to work with other equipment as well.

BTW: The code sequence item for the Scheduled Protocol Code Sequence in your response does not look healthy ;-)

Re: Question about StudyInstanceUID usage & MWL

<311b5db6-5273-4afb-ad35-698cca046921n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=120&group=comp.protocols.dicom#120

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:a0c:fec8:: with SMTP id z8mr32882806qvs.58.1620785536002;
Tue, 11 May 2021 19:12:16 -0700 (PDT)
X-Received: by 2002:ac8:109a:: with SMTP id a26mr30323956qtj.156.1620785535840;
Tue, 11 May 2021 19:12:15 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.protocols.dicom
Date: Tue, 11 May 2021 19:12:15 -0700 (PDT)
In-Reply-To: <68666d0e-ffb1-4902-b765-a43b86cc6bf7n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=66.253.168.224; posting-account=YFi_UAoAAACTPXmZqt1QuJHF4fLwCPfF
NNTP-Posting-Host: 66.253.168.224
References: <bbe7fa02-3be6-4f7a-95c7-cad45c1f575cn@googlegroups.com>
<a904bbce-b345-4449-a11a-b041c53ac8e4n@googlegroups.com> <9be5c83e-8cd8-4828-9cdf-03eb5938fc10n@googlegroups.com>
<68666d0e-ffb1-4902-b765-a43b86cc6bf7n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <311b5db6-5273-4afb-ad35-698cca046921n@googlegroups.com>
Subject: Re: Question about StudyInstanceUID usage & MWL
From: stephen.d.scotti@gmail.com (Stephen Douglas Scotti)
Injection-Date: Wed, 12 May 2021 02:12:15 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Stephen Douglas Scot - Wed, 12 May 2021 02:12 UTC

Thank you again.

I actually have: (0032,1060) LO [Daily QC] # 8, 1 RequestedProcedureDescription in the MWL file, and that tag is also in the C-FIND request, so presumably the modality is getting that in the response.

I was playing around with some Lua scripts to: 1. Modify the C-FIND query so that tags not requested by the modality might be returned also (bad idea I think) and 2. Modifying instances after they are stored to update / add the missing tags. A Lua script could do that, but it is resource intensive I think, and it is possible to do that sort of thing at the Study Level after the exam is marked as complete by the technologist, or even programmatically after the study becomes "Stable". The latter would require a little checking to verify that a MWL file still exist and that the ingest is from an AET that you want to modify tags for, but that would work actually also as long as what is in the MWL file matches what was actually done. Still, to get the technologist, that would have to sent by the scanner itself or by the RIS after manually marking the study as complete.

I do have some sample tags from an instance that was generated by the scanner after using an MWL file, some tags deleted or somewhat anonymized even though it is a test study. Note the note to the technologist, which did not happen: (0010,21b0) LT [Type the Title for Study into the Console (Study Description)] # 62, 1 AdditionalPatientHistory. The tags of primary interest are probably the ones below. I am pretty sure that when / if the technologist manually enters a StudyDescription that is shows up in a Performed Procedure Step Description (0040,0254) tag, which is missing below, although the preceding tags are there. You are correct about ScheduledProtocolCodeSequence. That is sort of a placeholder. I may not need that actually.

I have not looked too deeply into using MPPS because that requires some development as far as use with Orthanc is concerned.

Orthanc does however have a method to add / update tags at the study level. That might actually be the easiest and most modality independent since there is also apparently a regulatory requirement to have the Technicians / Operator Tag populated as well ?? (0070,0084), although various viewers appear to be a little inconsistent about what annotations are shown on images. I would want the AccessionNumber and Operator to show up on the annotations, or at least be configurable.

One thing that would be easy to try is to have the technologist mark the exam as "Complete" in the RIS once QA is done and the study approved. Already do that. Kind of hard these days to get a human to push a button consistently sometimes since it seems like the desire is to have everything work by AI. The RIS can then: 1. Delete the MWL File (does that). 2. Capture any additional Tags the need to be added to the Study at the time of completion (i.e. The Actual Study Performed & the Technologist who performed the Study, or the signed in user in our case). 3. Via a REST API, Orthanc can then update the tags and indexing at the Study Level and everyone might be happy. That is probably sort of what the MPPS does, but I'd have to build that. This method would be easy to test, and in a low volume environment not too resource intensive.

BTW, kind or hard to do some of the MWL testing in a development environment without a scanner. I've tried using FINDSCU to simulate a worklist C-FIND request and that only partially works, and I've started to look around for something to emulate MPPS. It is a little bit tricky with a live scanner, even if it isn't fully operational yet because the tech has

(0040,0244) DA [20210510] # 8, 1 PerformedProcedureStepStartDate
(0040,0245) TM [104641] # 6, 1 PerformedProcedureStepStartTime
(0040,0253) SH [671276801] # 10, 1 PerformedProcedureStepID

(0040,0275) SQ (Sequence with explicit length #=1) # 138, 1 RequestAttributesSequence
(fffe,e000) na (Item with explicit length #=5) # 130, 1 Item
(0032,1060) LO [Daily QC] # 8, 1 RequestedProcedureDescription
(0040,0007) LO [Daily QC] # 8, 1 ScheduledProcedureStepDescription
(0040,0008) SQ (Sequence with explicit length #=1) # 62, 1 ScheduledProtocolCodeSequence
(fffe,e000) na (Item with explicit length #=3) # 54, 1 Item
(0008,0100) SH [0040,0008] # 10, 1 CodeValue
(0008,0102) SH [0040,0008] # 10, 1 CodingSchemeDesignator
(0008,0104) LO [0040,0008] # 10, 1 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,0009) SH [0041] # 4, 1 ScheduledProcedureStepID
(0040,1001) SH [0041] # 4, 1 RequestedProcedureID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem

________________________________________________

(0020,0010) SH [0041] # 4, 1 StudyID

# Dicom-Meta-Information-Header
# Used TransferSyntax: Little Endian Explicit
(0002,0000) UL 180 # 4, 1 FileMetaInformationGroupLength
(0002,0001) OB 00\01 # 2, 1 FileMetaInformationVersion
(0002,0002) UI =MRImageStorage # 26, 1 MediaStorageSOPClassUID
(0002,0003) UI [1.3.76.2.1.1.4.1.3.5388.671276871.2] # 36, 1 MediaStorageSOPInstanceUID
(0002,0010) UI =LittleEndianExplicit # 20, 1 TransferSyntaxUID
(0002,0012) UI [1.2.276.0.7230010.3.0.3.6.4] # 28, 1 ImplementationClassUID
(0002,0013) SH [OFFIS_DCMTK_364] # 16, 1 ImplementationVersionName

# Dicom-Data-Set
# Used TransferSyntax: Little Endian Explicit
(0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet
(0008,0008) CS [ORIGINAL\PRIMARY\T1 MAP] # 24, 3 ImageType
(0008,0016) UI =MRImageStorage # 26, 1 SOPClassUID
(0008,0018) UI [1.3.76.2.1.1.4.1.3.5388.671276871.2] # 36, 1 SOPInstanceUID
(0008,0020) DA [20210510] # 8, 1 StudyDate
(0008,0021) DA [20210510] # 8, 1 SeriesDate
(0008,0022) DA [20210510] # 8, 1 AcquisitionDate
(0008,0023) DA [20210510] # 8, 1 ContentDate
(0008,0030) TM [104641] # 6, 1 StudyTime
(0008,0031) TM [104750] # 6, 1 SeriesTime
(0008,0032) TM [104750] # 6, 1 AcquisitionTime
(0008,0033) TM [104751] # 6, 1 ContentTime
(0008,0050) SH [DEVACC00000053] # 14, 1 AccessionNumber
(0008,0060) CS [MR] # 2, 1 Modality
(0008,0070) LO [ESAOTE] # 6, 1 Manufacturer
(0008,0080) LO [InstitutionName] # 20, 1 InstitutionName
(0008,0090) PN [ReferringPhysicianName] # 24, 1 ReferringPhysicianName
(0008,1010) SH [G-scan Brio MRI] # 16, 1 StationName
(0008,103e) LO [0? - Scout] # 10, 1 SeriesDescription
(0008,1040) LO [InstitutionalDepartmentName] # 26, 1 InstitutionalDepartmentName
(0008,1090) LO [G-scan Brio] # 12, 1 ManufacturerModelName
(0008,1111) SQ (Sequence with explicit length #=1) # 82, 1 ReferencedPerformedProcedureStepSequence
(fffe,e000) na (Item with explicit length #=2) # 74, 1 Item
(0008,1150) UI =ModalityPerformedProcedureStepSOPClass # 24, 1 ReferencedSOPClassUID
(0008,1155) UI [1.3.76.2.1.1.4.1.5.5388.671276795] # 34, 1 ReferencedSOPInstanceUID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0010,0010) PN [PatientName] # 16, 1 PatientName
(0010,0020) LO [PatientID] # 14, 1 PatientID
(0010,0030) DA [PatientBirthDate] # 8, 1 PatientBirthDate
(0010,0040) CS [M] # 2, 1 PatientSex
(0010,1020) DS [0] # 2, 1 PatientSize
(0010,21b0) LT [Type the Title for Study into the Console (Study Description)] # 62, 1 AdditionalPatientHistory
(0011,0010) LO [V1] # 2, 1 PrivateCreator
(0011,1001) OB 39\33\fe\a9\73\7d\d4\11\8d\b4\00\60\97\e3\f6\5e\90\ab\12\fe\30\00... # 8058, 1 Unknown Tag & Data
(0011,1002) DS [0.021004001] # 12, 1 Unknown Tag & Data
(0011,1003) DS [239\3583] # 8, 2 Unknown Tag & Data
(0011,1004) DS [315.06732] # 10, 1 Unknown Tag & Data
(0011,1008) DS [13020.833] # 10, 1 Unknown Tag & Data
(0018,0015) CS [OTHER] # 6, 1 BodyPartExamined
(0018,0020) CS [SE] # 2, 1 ScanningSequence
(0018,0021) CS [NONE] # 4, 1 SequenceVariant
(0018,0022) CS [PFP\PFF] # 8, 2 ScanOptions
(0018,0023) CS [2D] # 2, 1 MRAcquisitionType
(0018,0024) SH [SCOUT] # 6, 1 SequenceName
(0018,0050) DS [7] # 2, 1 SliceThickness
(0018,0080) DS [100] # 4, 1 RepetitionTime
(0018,0081) DS [16] # 2, 1 EchoTime
(0018,0083) DS [1] # 2, 1 NumberOfAverages
(0018,0084) DS [10.359198] # 10, 1 ImagingFrequency
(0018,0085) SH [1H] # 2, 1 ImagedNucleus
(0018,0086) IS [1] # 2, 1 EchoNumbers
(0018,0087) DS [0.25] # 4, 1 MagneticFieldStrength
(0018,0091) IS [1] # 2, 1 EchoTrainLength
(0018,0095) DS [81.380211] # 10, 1 PixelBandwidth
(0018,1000) LO [5388] # 4, 1 DeviceSerialNumber
(0018,1020) LO [Release 7.01.01 F070102 E-MRI Brio] # 34, 1 SoftwareVersions
(0018,1250) SH [1] # 2, 1 ReceiveCoilName
(0018,1310) US 0\160\128\0 # 8, 4 AcquisitionMatrix
(0018,1312) CS [ROW] # 4, 1 InPlanePhaseEncodingDirection
(0018,1314) DS [90] # 2, 1 FlipAngle
(0018,5100) CS [FFS] # 4, 1 PatientPosition
(0020,000d) UI [1.3.6.1.4.1.56016.0.1.1.131.1620648192] # 38, 1 StudyInstanceUID
(0020,000e) UI [1.3.76.2.1.1.4.1.3.5388.671276871] # 34, 1 SeriesInstanceUID
(0020,0010) SH [0041] # 4, 1 StudyID
(0020,0011) IS [1] # 2, 1 SeriesNumber
(0020,0013) IS [3] # 2, 1 InstanceNumber
(0020,0032) DS [-90\0\90] # 8, 3 ImagePositionPatient
(0020,0037) DS [1\0\0\0\0\-1] # 12, 6 ImageOrientationPatient
(0020,0052) UI [1.3.76.2.1.1.4.1.4.5388.671276870] # 34, 1 FrameOfReferenceUID
(0020,1002) IS [3] # 2, 1 ImagesInAcquisition
(0020,1040) LO (no value available) # 0, 0 PositionReferenceIndicator
(0020,1041) DS [0] # 2, 1 SliceLocation
(0028,0002) US 1 # 2, 1 SamplesPerPixel
(0028,0004) CS [MONOCHROME2] # 12, 1 PhotometricInterpretation
(0028,0010) US 256 # 2, 1 Rows
(0028,0011) US 256 # 2, 1 Columns
(0028,0030) DS [0.703125\0.703125] # 18, 2 PixelSpacing
(0028,0100) US 16 # 2, 1 BitsAllocated
(0028,0101) US 12 # 2, 1 BitsStored
(0028,0102) US 11 # 2, 1 HighBit
(0028,0103) US 0 # 2, 1 PixelRepresentation
(0028,1050) DS [1255] # 4, 1 WindowCenter
(0028,1051) DS [2484] # 4, 1 WindowWidth
(0028,2110) CS [00] # 2, 1 LossyImageCompression
(0040,0244) DA [20210510] # 8, 1 PerformedProcedureStepStartDate
(0040,0245) TM [104641] # 6, 1 PerformedProcedureStepStartTime
(0040,0253) SH [671276801] # 10, 1 PerformedProcedureStepID
(0040,0275) SQ (Sequence with explicit length #=1) # 138, 1 RequestAttributesSequence
(fffe,e000) na (Item with explicit length #=5) # 130, 1 Item
(0032,1060) LO [Daily QC] # 8, 1 RequestedProcedureDescription
(0040,0007) LO [Daily QC] # 8, 1 ScheduledProcedureStepDescription
(0040,0008) SQ (Sequence with explicit length #=1) # 62, 1 ScheduledProtocolCodeSequence
(fffe,e000) na (Item with explicit length #=3) # 54, 1 Item
(0008,0100) SH [0040,0008] # 10, 1 CodeValue
(0008,0102) SH [0040,0008] # 10, 1 CodingSchemeDesignator
(0008,0104) LO [0040,0008] # 10, 1 CodeMeaning
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(0040,0009) SH [0041] # 4, 1 ScheduledProcedureStepID
(0040,1001) SH [0041] # 4, 1 RequestedProcedureID
(fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem
(fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem
(7fe0,0010) OW 0000\0000\0000\0000\0001\0001\0001\0001\0001\0001\0001\0001\0001... # 131072, 1 PixelData


Click here to read the complete article
Re: Question about StudyInstanceUID usage & MWL

<930e1c1c-ce2d-42f8-9b01-9d028a22107an@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=121&group=comp.protocols.dicom#121

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:a37:6554:: with SMTP id z81mr40525673qkb.472.1620929764339;
Thu, 13 May 2021 11:16:04 -0700 (PDT)
X-Received: by 2002:ae9:e919:: with SMTP id x25mr40376745qkf.232.1620929764114;
Thu, 13 May 2021 11:16:04 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.protocols.dicom
Date: Thu, 13 May 2021 11:16:03 -0700 (PDT)
In-Reply-To: <311b5db6-5273-4afb-ad35-698cca046921n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=108.77.6.103; posting-account=yspyRgoAAAB7Pv9Wj6J7BittTBKT0zit
NNTP-Posting-Host: 108.77.6.103
References: <bbe7fa02-3be6-4f7a-95c7-cad45c1f575cn@googlegroups.com>
<a904bbce-b345-4449-a11a-b041c53ac8e4n@googlegroups.com> <9be5c83e-8cd8-4828-9cdf-03eb5938fc10n@googlegroups.com>
<68666d0e-ffb1-4902-b765-a43b86cc6bf7n@googlegroups.com> <311b5db6-5273-4afb-ad35-698cca046921n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <930e1c1c-ce2d-42f8-9b01-9d028a22107an@googlegroups.com>
Subject: Re: Question about StudyInstanceUID usage & MWL
From: otechimg@gmail.com (Herman Oosterwijk)
Injection-Date: Thu, 13 May 2021 18:16:04 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Herman Oosterwijk - Thu, 13 May 2021 18:16 UTC

> BTW, kind or hard to do some of the MWL testing in a development environment without a scanner. I've tried using FINDSCU to simulate a worklist C-FIND request and that only partially works, and I've started to look around for something to emulate MPPS. It is a little bit tricky with a live scanner, even if it isn't fully operational yet because the tech has

You can use DVTK as a modality worklist SCU simulator. Conquest also provides a simple MWL SCU. I do have a modality simulator but that is not free, you can contact me through linked in and I can get you more info.

Herman O.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor