HS.BulkFHIR.Fetch.PureFHIR.Config
class HS.BulkFHIR.Fetch.PureFHIR.Config extends HS.BulkFHIR.API.Data.FetchAdapterConfig
Property Inventory
- fetch_count
- flush_interval_mins
- http_timeout
- max_req_per_sec
- resource_types
- temp_max_file_size
- worker_jobs
- working_directory
Method Inventory
Properties
property fetch_count as %Integer [ InitialExpression = 500 ];
Parameter to limit the number of returned resources from each request to the target FHIR server. May improve performance by reducing paging. FHIR servers may not support or may apply different count parameters.
Property methods: fetch_countDisplayToLogical(), fetch_countGet(), fetch_countIsValid(), fetch_countLogicalToDisplay(), fetch_countNormalize(), fetch_countSet(), fetch_countXSDToLogical()
property flush_interval_mins as %Integer (MINVAL = 0) [ InitialExpression = 60 , Required ];
Approximate maximum number of minutes resources can be buffered before a flush to the storage adapter is forced.
Property methods: flush_interval_minsDisplayToLogical(), flush_interval_minsGet(), flush_interval_minsIsValid(), flush_interval_minsLogicalToDisplay(), flush_interval_minsNormalize(), flush_interval_minsSet(), flush_interval_minsXSDToLogical()
property http_timeout as %Integer [ InitialExpression = 180 ];
Timeout value when fetching data from resource server.
Property methods: http_timeoutDisplayToLogical(), http_timeoutGet(), http_timeoutIsValid(), http_timeoutLogicalToDisplay(), http_timeoutNormalize(), http_timeoutSet(), http_timeoutXSDToLogical()
property max_req_per_sec as %Integer [ InitialExpression = 10 , Required ];
Maximum number of HTTP requests to make to the FHIR endpoint in
a second. This number will be shared across all active export
operations, and may be used to limit the load imposed by the
coordinator on the endpoint.
Property methods: max_req_per_secDisplayToLogical(), max_req_per_secGet(), max_req_per_secIsValid(), max_req_per_secLogicalToDisplay(), max_req_per_secNormalize(), max_req_per_secSet(), max_req_per_secXSDToLogical()
property resource_types as list of %String;
List of resource types to include in the export operation.
Can be overridden by a client using the _type query parameter.
Leaving this empty will include all resource types by default.
Property methods: resource_typesBuildValueArray(), resource_typesCollectionToDisplay(), resource_typesCollectionToOdbc(), resource_typesDisplayToCollection(), resource_typesDisplayToLogical(), resource_typesGet(), resource_typesGetObject(), resource_typesGetObjectId(), resource_typesGetSwizzled(), resource_typesIsValid(), resource_typesLogicalToDisplay(), resource_typesLogicalToOdbc(), resource_typesNormalize(), resource_typesOdbcToCollection(), resource_typesSet(), resource_typesSetObject(), resource_typesSetObjectId()
property temp_max_file_size as %Integer (MINVAL = 1) [ InitialExpression = 1000 ];
Maximum size (in MB) of temp files before saving. Individual resources exceeding this size will be saved individually.
Property methods: temp_max_file_sizeDisplayToLogical(), temp_max_file_sizeGet(), temp_max_file_sizeIsValid(), temp_max_file_sizeLogicalToDisplay(), temp_max_file_sizeNormalize(), temp_max_file_sizeSet(), temp_max_file_sizeXSDToLogical()
property worker_jobs as %Integer [ InitialExpression = 4 ];
Number of worker processes assigned to the fetch adapter. Should not exceed server core count.
Property methods: worker_jobsDisplayToLogical(), worker_jobsGet(), worker_jobsIsValid(), worker_jobsLogicalToDisplay(), worker_jobsNormalize(), worker_jobsSet(), worker_jobsXSDToLogical()
property working_directory as %String (MAXLEN = 512) [ InitialExpression = ##class(%Library.File).NormalizeDirectory($system.Util.ManagerDirectory()_"Temp/BulkFHIR/"_$namespace) ];
Directory where temporary files will be stored before being passed to the storage file adapter.
Property methods: working_directoryDisplayToLogical(), working_directoryGet(), working_directoryIsValid(), working_directoryLogicalToDisplay(), working_directoryLogicalToOdbc(), working_directoryNormalize(), working_directorySet()
Methods
method %OnValidateObject() as %Status
validate & throw specific errors
classmethod GUISettings() as %DynamicArray
Inherited description: Optional custom settings for the GUI, i.e. how the end user will interact with the config class and its properties
Each property setting may be customized according to the following schema:
{
name: string (must match precisely name of property in the class)
ignore: boolean (if true, no other property need be set - this property will be ignored by GUI and inaccessible to user)
display_name: string (name of the field shown to user)
Defaults to prettified version of snake case property name
description: string (description of the field shown to the user in a hint)
Defaults to the property's in-line comment in code
is_advanced: boolean (whether the field should be nested in a collapsible "advanced setting" group)
If true and the property is required, the property SHOULD have a default, or else results in a poor UX
input_type: string (the type of field shown to user) with following value list:
"input", "select", "radio", "binary-checkbox", "number".
If "select" or "radio", then options must be provided either via literal property VALUELIST or the "presetOptions" GUI setting (see below).
If binary-checkbox, the property must be typed %Boolean.
Defaults according to the property type as follow:
If %Integer or %Double, then "number"
If %Boolean, then "binary-checkbox"
If VALUELIST is provided, then "select"
If the type is a different config class, then special "nested-setting", and the GUI setting for this property will be defined in the "nested_setting" property (see below).
Else, "input"
preset_options: string (preset list of options available) with following value list (enforced by parameter ValidPresetOptions)
"credentials", list of credentials configured in the BFC namespace
"client_auth_oauth_clients", list of non-resource OAuth clients as available in the instance. If this preset option is chosen, the UI will show a selectable table of OAuth clients.
"oauth_clients", list of all OAuth clients as available in the instance. If this preset option is chosen, the UI will show a selectable table of OAuth clients.
"auth_adapters", list of auth adapters available in the BFC namespace
"fetch_adapters", list of fetch adapters available in the BFC namespace
"client_auth_adapters", list of client auth adapters available in the BFC namespace
"storage_adapters", list of storage adapters available in the BFC namespace
"tls_configurations", list of TLS configurations
"local_fhir_endpoints", list of FHIR Server endpoints local to the instance
"fhir_resources", list of applicable FHIR resource types - only applicable if sister property "endpoint_url" exists (as is in HS.BulkFHIR.API.Data.FetchAdapterConfig or subclass, since it relies on discovering what resources the FHIR server supports)
default: any (defaults to InitialExpression or %onNew override)
required: boolean (whether the property is required, defaults to whether the property is marked as required or not in the class definition)
/// The following properties are calculated based on the property and not customizable
collection: boolean (calculated from whether the element is a list)
nested_setting: array of nested instances of this schema (applies when the property type is a nested config class and thus inputType is "nested-setting")
type: string (property data type)
options: { name: string, value: string } (derived from VALUELIST/DISPLAYLIST literal properties, not evaluated if preset_options is defined)
max_length: number (derived from MAXLEN literal property)
}
Inherited Members
Inherited Properties
Inherited Methods
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %JSONExport()
- %JSONExportToStream()
- %JSONExportToString()
- %JSONImport()
- %JSONNew()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()
- ExtractRelevantLiteralPropertiesForGUISetting()
- FromJson()
- GenerateGUISettings()