forked from IHTSDO/snowstorm-perf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
application.properties
927 lines (809 loc) · 42.6 KB
/
application.properties
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
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
# ===================================================================
# SNOWSTORM DEFAULT PROPERTIES
# ===================================================================
# This file holds the defaults and should not be changed.
# Override this using a properties file holding just your changes.
# See: https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/reference/htmlsingle/#boot-features-external-config-application-property-files
# ===================================================================
# ----------------------------------------
# Snowstorm general
# ----------------------------------------
# REST API read only mode
# This disables any POST/PUT/PATCH/DELETE methods and also hides endpoints which are only relevant during authoring.
# It also disables some content automation when upgrading a code system.
snowstorm.rest-api.readonly=false
# This disables read-only POST endpoints when snowstorm.rest-api.readonly is true. Needed to protect the public
# Snowstorm server from heavy POST requests, even if they are read-only. Private installations may want to enable such endpoints.
snowstorm.rest-api.readonly.allowReadOnlyPostEndpoints=false
# Allow unlimited pagination of full concept representation
snowstorm.rest-api.allowUnlimitedConceptPagination=false
# Switch on or off sending JMS topic message when creating versions
snowstorm.codesystem-version.message.enabled=false
# ----------------------------------------
# AWS Auto-configuration
# ----------------------------------------
spring.cloud.aws.region.static=us-east-1
# ----------------------------------------
# AWS Request Signing
# When using AWS Elasticsearch Service, Snowstorm requires http signing to be able to communicate with ES
# See https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-request-signing.html
# Disabled by default
# ----------------------------------------
snowstorm.aws.request-signing.enabled=false
# ----------------------------------------
# Elasticsearch Data Store
# All persistent data is held in Elasticsearch.
# https://www.elastic.co/products/elasticsearch
#
# If you have more than one Elasticsearch node you may want to adjust the number of shards and replicas.
# The defaults are for simple single node installations.
# See https://www.elastic.co/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster
# ----------------------------------------
# HTTP URL of the Elasticsearch cluster (comma separated list).
elasticsearch.urls=http://localhost:9200
# Prefix to use in Snowstorm's Elasticsearch index names.
# Useful for index naming per environment e.g. dev_
elasticsearch.index.prefix=
# Username used to access Elasticsearch (if required)
elasticsearch.username=
# Password used to access Elasticsearch (if required)
elasticsearch.password=
# Number of shards per index
# This setting is only used when the index is created
elasticsearch.index.shards=1
# Number of replicas per index
# This setting is only used when the index is created
elasticsearch.index.replicas=0
# Number of terms in the terms query
# The default value in ES7 is set to 65536 which is sufficient for most indices apart from the semantic index
elasticsearch.index.max.terms.count=700000
# Elasticsearch API key (if required)
elasticsearch.api-key=
# The component save batch size
elasticvc.save.batch-size=5000
# ----------------------------------------
# Security
# ----------------------------------------
# Basic Authentication. Not used in read-only mode.
spring.security.user.name=snowstorm
spring.security.user.password=snowstorm
# Integration with Snomed International authentication. Disabled by default.
# Name of the role required to access the REST interface.
# Nginx will need to be set up to grab the roles from the Identity Management Service
ims-security.required-role=
# Restrict some functions to specific roles. Disabled by default.
# Configured in SecurityAndUriConfig.java
ims-security.roles.enabled=false
# If IMS security is enabled users in this group have the admin role.
# The administration of other roles are controlled via the API.
permission.admin.group=snowstorm-admin
# ----------------------------------------
# Web Properties
# ----------------------------------------
# Server HTTP port.
server.port=8080
# Context path of the web application
server.servlet.context-path=/
# Handles X-Forwarded-XXX headers
# Support additional web proxy headers
# See https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto.webserver.use-behind-a-proxy-server
server.forward-headers-strategy=FRAMEWORK
# Max upload file size. Values can use the suffixes "MB" or "KB" to indicate megabytes or kilobytes, respectively.
spring.servlet.multipart.max-file-size=1024MB
spring.servlet.multipart.max-request-size=1024MB
# Allow these characters in URL query without encoding (used in ECL)
server.tomcat.relaxed-query-chars={,},|
# JSON pretty printing for human readable responses
json.serialization.indent_output=true
# ----------------------------------------
# Caching
# ----------------------------------------
# Cache names
spring.cache.cache-names=permission-records,code-system-branches
# Cache configuration
spring.cache.caffeine.spec=expireAfterAccess=60s
# Cache for ECL query results
cache.ecl.enabled=true
# ----------------------------------------
# Snomed Reference Set Types
# The reference set types which can be imported and exported are controlled by configuration.
#
# New types can be added using the following format:
# refset.types.{Name}={ReferenceSetConceptId}|{RF2ExportDir}|{FieldTypes}|{FieldNames}
# Where
# {Name} is part of the filename after 'der_Refset_' as it should be created in an RF2 export.
# {ReferenceSetConceptId} is the ID of the snomed concept which represents this reference set type.
# {RF2ExportDir} is the path within the 'Refset' directory where the exported RF2 file should be placed.
# {FieldTypes} is a string of characters representing the field types after the 'referencedComponentId' field.
# These can be 'c' for concept, 's' for string or 'i' for an integer
# These form part of the exported filename.
# {FieldNames} is a comma separated list of the field names after the 'referencedComponentId' field.
#
# New refset types are per default on the MAIN branch but can be configured to any already existing branch.
# Refset types are configured on an initial branch but can be rebased to a child branch.
#
# During import files are matched using pattern ".*_{FieldNames}Refset_{Name}.*".
# For more information see the 'Release File Specification' section of the Technical Implementation Guide http://snomed.org/tig
# ----------------------------------------
refset-types.initial-branch=MAIN
refset.types.OWLExpression=762676003|/Terminology|s|owlExpression
refset.types.Language=900000000000506000|Language|c|acceptabilityId
refset.types.AssociationReference=900000000000521006|Content|c|targetComponentId
refset.types.AttributeValue=900000000000480006|Content|c|valueId
refset.types.Simple=446609009|Content||
refset.types.ComponentAnnotationStringValue=1292992004|Metadata|scs|languageDialectCode,typeId,value
refset.types.SimpleMapToSCT=1187636009|Map|s|mapSource
refset.types.SimpleMapFromSCT=900000000000496009|Map|s|mapTarget
refset.types.SimpleMapCorrelationToSCT=1193543008|Map|sc|mapSource,correlationId
refset.types.SimpleMapCorrelationFromSCT=1193542003|Map|sc|mapTarget,correlationId
refset.types.MRCMModuleScope=723563008|Metadata|c|mrcmRuleRefsetId
refset.types.MRCMDomain=723589008|Metadata|sssssss|domainConstraint,parentDomain,proximalPrimitiveConstraint,proximalPrimitiveRefinement,domainTemplateForPrecoordination,domainTemplateForPostcoordination,guideURL
refset.types.MRCMAttributeDomain=723604009|Metadata|cisscc|domainId,grouped,attributeCardinality,attributeInGroupCardinality,ruleStrengthId,contentTypeId
refset.types.MRCMAttributeRange=723592007|Metadata|sscc|rangeConstraint,attributeRule,ruleStrengthId,contentTypeId
refset.types.RefsetDescriptor=900000000000456007|Metadata|cci|attributeDescription,attributeType,attributeOrder
refset.types.ModuleDependency=900000000000534007|Metadata|ss|sourceEffectiveTime,targetEffectiveTime
refset.types.DescriptionType=900000000000538005|Metadata|ci|descriptionFormat,descriptionLength
refset.types.ComplexMap=447250001|Map|iisssc|mapGroup,mapPriority,mapRule,mapAdvice,mapTarget,correlationId
refset.types.ExtendedMap=609331003|Map|iissscc|mapGroup,mapPriority,mapRule,mapAdvice,mapTarget,correlationId,mapCategoryId
# ----------------------------------------
# SNOMED Code Systems - Overall Configuration
# ----------------------------------------
# Allow a code system version with a future effective date to be listed as "latestVersion" in the code system listing.
# When set to false releases with a future effective date will not be selected until their publication date.
codesystem.all.latest-version.allow-future=false
# Allow a code system version flagged as an internalRelease to be listed as "latestVersion" in the code system listing.
# When set to false releases marked as an internal release will not be selected.
codesystem.all.latest-version.allow-internal-release=false
# ----------------------------------------
# SNOMED Code Systems - Individual Configuration
# Configuration information for Code Systems which could be imported.
#
# New Code System configurations can be added using the following format:
# codesystem.config.{CodeSystemShortName}={Name}|{DefaultModule}|{CountryCode}|{Owner}
# Where
# {CodeSystemShortName} is the short name for the code system.
# {Name} is the name of the SNOMED Edition or Extension.
# {DefaultModule} is the concept identifier of the default module of this code system.
# {CountryCode} is the two letter ISO country code.
# {Owner} is the owner of the Code System.
# ----------------------------------------
codesystem.config.SNOMEDCT=International Edition|900000000000207008||SNOMED International
codesystem.config.SNOMEDCT-AR=Argentinian Edition|11000221109|ar|Argentina Ministry of Health
codesystem.config.SNOMEDCT-AT=Austrian Edition|11000234105|at|ELGA GmbH
codesystem.config.SNOMEDCT-AU=Australian Edition|32506021000036107|au|Australian Digital Health Agency
codesystem.config.SNOMEDCT-BE=Belgium Edition|11000172109|be|Belgian Federal Public Service Health, Food Chain Safety and Environment
codesystem.config.SNOMEDCT-CA=Canadian English Edition|20621000087109|ca|Canada Health Infoway
codesystem.config.SNOMEDCT-CAF=Canadian French Edition|20611000087101|ca|Canada Health Infoway
codesystem.config.SNOMEDCT-CH=Swiss Edition|2011000195101|en|eHealth Suisse
codesystem.config.SNOMEDCT-DE=German Edition|11000274103|de|Bundesinstitut für Arzneimittel und Medizinprodukte, BfArM
codesystem.config.SNOMEDCT-DK=Danish Edition|554471000005108|dk|Danish Health Data Authority
codesystem.config.SNOMEDCT-EE=Estonian Edition|11000181102|ee|Estonia Health and Welfare Information Systems Centre
codesystem.config.SNOMEDCT-ES=Spanish Edition|449081005|es|SNOMED International
codesystem.config.SNOMEDCT-ES-SNS=Spanish National Edition|900000001000122104|es|Ministerio de Sanidad
codesystem.config.SNOMEDCT-FI=Finland Edition|11000229106|fi|Finland National Institute for Health and Welfare
codesystem.config.SNOMEDCT-IE=Irish Edition|11000220105|ie|Department of Health / eHealth Ireland
codesystem.config.SNOMEDCT-IN=Indian Edition|1121000189102|in|eHealth Division, MoH&FW
codesystem.config.SNOMEDCT-NL=Netherlands Edition|11000146104|nl|National IT Institute for Healthcare in the Netherlands (Nicitz)
codesystem.config.SNOMEDCT-NO=Norwegian Edition|51000202101|no|The Norwegian Directorate of eHealth
codesystem.config.SNOMEDCT-NZ=New Zealand Edition|21000210109|nz|Ministry of Health
codesystem.config.SNOMEDCT-SE=Swedish Edition|45991000052106|se|The National Board of Health and Welfare
codesystem.config.SNOMEDCT-UK=United Kingdom Edition|83821000000107|gb|NHS Digital Information Representation Services
codesystem.config.SNOMEDCT-UKC=United Kingdom Clinical Edition|999000021000000109|gb|NHS Digital Information Representation Services
codesystem.config.SNOMEDCT-US=United States Edition|731000124108|us|National Library of Medicine
codesystem.config.SNOMEDCT-UY=Uruguay Edition|5631000179106|uy|Centro de Servicios de Salud - NRC
codesystem.config.SNOMEDCT-ICD10=ICD10|5991000124107
# ----------------------------------------
# SNOMED Known Dialects - Individual Configuration
# Configuration information for known dialects with a Language Reference Set
#
# New dialect configurations can be added using the following format:
# search.dialect.config.{ISO-Code}={Langrefset SCTID}
# ----------------------------------------
search.dialect.config.da-dk=554461000005103
search.dialect.config.en-au=32570271000036106
search.dialect.config.en-ca=19491000087109
search.dialect.config.en-gb=900000000000508004
search.dialect.config.en-ie=21000220103
search.dialect.config.en-us=900000000000509007
search.dialect.config.en-int-gmdn=608771002
search.dialect.config.en-nhs-clinical=999001261000000100
search.dialect.config.en-nhs-dmd=999000671000001103
search.dialect.config.en-nhs-pharmacy=999000691000001104
search.dialect.config.en-nz=271000210107
search.dialect.config.en-nz-pat=281000210109
search.dialect.config.en-uk-drug=999000681000001101
search.dialect.config.en-uk-ext=999001251000000103
search.dialect.config.es=450828004
search.dialect.config.es-ar=450828004
search.dialect.config.es-uy=5641000179103
search.dialect.config.et-ee=71000181105
search.dialect.config.de=722130004
search.dialect.config.fr=722131000
search.dialect.config.fr-be=21000172104
search.dialect.config.fr-ca=20581000087109
search.dialect.config.ja=722129009
search.dialect.config.nl-be=31000172101
search.dialect.config.nl-nl=31000146106
search.dialect.config.nb-no=61000202103
search.dialect.config.nn-no=91000202106
search.dialect.config.sv-se=46011000052107
search.dialect.config.zh=722128001
# ----------------------------------------
# FHIR SNOMED CT Implicit ConceptMaps
# Configuration for implicit concept maps within FHIR API
#
# New SNOMED CT implicit concept maps can be added using the following format:
# fhir.conceptmap.snomed-implicit.{SNOMED-Refset-ID}={NAME}|{source-system}|{target-system}|{equivalence (Optional)}
# ----------------------------------------
fhir.conceptmap.snomed-implicit.900000000000523009=POSSIBLY EQUIVALENT TO|http://snomed.info/sct|http://snomed.info/sct|inexact
fhir.conceptmap.snomed-implicit.900000000000526001=REPLACED BY|http://snomed.info/sct|http://snomed.info/sct|equivalent
fhir.conceptmap.snomed-implicit.900000000000527005=SAME AS|http://snomed.info/sct|http://snomed.info/sct|equal
fhir.conceptmap.snomed-implicit.900000000000530003=ALTERNATIVE|http://snomed.info/sct|http://snomed.info/sct|inexact
fhir.conceptmap.snomed-implicit.447562003=SNOMED CT to ICD-10 extended map|http://snomed.info/sct|http://hl7.org/fhir/sid/icd-10|
fhir.conceptmap.snomed-implicit.446608001=SNOMED CT to ICD-O simple map|http://snomed.info/sct|http://hl7.org/fhir/sid/icd-o|
fhir.conceptmap.snomed-implicit.900000000000497000=CTV3 to SNOMED CT simple map|CTV-3|http://snomed.info/sct|equivalent
fhir.conceptmap.snomed-implicit.6011000124106=SNOMED CT to ICD-10-CM complex map|http://snomed.info/sct|http://hl7.org/fhir/sid/icd-10-cm|
# ----------------------------------------
# Conversion of SNOMED CT Map Correlation concepts to FHIR map equivalence codes in http://hl7.org/fhir/concept-map-equivalence
# ----------------------------------------
# Map source to map target correlation not specified
fhir.conceptmap.snomed-implicit-equivalence.1193552004=unmatched
# Map source not mappable to map target
fhir.conceptmap.snomed-implicit-equivalence.1193551006=disjoint
# Partial overlap between map source and target
fhir.conceptmap.snomed-implicit-equivalence.1193550007=inexact
# Narrow map source to broad map target
fhir.conceptmap.snomed-implicit-equivalence.1193549007=wider
# Exact match between map source and map target
fhir.conceptmap.snomed-implicit-equivalence.1193548004=equal
# Broad map source to narrow map target
fhir.conceptmap.snomed-implicit-equivalence.1193547009=narrower
# SNOMED CT source code to target map code correlation not specified
fhir.conceptmap.snomed-implicit-equivalence.447561005=unmatched
# Partial overlap between SNOMED CT source code and target code
fhir.conceptmap.snomed-implicit-equivalence.447560006=inexact
# Broad to narrow map from SNOMED CT source code to target code
fhir.conceptmap.snomed-implicit-equivalence.447559001=narrower
# Narrow to broad map from SNOMED CT source code to target code
fhir.conceptmap.snomed-implicit-equivalence.447558009=wider
# Exact match map from SNOMED CT source code to target code
fhir.conceptmap.snomed-implicit-equivalence.447557004=equal
# SNOMED CT source code not mappable to target coding scheme
fhir.conceptmap.snomed-implicit-equivalence.447556008=disjoint
# ----------------------------------------
# URI Dereferencing - Web Router Individual Configuration
# Configuration information for HTTP redirection based on SCTID lookup
#
# See docs/webrouter-configuration.md for details
# ----------------------------------------
uri.dereferencing.prefix=http://snomed.info/
uri.dereferencing.namespaceConfig.default.all=application/json|/browser/{BRANCH}/concepts/{SCTID}
uri.dereferencing.namespaceConfig.default.fhir=application/fhir+json|/fhir/CodeSystem/$lookup?code={SCTID}&version={VERSION_URI}&property=normalForm
uri.dereferencing.namespaceConfig.fall-back=*/*|https://cis.ihtsdotools.org/api/sct/check/{SCTID}
# ----------------------------------------
# Search Behaviour
# ----------------------------------------
# For the description search with aggregated results (GET browser/{branch}/descriptions)
# when the size of the results are over about 300K creating the aggregation becomes quite expensive.
# This setting limits size of results set which can be processed.
# If the number of results are over this limit a HTTP 422 'Unprocessable Entity' response code will be returned.
search.description.aggregation.maxProcessableResultsSize=300000
# Minimum / Maximum search term length to ensure good performance.
# Attempting to search using a 'term' parameter with an invalid number of characters will result in a bad request error.
# If the term parameter contains Chinese, Japanese, Korean or Vietnamese characters there is no minimum length restriction because whole words can be one character.
search.term.minimumLength=3
search.term.maximumLength=250
# Terms aggregation search size for refset ids
search.refset.aggregation.size=1000
# Terms aggregation search size for semantic tags
search.description.semantic.tag.aggregation.size=200
# ----------------------------------------
# Search International Character Handling
# Configuration for the handling of characters in each language.
# Specifically which diacritic characters must not be folded into a simpler form for searching because they have unique meaning.
#
# New languages can be added using the following format:
# search.language.charactersNotFolded.{LanguageCode}={Characters}
# Where
# {LanguageCode} is the language code used in descriptions.
# {Characters} is a list of *lowercase* characters which must not be folded, listed using UTF-16.
#
# All characters will be converted to lowercase for this part of the index.
# Tool for UTF-16 conversion here https://www.branah.com/unicode-converter
# ----------------------------------------
# Danish æøå
search.language.charactersNotFolded.da=\u00e6\u00f8\u00e5
# Finnish åäö
search.language.charactersNotFolded.fi=\u00e5\u00e4\u00f6
# French - No diacritic characters
search.language.charactersNotFolded.fr=
# Norwegian æøå
search.language.charactersNotFolded.no=\u00e6\u00f8\u00e5
# Spanish - all characters folded to allow simple form to match
search.language.charactersNotFolded.es=
# Swedish åäö
search.language.charactersNotFolded.sv=\u00e5\u00e4\u00f6
# ----------------------------------------
# Classification Service
# This external microservice is used to classify Snomed content on demand during authoring.
# https://github.com/IHTSDO/classification-service
# ----------------------------------------
# HTTP URL of the Classification Service
classification-service.url=http://localhost:8089/classification-service
classification-service.username=
classification-service.password=
# Classification Job Timeout in minutes
classification-service.job.abort-after-minutes=45
# Strategy to retrieve status of a classification. False by default for backward compatibility.
classification-service.job.status.use-jms=false
# Queue containing the status of a classification. Blank by default for backward compatibility.
classification-service.message.status.destination=
# ----------------------------------------
# Service Commit Hooks
# Call an external service when a commit is made.
# The Authoring Acceptance Gateway can be configured here.
# https://github.com/IHTSDO/authoring-acceptance-gateway
# ----------------------------------------
# This will do nothing if URL is empty
service-hook.commit.url=
# ----------------------------------------
# Identifier Generation
# During authoring SCTID identifiers for new SNOMED CT components
# can either be generated locally or by an external CIS service.
#
# - The "local-random" implementation generates valid SCTIDs using a
# random identifier-sequence. The store is queried
# to check that the identifiers are unique.
# Set "cis.api.url=local-random" to use this option.
#
# - The "local-sequential" implementation generates valid SCTIDs using a
# sequential identifier-sequence. The store is queried find the current
# highest existing sequence in that namespace, across all branches, before
# new identifiers are generated.
# Set "cis.api.url=local-sequential" to use this option.
#
# - The CIS service can be found here https://github.com/IHTSDO/component-identifier-service
# SNOMED International does not host a publicly accessible instance of this service.
# Set "cis.api.url" to the URL of your CIS service to use this option.
# ----------------------------------------
# HTTP URL of the Component Identifier Service or 'local-random' to use a local SCTID generator.
cis.api.url=local-random
# The software name to be given in requests to CIS
cis.softwareName=Snowstorm
cis.username=
cis.password=
# The number of concept SCTIDs to prefetch when using the CIS service.
# - Only for the international namespace so far.
# - Description and Relationship identifiers are also prefetched.
cis.cache.concept-prefetch-count=1000
# Maximum number of SCTIDs to send at a time during registration against CIS.
cis.registration.chunkSize=1000
# Time to wait for CIS requests to complete.
cis.timeout=60
# If SCTIDs should be registered with CIS when they are assigned to components.
cis.registration.enabled=false
# ----------------------------------------
# Postcoorded Expression Authoring
# ----------------------------------------
# Always self grouped attributes:
# 260870009 | Priority (attribute) |
# 363702006 | Has focus (attribute) |
# 42752001 | Due to (attribute) |
# 255234002 | After (attribute) |
# 288556008 | Before (attribute) |
# 371881003 | During (attribute) |
# 263502005 | Clinical course (attribute) |
# 726633004 | Temporally related to (attribute) |
postcoordination.transform.self-grouped.attributes=260870009, 363702006, 42752001, 255234002, 288556008, 371881003, 263502005, 726633004
# ----------------------------------------
# Snomed Authoring Validation
# ----------------------------------------
# Drools rules path on disk.
# https://github.com/IHTSDO/snomed-drools-rules
validation.drools.rules.path=snomed-drools-rules
# Drools test resources loading configuration.
# Defaults to using blank files which are on the classpath.
# Get in touch with the SNOMED International Technical Team if you would like these files.
validation.drools.testresources.readonly=true
validation.drools.testresources.local.path=classpath:/empty-drools-test-resources
validation.drools.testresources.useCloud=false
# Publicly accessible validation resources
validation.drools.testresources.cloud.bucketName=validation-resources.ihtsdo
validation.drools.testresources.cloud.path=prod/international
# ----------------------------------------
# Authoring Traceability
# This is an audit trail for Snomed authoring.
# Commits or 'activities' are written to log and sent
# to a JMS queue for consumption by the Traceability Service
# https://github.com/IHTSDO/traceability-service
# ----------------------------------------
# Enable the traceability feature
authoring.traceability.enabled=false
# Maximum number of concepts with only inferred changes logged in one commit
authoring.traceability.inferred-max=100
# ----------------------------------------
# ActiveMQ JMS Message Broker
# This feature enables authoring performed in Snow Owl to be
# mirrored into Snowstorm via the Traceability JMS stream.
# ----------------------------------------
# URL of the ActiveMQ broker. Auto-generated by default.
spring.activemq.broker-url=vm://localhost?broker.persistent=false
# Whether the default broker URL should be in memory. Ignored if an explicit broker has been specified.
spring.activemq.in-memory=true
# Login user of the broker.
spring.activemq.user=
# Login password of the broker.
spring.activemq.password=
# Cap the amount of activities sent per message to prevent memory issues
activemq.max.message.concept-activities=250
# Prefix to use for queue names.
# Useful to separate environments.
jms.queue.prefix=default
# ----------------------------------------
# Snomed Authoring Commit hooks
# ----------------------------------------
# Update the semantic index during imports and authoring to support ECL and other logical queries.
commit-hook.semantic-indexing.enabled=true
# ----------------------------------------
# Logging
# Available logging levels are DEBUG, INFO, WARN, ERROR or FATAL.
# ----------------------------------------
# Snowstorm logging level.
logging.level.org.snomed.snowstorm=INFO
# Spring logging level.
logging.level.org.springframework=INFO
# Root logging level (everything else).
logging.level.root=INFO
# ECL slow query logging.
# duration-threshold is in seconds.
timer.ecl.duration-threshold=5
# ----------------------------------------
# SNOMED Attribute Sorting
# ----------------------------------------
# Attribute sorting for readability.
# Attributes are grouped by top level hierarchy and recorded against the English semantic tag (lower case, spaces replaced with underscore).
# Some attributes are used in more than one hierarchy and have a different sort order in each.
# Top level hierarchy is used rather than MRCM domain to simplify things for sorting.
# These numbers have no meaning and are only used for sorting attributes when loading a concept to make the model easier to read.
# This configuration should not be used for anything but sorting.
# For the full set of attributes and their proper domains use the MRCM Reference Sets.
# all > Is A
sort-order.attribute.all.116680003=1
# Basic dose form (basic dose form) > Has state of matter
sort-order.attribute.basic_dose_form.736518005=100
# Body structure (body structure) > All or part of
sort-order.attribute.body_structure.733928003=201
# Body structure (body structure) > Proper part of
sort-order.attribute.body_structure.774081006=202
# Body structure (body structure) > Constitutional part of
sort-order.attribute.body_structure.733931002=203
# Body structure (body structure) > Regional part of
sort-order.attribute.body_structure.733930001=204
# Body structure (body structure) > Lateral half of
sort-order.attribute.body_structure.733933004=205
# Body structure (body structure) > Systemic part of
sort-order.attribute.body_structure.733932009=206
# Body structure (body structure) > Laterality
sort-order.attribute.body_structure.272741003=207
# Clinical finding (finding) > Episodicity
sort-order.attribute.finding.246456000=301
# Clinical finding (finding) > Clinical course
sort-order.attribute.finding.263502005=302
# Clinical finding (finding) > Severity
sort-order.attribute.finding.246112005=303
# Clinical finding (finding) > Finding method
sort-order.attribute.finding.418775008=304
# Clinical finding (finding) > Interprets
sort-order.attribute.finding.363714003=305
# Clinical finding (finding) > Has interpretation
sort-order.attribute.finding.363713009=306
# Clinical finding (finding) > Finding informer
sort-order.attribute.finding.419066007=307
# Clinical finding (finding) > Associated with
sort-order.attribute.finding.47429007=308
# Clinical finding (finding) > Due to
sort-order.attribute.finding.42752001=309
# Clinical finding (finding) > Temporally related to
sort-order.attribute.finding.726633004=310
# Clinical finding (finding) > Before
sort-order.attribute.finding.288556008=311
# Clinical finding (finding) > After
sort-order.attribute.finding.255234002=312
# Clinical finding (finding) > During
sort-order.attribute.finding.371881003=313
# Clinical finding (finding) > Occurrence
sort-order.attribute.finding.246454002=314
# Clinical finding (finding) > Finding site
sort-order.attribute.finding.363698007=315
# Clinical finding (finding) > Associated morphology
sort-order.attribute.finding.116676008=316
# Clinical finding (finding) > Pathological process
sort-order.attribute.finding.370135005=317
# Clinical finding (finding) > Has realization
sort-order.attribute.finding.719722006=318
# Clinical finding (finding) > Causative agent
sort-order.attribute.finding.246075003=319
# Procedure (procedure) > Priority
sort-order.attribute.procedure.260870009=401
# Procedure (procedure) > Revision status
sort-order.attribute.procedure.246513007=402
# Procedure (procedure) > Surgical approach
sort-order.attribute.procedure.424876005=403
# Procedure (procedure) > Access
sort-order.attribute.procedure.260507000=404
# Procedure (procedure) > Scale type
sort-order.attribute.procedure.370132008=405
# Procedure (procedure) > Method
sort-order.attribute.procedure.260686004=406
# Procedure (procedure) > Procedure site
sort-order.attribute.procedure.363704007=407
# Procedure (procedure) > Procedure site - Direct
sort-order.attribute.procedure.405813007=408
# Procedure (procedure) > Procedure site - Indirect
sort-order.attribute.procedure.405814001=409
# Procedure (procedure) > Procedure morphology
sort-order.attribute.procedure.405816004=410
# Procedure (procedure) > Direct morphology
sort-order.attribute.procedure.363700003=411
# Procedure (procedure) > Indirect morphology
sort-order.attribute.procedure.363709002=412
# Procedure (procedure) > Procedure device
sort-order.attribute.procedure.405815000=413
# Procedure (procedure) > Direct device
sort-order.attribute.procedure.363699004=414
# Procedure (procedure) > Indirect device
sort-order.attribute.procedure.363710007=415
# Procedure (procedure) > Using device
sort-order.attribute.procedure.424226004=416
# Procedure (procedure) > Using access device
sort-order.attribute.procedure.425391005=417
# Procedure (procedure) > Has intent
sort-order.attribute.procedure.363703001=418
# Procedure (procedure) > Has focus
sort-order.attribute.procedure.363702006=419
# Procedure (procedure) > Direct substance
sort-order.attribute.procedure.363701004=420
# Procedure (procedure) > Using energy
sort-order.attribute.procedure.424244007=421
# Procedure (procedure) > Using substance
sort-order.attribute.procedure.424361007=422
# Procedure (procedure) > Route of administration
sort-order.attribute.procedure.410675002=423
# Procedure (procedure) > Recipient category
sort-order.attribute.procedure.370131001=424
# Procedure (procedure) > Time aspect
sort-order.attribute.procedure.370134009=425
# Procedure (procedure) > Property
sort-order.attribute.procedure.370130000=426
# Procedure (procedure) > Component
sort-order.attribute.procedure.246093002=427
# Procedure (procedure) > Has specimen
sort-order.attribute.procedure.116686009=428
# Procedure (procedure) > Measurement method
sort-order.attribute.procedure.370129005=429
# Event (event) > Associated with
sort-order.attribute.event.47429007=501
# Event (event) > Due to
sort-order.attribute.event.42752001=502
# Event (event) > Temporally related to
sort-order.attribute.event.726633004=503
# Event (event) > Before
sort-order.attribute.event.288556008=504
# Event (event) > After
sort-order.attribute.event.255234002=505
# Event (event) > During
sort-order.attribute.event.371881003=506
# Event (event) > Causative agent
sort-order.attribute.event.246075003=507
# Event (event) > Occurrence
sort-order.attribute.event.246454002=508
# Observable entity (observable entity) > Inheres in
sort-order.attribute.observable_entity.704319004=601
# Observable entity (observable entity) > Property
sort-order.attribute.observable_entity.370130000=602
# Observable entity (observable entity) > Scale type
sort-order.attribute.observable_entity.370132008=603
# Observable entity (observable entity) > Direct site
sort-order.attribute.observable_entity.704327008=604
# Observable entity (observable entity) > Inherent location
sort-order.attribute.observable_entity.718497002=605
# Observable entity (observable entity) > Characterizes
sort-order.attribute.observable_entity.704321009=606
# Observable entity (observable entity) > Process agent
sort-order.attribute.observable_entity.704322002=607
# Observable entity (observable entity) > Process duration
sort-order.attribute.observable_entity.704323007=608
# Observable entity (observable entity) > Process output
sort-order.attribute.observable_entity.704324001=609
# Observable entity (observable entity) > Towards
sort-order.attribute.observable_entity.704320005=610
# Observable entity (observable entity) > Relative to
sort-order.attribute.observable_entity.704325000=611
# Observable entity (observable entity) > Relative to part of
sort-order.attribute.observable_entity.719715003=612
# Observable entity (observable entity) > Precondition
sort-order.attribute.observable_entity.704326004=613
# Observable entity (observable entity) > Units
sort-order.attribute.observable_entity.246514001=614
# Observable entity (observable entity) > Technique
sort-order.attribute.observable_entity.246501002=615
# Observable entity (observable entity) > Procedure device
sort-order.attribute.observable_entity.405815000=616
# Observable entity (observable entity) > Has realization
sort-order.attribute.observable_entity.719722006=617
# Observable entity (observable entity) > Using device
sort-order.attribute.observable_entity.424226004=618
# Observable entity (observable entity) > Component
sort-order.attribute.observable_entity.246093002=619
# Observable entity (observable entity) > Time aspect
sort-order.attribute.observable_entity.370134009=620
# Pharmaceutical / biologic product (product) > Has manufactured dose form
sort-order.attribute.product.411116001=701
# Pharmaceutical / biologic product (product) > Has unit of presentation
sort-order.attribute.product.763032000=702
# Pharmaceutical / biologic product (product) > Count of active ingredient
sort-order.attribute.product.766953001=703
sort-order.attribute.product.1142140007=703
# Pharmaceutical / biologic product (product) > Count of base of active ingredient
sort-order.attribute.product.766952006=704
sort-order.attribute.product.1142139005=704
# Pharmaceutical / biologic product (product) > Count of base and modification pair
sort-order.attribute.product.766954007=705
sort-order.attribute.product.1142141006=705
# Pharmaceutical / biologic product (product) > Has ingredient
sort-order.attribute.product.762951001=706
# Pharmaceutical / biologic product (product) > Has active ingredient
sort-order.attribute.product.127489000=707
# Pharmaceutical / biologic product (product) > Has precise active ingredient
sort-order.attribute.product.762949000=708
# Pharmaceutical / biologic product (product) > Has basis of strength substance
sort-order.attribute.product.732943007=709
# Pharmaceutical / biologic product (product) > Has presentation strength numerator value
# One original, one concrete attribute
sort-order.attribute.product.732944001=710
sort-order.attribute.product.1142135004=710
# Pharmaceutical / biologic product (product) > Has presentation strength numerator unit
sort-order.attribute.product.732945000=711
# Pharmaceutical / biologic product (product) > Has presentation strength denominator value
sort-order.attribute.product.732946004=712
sort-order.attribute.product.1142136003=712
# Pharmaceutical / biologic product (product) > Has presentation strength denominator unit
sort-order.attribute.product.732947008=713
# Pharmaceutical / biologic product (product) > Has concentration strength numerator value
sort-order.attribute.product.733724008=714
sort-order.attribute.product.1142138002=714
# Pharmaceutical / biologic product (product) > Has concentration strength numerator unit
sort-order.attribute.product.733725009=715
# Pharmaceutical / biologic product (product) > Has concentration strength denominator value
sort-order.attribute.product.733723002=716
sort-order.attribute.product.1142137007=716
# Pharmaceutical / biologic product (product) > Has concentration strength denominator unit
sort-order.attribute.product.733722007=717
# Pharmaceutical / biologic product (product) > Plays role
sort-order.attribute.product.766939001=718
# Medicinal product package (product) > Contains clinical drug
sort-order.attribute.product.774160008=719
# Medicinal product package (product) > Has pack size
sort-order.attribute.product.774161007=720
sort-order.attribute.product.1142142004=720
# Medicinal product package (product) > Has pack size unit
sort-order.attribute.product.774163005=721
# Medicinal product package (product) > Has supplier
sort-order.attribute.product.774159003=722
# Medicinal product package (product) > Has product name
sort-order.attribute.product.774158006=723
# Medicinal product package (product) > Count of clinical drug type
sort-order.attribute.product.784276002=724
sort-order.attribute.product.1142143009=724
# Pharmaceutical dose form (dose form) > Has basic dose form
sort-order.attribute.dose_form.736476002=801
# Pharmaceutical dose form (dose form) > Has dose form intended site
sort-order.attribute.dose_form.736474004=802
# Pharmaceutical dose form (dose form) > Has dose form release characteristic
sort-order.attribute.dose_form.736475003=803
# Pharmaceutical dose form (dose form) > Has dose form transformation
sort-order.attribute.dose_form.736473005=804
# Pharmaceutical dose form (dose form) > Has dose form administration method
sort-order.attribute.dose_form.736472000=805
# Situation with explicit context (situation) > Associated finding
sort-order.attribute.situation.246090004=901
# Situation with explicit context (situation) > Finding context
sort-order.attribute.situation.408729009=902
# Situation with explicit context (situation) > Associated procedure
sort-order.attribute.situation.363589002=903
# Situation with explicit context (situation) > Procedure context
sort-order.attribute.situation.408730004=904
# Situation with explicit context (situation) > Subject relationship context
sort-order.attribute.situation.408732007=905
# Situation with explicit context (situation) > Temporal context
sort-order.attribute.situation.408731000=906
# Specimen (specimen) > Specimen procedure
sort-order.attribute.specimen.118171006=1001
# Specimen (specimen) > Specimen source identity
sort-order.attribute.specimen.118170007=1002
# Specimen (specimen) > Specimen source morphology
sort-order.attribute.specimen.118168003=1003
# Specimen (specimen) > Specimen source topography
sort-order.attribute.specimen.118169006=1004
# Specimen (specimen) > Specimen substance
sort-order.attribute.specimen.370133003=1005
# Substance (substance) > Has disposition
sort-order.attribute.substance.726542003=1101
# Substance (substance) > Is modification of
sort-order.attribute.substance.738774007=1102
# Physical object (physical object) > Has device intended site
sort-order.attribute.physical_object.836358009=1201
# Physical object (physical object) > Has filling
sort-order.attribute.physical_object.827081001=1202
# Physical object (physical object) > Has surface characteristic
sort-order.attribute.physical_object.246196007=1203
# Pattern (pattern) > Has characteristic of organ system
sort-order.attribute.pattern.1155655000=1301
# Pattern (pattern) > Has characteristic of body constituent
sort-order.attribute.pattern.1155654001=1302
# Pattern (pattern) > Has characteristic of defense, Qi, nutrient, or blood phase
sort-order.attribute.pattern.1162838006=1303
# Pattern (pattern) > Has characteristic of principle
sort-order.attribute.pattern.1155656004=1304
# ----------------------------------------
# Daily Build
# Automatically import RF2 deltas of authoring content as they arrive in cloud storage.
#
# The International Daily Build uses this. The Release Service exports an RF2 deltas from
# the Snowstorm authoring environment and publishes to AWS S3.
# ----------------------------------------
daily-build.delta-import.enabled=false
# 5 minutes in milliseconds
daily-build.delta-import.schedule=300000
daily-build.import.resources.readonly=true
daily-build.import.resources.local.path=/local
daily-build.import.resources.useCloud=false
daily-build.import.resources.cloud.bucketName=
daily-build.import.resources.cloud.path=
# ----------------------------------------
# Module Dependency Reference Set
# Configuration around MDRS behaviour on versioning and export
# The blocklisted modules (comma separatate SCTIDs) will not be included in an exported MDRS
# ----------------------------------------
mdrs.exclude.derivative-modules=true
mdrs.blocklist=
# Particular code systems in which the version will appear after the published date
code-systems.version.visible.after.published.date=
# Spring boot 2.6.6 upgrade
spring.main.allow-circular-references=true
# ----------------------------------------
# Springdoc Swagger Config
#
# ----------------------------------------
# To completely hide the schemas section
springdoc.swagger-ui.defaultModelsExpandDepth=-1
# Sort by tag
springdoc.swagger-ui.tagsSorter=alpha
springdoc.swagger-ui.operationsSorter=alpha
# Hide doc expansion
springdoc.swagger-ui.docExpansion=none
# Enable tryout by default
springdoc.swagger-ui.tryItOutEnabled=true
# Disable generic response
springdoc.override-with-generic-response=false
# Expose spring-boot-actuator endpoints
springdoc.show-actuator=true
springdoc.swagger-ui.groups-order=desc
# ----------------------------------------
# Spring cloud consul config
# ----------------------------------------
spring.cloud.consul.enabled=false
#spring.cloud.consul.config.prefix=consul
#spring.application.name=snowstorm
#spring.cloud.consul.discovery.healthCheckPath=/version
#spring.cloud.consul.config.profile-separator=/
#spring.config.import=consul:localhost:8500
# ----------------------------------------
# Spring vault config
# ----------------------------------------
spring.cloud.vault.enabled=false
#spring.cloud.vault.token=00000000-0000-0000-0000-000000000000
#spring.cloud.vault.scheme=http
#spring.cloud.vault.kv.enabled=true
#spring.config.import=consul:localhost:8500,vault://
#spring.cloud.vault.uri=http://localhost:8200