To validate data, you need to 1) download ECLI, 2) make an API Key in P21E, and 3) send a command from your terminal.

๐Ÿ’พ Download ECLI

Download and install Java (JDK 8 or 11), if you don't already have it. Then, download the latest ECLI release (ECLI 2.2.1) and unzip the file. To download it, there's no need to login or sign up.

On Mac or Linux, make the shell script executable. Open the terminal, cd (change directory) to the directory where you unzipped the file, and enter this command:
chmod +x p21-client.sh

๐Ÿ”‘ Make an API Key in P21E

Log in to P21E, and then follow one of these two options. Of the two, User API Key is easier and more secure/traceable.

  • User API Key: Home > Your Profile > Profile > API Key tab > Add Key.

    • The API Key and a safe display name will auto-generate.

    • This API Key has the same Roles & Assignments that you do.

  • System API Key: Administer > API Keys > New System API Key > Save.

    • Enter a Name manually, since it won't auto-generate.

    • Add Analyst Role or greater (Rule Designer Role is needed too on P21E 4.x).

    • Select a Group that is assigned to the right Project, Study, and Data Package.

To select an entire API Key, double-click it. Then, copy/paste it into commands.

๐Ÿšจ An API Key is as strong as a username/password pairโ€”guard it well! It grants access to your P21E environment, and has this format:
WnrbWoqPPobjqAZBgEL0DGq2oHMN9Itx6xrgKR6IPH7xJ4Ru7FC5MLnxEqK4TZg84yvHN8

๐Ÿ“ข Send a Validation Command

Edit an example command below that matches your operating system.

  • Replace the example after api.key with your API key.

  • Replace the example after web.host with the URL of your P21E environment.

  • Edit the example after source.sdtm to match the path to your data files (relative to the folder with the unzipped ECLI). To use our sample data, leave this as is.

  • Replace the examples after project, study, datapackage, standard and standard.version to match the values of your Data Package.

  • Open the terminal, cd to the directory where you unzipped the file, enter the edited command, and press Enter.

Windows Template Command

p21-client.bat ^
--api.key=MirgayKZEqYGl6t...GqMMVeJkj ^
--web.host=https://clientname.pinnacle21.net ^
--source.sdtm=aspera://./Study-101/xpt ^
--project=project_1 ^
--study=study_1 ^
--datapackage=package_1 ^
--standard=SDTM-IG ^
--standard.version=3.3 ^
--report=./reports/report.xlsx

Mac/Linux Template Command

./p21-client.sh \
--api.key=MirgayKZEqYGl6t...GqMMVeJkj \
--web.host=https://clientname.pinnacle21.net \
--source.sdtm=aspera://./Study-101/xpt \
--project=project_1 \
--study=study_1 \
--datapackage=package_1 \
--standard=SDTM-IG \
--standard.version=3.3 \
--report=./reports/report.xlsx

The terminal will show the logging messages as the process executes, successfully ending with Enterprise Validation: Process completed and giving you a URL to view your results such as:
https://clientname.pinnacle21.com/data-packages/1/reports.

  • Paste the URL into a web browser to see your results in the P21E Overview page, and then manage Issues, edit define.xml, see your validation history, etc.

  • You also get an XLSX version of the report in the reports folder where you installed ECLI.


Common use cases for ECLI we've seen include triggering a validation immediately upon data delivery from a vendor (watched folders), scheduling validations at set times (cron jobs), and calling validations via SAS macros.

Your use case for ECLI is up to your imagination, and we're happy to see demos of any integrations or automations you design! โš™๏ธ

๐Ÿ‘ฃ What's Next?

Learn more in How do I use P21 Enterprise via API/CLI?

Email questions or feedback to support@pinnacle21.atlassian.net.

Did this answer your question?