Table of Contents |
---|
Introduction
OpenSpecimen supports bulk/batch importing of many entities such as Collection Protocols, Specimen, Visits, Users, etc. Bulk Importing is used in high throughput biobanks or when the user needs to add/update multiple entities to/from OpenSpecimen. (Follow this page for an overview on the BulkImport module)
This page documents the details of bulk import API. Follow this wiki-page for a working example of CP import via API.
Goals for Bulk Import API
- Provide an easy and efficient way to perform a single operation (Insert/Update) on multiple entities.
Steps for Bulk importing
- Download the input CSV template file.
- Register your input file.
- Deploy the input file
- Upload the CSV file
- Create and run the import - job.
- Check the job status of
- Download the import- job .report
Download the
...
CSV template file
...
application/json
Note |
---|
Replace <schemaName> with the schema name for the entity you wish to bulk import. (Find here the schema name to entity mapping) |
...
Follow the below steps to download the template file:
Login to OpenSpecimen → Navigate To → Collection Protocols → More → Import Biospecimen Data (CSV) → Choose the Record Type → Click on Download Template
Upload the CSV file
Attribute | Value | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
URL | http://<host>:<port>/openspecimen/rest/ng/import-jobs/input-file | |||||||||
Method | POST | |||||||||
Request Type | form-data | |||||||||
Response |
|
...
Note |
---|
Note down the 'fileId' as this will be used in step #3 |
...
Create and run the import
...
job
Attribute | Value | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
URL | http://<host>:<port>/openspecimen/rest/ng/import-jobs | |||||||||
Method | POST | |||||||||
Request Type | application/json | |||||||||
Request |
|
Note |
---|
|
...
|
Check the job status
Attribute | Value |
---|---|
URL | http://<host>:<port>/openspecimen/rest/ng/import-jobs/{job-id} |
Method | GET |
Request Type | application/json |
Download the job report/output
Attribute | Value |
---|---|
URL | http[s]://<host>:<port>/openspecimen/rest/ng/import-jobs/{job-id}/output |
Method | GET |
Example of Bulk Importing CP(s) using API
Follow this wiki-page to see an example of bulk importing CP(s) using bulk import API.
Error Cases
Code | Applies to | Status Message |
---|---|---|
200 | All requests | Bulk Import request was successfully processed. |
401 | All requests | Authorisation failed, user doesn’t have the authority. |
500 | All requests | Internal server error, encountered server error while performing operations. |
Sample Code
The below is the sample python code to do bulk import for Specimen Events:
View file | ||||
---|---|---|---|---|
|
How to run?
Info |
---|
python3 bulk_import.py <CSV_FILE_NAME> |