Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Without life, Biology itself would be impossible.


devel / comp.protocols.dicom / Re: Where to store Orthodontic Treatment Progress

SubjectAuthor
* Where to store Orthodontic Treatment ProgressToni Magni
`* Re: Where to store Orthodontic Treatment ProgressDavid Clunie
 `* Re: Where to store Orthodontic Treatment ProgressToni Magni
  `- Re: Where to store Orthodontic Treatment ProgressToni Magni

1
Where to store Orthodontic Treatment Progress

<91f9ae13-b700-4dd3-8a16-8ed94d904789n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:ad4:5c8c:0:b0:477:d19:1a44 with SMTP id o12-20020ad45c8c000000b004770d191a44mr18540142qvh.15.1660672076033;
Tue, 16 Aug 2022 10:47:56 -0700 (PDT)
X-Received: by 2002:a05:6808:1642:b0:331:567c:54e1 with SMTP id
az2-20020a056808164200b00331567c54e1mr8674790oib.232.1660672075759; Tue, 16
Aug 2022 10:47:55 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border-2.nntp.ord.giganews.com!border-1.nntp.ord.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: Tue, 16 Aug 2022 10:47:55 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=93.148.224.92; posting-account=IYNuFgoAAAC6IHIB5bZOJYBIwhUsLVsR
NNTP-Posting-Host: 93.148.224.92
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <91f9ae13-b700-4dd3-8a16-8ed94d904789n@googlegroups.com>
Subject: Where to store Orthodontic Treatment Progress
From: email@antoniomagni.com (Toni Magni)
Injection-Date: Tue, 16 Aug 2022 17:47:56 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 83
 by: Toni Magni - Tue, 16 Aug 2022 17:47 UTC

Hello

the orthodontic community at the American Dental Association Standards Committee for Dental Informatics is about to publish an ADA/ANSI standard 1107 which will cover how to store orthodontic photographs using DICOM VL (visible light) objects. We are about 85% done, but are still trying to figure out how to best make use of DICOM to encode information about treatment progress.

During orthodontic treatment, the patient comes in during a period of 0.5-3 years, about every few months. Most orthodontists collect photographs at most of these visits, or, at the very least, for initial, progress and final.. But a more comprehensive set of time points looks more like the following:

Pre-treatment <n>: Records taken before treatment was begun.
Initial: Records taken the moment treatment was begun.
Progress <n>: Records taken during treatment.
Final: Records taken the moment treatment was completed.
Post-treatment <n>: Records taken after treatment was completed.

Where <n> is a sequence number (for example, there could be various progress timepoints: progress 1, progress 2, etc).

The orthodontic domain experts have come to the conclusion that having progress information linked to the image is important, because it makes a significant difference for them and for research, if a patient has received treatment or not. Also noteable is that the provider might take two different set of progresses on the same day. For example, when the patient finishes treatment, they take photographs with the appliance, and another set of photographs after removal of the appliances.

It is worthwhile noting that we are in the process of getting SNOMED-CT codes for the above mentioned progresses (if they don't exist already), and hence it could be ideal to be able to find a place that is able to accept a Code Sequence.

At this point, we considered a couple of places where this information could be stored, and would like your feedback as to which of these (or others) would be best indicated.

Study Description (0008,1030)

This is an optional DICOM tag, which can contain a Long String (64 character max), part of the General Study module. Because each orthodontic visit would fall under a DICOM Study, this location could be appropriate.

Pros

Study Description is often visible from many PACS search results. The provider can therefore quickly identify which progress the entry refers to. This is a weak pro, because nothing prevents orthodontic specific software to show this information, were it stored elsewhere.

Cons

Text limited to 64 characters. Taking up ca 16 characters for progress, would leave only 48 characters for other study descriptions.

Cannot be coded. Study Description does not allow code sets and could contain other data, as implementation might vary.

Reason For Performed Procedure Code Sequence Attribute (0040,1012)

This is an optional DICOM tag, which can contain a Long String (64 character max), part of the General Study module. Because each orthodontic visit would fall under a DICOM Study, this location could be appropriate.

Pros

This is a code sequence, hence SNOMED CT codes could be used here.

This attribute allow for multiple instances codes. This means that using one to indicate progress, would not limit the provider for adding others.

Cons

Existing PACS software does not look at this tag, and would not show it by default. This is a weak con, because nothing prevents orthodontic specific software to show these fields. Actually, this could be an incentive for vendors to develop more orthodontic specific DICOM software, and for orthodontic providers to support and request them.

Any feedback is greatly appreciated.

Re: Where to store Orthodontic Treatment Progress

<54826427-fcb4-4543-99a1-ec139264f66en@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:ac8:58ca:0:b0:344:5cbe:4c9a with SMTP id u10-20020ac858ca000000b003445cbe4c9amr9712772qta.36.1660673573716;
Tue, 16 Aug 2022 11:12:53 -0700 (PDT)
X-Received: by 2002:a05:6808:13cc:b0:343:6da1:42f3 with SMTP id
d12-20020a05680813cc00b003436da142f3mr8439537oiw.262.1660673571032; Tue, 16
Aug 2022 11:12:51 -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, 16 Aug 2022 11:12:50 -0700 (PDT)
In-Reply-To: <91f9ae13-b700-4dd3-8a16-8ed94d904789n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=50.32.217.181; posting-account=rKkGZwkAAADOuxQ23uuHnmKt95j-5iL6
NNTP-Posting-Host: 50.32.217.181
References: <91f9ae13-b700-4dd3-8a16-8ed94d904789n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <54826427-fcb4-4543-99a1-ec139264f66en@googlegroups.com>
Subject: Re: Where to store Orthodontic Treatment Progress
From: dclunie@dclunie.com (David Clunie)
Injection-Date: Tue, 16 Aug 2022 18:12:53 +0000
Content-Type: text/plain; charset="UTF-8"
 by: David Clunie - Tue, 16 Aug 2022 18:12 UTC

You might consider Acquisition Context Sequence

(126072, DCM, "Time Point Type") = code from CID 6146 Time Point Type

even there is no standard Acquisition Context template for this use case. Other entries from the SR template for Time Point Context TID 1502 may be of use too (e.g., the numeric entry in Time Point Order

See:

https://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.6.14.html
https://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_6146.html
https://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_A.html#sect_TID_1502

I wouldn't use Procedure Code Sequence Attributes because the value is not a procedure code.

Few if any PACS or viewers are going to pay any attention to codes without special configuration or customization, so replicating this information as (part of) Study Description may be expedient.

David

PS. Outside the context of research, Clinical Trial Time Point ID (0012,0050) is probably not appropriate.

Re: Where to store Orthodontic Treatment Progress

<d480c68a-e0ac-4255-8b54-fed89fcce45an@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:ac8:7d0d:0:b0:343:7a58:91d8 with SMTP id g13-20020ac87d0d000000b003437a5891d8mr6545937qtb.537.1660919687454;
Fri, 19 Aug 2022 07:34:47 -0700 (PDT)
X-Received: by 2002:a05:6870:6321:b0:11c:6b0c:13a7 with SMTP id
s33-20020a056870632100b0011c6b0c13a7mr5429251oao.262.1660919687141; Fri, 19
Aug 2022 07:34:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.protocols.dicom
Date: Fri, 19 Aug 2022 07:34:46 -0700 (PDT)
In-Reply-To: <54826427-fcb4-4543-99a1-ec139264f66en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=93.148.224.92; posting-account=IYNuFgoAAAC6IHIB5bZOJYBIwhUsLVsR
NNTP-Posting-Host: 93.148.224.92
References: <91f9ae13-b700-4dd3-8a16-8ed94d904789n@googlegroups.com> <54826427-fcb4-4543-99a1-ec139264f66en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d480c68a-e0ac-4255-8b54-fed89fcce45an@googlegroups.com>
Subject: Re: Where to store Orthodontic Treatment Progress
From: email@antoniomagni.com (Toni Magni)
Injection-Date: Fri, 19 Aug 2022 14:34:47 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3414
 by: Toni Magni - Fri, 19 Aug 2022 14:34 UTC

Thank you. Please verify if i have properly interpreted your email.

So if i understand correctly you are suggesting to exclude
* Clinical Trial Time Point ID (0012,0050), because we need this to be used also outside of clinical trials.
* Reason For Performed Procedure Code Sequence Attribute (0040,1012) because the value is not a procedure code.

Instead you suggest storing this information as follows:

1.
For Pretreatment and Postreatment, the VL object would include (along with all other tags):

> Acquisition Context Sequence Attribute (0040,0555)
>> Concept Name Code Sequence Attribute (0040,A043): (126072, DCM, "Time Point Type")
>> Concept Code Sequence Attribute (0040,A168): One of CID6146 values. Pretreatment and posttreatment.
> Acquisition Context Sequence Attribute (0040,0555)
>> Concept Name Code Sequence Attribute (0040,A043): (126073, DCM, "Time Point Order") = code
>> Numeric Value Attribute (0040,A30A): Integer number of Progress
> Study Description (0008,1030): "Pretreatment <n>" or "Posttreatment <n>"

2.
For Initial, Final, Pretreatment and Postreatment, the VL object would include (along with all other tags):

> Acquisition Context Sequence Attribute (0040,0555)
>> Concept Name Code Sequence Attribute (0040,A043): (126072, DCM, "Time Point Type")
>> Concept Code Sequence Attribute (0040,A168): Initial|Final. We would need to request addition in a correction package to extend CID6146 to include Initial and Final
> Study Description (0008,1030): "Initial", or "Final"

3.
For Progresses the VL objects would include (along with other necessary tags):

> Acquisition Context Sequence Attribute (0040,0555)
>> Concept Name Code Sequence Attribute (0040,A043): (126072, DCM, "Time Point Type")
>> Concept Code Sequence Attribute (0040,A168): Progress. We would need to request addition in a correction package to extend CID6146 to include Initial and Final
> Acquisition Context Sequence Attribute (0040,0555)
>> Concept Name Code Sequence Attribute (0040,A043): (126073, DCM, "Time Point Order") = code
>> Numeric Value Attribute (0040,A30A): Integer number of Progress
> Study Description (0008,1030): "Progress <n>"

Re: Where to store Orthodontic Treatment Progress

<ef7fb798-87c9-4370-8d00-611caae36885n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.protocols.dicom
X-Received: by 2002:a05:622a:105:b0:3e4:e17f:a544 with SMTP id u5-20020a05622a010500b003e4e17fa544mr10792502qtw.12.1684099623898;
Sun, 14 May 2023 14:27:03 -0700 (PDT)
X-Received: by 2002:ad4:4bac:0:b0:623:63b8:d49e with SMTP id
i12-20020ad44bac000000b0062363b8d49emr289410qvw.2.1684099623669; Sun, 14 May
2023 14:27:03 -0700 (PDT)
Path: i2pn2.org!i2pn.org!news.neodome.net!feeder1.feed.usenet.farm!feed.usenet.farm!peer02.ams4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.protocols.dicom
Date: Sun, 14 May 2023 14:27:03 -0700 (PDT)
In-Reply-To: <d480c68a-e0ac-4255-8b54-fed89fcce45an@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=93.41.158.192; posting-account=IYNuFgoAAAC6IHIB5bZOJYBIwhUsLVsR
NNTP-Posting-Host: 93.41.158.192
References: <91f9ae13-b700-4dd3-8a16-8ed94d904789n@googlegroups.com>
<54826427-fcb4-4543-99a1-ec139264f66en@googlegroups.com> <d480c68a-e0ac-4255-8b54-fed89fcce45an@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ef7fb798-87c9-4370-8d00-611caae36885n@googlegroups.com>
Subject: Re: Where to store Orthodontic Treatment Progress
From: email@antoniomagni.com (Toni Magni)
Injection-Date: Sun, 14 May 2023 21:27:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 7768
 by: Toni Magni - Sun, 14 May 2023 21:27 UTC

David,

after having met with the Orthodontic domain experts, they have agreed that using the Longitudinal Temporal Event Type (Baseline, Enrollment)/Longitudinal Temporal Offset From Event (in days) pair would be a more appropriate solution, as it would relieve the necessity of using serial time points (which could be problematic to keep track of, in case different software products are used, and provide less information). This would require us to add an extra Posttreament (already present in CID-6146) to CID-280.

The problem is I'm not sure i understood TID-1502 for the units of "Longitudinal Temporal Offset from Event" correctly: in the TID it is stated: "UNITS = DT (d, UCUM, "days")". But the DT VR does not allow for a single days value. What i did, was use a combination of MeasurementUnitsCodeSequence and NumericValue. See how the entire AcquisitionContextSequence looks like for a 234 days after end of treatment (includes other tags as well) below.

However, i get the following warnings from dciodvfy:

VLPhotographicImage
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x0100) SH Code Value
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x0102) SH Coding Scheme Designator
Warning - Attribute is not present in standard DICOM IOD - (0x0008,0x0104) LO Code Meaning
Warning - Attribute is not present in standard DICOM IOD - (0x0054,0x0220) SQ View Code Sequence
Warning - Dicom dataset contains attributes not present in standard DICOM IOD - this is a Standard Extended SOP Class

Is this correct?

(0040,0555) SQ AcquisitionContextSequence = <sequence of 4 items>
#0
(0040,A040) CS ValueType = CODE
(0040,A043) SQ ConceptNameCodeSequence = <sequence of 1 item>
#0
(0008,0100) SH CodeValue = 130324
(0008,0102) SH CodingSchemeDesignator = DCM
(0008,0104) LO CodeMeaning = Functional condition present during acquisition
(0040,A168) SQ ConceptCodeSequence = <sequence of 1 item>
#0
(0008,0100) SH CodeValue = 110320000
(0008,0102) SH CodingSchemeDesignator = SCT
(0008,0104) LO CodeMeaning = Centric occlusion (observable entity) , #1
(0040,A040) CS ValueType = CODE
(0040,A043) SQ ConceptNameCodeSequence = <sequence of 1 item>
#0
(0008,0100) SH CodeValue = 130324
(0008,0102) SH CodingSchemeDesignator = DCM
(0008,0104) LO CodeMeaning = Functional condition present during acquisition
(0040,A168) SQ ConceptCodeSequence = <sequence of 1 item>
#0
(0008,0100) SH CodeValue = 789314008
(0008,0102) SH CodingSchemeDesignator = SCT
(0008,0104) LO CodeMeaning = Photographic image of face with lips in relaxed position (record, #2
(0040,A040) CS ValueType = CODE
(0040,A043) SQ ConceptNameCodeSequence = <sequence of 1 item>
#0
(0008,0100) SH CodeValue = 128741
(0008,0102) SH CodingSchemeDesignator = DCM
(0008,0104) LO CodeMeaning = Longitudinal Temporal Event Type
(0040,A168) SQ ConceptCodeSequence = <sequence of 1 item>
#0
(0008,0100) SH CodeValue = 126074
(0008,0102) SH CodingSchemeDesignator = DCM
(0008,0104) LO CodeMeaning = Posttreatment , #3
(0040,08EA) SQ MeasurementUnitsCodeSequence = <sequence of 1 item>
#0
(0008,0100) SH CodeValue = d
(0008,0102) SH CodingSchemeDesignator = UCUM
(0008,0104) LO CodeMeaning = day
(0040,A040) CS ValueType = NUMERIC
(0040,A043) SQ ConceptNameCodeSequence = <sequence of 1 item>
#0
(0008,0100) SH CodeValue = 128740
(0008,0102) SH CodingSchemeDesignator = DCM
(0008,0104) LO CodeMeaning = Longitudinal Temporal Offset from Event
(0040,A30A) DS NumericValue = 234.0

On Friday, 19 August 2022 at 16:34:48 UTC+2, Toni Magni wrote:
> Thank you. Please verify if i have properly interpreted your email.
>
> So if i understand correctly you are suggesting to exclude
> * Clinical Trial Time Point ID (0012,0050), because we need this to be used also outside of clinical trials.
> * Reason For Performed Procedure Code Sequence Attribute (0040,1012) because the value is not a procedure code.
>
> Instead you suggest storing this information as follows:
>
> 1.
> For Pretreatment and Postreatment, the VL object would include (along with all other tags):
>
> > Acquisition Context Sequence Attribute (0040,0555)
> >> Concept Name Code Sequence Attribute (0040,A043): (126072, DCM, "Time Point Type")
> >> Concept Code Sequence Attribute (0040,A168): One of CID6146 values. Pretreatment and posttreatment.
> > Acquisition Context Sequence Attribute (0040,0555)
> >> Concept Name Code Sequence Attribute (0040,A043): (126073, DCM, "Time Point Order") = code
> >> Numeric Value Attribute (0040,A30A): Integer number of Progress
> > Study Description (0008,1030): "Pretreatment <n>" or "Posttreatment <n>"
>
> 2.
> For Initial, Final, Pretreatment and Postreatment, the VL object would include (along with all other tags):
>
> > Acquisition Context Sequence Attribute (0040,0555)
> >> Concept Name Code Sequence Attribute (0040,A043): (126072, DCM, "Time Point Type")
> >> Concept Code Sequence Attribute (0040,A168): Initial|Final. We would need to request addition in a correction package to extend CID6146 to include Initial and Final
> > Study Description (0008,1030): "Initial", or "Final"
>
> 3.
> For Progresses the VL objects would include (along with other necessary tags):
>
> > Acquisition Context Sequence Attribute (0040,0555)
> >> Concept Name Code Sequence Attribute (0040,A043): (126072, DCM, "Time Point Type")
> >> Concept Code Sequence Attribute (0040,A168): Progress. We would need to request addition in a correction package to extend CID6146 to include Initial and Final
> > Acquisition Context Sequence Attribute (0040,0555)
> >> Concept Name Code Sequence Attribute (0040,A043): (126073, DCM, "Time Point Order") = code
> >> Numeric Value Attribute (0040,A30A): Integer number of Progress
> > Study Description (0008,1030): "Progress <n>"

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor