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
127        /**
128         * Operation name for the $meta operation
129         */
130        public static final String OPERATION_META = "$meta";
131
132        /**
133         *  Operation name for the $expunge operation
134         */
135        public static final String OPERATION_EXPUNGE = "$expunge";
136
137        /**
138         * Parameter name for the $expunge operation
139         */
140        public static final String OPERATION_EXPUNGE_PARAM_LIMIT = "limit";
141        /**
142         * Parameter name for the $expunge operation
143         */
144        public static final String OPERATION_EXPUNGE_PARAM_EXPUNGE_DELETED_RESOURCES = "expungeDeletedResources";
145        /**
146         * Parameter name for the $expunge operation
147         */
148        public static final String OPERATION_EXPUNGE_PARAM_EXPUNGE_PREVIOUS_VERSIONS = "expungePreviousVersions";
149        /**
150         * Parameter name for the $expunge operation
151         */
152        public static final String OPERATION_EXPUNGE_PARAM_EXPUNGE_EVERYTHING = "expungeEverything";
153        /**
154         * Output parameter name for the $expunge operation
155         */
156        public static final String OPERATION_EXPUNGE_OUT_PARAM_EXPUNGE_COUNT = "count";
157
158        /**
159         * Operation name for the $delete-expunge operation
160         */
161        public static final String OPERATION_DELETE_EXPUNGE = "$delete-expunge";
162
163        /**
164         * url of resources to delete for the $delete-expunge operation
165         */
166        public static final String OPERATION_DELETE_EXPUNGE_URL = "url";
167
168        /**
169         * Number of resources to delete at a time for the $delete-expunge operation
170         */
171        public static final String OPERATION_DELETE_BATCH_SIZE = "batchSize";
172        /**
173         * Should we cascade the $delete-expunge operation
174         */
175        public static final String OPERATION_DELETE_CASCADE = "cascade";
176        /**
177         * How many rounds for the $delete-expunge operation
178         */
179        public static final String OPERATION_DELETE_CASCADE_MAX_ROUNDS = "cascadeMaxRounds";
180
181        /**
182         * The Spring Batch job id of the delete expunge job created by a $delete-expunge operation
183         */
184        public static final String OPERATION_BATCH_RESPONSE_JOB_ID = "jobId";
185
186        /**
187         * Operation name for the $reindex operation
188         */
189        public static final String OPERATION_REINDEX = "$reindex";
190
191        /**
192         * Operation name for the $reindex operation
193         */
194        public static final String OPERATION_REINDEX_DRYRUN = "$reindex-dryrun";
195
196        /**
197         * Operation name for the $invalidate-expansion operation
198         */
199        public static final String OPERATION_INVALIDATE_EXPANSION = "$invalidate-expansion";
200
201        /**
202         * url of resources to delete for the $delete-expunge operation
203         */
204        public static final String OPERATION_REINDEX_PARAM_URL = "url";
205
206        /**
207         * Number of resources to delete at a time for the $delete-expunge operation
208         */
209        public static final String OPERATION_REINDEX_PARAM_BATCH_SIZE = "batchSize";
210
211        /**
212         * Whether all resource types should be reindexed
213         */
214        public static final String OPERATION_REINDEX_PARAM_EVERYTHING = "everything";
215
216        /**
217         * The Spring Batch job id of the delete expunge job created by a $delete-expunge operation
218         */
219        public static final String OPERATION_REINDEX_RESPONSE_JOB_ID = "jobId";
220
221        /**
222         * Operation name for the $reindex-terminology operation
223         */
224        public static final String OPERATION_REINDEX_TERMINOLOGY = "$reindex-terminology";
225
226        @Deprecated
227        public static final String MARK_ALL_RESOURCES_FOR_REINDEXING = "$mark-all-resources-for-reindexing";
228        /**
229         * @see ProviderConstants#OPERATION_REINDEX
230         * @deprecated
231         */
232        @Deprecated
233        public static final String PERFORM_REINDEXING_PASS = "$perform-reindexing-pass";
234
235        /**
236         * Operation name for the "$export-poll-status" operation
237         */
238        public static final String OPERATION_EXPORT_POLL_STATUS = "$export-poll-status";
239        /**
240         * Operation name for the "$export" operation
241         */
242        public static final String OPERATION_EXPORT = "$export";
243}