Create checklist form for Pinnacle

417 views
Skip to first unread message

COWLEY, Lorraine (ROYAL CORNWALL HOSPITALS NHS TRUST)

unread,
Sep 22, 2020, 11:40:59 AM9/22/20
to pinnacl...@googlegroups.com

Dear All,

 

I am new to Pinnacle scripting and I am looking to try and automate some of the routine checking we do on every plan.

 

I would like to be able to run a script and get an output something like this to the screen (not to print) ;

 

 

… but with a longer list of things to check.

 

I can find some things by recording scripts and looking at the parameters (not all – like the number of images in the primary dataset), but have no idea how to show it all in a sort of form on the screen.

 

The aim is to reduce the time clicking into different sections to check data and just have some of the standard things that are checked in a list to scan through and if I’m really adventurous to try and do a pass/fail for those for which that applies.

 

I would appreciate any help, with the simplest explanation please – this is going to be a steep learning curve.

 

Many thanks in advance,

 

Regards,

 

Lorraine

 

______________________
Lorraine Cowley

Clinical Scientist (Radiotherapy).

Medical Physics Dept.
Royal Cornwall Hospital Treliske,
Gloweth,
Truro,
TR1 3LJ
Cornwall.


Tel: +44 (01872) 258320

 

Normal working days: Tuesday, Wednesday and Thursday

 



********************************************************************************************************************

This message may contain confidential information. If you are not the intended recipient please inform the
sender that you have received the message in error before deleting it.
Please do not disclose, copy or distribute information in this e-mail or take any action in relation to its contents. To do so is strictly prohibited and may be unlawful. Thank you for your co-operation.

NHSmail is the secure email and directory service available for all NHS staff in England and Scotland. NHSmail is approved for exchanging patient data and other sensitive information with NHSmail and other accredited email services.

For more information and to find out how you can switch, https://portal.nhs.net/help/joiningnhsmail

James Ward

unread,
Sep 22, 2020, 11:49:38 AM9/22/20
to pinnacl...@googlegroups.com

Try

WindowList.ClassBrowser.Create = "";

Then select Update Class Information

However can be unstable so best to try on locked plan

Hope this is what you mean

--
--
You received this message because you are subscribed to the Google
Groups "pinnacle3-users" group.
To post to this group, send email to pinnacl...@googlegroups.com
To subscribe to this group, send email to
pinnacle3-us...@googlegroups.com
To unsubscribe from this group, send email to
pinnacle3-use...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/pinnacle3-users?hl=en

---
You received this message because you are subscribed to the Google Groups "pinnacle3-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pinnacle3-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pinnacle3-users/2eeeca893a9246bb87325e1fbb8e243e%40NH-HEPEX117.AD1.NHS.NET.


Attention:

PLEASE CONSIDER THE ENVIRONMENT BEFORE PRINTING THIS E-MAIL.

The information contained in this e-mail transmission is confidential and may be privileged. If you are not the intended recipient, any use, dissemination, distribution, publication, or copying of the information contained in this e-mail is strictly prohibited. If you have received this e-mail in error, please immediately notify us by email at it.he...@galwayclinic.com and delete the e-mail from your system. Whilst we take reasonable precautions to ensure that data generated by us has been swept for viruses, it is the responsibility of the recipient to ensure that the onward transmission, opening or use of this message and any attachments will not adversely affect its systems or data. Galway Clinic makes no guarantee and accepts no responsibility in this regard. Any views or opinions presented are solely those of the author and do not necessarily represent those of Galway Clinic. Messages to or from Galway Clinic may be monitored to ensure compliance with the company's policies and standards and to protect our business.

Galway Clinic Doughiska Limited. Registered office: Galway Clinic, Doughiska, Galway. Registration no. 369921

Andy Blackmore

unread,
Sep 23, 2020, 3:05:08 AM9/23/20
to pinnacle3-users
Hi Lorraine, 

Welcome! 

As James suggests, the class browser is where to start for figuring out where variables are. I mainly use recording to determine the variable names, but theres a few other methods too. You can use the .save() method on lots of things to dump their contents into a text file, bit hit and miss, but worth a go. Its described in the Perth PDF (http://tpswiki.wdfiles.com/local--files/pinnacle%3Aresources/Scripting_on_the_Pinnacle_TPS.pdf). Also, you can open up the transaction logs from your Pinnacle session, its like recording but starts as soon as you open the patient and records everything. 

For the window, I'd start looking on TPS Wiki (http://www.tpswiki.com/main:pinnacle), specifically the Widgets page (http://www.tpswiki.com/pinnacle:widgets

You'll have to look at the Bibliography articles (which point back to this group) to get the full idea of how to implement these menus (unfortunately the code becomes quite long and tedious). Once you get the idea they're alright, and what you want to do is certainly possible with a widget and a few if statements, although getting it to look pretty is a challenge!

Another alternative that springs to mind would be exporting the key data from Pinnacle into a text file, and then running a script in another language (e.g. Python) automatically from the console.

I've been working on a similar script to just do a basic technical check in the few seconds after you open the plan to alert to any big issues, so I can help with any of the following if its of interest. At the moment it just pops up a warning message at end with a list of problems found, or "Nothing Found" if everything is okay. 
  • Density overrides - inside/outside, volume names, density value etc. 
  • CT Table selected based on the DICOM header tags
  • Patient Orientation
  • Couch removal line position relative to some structure (we have an outer couch structure)
  • Localisation position vs a POI
  • Dose Grid, size and resolution
  • Number of external ROIs
  • Isocentre position in relation to CT voxels
  • All Beam Isocentres using the correct POI
  • Beams using the correct Dose Reference POI
  • Prescription Mode
  • Dose Calculation Algorithm
  • CT Extension

Best Wishes, 
Andy

Robert Ross

unread,
Nov 6, 2020, 9:08:18 AM11/6/20
to pinnacle3-users
Hi Lorraine

Hope all is well in Cornwall!

I realise your post is a few weeks old...  I have scripts that do a lot of automation of plan checking.  Pinnacle scripting goes through all the variables and collects data in strings which are written to a text file along with some HTML, then Pinnacle launches Firefox to open the HTML.  I don't use pass/fail criteria or traffic light colouring in our plan QA script, but I do it in our Scorecard reporting HTML (see test plan examples attached).  I like using HTML for the output because the Pinnacle Scripting takes too long to format, particularly if you make changes to the display order.  

Happy to discuss further.

Kind regards
Robert



On Tuesday, 22 September 2020 at 16:40:59 UTC+1 COWLEY, Lorraine (ROYAL CORNWALL HOSPITALS NHS TRUST) wrote:

Andrew Thorne

unread,
Feb 2, 2021, 11:59:14 AM2/2/21
to pinnacle3-users
Hi Lorraine,
also very late to the party - we have implemented something similar at Portsmouth which helps speed up planners:Screenshot 2021-02-02 at 16.56.10.png
Sadly I can't share the code, but more than happy to help you along the way with snippets (as these aren't considered medical devices :)

Kind regards,

Andrew

COWLEY, Lorraine (ROYAL CORNWALL HOSPITALS NHS TRUST)

unread,
Feb 3, 2021, 11:09:40 AM2/3/21
to pinnacl...@googlegroups.com

Dear Andrew,

 

Many thanks for sending this on, it looks really good.

 

I have managed to get some of the data I would like to see, but I like how you have made a separate window (?) for it and the colours for pass/fail.

 

I have managed to display it in a normal ‘Pinnacle type of’ window, but it seems to be width restricted causing text-wrapping problems, so knowing how to make a separate window would be useful. The colour change would also be good to know.

 

The object to look at to find the density override ROIs would be useful as I hadn’t got to that one (can you also display the over-ridden density value) ?

 

If you are happy to share a few pointers on these areas I would be really grateful – my contact details are below.

 

Many thanks again,

 

Regards,

 

Lorraine

______________________
Lorraine Cowley

Clinical Scientist (Radiotherapy).

Medical Physics Dept.
Royal Cornwall Hospital Treliske,
Gloweth,
Truro,
TR1 3LJ
Cornwall.


Tel: +44 (01872) 258320

 

 

Normal working days: Tuesday, Wednesday and Thursday

 

 

 

From: 'Andrew Thorne' via pinnacle3-users [mailto:pinnacl...@googlegroups.com]
Sent: 02 February 2021 16:59
To: pinnacle3-users
Subject: [p3rtp] Re: Create checklist form for Pinnacle

 

Hi Lorraine,

also very late to the party - we have implemented something similar at Portsmouth which helps speed up planners:Screenshot 2021-02-02 at 16.56.10.png
Sadly I can't share the code, but more than happy to help you along the way with snippets (as these aren't considered medical devices :)

 

Kind regards,

 

Andrew

On Friday, November 6, 2020 at 2:08:18 PM UTC Robert Ross wrote:

Hi Lorraine

 

Hope all is well in Cornwall!

 

I realise your post is a few weeks old...  I have scripts that do a lot of automation of plan checking.  Pinnacle scripting goes through all the variables and collects data in strings which are written to a text file along with some HTML, then Pinnacle launches Firefox to open the HTML.  I don't use pass/fail criteria or traffic light colouring in our plan QA script, but I do it in our Scorecard reporting HTML (see test plan examples attached).  I like using HTML for the output because the Pinnacle Scripting takes too long to format, particularly if you make changes to the display order.  

 

Happy to discuss further.

 

Kind regards

Robert

 

Error! Filename not specified.

Error! Filename not specified.

--

--
You received this message because you are subscribed to the Google
Groups "pinnacle3-users" group.
To post to this group, send email to pinnacl...@googlegroups.com
To subscribe to this group, send email to
pinnacle3-us...@googlegroups.com
To unsubscribe from this group, send email to
pinnacle3-use...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/pinnacle3-users?hl=en

---
You received this message because you are subscribed to the Google Groups "pinnacle3-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pinnacle3-use...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/pinnacle3-users/41e60141-f34c-4222-bca4-08b72aead355n%40googlegroups.com.

 

 

This message originated from outside of NHSmail. Please do not click links or open attachments unless you recognise the sender and know the content is safe.

 

Lukas Wi

unread,
May 19, 2021, 8:50:56 AM5/19/21
to pinnacle3-users
Hi Andrew,

I am working on something similar, i.e. a plan summary/overview window. Your example looks very elegant and I am slowly approaching a similar solution. 

One thing that I am struggling with is bold font, which I would like to include to further structure the content.

How did you implement bold font style? And along that line... is it possible to change font size? 

Kind regards,
Lukas Wissmann

Andrew Thorne

unread,
Aug 4, 2021, 9:53:36 AM8/4/21
to pinnacle3-users
Hi Lukas,
apologies for the delay in replying - when using the WidgetList label class, you can specify a property;

Font = "Bold";

which should allow you to format as you wish. I've not tried, but maybe italics could work too?
Kind regards,

Andrew

Lukas Wi

unread,
Sep 29, 2021, 10:16:53 AM9/29/21
to pinnacle3-users
Hi Andrew,

Thank you for your answer. Unfortunately, setting the property as proposed doesn't do the job. 

The corresponding code snippet looks as follows:

// Header Title
Store.At.PlanSummaryWindow.AddChild = "";
Store.At.PlanSummaryWindow.WidgetList.Last = {
    WidgetClass = "Label";
    ParentName = "TopLevel";
    Name = "Patient Plan Parameters";
    X = 10;
    Y = 3;
    Width = 180;
    Font = "Bold";
    UseQueryForLabel = 1;
    UseDefaultSize = 1;
    ResetDependenciesWhenRealized = 1;
};

Do you see any error in there? 

Best regards,
Lukas

James Ward

unread,
Sep 29, 2021, 12:42:57 PM9/29/21
to pinnacl...@googlegroups.com

   Hi all

Try

 

Replace  Name = "Patient Plan Parameters"; with

    Label = "Patient Plan Parameters";

    Font = "Bold";

 

From: pinnacl...@googlegroups.com [mailto:pinnacl...@googlegroups.com] On Behalf Of Lukas Wi
Sent: Wednesday 29 September 2021 15:17
To: pinnacle3-users <pinnacl...@googlegroups.com>
Subject: [p3rtp] Re: Create checklist form for Pinnacle

 

Hi Andrew,

On Tuesday, 22 September 2020 at 16:40:59 UTC+1 COWLEY, Lorraine (ROYAL CORNWALL HOSPITALS NHS TRUST) wrote:

--

--
You received this message because you are subscribed to the Google
Groups "pinnacle3-users" group.
To post to this group, send email to pinnacl...@googlegroups.com
To subscribe to this group, send email to
pinnacle3-us...@googlegroups.com
To unsubscribe from this group, send email to
pinnacle3-use...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/pinnacle3-users?hl=en

---
You received this message because you are subscribed to the Google Groups "pinnacle3-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pinnacle3-use...@googlegroups.com.

Lukas Wi

unread,
Oct 29, 2021, 11:01:17 AM10/29/21
to pinnacle3-users
Hi James,

Many thanks for your reply. Replacing Name = ... by Label = ... perfectly did the trick! 

Sometimes a tiny detail can make it work. Very happy to have this solved finally :-) Thanks everyone for all the inputs!

Best wishes,

Lukas

Reply all
Reply to author
Forward
0 new messages