001/*-
002 * #%L
003 * HAPI FHIR - Core Library
004 * %%
005 * Copyright (C) 2014 - 2023 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.util;
021
022import java.util.Set;
023
024public class HapiExtensions {
025
026        /**
027         * <p>
028         * This extension should be of type <code>string</code> and should be
029         * placed on the <code>Subscription.channel</code> element
030         * </p>
031         */
032        public static final String EXT_SUBSCRIPTION_SUBJECT_TEMPLATE = "http://hapifhir.io/fhir/StructureDefinition/subscription-email-subject-template";
033
034        /**
035         * This extension URL indicates whether a REST HOOK delivery should
036         * include the version ID when delivering.
037         * <p>
038         * This extension should be of type <code>boolean</code> and should be
039         * placed on the <code>Subscription.channel</code> element.
040         * </p>
041         */
042        public static final String EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS = "http://hapifhir.io/fhir/StructureDefinition/subscription-resthook-strip-version-ids";
043
044        /**
045         * This extension URL indicates whether a REST HOOK delivery should
046         * reload the resource and deliver the latest version always. This
047         * could be useful for example if a resource which triggers a
048         * subscription gets updated many times in short succession and there
049         * is no value in delivering the older versions.
050         * <p>
051         * Note that if the resource is now deleted, this may cause
052         * the delivery to be cancelled altogether.
053         * </p>
054         *
055         * <p>
056         * This extension should be of type <code>boolean</code> and should be
057         * placed on the <code>Subscription.channel</code> element.
058         * </p>
059         */
060        public static final String EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION = "http://hapifhir.io/fhir/StructureDefinition/subscription-resthook-deliver-latest-version";
061
062        /**
063         * Indicate which strategy will be used to match this subscription
064         */
065        public static final String EXT_SUBSCRIPTION_MATCHING_STRATEGY = "http://hapifhir.io/fhir/StructureDefinition/subscription-matching-strategy";
066
067        /**
068         * <p>
069         * This extension should be of type <code>string</code> and should be
070         * placed on the <code>Subscription.channel</code> element
071         * </p>
072         */
073        public static final String EXT_SUBSCRIPTION_EMAIL_FROM = "http://hapifhir.io/fhir/StructureDefinition/subscription-email-from";
074
075        /**
076         * Extension ID for external binary references
077         */
078        public static final String EXT_EXTERNALIZED_BINARY_ID = "http://hapifhir.io/fhir/StructureDefinition/externalized-binary-id";
079
080        /**
081         * For subscription, deliver a bundle containing a search result instead of just a single resource
082         */
083        public static final String EXT_SUBSCRIPTION_PAYLOAD_SEARCH_CRITERIA = "http://hapifhir.io/fhir/StructureDefinition/subscription-payload-search-criteria";
084
085        /**
086         * Message added to expansion valueset
087         */
088        public static final String EXT_VALUESET_EXPANSION_MESSAGE = "http://hapifhir.io/fhir/StructureDefinition/valueset-expansion-message";
089
090        /**
091         * Extension URL for extension on a SearchParameter indicating that text values should not be indexed
092         */
093        public static final String EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING = "http://hapifhir.io/fhir/StructureDefinition/searchparameter-token-suppress-text-index";
094        /**
095         * <p>
096         * This extension represents the equivalent of the
097         * <code>Resource.meta.source</code> field within R4+ resources, and is for
098         * use in DSTU3 resources. It should contain a value of type <code>uri</code>
099         * and will be located on the Resource.meta
100         * </p>
101         */
102        public static final String EXT_META_SOURCE = "http://hapifhir.io/fhir/StructureDefinition/resource-meta-source";
103        public static final String EXT_SP_UNIQUE = "http://hapifhir.io/fhir/StructureDefinition/sp-unique";
104
105        /**
106         * URL for extension on a Phonetic String SearchParameter indicating that text values should be phonetically indexed with the named encoder
107         */
108        public static final String EXT_SEARCHPARAM_PHONETIC_ENCODER = "http://hapifhir.io/fhir/StructureDefinition/searchparameter-phonetic-encoder";
109
110        /**
111         * URL for boolean extension added to all placeholder resources
112         */
113        public static final String EXT_RESOURCE_PLACEHOLDER = "http://hapifhir.io/fhir/StructureDefinition/resource-placeholder";
114
115        /**
116         * URL for extension in a Group Bulk Export which identifies the golden patient of a given exported resource.
117         */
118    public static final String ASSOCIATED_GOLDEN_RESOURCE_EXTENSION_URL = "https://hapifhir.org/associated-patient-golden-resource/";
119
120        /**
121         * This extension provides an example value for a parameter value for
122         * a REST operation (eg for an OperationDefinition)
123         */
124        public static final String EXT_OP_PARAMETER_EXAMPLE_VALUE = "http://hapifhir.io/fhir/StructureDefinition/op-parameter-example-value";
125
126        /**
127         * This extension provides a way for subscribers to provide
128         * a "retry-count".
129         * If provided, subscriptions will be retried this many times
130         * (to a total of retry-count + 1 (for original attempt)
131         */
132        public static final String EX_RETRY_COUNT = "http://hapifhir.io/fhir/StructureDefinition/subscription-delivery-retry-count";
133
134        /**
135         * This extension provides a way for subscribers to indicate if DELETE messages must be sent (default is ignoring them)
136         */
137        public static final String EX_SEND_DELETE_MESSAGES = "http://hapifhir.io/fhir/StructureDefinition/subscription-send-delete-messages";
138
139        /**
140         * This entension allows subscriptions to be marked as cross partition and with correct settings, listen to incoming resources from all partitions.
141         */
142        public static final String EXTENSION_SUBSCRIPTION_CROSS_PARTITION = "https://smilecdr.com/fhir/ns/StructureDefinition/subscription-cross-partition";
143
144        /**
145         * This extension is used for "uplifted refchains" on search parameters. See the
146         * HAPI FHIR documentation for an explanation of how these work.
147         */
148        public static final String EXTENSION_SEARCHPARAM_UPLIFT_REFCHAIN = "https://smilecdr.com/fhir/ns/StructureDefinition/searchparameter-uplift-refchain";
149        /**
150         * This extension is used for "uplifted refchains" on search parameters. See the
151         * HAPI FHIR documentation for an explanation of how these work.
152         */
153        public static final String EXTENSION_SEARCHPARAM_UPLIFT_REFCHAIN_PARAM_CODE = "code";
154        /**
155         * This extension is used for "uplifted refchains" on search parameters. See the
156         * HAPI FHIR documentation for an explanation of how these work.
157         */
158        public static final String EXTENSION_SEARCHPARAM_UPLIFT_REFCHAIN_ELEMENT_NAME = "element-name";
159
160        public static final String EXTENSION_SEARCHPARAM_CUSTOM_BASE_RESOURCE = "http://hl7.org/fhir/tools/CustomBaseResource";
161        public static final String EXTENSION_SEARCHPARAM_CUSTOM_TARGET_RESOURCE = "http://hl7.org/fhir/tools/CustomTargetResource";
162
163        /**
164         * Non instantiable
165         */
166        private HapiExtensions() {
167        }
168
169
170}