001/*-
002 * #%L
003 * HAPI FHIR - Server Framework
004 * %%
005 * Copyright (C) 2014 - 2024 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.rest.server.provider;
021
022public class ProviderConstants {
023        public static final String SUBSCRIPTION_TRIGGERING_PARAM_RESOURCE_ID = "resourceId";
024        public static final String SUBSCRIPTION_TRIGGERING_PARAM_SEARCH_URL = "searchUrl";
025
026        /**
027         * Operation name: add partition
028         */
029        public static final String PARTITION_MANAGEMENT_CREATE_PARTITION = "$partition-management-create-partition";
030
031        /**
032         * Operation name: update partition
033         */
034        public static final String PARTITION_MANAGEMENT_UPDATE_PARTITION = "$partition-management-update-partition";
035
036        /**
037         * Operation name: update partition
038         */
039        public static final String PARTITION_MANAGEMENT_DELETE_PARTITION = "$partition-management-delete-partition";
040
041        /**
042         * Operation name: read partition
043         */
044        public static final String PARTITION_MANAGEMENT_READ_PARTITION = "$partition-management-read-partition";
045
046        /**
047         * Operation name: list partitions
048         */
049        public static final String PARTITION_MANAGEMENT_LIST_PARTITIONS = "$partition-management-list-partitions";
050
051        public static final String PARTITION_MANAGEMENT_PARTITION_ID = "id";
052        public static final String PARTITION_MANAGEMENT_PARTITION_NAME = "name";
053        public static final String PARTITION_MANAGEMENT_PARTITION_DESC = "description";
054
055        public static final String DEFAULT_PARTITION_NAME = "DEFAULT";
056
057        /**
058         * Operation name: diff
059         */
060        public static final String DIFF_OPERATION_NAME = "$diff";
061
062        public static final String DIFF_FROM_VERSION_PARAMETER = "fromVersion";
063
064        public static final String DIFF_FROM_PARAMETER = "from";
065        public static final String DIFF_TO_PARAMETER = "to";
066        public static final String DIFF_INCLUDE_META_PARAMETER = "includeMeta";
067
068        /**
069         * EMPI Operations
070         */
071        public static final String EMPI_MATCH = "$match";
072
073        public static final String MDM_MATCH = "$mdm-match";
074        public static final String MDM_MATCH_RESOURCE = "resource";
075        public static final String MDM_RESOURCE_TYPE = "resourceType";
076        public static final String MDM_MERGE_GOLDEN_RESOURCES = "$mdm-merge-golden-resources";
077        public static final String MDM_MERGE_GR_FROM_GOLDEN_RESOURCE_ID = "fromGoldenResourceId";
078        public static final String MDM_MERGE_GR_TO_GOLDEN_RESOURCE_ID = "toGoldenResourceId";
079        public static final String MDM_MERGE_RESOURCE = "resource";
080
081        public static final String MDM_UPDATE_LINK = "$mdm-update-link";
082        public static final String MDM_UPDATE_LINK_GOLDEN_RESOURCE_ID = "goldenResourceId";
083        public static final String MDM_UPDATE_LINK_RESOURCE_ID = "resourceId";
084        public static final String MDM_UPDATE_LINK_MATCH_RESULT = "matchResult";
085
086        public static final String MDM_CREATE_LINK = "$mdm-create-link";
087        public static final String MDM_CREATE_LINK_GOLDEN_RESOURCE_ID = "goldenResourceId";
088        public static final String MDM_CREATE_LINK_RESOURCE_ID = "resourceId";
089        public static final String MDM_CREATE_LINK_MATCH_RESULT = "matchResult";
090
091        public static final String MDM_QUERY_LINKS = "$mdm-query-links";
092        public static final String MDM_LINK_HISTORY = "$mdm-link-history";
093        public static final String MDM_QUERY_LINKS_GOLDEN_RESOURCE_ID = "goldenResourceId";
094        public static final String MDM_QUERY_LINKS_RESOURCE_ID = "resourceId";
095        public static final String MDM_QUERY_PARTITION_IDS = "partitionIds";
096        public static final String MDM_QUERY_LINKS_MATCH_RESULT = "matchResult";
097        public static final String MDM_QUERY_LINKS_LINK_SOURCE = "linkSource";
098
099        public static final String MDM_DUPLICATE_GOLDEN_RESOURCES = "$mdm-duplicate-golden-resources";
100        public static final String MDM_NOT_DUPLICATE = "$mdm-not-duplicate";
101
102        public static final String OPERATION_MDM_CLEAR = "$mdm-clear";
103        public static final String OPERATION_MDM_CLEAR_RESOURCE_NAME = "resourceType";
104        public static final String OPERATION_MDM_BATCH_SIZE = "batchSize";
105        public static final String OPERATION_MDM_SUBMIT = "$mdm-submit";
106        public static final String OPERATION_MDM_SUBMIT_OUT_PARAM_SUBMITTED = "submitted";
107        public static final String MDM_BATCH_RUN_CRITERIA = "criteria";
108        public static final String MDM_BATCH_RUN_RESOURCE_TYPE = "resourceType";
109
110        /**
111         * Clinical Reasoning Operations
112         */
113        public static final String CR_OPERATION_EVALUATE_MEASURE = "$evaluate-measure";
114
115        public static final String CR_OPERATION_CARE_GAPS = "$care-gaps";
116        public static final String CR_OPERATION_SUBMIT_DATA = "$submit-data";
117        public static final String CR_OPERATION_EVALUATE = "$evaluate";
118        public static final String CR_OPERATION_CQL = "$cql";
119        public static final String CR_OPERATION_APPLY = "$apply";
120        public static final String CR_OPERATION_R5_APPLY = "$r5.apply";
121        public static final String CR_OPERATION_PREPOPULATE = "$prepopulate";
122        public static final String CR_OPERATION_POPULATE = "$populate";
123        public static final String CR_OPERATION_EXTRACT = "$extract";
124        public static final String CR_OPERATION_PACKAGE = "$package";
125        public static final String CR_OPERATION_QUESTIONNAIRE = "$questionnaire";
126        public static final String CR_OPERATION_COLLECTDATA = "$collect-data";
127        public static final String CR_OPERATION_DATAREQUIREMENTS = "$data-requirements";
128        /**
129         * Operation name for the $meta operation
130         */
131        public static final String OPERATION_META = "$meta";
132
133        /**
134         *  Operation name for the $expunge operation
135         */
136        public static final String OPERATION_EXPUNGE = "$expunge";
137
138        /**
139         * Parameter name for the $expunge operation
140         */
141        public static final String OPERATION_EXPUNGE_PARAM_LIMIT = "limit";
142        /**
143         * Parameter name for the $expunge operation
144         */
145        public static final String OPERATION_EXPUNGE_PARAM_EXPUNGE_DELETED_RESOURCES = "expungeDeletedResources";
146        /**
147         * Parameter name for the $expunge operation
148         */
149        public static final String OPERATION_EXPUNGE_PARAM_EXPUNGE_PREVIOUS_VERSIONS = "expungePreviousVersions";
150        /**
151         * Parameter name for the $expunge operation
152         */
153        public static final String OPERATION_EXPUNGE_PARAM_EXPUNGE_EVERYTHING = "expungeEverything";
154        /**
155         * Output parameter name for the $expunge operation
156         */
157        public static final String OPERATION_EXPUNGE_OUT_PARAM_EXPUNGE_COUNT = "count";
158
159        /**
160         * Operation name for the $delete-expunge operation
161         */
162        public static final String OPERATION_DELETE_EXPUNGE = "$delete-expunge";
163
164        /**
165         * url of resources to delete for the $delete-expunge operation
166         */
167        public static final String OPERATION_DELETE_EXPUNGE_URL = "url";
168
169        /**
170         * Number of resources to delete at a time for the $delete-expunge operation
171         */
172        public static final String OPERATION_DELETE_BATCH_SIZE = "batchSize";
173        /**
174         * Should we cascade the $delete-expunge operation
175         */
176        public static final String OPERATION_DELETE_CASCADE = "cascade";
177        /**
178         * How many rounds for the $delete-expunge operation
179         */
180        public static final String OPERATION_DELETE_CASCADE_MAX_ROUNDS = "cascadeMaxRounds";
181
182        /**
183         * The Spring Batch job id of the delete expunge job created by a $delete-expunge operation
184         */
185        public static final String OPERATION_BATCH_RESPONSE_JOB_ID = "jobId";
186
187        /**
188         * Operation name for the $reindex operation
189         */
190        public static final String OPERATION_REINDEX = "$reindex";
191
192        /**
193         * Operation name for the $reindex operation
194         */
195        public static final String OPERATION_REINDEX_DRYRUN = "$reindex-dryrun";
196
197        /**
198         * Operation name for the $invalidate-expansion operation
199         */
200        public static final String OPERATION_INVALIDATE_EXPANSION = "$invalidate-expansion";
201
202        /**
203         * url of resources to delete for the $delete-expunge operation
204         */
205        public static final String OPERATION_REINDEX_PARAM_URL = "url";
206
207        /**
208         * Number of resources to delete at a time for the $delete-expunge operation
209         */
210        public static final String OPERATION_REINDEX_PARAM_BATCH_SIZE = "batchSize";
211
212        /**
213         * Whether all resource types should be reindexed
214         */
215        public static final String OPERATION_REINDEX_PARAM_EVERYTHING = "everything";
216
217        /**
218         * The Spring Batch job id of the delete expunge job created by a $delete-expunge operation
219         */
220        public static final String OPERATION_REINDEX_RESPONSE_JOB_ID = "jobId";
221
222        /**
223         * Operation name for the $reindex-terminology operation
224         */
225        public static final String OPERATION_REINDEX_TERMINOLOGY = "$reindex-terminology";
226
227        @Deprecated
228        public static final String MARK_ALL_RESOURCES_FOR_REINDEXING = "$mark-all-resources-for-reindexing";
229        /**
230         * @see ProviderConstants#OPERATION_REINDEX
231         * @deprecated
232         */
233        @Deprecated
234        public static final String PERFORM_REINDEXING_PASS = "$perform-reindexing-pass";
235
236        /**
237         * Operation name for the "$export-poll-status" operation
238         */
239        public static final String OPERATION_EXPORT_POLL_STATUS = "$export-poll-status";
240        /**
241         * Operation name for the "$export" operation
242         */
243        public static final String OPERATION_EXPORT = "$export";
244}