In response to interest from users, JMP R&D has been hard at work implementing new features in the Process Screening platform that enable users to conduct environmental monitoring procedures using a variety of data sources. Applications include areas such as air quality monitoring, surface monitoring, and personnel monitoring, all of which have pharmaceutical applications. Enabling users to screen processes will help to prevent contamination of pharmaceutical products, ensuring that these products are safe for patient use. This feature scales well to data that includes many processes. The resulting report enables users to determine which processes contain data points that trigger various alarms and merit further analysis. In addition to pharmaceutical applications, this feature can be used to screen any process where an alert/action limit approach is appropriate for decision making. Users can specify custom alarm limits.
The purpose of this poster is to illustrate the key steps of the environmental monitoring procedure as it is implemented in JMP. The poster provides details on the screening approach, including explanations of what different screening alarms mean and how they are flagged in the report. In addition, this poster highlights how the approach differs for count, non-negative continuous, and proportional data. It also includes examples of these approaches as they are applied to data and a discussion of results. Examples include simulated cases related to defect screening for component manufacturing and environmental monitoring, among others.

Hi, I'm David Elsheimer. I am a research statistician tester at JMP, and I did some of the testing numerical validation work on the environmental monitoring features that we put into JMP 19. These are a series of new features that we put into the process screening platform. They come in the form of what we term in the documentation as non-normal chart types. These consist of the count charts, non-negative continuous charts, and proportion charts that you will see as options in the process. Screening platform in JMP 19.
I'll go into more details about how these new chart types are screening the processes in an environmental monitoring context later on, but it's worth noting they consist of what we term alert and action limits. These are alarms that are raised when process variables exceed a certain type of limit that I'll go into shortly. In environmental monitoring we're able to produce all the necessary information in one report. You're not. You don't have to go and try to compute stuff. The GSL code that might take a while to script, if you're not familiar with the various aspects of JMP in terms of scripting them in GSL, but we're going to too much detail about what those methods entail. I want to give you an example of what environmental monitoring is, before we talk about an example of what the workflow is, and then go in through an example of what a report might look like and JMP for a simulated data case.
To give a brief background, environmental monitoring is used a lot in the life sciences manufacturing field. In this picture here, this is a mock-up of a setting of multiple clean rooms where you need to be monitoring for maybe surface contamination, air quality, et cetera. Maybe this is a laboratory where they are producing a vaccine or studying a virus or some such, and you need to be able to monitor a bunch of different sensors in multiple different rooms. You want to be able to ensure that you're meeting quality standards and complying with government regulations. Maybe each of these sensors. In this example, we're considering contamination that's measured in the form of count data.
Maybe you could consider the raw counts, but that would and that would show only where the counts are high. You're not looking at each process and considering within the context of that process. Is this level of contamination exceeding what we would expect for that process? In JMP 19, we're enabling you to look at each process, and for that process screen and the data for these various types of alarms that you're considering.
To go through a brief example Count Charts. You have a workflow where you feed in the data, you fit a series of models on the data, and then for those models you have the parameter estimates. You use these to compute a model criterion known as the AIC, and then you can pick the best model by minimizing the AIC, whichever model has the lowest AIC is the model that you would pick. Then from there you can assign these alarm limits to screen the process for various levels of severity in terms of if the data is indicating that there is contamination, an alert limit would indicate to a user.
Let's take a look at the data here. See what's going on in an action limit would be indicative that immediate action very likely needs to be taken. Once you screen these processes, you have the results in terms of identifying which points are points of alarm when they happen and what your various alarm and action or your alarm limits. Your alert and action limits that you use to screen the process. In JMP 19 for count data, we have Poisson and negative binomial models that are used to fit the data.
We also consider Zero-inflated Poisson and Zero-inflated negative binomial models to fit on the data, if a process contains zeros to, maybe the sensor does register that the contamination is truly at zero, that then JMP would be implementing these models as well. Previously, you could feed the data in to the distribution platform and fit the models and get the lowest AIC for the standard Poisson negative binomial models, but the Zero-inflated models are something that is new in JMP 19 in distribution platform.
Previously for those models you would have had to script those yourself and then everything else that follows. You'd have to also script in previous versions of JMP. This is a little difficult, especially if you're not familiar with certain parts of JMP scripting language. Writing a script to do all of this, tie it together and then produce it in a neat report that you construct yourself would be a fairly involved task.
Now in JMP 19, all of this is being done in the process screening platform. All you have to do is provide your process variable, any subgroup variables you know of the date, and so on. The only unique thing that also needs to be considered is we have what is called lower and upper alert and action probabilities. These are related to how we compute the screening limits for the alert and the action types of alarms. I'll go into more detail about that in a moment. Besides that, everything else is being done in process screening, and you're not having to script any of this yourself.
An example for Count Charts, in JMP 19, we provide a simulated data case for environmental monitoring, where we simulate data for several different sensor types at various clean rooms that have different clean room grades. How stringent you might need to be worrying about contamination there, these simulated examples for that. Overall there are 86 processes or sensors. Each of these processes has 90 rows. The process screening platform you might see reports such as this. This is for one of those processes. You can produce a report that has all 86 of those processes included, and then you can look at all of them at once and determine which have alarms and which do not.
For the report, you'll see control chart alarms. It'll talk about the control chart alarm rate, the number of alarms, how many of each type of alarm you might be seeing when those alarms are happening, et cetera. You'll have the best fit section of the report, which I'll revisit in a moment. You also have the alarm graph, which tells you what type of alarm is happening and when it's happening, and then the Control Charts, which for any selected processes you're considering, that'll show what the values of the process were at this time.
You could look like, for example, this first point here is action limit violation, and then the second point is merely an alarm limit violation. You can interactively when you're interacting with this and JMP, you'll be able to hover over the point and see what the value is and what row of the data it's in, and so on.
For the Best Fit section of the report, I want to revisit that in a little more detail. This provides the best distribution that was fit in terms of which model minimized the AIC, and then there's a series of upper and lower alert and action quantiles. These correspond to a platform launch. Either you're going with the default values or you're specifying some upper and lower alert and action probabilities. Those probabilities, these quantiles correspond to the point in the data for the distribution considered defining for that distribution, where that proportion, that probability of the data that, that 97.5% of the data for the lower case is less than that point for the upper limit, for example.
A way to interpret this in a meaningful sense is the these quantiles. If you are exceeding these quantiles, but the process is truly in spec, or to this example, if the sensor is performing normally, there are no issues with the sensor in the data. It doesn't actually have a contamination problem. The chances that you'd be seeing this sort of violation. For, let's say, the default case where you only have upper limits, and those upper limits are for the alert, the alert upper limit probability, it's 0.975 and 0.9985 for the upper action limit probability.
If you're seeing violations of those points for data, and the data was truly not dealing with the contamination issue, there'd be a 2.5% chance that you would be observing this for the alert case, and if you're violating the action limit, it'd be a 0.15% case. What that means is when you're seeing these sorts of violations, you can know right off the bat that it's not very likely that this is going to be happening.
If you've specified these probabilities, you'd be expecting that it would be a small chance that this would be happening while things are performing normally, which indicates to the user. Let's take a look at these things and see what's going on. If they're seeing these sorts of violations.
In summary, these new chart types streamline the process of generating useful results for environmental monitoring. Also, you can produce charts for non-negative continuous and proportion based processes. The continuous chart types fit exponential, gamma, Weibull, and log normal distributions, but if you have data that contains zeros, you can also fit the zero inflated versions of these distributions.
As with count charts, these new other new chart types eliminate the need for lengthy scripts to tie together output from multiple different parts of JMP, because now everything is being able to be produced in the process of screening platform and the reports that you get are easy to interpret and helpful in immediately making decisions. I want to thank a few people that were also involved in creating this platform or these new features.
John Sall and Clay Barker worked on developing the platform, and Tonya Mauldin also helped with additional testing work. And then I also want to thank Byron Wingerd and Jason Rasnake for their work on a dashboard to visualize these environmental monitoring scenarios, so that that image that we saw at the beginning was part of their work, and they are currently working on implementing add-in into JMP that you can access in the JMP marketplace that allows you to do this with your own data as well. That's all I have for you today. Thanks.
Presenter
Skill level
- Beginner
- Intermediate
- Advanced