aidbox.bulk data import
aidbox.bulk/* RPC operations
Features of the aidbox.bulk API:
- Asynchronous validation of uploaded resources & references
- Human readable validation errors
- Can process Aidbox & FHIR format
Starts
aidbox.bulk
import.Parameters
Result
Error
Object with the following structure:
format
input resources format,fhir
oraidbox
(default:fhir
)meta
meta data that will be attached to each of the imported resourceson-conflict
action to resolve id uniqueness constraint violation,update
oroverride
input
array of objectsurl
string with input source url
Returns input params object with following attributes added:
status
in-progress
,finished
,failed
count
overall number of imported resourcestime
import execution timeinput
the import status of each specific inputstatus
loaded
,validated
,failed
count
number of loaded resourceserrors
number of validation errorstime
input execution time
message
"There is running import - wait until it finish or cancel it with aidbox.bulk/import-cancel"import
object identical to result object
Operation | id | resourceType |
---|---|---|
aidbox.bulk/import-start | Required | Required |
Request
Response
POST /rpc
content-type: text/yaml
accept: text/yaml
method: aidbox.bulk/import-start
params:
on-conflict: update
id_prefix: app1
format: fhir
meta: {source: app1}
input:
- {url: 'https://storage.googleapis.com/aidbox-public/synthea/100/corrupted-patient.ndjson.gz'}
status: 200
result:
on-conflict: update
id_prefix: app1
format: fhir
meta: {source: app1}
input:
- {url: 'https://storage.googleapis.com/aidbox-public/synthea/100/corrupted-patient.ndjson.gz', status: loaded, count: 124, errors: 1, time: 157}
status: failed
errors: 1
time: 241
Returns latest
aidbox.bulk
import infoParameters
Result
Error
Expects no parameters
Same as
aidbox.bulk/import-start
resultmessage
"No active imports"Request
Response
POST /rpc
content-type: text/yaml
accept: text/yaml
method: aidbox.bulk/import-status
params: {}
Status: 200
result:
on-conflict: update
id_prefix: app1
format: fhir
meta:
source: app1
input:
- url: >-
https://storage.googleapis.com/aidbox-public/synthea/100/Patient.ndjson.gz
status: loaded
count: 124
errors: 0
time: 1205
status: finished
count: 0
time: 1452
Returns latest
aidbox.bulk
import detailed errors listParameters
Result
Error
Expects no parameters
Result is an array of objects with following structure:
input_no
line_no
type
id
resource
errors
message
"No active imports"Request
Response
POST /rpc
content-type: text/yaml
accept: text/yaml
method: aidbox.bulk/import-errors
params:
omit-resources?: true
Status: 200
result:
- input_no: 0
line_no: 1
type: Patient
id: e9adac47-eb98-4fce-b871-512226086c97
errors:
- path:
- name
- 0
- given
message: expected array
- input_no: 0
line_no: 20
type: Patient
id: b2d58f0f-4499-4392-ad3a-1c2141c8a6c1
errors:
- path:
- address
- 0
- line
message: expected array
Cancels latest
aidbox.bulk
importParameters
Result
Error
Expects no parameters
Returns object with following structure:
message
"Import canceled"import
Same asaidbox.bulk/import-start
result
message
"No active imports"Request
Response
POST /rpc
content-type: text/yaml
accept: text/yaml
method: aidbox.bulk/import-cancel
Status: 200
result:
message: "Import Canceled"
import: <. . .>
Last modified 4mo ago