1.0 Introduction
Welcome to the Fortanix Confidential Computing Manager - Scripts user guide. This guide describes how to create and manage the Scripts in Fortanix Confidential Computing Manager.
The Scripts are a set of user-defined instructions in SQL query or Python format for processing the input data within the Confidential Computing Manager environment. It displays a query interface to create, save the SQL queries and Python. The purpose of Script is to provide a standardized way to execute specific functions within the secure and controlled environment of Fortanix Confidential Computing Manager, ensuring that the sensitive data is handled with confidentiality and integrity.
Using the Scripts menu item in the Fortanix Confidential Computing Manager user interface (UI), you can add, review, and manage the scripts. It is important to note that after the scripts are added, they cannot be changed. If the modifications are necessary, you are required to create a new version of the Script for seamless, unique operations. Additionally, you can create SQL statements to JOIN data from different sources and AGGREGATE the data for Computing Manager use cases. Similarly, Python scripts can be used for executing the JOIN data queries.
2.0 Add A Script
Perform the following steps to seamlessly add a script to the Fortanix Confidential Computing Manager:
Click the Scripts menu item in the Confidential Computing Manager left navigation bar and click the + CREATE SCRIPT button to add a new script.
Figure 1: Add New Script
On the Create new script page, enter the following details:
Name: Enter a required name for your script in the provided field.
Description (Optional): Enter a valid brief description of your script.
Group: Select the required group name from the drop down menu to associate the script with that group. This helps in organizing and categorizing scripts for better management.
Select query language: Click the corresponding radio button to select the query language as SQL, SQL Aggregate or Python for your script. Use the provided text area to enter the SQL commands relevant to your script. To understand more about these SQL queries, refer to the Section 2.1: Real Time Examples.
NOTE
Ensure the following:
SQL Script: The script includes the SQL keyword 'SELECT' to retrieve specific data from the database.
SQL Aggregate Script: The script includes SQL aggregate functions such as 'AVG', 'MIN', 'MAX', 'COUNT', or 'SUM' to perform calculations or analyses on grouped data.
Python Script: The script includes a method 'def process' to perform operations and return dataframe within the Python programming language.
Click the CREATE SCRIPT button to initiate the script creation process.
The new script is now created successfully.
.png?sv=2022-11-02&spr=https&st=2025-04-12T14%3A27%3A41Z&se=2025-04-12T14%3A42%3A41Z&sr=c&sp=r&sig=v5J0Pn%2Bc8m9SDf6qwB%2B6QuoLELjmpB9IZJmAO4a%2Bar4%3D)
Figure 2: New Script Added
2.1 Real Time Examples
2.1.1 SQL Script
Table Name: Patient_Medication_Encounter_SQL
Query Language: SQL Join Query Script (Join Query)
SELECT DISTINCT "patients"."patients-Id",
"patients".GENDER,
"patients".RACE,
encounters.ENCOUNTERCLASS,
conditions.CODE as condition_code
FROM "patients"
JOIN medications ON medications."patients-Id" = "patients"."patients-Id"
JOIN conditions ON conditions."patients-Id" = "patients"."patients-Id"
JOIN encounters ON encounters."patients-Id" = "patients"."patients-Id"
WHERE medications.CODE = '860975'
AND medications.STOP = '';
NOTE
The SQL subqueries are currently not supported in this release.
2.1.2 Aggregate SQL Script 1: Patient Condition with Gender Female
This script focuses and helps us identify and analyze conditions specific to women's health.
Name: Patient_Condition_Gender_F
Description: Filters patient conditions for females.
Group: CCM Default
Query Language: SQL
SELECT COUNT(DISTINCT "patients-Id") FROM joined_data WHERE ENCOUNTERCLASS = 'ambulatory' AND GENDER='F';
2.1.3 Aggregate SQL Script 2: Patient Condition with Gender Male
This script is similar to the previous script, but targets on the health conditions that predominantly affecting men.
Name: Patient_Condition_Gender_M
Description: Filters patient conditions for males.
Group: CCM Default
Query Language: SQL
SELECT COUNT(DISTINCT "patients-Id") FROM joined_data WHERE ENCOUNTERCLASS = 'ambulatory' AND GENDER='M';
2.1.4 Aggregate SQL Script 3: Patient Condition with Diabetic Retinopathy
This script targets patients diagnosed with diabetic retinopathy, a complication of diabetes. It helps us understand the prevalence and management of this condition within our patient population.
Name: Patients_Diabetic_Retinopathy
Description: Identifies patients diagnosed with diabetic retinopathy.
Group: CCM Default
Query Language: SQL
COUNT(DISTINCT "patients-Id") FROM joined_data WHERE condition_code = '422034002';
2.1.5 Python Script
Table Name: Patient_Medication_Encounter_Python
Query Language: Python
import pandas as pd
from typing import Dict
REQUIREMENTS = """
pandas
"""
def process(data_frames: Dict[str, pd.DataFrame]) - pd.DataFrame:
airline_df = data_frames["airline_customers"]
media_df = data_frames["media_customers"]
# Join DataFrames on EMAIL
merged_df = airline_df.merge(media_df, on='EMAIL', how='inner')
# Create desired column names with prefixes
merged_df.rename(columns={'PHONE_x': 'Airline_Phone', 'PHONE_y': 'Media_Phone',
'ZIP': 'Airline_ZIP', 'PRODUCT': 'Airline_Product',
'SLS_DATE_x': 'Airline_Sales_Date', 'SLS_DATE_y': 'Media_Sales_Date'},
inplace=True)
# Select desired columns
result_df = merged_df[['EMAIL', 'Airline_Phone', 'Zone', 'Airline_ZIP',
'Airline_Product', 'Airline_Sales_Date', 'SALES_DLR',
'Media_Phone', 'STATUS', 'AGE_BAND', 'Media_Sales_Date',
'CAMPAIGN', 'SEC_VIEW', 'COST']]
# Display the result
return result_df
NOTE
Use the appropriate connector file name in
data_frame[<connector file name>]
.
3.0 Edit the Scripts
Perform the following steps to modify the details of the scripts:
Click the Scripts menu item in the Confidential Computing Manager left navigation bar.
Locate and click the script that you wish to edit from the list of available scripts. A new screen opens where you can review and edit the selected group and script queries.
Click the EDIT button to initiate the editing process.
NOTE
Alternatively, you can click the overflow menu (three dots) for a script row and select the EDIT SCRIPT option to modify the script.
Update the configuration as needed.
NOTE
These modifications are applied in a new version of script rather than altering the existing one.
After you have made the necessary edits, click the UPDATE SCRIPT button to save your changes and create a new version of the script.
The script is now updated successfully.
NOTE
You cannot delete a script.
4.0 Scripts Details Overview
Click the required script to view the insights into general details and version history, enabling effective management and understanding of your scripts.
General tab:
Created by: Displays the user who originally created the script.
Created at: Shows the timestamp indicating when the script was initially created.
Changed by: Indicates the user responsible for the most recent changes to the script.
Changed at: Displays the timestamp of the last modification to the script.
Group: Specifies the group to which the script belongs.
Query language: Specifies the language used in the script, such as SQL, SQL Aggregate or Python.
Version History tab:
Changed by: Lists the users who made changes to the script across different versions.
Created at: Displays the timestamps corresponding to the creation of each version.
Content: Displays the content of the modified script.