Subscribe Bookmark RSS Feed

Semi automating the AE narrative workflow in JMP Clinical

Woodstock

Community Member

Joined:

Sep 15, 2017

I would really like to be able to more programmatically address a particular workflow I'm working with related to the AE narratives. The problem is that the tedious process by which I must currently interface with a mouse driven GUI to run through upwards of 50 narratives, not including the iterative updates I make to either the velocity template or the AENarrative.sas program. Each change needs to be tested against a couple of example subjects, and it is very time consuming to interact with the manual GUI interface, when I'm sure there's a way to add the subjects of interest to a list, select the parameters once that will always be used, and execute it from SAS. I'm at a loss for how to hack that though. Any insight would be greatly appreciated, as being "mouse bound" is way worse than being "IO bound"

2 REPLIES
chris_kirchberg

Joined:

May 28, 2014

Hi Woodstock,

 

What version of JMP Clinical are you using? 

 

A list of subjects can be made and saved. IF one goes to the Subject Explorer, you can select the list of subjects of interest and then click on the Create Subject Filter option/button and give it a name. This of course can only help with creating a list that can be referenced.

 

As for saving a set of settings that can be used over and over again, it depends on what version of JMP Clinical you are using. In version 5 there usually is a Save button at the bottom of the Dialog that saves the settings so it can be recalled at will. In version 6, one can use the review builder, add the AE Narrative report to it, set the settings and even reference a subject filter list (created above) and then save as a template. That template can be used to run over and over with a single button click.  IF you use a nartive template like "foo" as your test template and you frequently change that template for refinement, then you do not have to do anything other than click the run button to see what is produced.

 

Now if you are looking program the abiltiy to click on the run button so that you dont have to click on a button within a UI, then that might be possible. An I can look into what might be the most efficent way to do that.

 

As a side note, JMP Clinical was developed for non-programmers to use hence the heavy dependance on a GUI.  For prototyping and refining Narrative Templates, that makes it a bit more tedious since one has to invoke the UI to run the process of interest. It currently does not have hooks or APIs to allow such protoyping/interative programming,

 

As mentioned, I will look into how one can either write a JMP Script or SAS Macro/Program to trigger the creation of narratives.

 

Chris

chris_kirchberg

Joined:

May 28, 2014

Hi,

Thanks for your patience.  Here is a possible solution offered by one of the developers of JMP Clinical:

 

namesDefaultToHere(1);
jg:ReviewBuilderLauncher_reviewTemplateFile = "C:\path\to\template\a.jmpcrt";
Include(convertFilePath("$CLINICAL_HOME/JSLFiles/launcher/ReviewBuilderLauncher.jsl", windows, absolute), <<newContext);

rbRef = ReviewBuilderClass:reviewBuilderSingleton;
rbRef:executeReportList = evalexpr(function({reportRef=empty()}, {default local},
    rbRef=namespace(expr(rbRef<<getname));
    super=expr(nameexpr(rbRef:executeReportList));
    if (nItems(rbRef:runReportList) == 0,
              rbRef:saveReview("C:\path\to\review\DrewReview.jmpcrev");
              here:objRefNS = empty();
              quit();
       );
    super(reporRef);
));

rbRef:interuptReportAdd = 0;
rbRef:runReviewTemplate();

rbRef = empty();


Notice the “path\to\template” and “path\to\review”. You have to specify those. You can save this to a script and run it via: jmp –script <path to script>

 

You make have to save the Review first and then Open it.  Also, this will work for any JMP Clinical 6 version, but no guarantees that it will work for JMP Clinical 7 when it comes out. We are working on trying to make things like this a bit more simpler to do.

 

Best,

 

Chris