👩🏼💻 Example CLI Calls
ADAM Data Validation
java -jar p21-client-2.5.0.jar \
--api.key={Enterprise server key} \
--web.host=https://{your company}.pinnacle21.net \
--project=adam-compliance \
--study=adam-compliance-101 \
--datapackage=ADaM \
--standard=adam \
--standard.version=1.1 \
--meddra.version=19.0 \
--cdisc.ct.sdtm.version=2017-06-30 \
--cdisc.ct.adam.version=2017-03-31 \
--source.adam="aspera:///adam-v1.0/compliance" \
--source.sdtm="aspera:///sdtm/compliance" \
--source.define="aspera:///adam/define/inprogress/define.xml" \
--source.comment="Your comment text goes here" \
--report="/adam-v1.0/reports/compliance.xlsx"
SDTM Data Validation in a new data package
In this example, the web.host and api.key arguments are not present on the command line. Instead, they are provided through the pinnacle21.conf file. Data package is configured here to always use the latest available versions for SNOMED, UNII, NDF-RT, and LOINC dictionaries.
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="New DP Name" \
--source.sdtm="aspera:///path/to/data" \
--standard.version=3.3 \
--standard=SDTM \
--define.standard=2.1 \
--engine.version="P21 2304.0" \
--meddra.version=21.0 \
--cdisc.ct.sdtm.version=2018-12-21 \
--whodrug.version=GLOBALB3Sep19 \
--snomed.version=latest \
--unii.version=latest \
--ndf-rt.version=latest \
--loinc.version=latest \
--report=path/to/report.xlsx
SDTM Validation using existing data package attributes
In this example, data and define.xml placed in different locations are included in validation.
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="DP Name" \
--source.sdtm="aspera:///path/to/data" \
--source.define="/path/to/define.xml" \
--report=path/to/report.xlsx
Retrieve the most recent validation report for the data package
In this example data validation is not executed.
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="DP Name" \
--report=path/to/report.xlsx
Create Define.xml from Validation Metadata
In this example, define.xml is created for a Data Package that does not have a define.xml in P21E. ECLI uses the most recently validated data. Value level metadata is generated for --ORRES, TSVAL, and QVAL variables.
In order to import validation metadata, upload define.xml or Excel spec, the CLI will need the "Define Designer" (Edit spec/define.xml) and "Analyst" (Validate Data) roles assigned to the API key it uses.
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="DP Name" \
--import.validation.metadata \
--create.value.level.for=”ORRES;TSVAL;QVAL”
Merge Validation Metadata into existing Define.xml
Import using validation metadata with merge option. Existing metadata in Define Designer will be merged with metadata extracted from the most recently validated data.
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="DP Name" \
--import.validation.metadata \
--automerge
Upload and Validate Define.xml
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="DP Name" \
--source.define="/path/to/define.xml" \
--standard.version=1.0 \
--standard=adam \
--cdisc.ct.sdtm.version=2017-06-30 \
--cdisc.ct.adam.version=2017-03-31 \
--report=/reports/define-issue-report.xlsx
Upload Excel Spec To Generate Define.xml
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="DP Name" \
--standard=sdtm \
--standard.version=3.3 \
--source=/define/define-2017-12-18T15-01.xlsx \
--output=/define/define_gen.xml
Upload Excel Spec To Generate Define.xml and Validate it
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="DP Name" \
--standard=sdtm \
--standard.version=3.3 \
--source=/define/define-2017-12-18T15-01.xlsx \
--output=/define/define_gen.xml \
--report=/reports/define-issue-report.xlsx
Generate Excel Spec from existing Define.xml
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="DP Name" \
--standard=sdtm \
--standard.version=3.3 \
--source.define="define-designer" \
--output=/define/define_gen.xlsx \
--output.format=xlsx
Export Define.xml from P21E
java -jar p21-client-2.5.0.jar \
--project="Project Name" \
--study="Study Name" \
--datapackage="DP Name" \
--standard=sdtm \
--standard.version=3.3 \
--source.define="define-designer" \
--output="/path/to/define.xml"
Invoke ECLI From SAS Using javaobj
The CLI can be invoked from the SAS program using javaobj API.
If the p21-client-<version>.jar file in the classpath SAS macro can load ProcessUtils class and call startFromCommandLine method.
SAS Macro Exampledata _pinnacle21_cli;
dcl javaobj jCmd("net/pinnacle21/oce/utils/ProcessUtils");
length exitCode 8.;
* s - string that contains a list of command line parameters; = jCmd.callStaticVoidMethod("startFromCommandLine",s);
jCmd.callStaticIntMethod("exit", exitCode); put exitCode=;
run;
👣 What's Next?
Learn more in How do I use P21 Enterprise via API/CLI?
Email questions or feedback to support@pinnacle21.atlassian.net.