
001/*- 002 * #%L 003 * HAPI FHIR - Server Framework 004 * %% 005 * Copyright (C) 2014 - 2025 Smile CDR, Inc. 006 * %% 007 * Licensed under the Apache License, Version 2.0 (the "License"); 008 * you may not use this file except in compliance with the License. 009 * You may obtain a copy of the License at 010 * 011 * http://www.apache.org/licenses/LICENSE-2.0 012 * 013 * Unless required by applicable law or agreed to in writing, software 014 * distributed under the License is distributed on an "AS IS" BASIS, 015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 016 * See the License for the specific language governing permissions and 017 * limitations under the License. 018 * #L% 019 */ 020package ca.uhn.fhir.subscription; 021 022public final class SubscriptionConstants { 023 024 private SubscriptionConstants() {} 025 026 /** 027 * The number of threads used in subscription channel processing 028 */ 029 public static final int MATCHING_CHANNEL_CONCURRENT_CONSUMERS = 5; 030 031 public static final int DELIVERY_CHANNEL_CONCURRENT_CONSUMERS = 2; 032 033 /** 034 * The maximum number of subscriptions that can be active at once 035 */ 036 public static final int MAX_SUBSCRIPTION_RESULTS = 10000; 037 038 /** 039 * The size of the queue used for sending resources to the subscription matching processor and by each subscription delivery queue 040 */ 041 public static final int DELIVERY_EXECUTOR_QUEUE_SIZE = 1000; 042 043 public static final String SUBSCRIPTION_STATUS = "Subscription.status"; 044 public static final String SUBSCRIPTION_TYPE = "Subscription.channel.type"; 045 // These STATUS codes are unchanged from DSTU2 Subscription onwards 046 public static final String REQUESTED_STATUS = "requested"; 047 public static final String ACTIVE_STATUS = "active"; 048 public static final String ERROR_STATUS = "error"; 049 public static final String OFF_STATUS = "off"; 050 public static final String SUBSCRIPTION_TOPIC_PROFILE_URL = 051 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription"; 052 public static final String SUBSCRIPTION_TOPIC_FILTER_URL = 053 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria"; 054 public static final String SUBSCRIPTION_TOPIC_CHANNEL_HEARTBEAT_PERIOD_URL = 055 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-heartbeat-period"; 056 public static final String SUBSCRIPTION_TOPIC_CHANNEL_TIMEOUT_URL = 057 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout"; 058 public static final String SUBSCRIPTION_TOPIC_CHANNEL_MAX_COUNT = 059 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count"; 060 public static final String SUBSCRIPTION_TOPIC_CHANNEL_PAYLOAD_CONTENT = 061 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content"; 062 public static final String SUBSCRIPTION_TOPIC_STATUS = 063 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4"; 064 065 // R4 SubscriptionTopic extension URLs 066 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_URL = 067 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.url"; 068 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_VERSION = 069 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.version"; 070 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_NAME = 071 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.name"; 072 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_TITLE = 073 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.title"; 074 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_DATE = 075 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.date"; 076 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_DESCRIPTION = 077 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.description"; 078 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_STATUS = 079 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.status"; 080 public static final String SUBSCRIPTION_TOPIC_R4_EXT_RESOURCE_TRIGGER = 081 "http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic.resourceTrigger"; 082 public static final String SUBSCRIPTION_TOPIC_R4_EXT_CAN_FILTER_BY = 083 "http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic.canFilterBy"; 084 public static final String SUBSCRIPTION_TOPIC_R4_EXT_NOTIFICATION_SHAPE = 085 "http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic.notificationShape"; 086 087 // R4 SubscriptionTopic extension URL Nested extensions 088 public static final String SUBSCRIPTION_TOPIC_R4_EXT_DESCRIPTION = "description"; 089 public static final String SUBSCRIPTION_TOPIC_R4_EXT_RESOURCE = "resource"; 090 public static final String SUBSCRIPTION_TOPIC_R4_EXT_SUPPORTED_INTERACTION = "supportedInteraction"; 091 public static final String SUBSCRIPTION_TOPIC_R4_EXT_FHIRPATH_CRITERIA = "fhirPathCriteria"; 092 public static final String SUBSCRIPTION_TOPIC_R4_EXT_FILTER_PARAMETER = "filterParameter"; 093 public static final String SUBSCRIPTION_TOPIC_R4_EXT_INCLUDE = "include"; 094 public static final String SUBSCRIPTION_TOPIC_R4_EXT_REVINCLUDE = "revInclude"; 095 096 // R4 SubscriptionTopic query criteria 097 public static final String SUBSCRIPTION_TOPIC_R4_EXT_QUERY_CRITERIA = "queryCriteria"; 098 public static final String SUBSCRIPTION_TOPIC_R4_EXT_QUERY_CRITERIA_PREVIOUS = "previous"; 099 public static final String SUBSCRIPTION_TOPIC_R4_EXT_QUERY_CRITERIA_CURRENT = "current"; 100 public static final String SUBSCRIPTION_TOPIC_R4_EXT_QUERY_CRITERIA_REQUIRE_BOTH = "requireBoth"; 101 102 public static final int ORDER_SUBSCRIPTION_VALIDATING = 100; 103 public static final int ORDER_SUBSCRIPTION_ACTIVATING = 200; 104}