The original export manifest will have an url
property for each
file, containing the source location. It his is set to true
, add
a destination
property to each file containing the path (relative
to the manifest file) to the saved file.
This is ONLY useful if saveManifest
is set to true
.
Defaults to false
Only needed if destination
points to S3
Example: us-east-1
Only needed if destination
points to S3
Examples:
s3://bucket-name/optional-subfolder/
- Upload to S3./downloads
- Save to local folder (relative to the config file)downloads
- Save to local folder (relative to the config file)/path/to/downloads
- Save to local folder (absolute path)file:///path/to/downloads
- Save to local folder (file url)http://destination.dev
- Upload to httphttp://username:password@destination.dev
- Upload to http with basic auth""
- do nothing"none"
- do nothingDefaults to ./downloads
FHIR server base URL. Should be set either here, or as CLI parameter
Sometimes a server may use weird names for the exported files. For
example, a HAPI server will use random numbers as file names. If this
is set to true
files will be renamed to match the standard naming
convention - {fileNumber}.{ResourceType}.ndjson
.
Defaults to true
If an attachment can be inlined (based on its size and the value of
the inlineDocRefAttachmentsSmallerThan
option), then its mime type
will be compared with this list. Only files of listed types will be
inlined and the rest will be downloaded into "attachment" subfolder.
Defaults to ["text/plain", "application/pdf"]
In DocumentReference
resources, any attachment
elements having an
url
(instead of inline data) and a size
below this number will be
downloaded and put inline as base64 data
. Then the size
property
will be updated and the url
will be removed.
0
Infinity
(bad idea!)5 * 1024 * 1024
Defaults to 0
If true, adds handling=lenient
to the prefer
request header. This may
enable a "retry" option after certain errors. It can also be used to
signal the server to silently ignore unsupported parameters.
Can be overridden from terminal parameter --lenient
While parsing NDJSON files every single (non-empty) line is parsed as JSON. It is recommended to set a reasonable limit for the line length so that a huge line does not consume the entire memory.
Defaults to 1000000
If the server reports the file count
in the export manifest,
verify that the number of resources found in the file matches the
count reported by the server.
Defaults to true
If true
, verifies that every single JSON object extracted for the
NDJSON file has a resourceType
property, and that this property
equals the expected type
reported in the export manifest.
Defaults to true
How many downloads to run in parallel. This will speed up the download but can also overload the server. Don't be too greedy and don't set this to more than 10!
Defaults to 5
If this is true, attachments of type PDF that are being inlined will first be converted to text and then inlined as base64
Defaults to false
The private key used to sign authentication tokens. This must be set in the config file, unless we are connecting to open server (one that has no tokenUrl)
The default reporter is "cli". That works well in terminal and renders some fancy stuff like progress bars. However, this does not look good when your STDOUT ends up in log files. For example, if you are using this tool as part of some kind of pipeline and want to maintain clean logs, then consider changing this to "text".
Can be overridden from terminal parameter --reporter
.
Defaults to cli
If the server does not provide Retry-after
header use this number of
milliseconds before checking the status again
In some cases it might be useful to also save the export manifest
file along with the downloaded NDJSON files.
Defaults to false
Ideally, this can be auto-detected from fhirUrl using metadata in the CapabilityStatement or from /.well-known/smart-configuration. However, if you are using this with a Bulk Data server that does not provide proper metadata, you can manually set the tokenEndpoint below. Leave it empty to auto-detect.
Generated using TypeDoc
When we request an access token, specify its lifetime in seconds. Note that if the token expires during status pooling or during download another authorization request will be made to get new token and then proceed from there.
Defaults to
300
(5 min)