
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 private SubscriptionConstants() {} 024 025 /** 026 * The number of threads used in subscription channel processing 027 */ 028 public static final int MATCHING_CHANNEL_CONCURRENT_CONSUMERS = 5; 029 030 public static final int DELIVERY_CHANNEL_CONCURRENT_CONSUMERS = 2; 031 032 /** 033 * The maximum number of subscriptions that can be active at once 034 */ 035 public static final int MAX_SUBSCRIPTION_RESULTS = 10000; 036 037 /** 038 * The size of the queue used for sending resources to the subscription matching processor and by each subscription delivery queue 039 */ 040 public static final int DELIVERY_EXECUTOR_QUEUE_SIZE = 1000; 041 042 public static final String SUBSCRIPTION_STATUS = "Subscription.status"; 043 public static final String SUBSCRIPTION_TYPE = "Subscription.channel.type"; 044 // These STATUS codes are unchanged from DSTU2 Subscription onwards 045 public static final String REQUESTED_STATUS = "requested"; 046 public static final String ACTIVE_STATUS = "active"; 047 public static final String ERROR_STATUS = "error"; 048 public static final String SUBSCRIPTION_TOPIC_PROFILE_URL = 049 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription"; 050 public static final String SUBSCRIPTION_TOPIC_FILTER_URL = 051 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria"; 052 public static final String SUBSCRIPTION_TOPIC_CHANNEL_HEARTBEAT_PERIOD_URL = 053 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-heartbeat-period"; 054 public static final String SUBSCRIPTION_TOPIC_CHANNEL_TIMEOUT_URL = 055 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout"; 056 public static final String SUBSCRIPTION_TOPIC_CHANNEL_MAX_COUNT = 057 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count"; 058 public static final String SUBSCRIPTION_TOPIC_CHANNEL_PAYLOAD_CONTENT = 059 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content"; 060 public static final String SUBSCRIPTION_TOPIC_STATUS = 061 "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4"; 062 063 // R4 SubscriptionTopic extension URLs 064 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_URL = 065 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.url"; 066 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_VERSION = 067 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.version"; 068 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_NAME = 069 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.name"; 070 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_TITLE = 071 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.title"; 072 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_DATE = 073 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.date"; 074 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_DESCRIPTION = 075 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.description"; 076 public static final String SUBSCRIPTION_TOPIC_R4_EXT_TOPIC_STATUS = 077 "http://hl7.org/fhir/5.0/StructureDefinition/extension-SubscriptionTopic.status"; 078 public static final String SUBSCRIPTION_TOPIC_R4_EXT_RESOURCE_TRIGGER = 079 "http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic.resourceTrigger"; 080 public static final String SUBSCRIPTION_TOPIC_R4_EXT_CAN_FILTER_BY = 081 "http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic.canFilterBy"; 082 public static final String SUBSCRIPTION_TOPIC_R4_EXT_NOTIFICATION_SHAPE = 083 "http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic.notificationShape"; 084 085 // R4 SubscriptionTopic extension URL Nested extensions 086 public static final String SUBSCRIPTION_TOPIC_R4_EXT_DESCRIPTION = "description"; 087 public static final String SUBSCRIPTION_TOPIC_R4_EXT_RESOURCE = "resource"; 088 public static final String SUBSCRIPTION_TOPIC_R4_EXT_SUPPORTED_INTERACTION = "supportedInteraction"; 089 public static final String SUBSCRIPTION_TOPIC_R4_EXT_FHIRPATH_CRITERIA = "fhirPathCriteria"; 090 public static final String SUBSCRIPTION_TOPIC_R4_EXT_FILTER_PARAMETER = "filterParameter"; 091 public static final String SUBSCRIPTION_TOPIC_R4_EXT_INCLUDE = "include"; 092 public static final String SUBSCRIPTION_TOPIC_R4_EXT_REVINCLUDE = "revInclude"; 093 094 // R4 SubscriptionTopic query criteria 095 public static final String SUBSCRIPTION_TOPIC_R4_EXT_QUERY_CRITERIA = "queryCriteria"; 096 public static final String SUBSCRIPTION_TOPIC_R4_EXT_QUERY_CRITERIA_PREVIOUS = "previous"; 097 public static final String SUBSCRIPTION_TOPIC_R4_EXT_QUERY_CRITERIA_CURRENT = "current"; 098 public static final String SUBSCRIPTION_TOPIC_R4_EXT_QUERY_CRITERIA_REQUIRE_BOTH = "requireBoth"; 099 100 public static final int ORDER_SUBSCRIPTION_VALIDATING = 100; 101 public static final int ORDER_SUBSCRIPTION_ACTIVATING = 200; 102}