-
Notifications
You must be signed in to change notification settings - Fork 5
/
default.yaml
286 lines (254 loc) · 10 KB
/
default.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
RabbitOptions:
RabbitMqHostName: "localhost"
RabbitMqHostPort: 5672
RabbitMqVirtualHost: "/"
RabbitMqUserName: "guest"
RabbitMqPassword: "guest"
RabbitMqControlExchangeName: "TEST.ControlExchange"
FatalLoggingExchange: "TEST.FatalLoggingExchange"
LoggingOptions:
LogConfigFile: ""
LogsRoot: ""
TraceLogging: true
FileSystemOptions:
FileSystemRoot: 'C:\temp'
ExtractRoot: 'C:\temp'
# Set this to "*" if your dicom files do not have file extensions
DicomSearchPattern: "*.dcm"
RDMPOptions:
CatalogueConnectionString: 'server=localhost\sqlexpress;integrated security=true;database=RDMP_Catalogue'
DataExportConnectionString: 'server=localhost\sqlexpress;integrated security=true;database=RDMP_DataExport'
# Alternative to connection strings for if you have RDMP running with a YAML file system backend. If specified then this will override the connection strings
YamlDir:
MongoDatabases:
DicomStoreOptions:
HostName: "localhost"
Port: 27017
UserName: ""
Password: ""
DatabaseName: "dicom"
ExtractionStoreOptions:
HostName: "localhost"
Port: 27017
UserName: ""
Password: ""
DatabaseName: "extraction"
DicomRelationalMapperOptions:
Guid: "6ff062af-5538-473f-801c-ed2b751c7897"
QueueName: "TEST.AnonymousImageQueue"
QoSPrefetchCount: 10000
AutoAck: false
LoadMetadataId: 1
DatabaseNamerType: "GuidDatabaseNamer"
MinimumBatchSize: 10000
UseInsertIntoForRAWMigration: true
RetryOnFailureCount: 1
RetryDelayInSeconds: 60
RunChecks: true
UpdateValuesOptions:
QueueName: "TEST.UpdateValuesQueue"
QoSPrefetchCount: 10000
AutoAck: false
#TableInfosToUpdate: 1,2,3 <-set this to limit which tables get updated when no explicit table is listed in the message
UpdateTimeout: 500 # number of seconds to wait for each UPDATE statement
TriggerUpdatesOptions:
ExchangeName: "TEST.TriggerUpdatesExchange"
MaxConfirmAttempts: 1
CohortExtractorOptions:
QueueName: "TEST.RequestQueue"
QoSPrefetchCount: 10000
AutoAck: false
AllCatalogues: true
# List of IDs of Catalogues to extract from (in ascending order).
# Ignored if "AllCatalogues == true"
OnlyCatalogues: [1, 2, 3]
# ID(s) of ColumnInfo that contains a list of values which should not have data extracted for them. e.g. opt out. The name of the column referenced must match a column in the extraction table
#RejectColumnInfos: [105,110]
AuditorType: "SmiServices.Microservices.CohortExtractor.Audit.NullAuditExtractions"
RequestFulfillerType: "SmiServices.Microservices.CohortExtractor.RequestFulfillers.FromCataloguesExtractionRequestFulfiller"
ProjectPathResolverType: "StudySeriesSOPProjectPathResolver"
ExtractAnonRoutingKey: anon
ExtractIdentRoutingKey: ident
# Writes (Producer) to this exchange
ExtractFilesProducerOptions:
ExchangeName: "TEST.ExtractFileExchange"
MaxConfirmAttempts: 1
# And audits this too
ExtractFilesInfoProducerOptions:
ExchangeName: "TEST.FileCollectionInfoExchange"
MaxConfirmAttempts: 1
CohortPackagerOptions:
JobWatcherTimeoutInSeconds: 30
ReporterType: "LoggingReporter"
NotifierType: "LoggingNotifier"
ReportFormat: "Combined"
ReportNewLine: ""
ExtractRequestInfoOptions:
QueueName: "TEST.RequestInfoQueue"
QoSPrefetchCount: 1
AutoAck: false
FileCollectionInfoOptions:
QueueName: "TEST.FileCollectionInfoQueue"
QoSPrefetchCount: 1
AutoAck: false
NoVerifyStatusOptions:
QueueName: "TEST.ExtractedFileNoVerifyQueue"
QoSPrefetchCount: 1
AutoAck: false
VerificationStatusOptions:
QueueName: "TEST.ExtractedFileVerifiedQueue"
QoSPrefetchCount: 1
AutoAck: false
DicomReprocessorOptions:
ProcessingMode: "ImageReprocessing"
ReprocessingProducerOptions:
ExchangeName: "TEST.IdentifiableImageExchange"
MaxConfirmAttempts: 1
DicomTagReaderOptions:
QueueName: "TEST.AccessionDirectoryQueue"
QoSPrefetchCount: 1
AutoAck: false
NackIfAnyFileErrors: true
ImageProducerOptions:
ExchangeName: "TEST.IdentifiableImageExchange"
MaxConfirmAttempts: 1
SeriesProducerOptions:
ExchangeName: "TEST.IdentifiableSeriesExchange"
MaxConfirmAttempts: 1
FileReadOption: "ReadLargeOnDemand"
TagProcessorMode: "Serial"
MaxIoThreads: 1
IdentifierMapperOptions:
QueueName: "TEST.IdentifiableImageQueue"
QoSPrefetchCount: 1000
AutoAck: false
AnonImagesProducerOptions:
ExchangeName: "TEST.AnonymousImageExchange"
MaxConfirmAttempts: 1
MappingConnectionString: 'Server=localhost\sqlexpress;Integrated Security=true;Initial Catalog=MappingDatabase;'
MappingDatabaseType: "MicrosoftSQLServer"
MappingTableName: "MappingTable"
TimeoutInSeconds: 600
SwapColumnName: "CHI"
ReplacementColumnName: "ECHI"
SwapperType: "SmiServices.Microservices.IdentifierMapper.Swappers.ForGuidIdentifierSwapper"
AllowRegexMatching: false
RedisConnectionString: ""
MongoDbPopulatorOptions:
SeriesQueueConsumerOptions:
QueueName: "TEST.MongoSeriesQueue"
QoSPrefetchCount: 1000
AutoAck: false
ImageQueueConsumerOptions:
QueueName: "TEST.MongoImageQueue"
QoSPrefetchCount: 10000
AutoAck: false
MongoDbFlushTime: 30 # Seconds
FailedWriteLimit: 5
ProcessDirectoryOptions:
AccessionDirectoryProducerOptions:
ExchangeName: "TEST.AccessionDirectoryExchange"
MaxConfirmAttempts: 1
CTPAnonymiserOptions:
VerifyRoutingKey: verify
NoVerifyRoutingKey: noverify
AnonFileConsumerOptions:
QueueName: "TEST.ExtractFileAnonQueue"
QoSPrefetchCount: 1
AutoAck: false
ExtractFileStatusProducerOptions:
ExchangeName: "TEST.ExtractedFileStatusExchange"
MaxConfirmAttempts: 1
DicomAnonymiserOptions:
AnonymiserType: "DefaultAnonymiser"
AnonFileConsumerOptions:
QueueName: "TEST.ExtractFileAnonQueue"
QoSPrefetchCount: 1
AutoAck: false
ExtractFileStatusProducerOptions:
ExchangeName: "TEST.ExtractedFileStatusExchange"
MaxConfirmAttempts: 1
RoutingKeySuccess: verify
RoutingKeyFailure: noverify
FailIfSourceWriteable: false
VirtualEnvPath: "path/to/venv"
DicomPixelAnonPath: "path/to/dicompixelanon/src/applications/"
SmiServicesPath: "path/to/SmiServices" # replace with /nfs/smi/home/smi for production
CtpAnonCliJar: "path/to/ctp-anon-cli/ctp-anon-cli-0.5.0.jar" # replace with /nfs/smi/home/smi/bin/ctp-anon-cli-0.5.0.jar for production
CtpAllowlistScript: "path/to/SmiServices/data/ctp/ctp-whitelist.script" # replace with /nfs/smi/home/smi/configs/ctp-whitelist.script for production
SRAnonymiserToolPath: "path/to/StructuredReports/src/applications/SRAnonTool/CTP_SRAnonTool.sh"
FileCopierOptions:
NoVerifyRoutingKey: noverify
QueueName: "TEST.ExtractFileIdentQueue"
QoSPrefetchCount: 1
AutoAck: false
CopyStatusProducerOptions:
ExchangeName: "TEST.ExtractedFileStatusExchange"
MaxConfirmAttempts: 1
ExtractImagesOptions:
MaxIdentifiersPerMessage: 1000
ExtractionRequestProducerOptions:
ExchangeName: "TEST.RequestExchange"
MaxConfirmAttempts: 1
ExtractionRequestInfoProducerOptions:
ExchangeName: "TEST.RequestInfoExchange"
MaxConfirmAttempts: 1
IsIdentifiableServiceOptions:
QueueName: "TEST.ExtractedFileToVerifyQueue"
QoSPrefetchCount: 1
AutoAck: false
IsIdentifiableProducerOptions:
ExchangeName: "TEST.ExtractedFileVerifiedExchange"
MaxConfirmAttempts: 1
ClassifierType: "SmiServices.Microservices.IsIdentifiable.TesseractStanfordDicomFileClassifier"
DataDirectory: ""
IsIdentifiableOptions:
#Optional. Full connection string to the database storing the Allowlist of valid entries
AllowlistConnectionString:
#Optional. The DBMS provider of the Allowlist table e.g. MySql
AllowlistDatabaseType:
#Optional. The unqualified name of the Allowlist table
AllowlistTableName:
#Optional. The column in AllowlistTableName which contains the Allowlist elements
AllowlistColumn:
#Optional. Path to a CSV file containing a single untitled column of Allowlist values
AllowlistCsv:
#Optional. Generate a report on the proportion of values failing validation (for each column)
#ColumnReport: true
#Optional. Generate a report listing every unique value failing validation (and the column the value failed in)
#ValuesReport: true
#Optional. Generate a full failure storage report that persists Failure objects in a manner that they can be retrieved.
#StoreReport: true
#Optional - If specified reports will be generated in the given folder. If not specified, current directory is used (unless an alternate destination option is picked)
DestinationCsvFolder:
#Optional - If specified, the given separator will be used instead of ,. Includes support for \t for tab and \r\n
DestinationCsvSeparator:
#Optional - If specified all tabs, newlines (\r and \n) and 2+ spaces will be stripped from the values written as output (applies to all output formats)
DestinationNoWhitespace:
#Optional. Full connection string to the database in which to store the report results
DestinationConnectionString:
#Optional. The DBMS provider of DestinationConnectionString e.g. MySql
DestinationDatabaseType:
#Optional. If specified postcodes will not be reported as failures
IgnorePostcodes: false
#Optional. Comma separated list of columns/tags which should be ignored and not processed
SkipColumns:
#Optional. If set and using a 7 class NER model then DATE and TIME objects will not be considered failures.
IgnoreDatesInText:
#Optional. Set to control the max size of the in-memory store of processed before the get written out to any destinations. Only makes sense for reports that don't perform any aggregation across the data
MaxCacheSize:
#Optional. Filename of additional rules in yaml format.
RulesFile:
#Optional. Directory of additional rules in yaml format.
RulesDirectory:
#Optional. Maximum number of answers to cache per column.
MaxValidationCacheSize:
IsIdentifiableReviewerOptions:
#Location of database connection strings file (for issuing UPDATE statements)
TargetsFile:
#File containing rules for ignoring validation errors
IgnoreList:
#File containing rules for when to issue UPDATE statements
RedList:
#Sets the user interface to use a specific color palette yaml file
Theme: